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 sijaancentering
ilmoitus? - Käytettävissä
IEEEtran
kanssa,\g@addto@macro\@floatboxreset\centering
on tehoton, koska\figure
määrittelee uudelleen\@floatboxreset
. Käytänetoolbox
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.
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
.
\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:
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}
kommentit
- Entä pöydän tai kuvan huuhtelu ja huuhtelu?
- @BlackMild
flushleft
jaflushright
ympäristöt sekä\raggedright
– ja\raggedleft
-komennot
center
-ympäristöäfigure
-ympäristön ympärille! Katso Taulukot ja osiot menevät väärin . (Ei, en sanoisi, että Yiannis teki tämän)