Bør jeg bruke sentrering eller sentrering for figurer og tabeller?

Hva er riktig måte å sentrere figurer og tabeller på (figure, table)?

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

eller

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

Kommentarer

Svar

Den riktige måten er

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

\begin{center}\end{center} inne i en figure -miljø vil resultere i (generelt uønsket) ekstra loddrett plass.

Merk at mens \centering produserer riktig avstand, legger du denne kommandoen manuelt til hver figure miljø (og til alle table og skreddersydde flyt) er kjedelig og går imot ideen om å skille innholdet i et dokument fra formatet . Enda bedre måter er å legge til følgende i dokumentinnledningen (takk til egreg for tipset):

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

eller å laste inn floatrow pakke som gjør det mulig å kontrollere rettferdiggjørelsen av flyteinnhold fra innledningen (med objectset=centering standard).

Kommentarer

  • Vær også oppmerksom på at \centering er en erklæring, ikke et miljø. At \begin{centering} fungerer er en uheldig konsekvens av måten miljøer fungerer internt i LaTeX: Miljøet foo består i hovedsak av to makroer \foo og \endfoo som kalles av henholdsvis \begin{foo} og \end{foo} (sammen med noen feilkontroll, for eksempel riktig hekkende). Men siden \endfoo kalles via \csname endfoo\endcsname, må den makroen ikke ‘ t eksistere . Dette betyr at selv ting som $\begin{alpha}\end{alpha}$ fungerer (men bør selvfølgelig ikke brukes).
  • Der ‘ s også den mer esoteriske \g@addto@macro\@floatboxreset\centering som selvfølgelig skal innledes med \makeatletter og etterfulgt av \makeatother.
  • Takk for at du nevner floatrow -pakken som ser veldig, veldig kraftig ut (jeg burde ha funnet det før, nå endret alle figur- / tabelldefinisjoner i oppgaven min vil være ganske mye arbeid). Dokumentasjonen er imidlertid så lang, og det er så mange konfigurasjonsmuligheter at det vil være veldig vanskelig å finne ut det beste oppsettet .. er det en veiledning med en » anbefalt » oppsett for en tosidig avhandling? 🙁
  • @Villemoes Så hvorfor så mange LaTeX-redaktører bruker utdrag for å sette inn figurer som bruker center -miljøet i stedet for centering erklæring?
  • For bruk med IEEEtran, er \g@addto@macro\@floatboxreset\centering ineffektiv siden \figure omdefinerer \@floatboxreset. Jeg bruker etoolbox og \patchcmd{\figure}{\normalsize}{\normalsize\centering}{}{}.

Svar

Dette er et (veldig sent!) supplement til lockstep sitt svar som bare gir en visuell demonstrasjon av forskjellen mellom bruken av \centering og center miljøet i figure miljøer.

Hver side viser to figurer, en som bruker \centering og en som bruker center. Forskjellene i avstand er resultatet av at de to figure miljøene er forskjellige rently. På første side brukes \centering først, og center miljøet på andre, mens på den andre siden blir denne rekkefølgen omvendt.

Resultatene viser tydelig upassende avstand for den nedre figuren (første side) og den øvre figuren (andre side) dvs. for hvilken figur som bruker center i stedet for \centering.

showframe brukes til å vise det generelle sidelayoutet.

illustrasjon av forskjellene mellom

kode > \ sentrering < / kode > og < kode > sentrum < / kode > miljø inne 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} 

Til slutt kan du sammenligne to sider med to figurer hver.Den første siden inneholder figurer som bruker \centering, mens den andre inneholder figurer som bruker center -miljøet.

Ytterligere 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

Siden denne tråden fødte litt misforståelse , vil jeg legge til et notat.

Som de andre svarene sier, center miljø skal aldri brukes i et figure eller table miljø , bør du bruke \centering i stedet:

skriv inn bildebeskrivelse her

Men hvis tabellen eller bildet ikke flyter, vil du gjerne ha dem akkurat der du setter dem, dvs. de er i et figure eller et table -miljø, kan du bruke et center miljø uten problemer. Det tilsvarer et table eller et figure -miljø med H -alternativet for float pakke.

Hvis du vil legge til en billedtekst, kan du bruke \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} 

skriv inn bildebeskrivelse her skriv inn bildebeskrivelse her

Kommentarer

  • Hva med flushleft og flushright et bord eller en figur?
  • @BlackMild Det er flushleft og flushright miljøer, samt \raggedright og \raggedleft kommandoer

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *