Moet ik centreren of centreren gebruiken voor figuren en tabellen?

Wat is de juiste manier om figuren en tabellen te centreren (figure, table)?

\begin{center} ... \end{center} 

of

\begin{centering} ... \end{centering} 

Reacties

Antwoord

De juiste manier is

\begin{figure} \centering ... (Code for pictures, captions) ... \end{figure} 

\begin{center}\end{center} binnen een figure -omgeving zal resulteren in (doorgaans ongewenste) extra verticale ruimte.

Merk op dat hoewel \centering de juiste spatiëring produceert, dit commando handmatig aan elke figure omgeving (en voor elke table en op maat gemaakte float) is vervelend en druist in tegen het idee om de inhoud van een document te scheiden van het formaat . Nog betere manieren zijn om het volgende toe te voegen aan de preambule van uw document (met dank aan egreg voor de tip):

\makeatletter \g@addto@macro\@floatboxreset\centering \makeatother 

of om de floatrow -pakket waarmee u de rechtvaardiging van float-inhoud vanuit de preambule kunt regelen (met objectset=centering als standaard).

Reacties

  • Merk ook op dat \centering een declaratie is, geen omgeving. Dat \begin{centering} werkt, is een ongelukkig gevolg van de manier waarop omgevingen intern werken in LaTeX: de omgevingsfoo bestaat in wezen uit twee macros \foo en \endfoo die respectievelijk worden aangeroepen door \begin{foo} en \end{foo} (samen met enkele foutcontrole, zoals juiste nesting). Maar aangezien \endfoo wordt aangeroepen via \csname endfoo\endcsname, hoeft die macro niet ‘ te bestaan . Dit betekent dat zelfs dingen als $\begin{alpha}\end{alpha}$ werken (maar natuurlijk niet gebruikt mogen worden).
  • Daar ‘ s ook de meer esoterische \g@addto@macro\@floatboxreset\centering die, natuurlijk, moet worden voorafgegaan door \makeatletter en gevolgd door \makeatother.
  • Bedankt voor het vermelden van het floatrow -pakket dat er erg, erg krachtig uitziet (ik had dat eerder moeten ontdekken, nu alle figuur- / tabeldefinities in mijn scriptie zal best wat werk zijn). De documentatie is echter zo lang en er zijn zoveel configuratiemogelijkheden, dat het erg moeilijk zal zijn om de beste opstelling te vinden .. is er een les met een ” aanbevolen ” setup voor een scriptie van twee paginas? 🙁
  • @Villemoes Dus waarom gebruiken zoveel LaTeX-editors fragmenten voor het invoegen van cijfers die de center -omgeving gebruiken in plaats van de centering declaratie?
  • Voor gebruik met IEEEtran, \g@addto@macro\@floatboxreset\centering is niet effectief omdat \figure herdefinieert \@floatboxreset. Ik gebruik etoolbox en \patchcmd{\figure}{\normalsize}{\normalsize\centering}{}{}.

Answer

Dit is een (zeer late!) aanvulling op lockstep “s antwoord dat slechts een visuele demonstratie biedt van het verschil tussen het gebruik van \centering en de center omgeving binnen figure omgevingen.

Elke pagina toont 2 cijfers, een met \centering en een met center. De verschillen in tussenruimte zijn het resultaat van het ordenen van de twee figure omgevingen die verschillen rently. Op de eerste pagina wordt \centering als eerste gebruikt en de center omgeving als tweede, terwijl op de tweede pagina deze volgorde wordt omgekeerd.

De resultaten laten duidelijk een ongepaste spatiëring zien voor het onderste cijfer (eerste pagina) en het bovenste cijfer (tweede pagina), dwz voor welk cijfer dan ook center gebruikt in plaats van \centering.

showframe wordt gebruikt om de algehele pagina-indeling te tonen.

illustratie van verschillen tussen

code > \ centreren < / code > en < code > centrum < / code > omgeving binnen < code > figuur < / code > omgevingen

\documentclass{article} \usepackage{graphicx,showframe,kantlipsum} \begin{document} \kant[1] \begin{figure} \centering \includegraphics[scale=.25]{example-image-a} \caption{Figure with centering} \end{figure} \kant[2] \begin{figure} \begin{center} \includegraphics[scale=.25]{example-image-a} \end{center} \caption{Figure in center environment} \end{figure} \kant[3] \begin{figure} \begin{center} \includegraphics[scale=.25]{example-image-a} \end{center} \caption{Figure in center environment} \end{figure} \kant[4] \begin{figure} \centering \includegraphics[scale=.25]{example-image-a} \caption{Figure with centering} \end{figure} \end{document} 

Vergelijk ten slotte twee paginas met elk twee cijfers.De eerste pagina bevat figuren die \centering gebruiken, terwijl de tweede cijfers bevat die de center omgeving gebruiken.

Verdere vergelijkingen

\documentclass{article} \usepackage{graphicx,showframe,kantlipsum} \begin{document} \kant[1] \begin{figure} \centering \includegraphics[scale=.25]{example-image-a} \caption{Figure with centering} \end{figure} \kant[2] \begin{figure} \centering \includegraphics[scale=.25]{example-image-a} \caption{Figure with centering} \end{figure} \kant[3] \begin{figure} \begin{center} \includegraphics[scale=.25]{example-image-a} \end{center} \caption{Figure in center environment} \end{figure} \kant[4] \begin{figure} \begin{center} \includegraphics[scale=.25]{example-image-a} \end{center} \caption{Figure in center environment} \end{figure} \end{document} 

Antwoord

Aangezien deze thread heeft geleid tot een klein misverstand , wil ik een opmerking toevoegen.

Zoals de andere antwoorden zeggen, center omgeving mag nooit worden gebruikt binnen een figure of table omgeving , moet u \centering in plaats daarvan:

voer hier een beschrijving van de afbeelding in

Maar als je tabel of afbeelding niet zweeft, wil je dat ze precies zijn waar je ze neerzet, dwz ze zijn niet binnen een figure of een table omgeving, kunt u een center omgeving zonder problemen. Het is gelijk aan een table of een figure omgeving met de H optie van float pakket.

Als u een bijschrift wilt toevoegen, kunt u \captionof van pakket.

\documentclass{article} \usepackage{graphicx} \usepackage{booktabs} \usepackage{caption} \captionsetup[table]{position=above} \usepackage{float} \begin{document} You can use \texttt{center} environments here, because they are not within a floating one: \begin{center} \captionof{table}{A non-floating table within a \texttt{center} environment} \begin{tabular}{cc} \toprule Ducks & Lions \\ \midrule 1 & 2 \\ \bottomrule \end{tabular} \end{center} \begin{center} \includegraphics[width=.5\linewidth]{example-image-a} \captionof{figure}{A non-floating figure within a \texttt{center} environment} \end{center} They are equivalent to a \texttt{table} or \texttt{figure} environment with the \texttt{H} option of \texttt{float} package: \begin{table}[H] \centering \caption{A non-floating table with \texttt{H} option} \begin{tabular}{cc} \toprule Ducks & Lions \\ \midrule 1 & 2 \\ \bottomrule \end{tabular} \end{table} \begin{figure}[H] \centering \includegraphics[width=.5\linewidth]{example-image-a} \caption{A non-floating figure with \texttt{H} option} \end{figure} Just to show the also the lists works: \listoftables \listoffigures \end{document} 

voer hier een beschrijving van de afbeelding in voer de beschrijving van de afbeelding hier in

Opmerkingen

  • Hoe zit het met flushleft en flushright een tafel of een figuur?
  • @BlackMild Er zijn flushleft en flushright omgevingen, evenals \raggedright en \raggedleft opdrachten

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *