Pitäisikö minun käyttää keskusta tai keskitys kuviin ja taulukoihin?

Mikä on oikea tapa keskittää kuviot ja taulukot (figure, table)?

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

tai

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

kommentit

Vastaa

Oikea tapa on

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

\begin{center}\end{center} figure -ympäristö johtaa (yleensä ei-toivottuihin) ylimääräisiin pystytiloihin.

Huomaa, että vaikka \centering tuottaa oikean välimatkan, tämä komento lisätään manuaalisesti jokaiseen figure -ympäristö (ja jokaiselle table ja räätälöityyn kellukkeeseen) on ikävä ja on vastoin ajatusta erottaa asiakirjan sisältö muodosta . Vielä parempia tapoja on lisätä seuraava asiakirjasi johdanto-osaan (kiitos egreg vihjeestä):

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

tai ladata floatrow -paketti, jonka avulla kelluvan sisällön oikeutusta voidaan hallita johdannosta (objectset=centering oletus).

Kommentit

  • Huomaa myös, että \centering on ilmoitus, ei ympäristö. Se, että \begin{centering} toimii, on valitettava seuraus ympäristöjen sisäisestä toiminnasta LaTeX: ssä: Ympäristö foo koostuu pääosin kahdesta makrosta \foo ja \endfoo, joita kutsutaan vastaavasti \begin{foo} ja \end{foo} (joidenkin virhetarkistusten, kuten oikea pesintä). Mutta koska \endfoo kutsutaan \csname endfoo\endcsname -palvelun kautta, makron ’ ei tarvitse olla olemassa . Tämä tarkoittaa, että jopa sellaiset asiat kuin $\begin{alpha}\end{alpha}$ toimivat (mutta niitä ei tietenkään saa käyttää).
  • Siellä ’ s myös esoteerisempi \g@addto@macro\@floatboxreset\centering, jota tietysti edeltää \makeatletter ja jota seuraa \makeatother.
  • Kiitos, että mainitsit paketin floatrow, joka näyttää erittäin, erittäin voimakkaalta (olisin pitänyt huomata sen aikaisemmin, nyt muuttamalla kaikkia kuvien / taulukoiden määritelmiä opinnäytetyöni on melko vähän työtä). Asiakirjat ovat kuitenkin niin pitkiä ja määritysmahdollisuuksia on niin paljon, että on erittäin vaikea selvittää parasta asetusta .. onko olemassa opetusohjelmaa, jota suositellaan ” ” kaksisivutyön määritys? 🙁
  • @Villemoes Miksi niin monet LaTeX-toimittajat käyttävät katkelmia lisättävissä kuvissa, jotka käyttävät center -ympäristöä sen sijaan centering ilmoitus?
  • Käytettävissä IEEEtran kanssa, \g@addto@macro\@floatboxreset\centering on tehoton, koska \figure määrittelee uudelleen \@floatboxreset. Käytän etoolbox ja \patchcmd{\figure}{\normalsize}{\normalsize\centering}{}{}.

vastaus

Tämä on (erittäin myöhäistä!) Täydennys lockstepin vastaus , joka tarjoaa vain visuaalisen kuvan erosta \centering ja center -ympäristön välillä figure ympäristöissä.

Jokaisella sivulla on 2 kuvaa, joista toinen on \centering ja toinen center. Erot välissä ovat seurausta kahden figure -ympäristön tilaamisesta erilaisiksi varovasti. Ensimmäisellä sivulla \centering käytetään ensin ja toisena center -ympäristöä, kun taas toisella sivulla tämä järjestys on päinvastainen.

Tulokset osoittavat selvästi sopimattoman välimatkan alemmalle kuvalle (ensimmäinen sivu) ja ylemmälle kuvalle (toinen sivu), ts. kumpi kuvio käyttää center -tunnusta \centering.

showframe käytetään sivun yleisen asettelun näyttämiseen.

esimerkki

koodi > \ keskitys < / code > ja < koodi > keskus < / code > ympäristö < -koodin sisällä > kuva < / code > ympäristöt

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

Vertaa lopuksi kahta sivua kummallakin kahdella luvulla.Ensimmäisellä sivulla on luvut, joissa käytetään \centering, kun taas toisella on luvut, jotka käyttävät ympäristöä center.

Lisää vertailuja

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

vastaus

Koska tämä säie synnytti pienen väärinkäsityksen , haluaisin lisätä huomautuksen.

Kuten muut vastaukset sanovat, center -ympäristöä ei pitäisi koskaan käyttää figure – tai table -ympäristössä , käytä \centering sen sijaan:

kirjoita kuvan kuvaus tähän

Mutta jos taulukko tai kuva ei ole kelluva, toisin sanoen haluaisit niiden olevan tarkalleen missä laitat, ts. ne ovat ei figure – tai table -ympäristössä voit käyttää center ympäristö ilman ongelmia. Se vastaa table – tai figure -ympäristöä, jossa H -vaihtoehto on float -paketti.

Jos haluat lisätä kuvatekstin, voit käyttää \captionof -kohtaa \caption -paketti.

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

kirjoita kuvan kuvaus tähän kirjoita kuvan kuvaus tähän

kommentit

  • Entä pöydän tai kuvan huuhtelu ja huuhtelu?
  • @BlackMild flushleft ja flushright ympäristöt sekä \raggedright – ja \raggedleft -komennot

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *