Mi a helyes mód az ábrák és táblák középre állítására (figure, table)?
\begin{center} ... \end{center}
vagy
\begin{centering} ... \end{centering}
megjegyzések
Válasz
A helyes módja
\begin{figure} \centering ... (Code for pictures, captions) ... \end{figure}
\begin{center} … \end{center} egy figure környezet (általában nem kívánt) további függőleges teret eredményez.
Ne feledje, hogy míg a \centering megfelelő távolságot produkál, manuálisan hozzáadjuk ezt a parancsot minden figure környezet (és minden table és egyedi készítésű úszóhoz) unalmas és ellentmond annak az elképzelésnek, hogy a dokumentum tartalmát el kell különíteni a formátumtól . Még jobb módszerek a következők hozzáadása a dokumentum preambulumához (köszönet az egregnek a tippért):
\makeatletter \g@addto@macro\@floatboxreset\centering \makeatother
vagy a floatrow csomag, amely lehetővé teszi az úszó tartalom igazolását a preambulumból (objectset=centering alapértelmezett).
Megjegyzések
- Vegye figyelembe azt is, hogy a
\centeringdeklaráció, nem környezet. Ez az\begin{centering}működés sajnálatos következménye a környezetek belső működésének a LaTeX-ben: A környezet foo lényegében két makróból áll\fooés\endfoo, amelyeket\begin{foo}és\end{foo}hív meg (néhány hibaellenőrzéssel, például megfelelő fészkelés). De mivel a\endfoo-et a\csname endfoo\endcsnameútján hívják meg, ennek a makrónak valójában nem is kell léteznie ‘ . Ez azt jelenti, hogy még olyan dolgok is működnek, mint a$\begin{alpha}\end{alpha}$(de természetesen nem szabad őket használni). - Ott ‘ s ezenkívül az ezoterikusabb
\g@addto@macro\@floatboxreset\centeringis, amelyet természetesen\makeatletterelőtt kell követni, majd\makeatother. - Köszönjük, hogy megemlítette a
floatrowcsomagot, amely nagyon-nagyon erőteljesnek tűnik (korábban rá kellett volna jönnöm, most megváltoztattam az összes ábra / táblázat definíciót a dolgozatom elég sok munka lesz). A dokumentáció azonban olyan hosszú és annyi lehetősége van a konfigurációnak, hogy nagyon nehéz lesz kitalálni a legjobb beállítást .. van-e olyan oktatóanyag, amelynek ” ajánlott ” beállítás egy kétoldalas tézishez? 🙁 - @Villemoes Miért használ olyan sok LaTeX-szerkesztő kivonatokat olyan alakokhoz, amelyek még a
centerkörnyezetet használják acenteringnyilatkozat? -
IEEEtranhasználatához\g@addto@macro\@floatboxreset\centeringnem hatékony, mivel\figureújradefiniálja a\@floatboxresetelemet. Aetoolboxés a\patchcmd{\figure}{\normalsize}{\normalsize\centering}{}{}.
Válasz
Ez (nagyon későn!) kiegészítés a lockstep válasza , amely csak vizuálisan szemlélteti a különbséget a \centering és a center környezet között. figure környezetek.
Minden oldalon 2 ábra látható, az egyik a \centering és a center. A távolságok közötti különbségek a két figure környezet diff. rentsen. Az első oldalon a \centering -t használják először, a másodikként pedig a center környezetet, míg a második oldalon ez a sorrend megfordul.
Az eredmények egyértelműen nem megfelelő távolságot mutatnak az alsó ábra (első oldal) és a felső ábra (második oldal) számára, vagyis amelyik alakzathoz center használ, a \centering.
showframe az oldal teljes elrendezésének megjelenítésére szolgál.
kód > \ központosítás < / code > és < kód > központ < / code > környezet a < kód belsejében > ábra < / code > környezetek
\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}
Végül hasonlítson össze két oldalt két-két ábrával.Az első oldalon olyan ábrák találhatók, amelyek \centering -t használnak, míg a második olyan ábrákat tartalmaznak, amelyek a center környezetet használják.
\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}
Válasz
Mivel ez a szál egy kis félreértést eredményezett , szeretnék megjegyzést fűzni hozzá.
Ahogy a többi válasz is mondja, center környezetet soha nem szabad használni figure vagy table környezetben , a \centering helyett:
De ha az Ön táblázata vagy képe nem lebeg, akkor azt szeretné, ha pontosan oda helyezné őket, ahova tette, vagyis nem figure vagy table környezetben használhat egy center környezet problémamentes. Ez egyenértékű egy table vagy egy figure környezettel, a H opcióval id = “f5e70b3f1f”>
csomag.
Ha feliratot szeretne hozzáadni, használhatja a \captionof fájlt a csomag.
\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}
Megjegyzések
- Mit szólnál egy asztal vagy egy ábra flushleft és flushright használatához?
- @BlackMild Vannak
flushleftésflushrightkörnyezetek, valamint a\raggedrightés\raggedleftparancsok
centerkörnyezetet soha ne tegye afigurekörnyezet köré! Lásd: A táblázatok és szakaszok nem megfelelőek . (Nem mintha azt mondanám, hogy Yiannis tette ezt)