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
\centeringer 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\fooog\endfoosom kaldes af henholdsvis\begin{foo}og\end{foo}(sammen med nogle fejlkontrol, såsom korrekt indlejring). Men da\endfookaldes 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\centeringsom naturligvis skal foregå med\makeatletterog 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 forcenteringerklæring? - Til brug med
IEEEtraner\g@addto@macro\@floatboxreset\centeringineffektiv, da\figureomdefinerer\@floatboxreset. Jeg brugeretoolboxog\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.
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.
\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:
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}
Kommentarer
- Hvad med at skubbe et bord eller en figur flushright?
- @BlackMild Der er
flushleftogflushrightmiljøer samt\raggedrightog\raggedleftkommandoer
center-miljøet omkringfigure-miljøet! Se Tabeller og sektioner bliver forkert placeret . (Ikke at jeg siger, at Yiannis gjorde dette)