Skal jeg bruge center eller centrering til figurer og tabeller?

Hvad er den rigtige måde at centrere figurer og tabeller på (figure, table)?

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

eller

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

Kommentarer

Svar

Den rigtige måde er

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

\begin{center}\end{center} inde i en figure -miljø vil resultere i (generelt uønsket) yderligere lodret plads.

Bemærk, at mens \centering producerer korrekt afstand, tilføj denne kommando manuelt til hver figure miljø (og til alle table og skræddersyet float) er kedeligt og går imod ideen om at adskille indholdet af et dokument fra formatet . Endnu bedre måder er at føje følgende til din dokumentindledning (tak til egreg til tip):

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

eller at indlæse floatrow pakke, der gør det muligt at kontrollere retfærdiggørelsen af floatindhold fra præamblen (med objectset=centering som standard).

Kommentarer

  • Bemærk også, at \centering er en erklæring, ikke et miljø. At \begin{centering} fungerer er en uheldig konsekvens af den måde, miljøer fungerer internt på LaTeX: Miljøet foo består i det væsentlige af to makroer \foo og \endfoo som kaldes af henholdsvis \begin{foo} og \end{foo} (sammen med nogle fejlkontrol, såsom korrekt indlejring). Men da \endfoo kaldes via \csname endfoo\endcsname, behøver den makro ikke ‘ t at eksistere . Dette betyder, at selv ting som $\begin{alpha}\end{alpha}$ fungerer (men bør naturligvis ikke bruges).
  • Der ‘ s også det mere esoteriske \g@addto@macro\@floatboxreset\centering som naturligvis skal foregå med \makeatletter og efterfulgt af \makeatother.
  • Tak for at nævne floatrow -pakken, der ser meget, meget kraftig ud (jeg skulle have fundet det før, nu ændre alle figur- / tabeldefinitioner i min afhandling vil være en del arbejde). Dokumentationen er dog så lang, og der er så mange konfigurationsmuligheder, at det vil være meget svært at finde ud af den bedste opsætning .. er der en vejledning med en ” anbefalet ” opsætning til en tosidet afhandling? 🙁
  • @Villemoes Så hvorfor så mange LaTeX-redaktører bruger uddrag til indsætfigurer, der bruger center -miljøet i stedet for centering erklæring?
  • Til brug med IEEEtran er \g@addto@macro\@floatboxreset\centering ineffektiv, da \figure omdefinerer \@floatboxreset. Jeg bruger etoolbox og \patchcmd{\figure}{\normalsize}{\normalsize\centering}{}{}.

Svar

Dette er et (meget sent!) supplement til lockstep “svar , som bare giver en visuel demonstration af forskellen mellem brugen af \centering og center miljøet inden for figure miljøer.

Hver side viser 2 figurer, en med \centering og en med center. Forskellene i afstand er resultatet af bestilling af de to figure miljøer er forskellige roligt. På den første side anvendes \centering først, og center -miljøet er andet, mens denne rækkefølge på anden side vendes.

Resultaterne viser tydeligt upassende mellemrum for den nederste figur (første side) og den øverste figur (anden side) dvs. for hvilken figur der bruger center i stedet for \centering.

showframe bruges til at vise det overordnede sidelayout.

illustration af forskelle mellem

kode > \ centrering < / kode > og < kode > center < / kode > miljø inde i < kode > figur < / kode > miljøer

\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} 

Sammenlign til sidst to sider med to figurer hver.Den første side indeholder tal, der bruger \centering, mens den anden indeholder tal, der bruger center miljøet.

Yderligere sammenligninger

\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} 

Svar

Da denne tråd fødte en lille misforståelse , vil jeg gerne tilføje en note.

Som de andre svar siger, center miljø skal aldrig bruges inden for et figure eller table miljø , skal du bruge \centering i stedet:

indtast billedbeskrivelse her

Men hvis dit bord eller billede ikke flyder, vil du gerne have dem nøjagtigt, hvor du placerer dem, dvs. de er ikke i et figure eller et table miljø kan du bruge et center miljø uden problemer. Det svarer til et table eller et figure miljø med H mulighed for float pakke.

Hvis du vil tilføje en billedtekst, kan du bruge \captionof fra \caption pakke.

\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} 

indtast billedbeskrivelse her indtast billedebeskrivelse her

Kommentarer

  • Hvad med at skubbe et bord eller en figur flushright?
  • @BlackMild Der er flushleft og flushright miljøer samt \raggedright og \raggedleft kommandoer

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *