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
\centering
deklará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\centering
is, amelyet természetesen\makeatletter
előtt kell követni, majd\makeatother
. - Köszönjük, hogy megemlítette a
floatrow
csomagot, 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
center
környezetet használják acentering
nyilatkozat? -
IEEEtran
használatához\g@addto@macro\@floatboxreset\centering
nem hatékony, mivel\figure
újradefiniálja a\@floatboxreset
elemet. 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
ésflushright
környezetek, valamint a\raggedright
és\raggedleft
parancsok
center
környezetet soha ne tegye afigure
környezet köré! Lásd: A táblázatok és szakaszok nem megfelelőek . (Nem mintha azt mondanám, hogy Yiannis tette ezt)