Ar trebui să folosesc centrul sau centrarea pentru figuri și mese?

Care este modul corect de a centra cifrele și tabelele (figure, table)?

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

sau

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

Comentarii

Răspunde

Modul corect este

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

\begin{center}\end{center} în interiorul unui figure mediul va avea ca rezultat spațiu vertical suplimentar (în general nedorit).

Rețineți că, în timp ce \centering produce spațiere adecvată, adăugând manual această comandă la fiecare figure (și pentru fiecare table și float personalizat) este plictisitor și se opune ideii de a separa conținutul unui document de format . Modalități și mai bune sunt să adăugați următoarele în preambulul documentului (mulțumită lui egreg pentru sfat):

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

sau să încărcați floatrow pachet care permite controlul justificării conținutului plutitor din preambul (cu objectset=centering ca implicit).

Comentarii

  • De asemenea, rețineți că \centering este o declarație, nu un mediu. Funcționarea \begin{centering} este o consecință nefericită a modului în care mediile funcționează intern în LaTeX: mediul foo constă în esență din două macro-uri \foo și \endfoo care sunt numite de \begin{foo} și respectiv \end{foo} (împreună cu unele verificări de erori, cum ar fi cuibărire adecvată). Însă, deoarece \endfoo este apelat prin \csname endfoo\endcsname, această macrocomandă nu ‘ trebuie să existe . Aceasta înseamnă că chiar și lucruri precum $\begin{alpha}\end{alpha}$ funcționează (dar, desigur, nu ar trebui să fie utilizate).
  • Acolo ‘ s, de asemenea, mai esoteric \g@addto@macro\@floatboxreset\centering care, desigur, ar trebui să fie precedat de \makeatletter și urmat de \makeatother.
  • Vă mulțumim că ați menționat pachetul floatrow care arată foarte, foarte puternic (ar fi trebuit să constat că înainte, schimbând acum toate definițiile figurii / tabelului în teza mea va fi destul de o lucrare). Cu toate acestea, documentația este atât de lungă și există atât de multe posibilități de configurare, încât va fi foarte greu să vă dați seama de cea mai bună configurare .. există un tutorial cu un ” recomandat ” configurare pentru o teză cu două pagini? 🙁
  • @Villemoes Deci, de ce atât de mulți editori LaTeX folosesc fragmente pentru inserarea figurilor care folosesc încă mediul center în loc de centering declarație?
  • Pentru utilizare cu IEEEtran, \g@addto@macro\@floatboxreset\centering este ineficient, deoarece \figure redefinește \@floatboxreset. Folosesc etoolbox și \patchcmd{\figure}{\normalsize}{\normalsize\centering}{}{}.

Răspuns

Acesta este un supliment (foarte târziu!) la lockstep „s , care oferă doar o demonstrație vizuală a diferenței dintre utilizarea \centering și mediul center figure medii.

Fiecare pagină prezintă 2 cifre, una folosind \centering și una folosind center. Diferențele de spațiu sunt rezultatul ordonării celor două medii figure liniștit. Pe prima pagină, \centering este utilizat mai întâi și mediul center în al doilea rând, în timp ce pe a doua pagină, această ordine este inversată. p>

Rezultatele arată clar spațierea inadecvată pentru figura inferioară (prima pagină) și cea superioară (a doua pagină), adică pentru oricare dintre cifre care folosește center în loc de \centering.

showframe este utilizat pentru a afișa aspectul general al paginii.

ilustrare a diferențelor dintre

cod > \ centering < / code > și < cod > centru < / code > mediu din interiorul < cod > figura < / code > medii

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

În cele din urmă, comparați două pagini cu două cifre fiecare.Prima pagină include cifre care utilizează \centering, în timp ce a doua include cifre care utilizează mediul center.

Comparații suplimentare

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

Răspuns

Deoarece acest fir a dat naștere o mică neînțelegere , aș dori să adaug o notă.

După cum spun celelalte răspunsuri, center mediul nu ar trebui niciodată să nu fie utilizat într-un figure sau table mediu , ar trebui să utilizați \centering în schimb:

introduceți descrierea imaginii aici

Dar dacă tabelul sau imaginea dvs. nu plutesc, adică ați dori să le aveți exact acolo unde le-ați pus, adică nu sunt într-un mediu figure sau într-un mediu table, puteți utiliza un fără probleme. Este echivalent cu un mediu table sau cu un mediu figure cu opțiunea H a float.

Dacă doriți să adăugați o subtitrare, puteți utiliza \captionof de la \caption pachet.

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

introduceți descrierea imaginii aici introduceți descrierea imaginii aici

Comentarii

  • Ce zici de flushleft și flushright un tabel sau o figură?
  • @BlackMild Există flushleft și flushright medii, precum și comenzile \raggedright și \raggedleft

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *