memoir
-oppaassa sivu 183, tämä esimerkki on annettu:
\begin{figure} \centering \hspace*{\fill} {ILLUSTRATION 1} \hfill {ILLUSTRATION 2} \hspace*{\fill} \caption{Example float with two illustrations} \label{fig:mult1} \end{figure}
Olen yrittänyt selvittää, mikä ero on \hspace*{\fill}
ja \hfill
on !?
\hfill
määritelmä ja \hspace
määritelmä eivät auttaneet minua paljon.
Kommentit
Vastaa
Käyttämällä koodinpätkääsi esimerkkinä, \centering
vaikuttaa vain \caption
-ohjelmaan.
\hspace*{\fill} {ILLUSTRATION 1} \hfill {ILLUSTRATION 2} \hspace*{\fill}
on kuitenkin tarkoitettu asettamaan ILLUSTRATION 1
ja ILLUSTRATION 2
tasaisesti jaettu \textwidth
:
\documentclass{article} \usepackage{showframe}% http://ctan.org/pkg/showframe \begin{document} \begin{figure} \centering \hspace*{\fill} {ILLUSTRATION 1} \hfill {ILLUSTRATION 2} \hspace*{\fill} \caption{Example float with two illustrations} \label{fig:mult1} \end{figure} \end{document}
Korvaamalla \hspace*{\fill}
kuitenkin \hfill
, oikean reunuksen väli on " gobbled ":
\documentclass{article} \usepackage{showframe}% http://ctan.org/pkg/showframe \begin{document} \begin{figure} \centering \hfill%\hspace*{\fill} {ILLUSTRATION 1} \hfill {ILLUSTRATION 2}% \hfill%\hspace*{\fill} \caption{Example float with two illustrations} \label{fig:mult1} \end{figure} \end{document}
arvon antaminen komennomääritelmälle \hspace*
:
LaTeX poistaa rivin lopussa olevan vaakasuoran tilan. Jos et halua, että LaTeX poistaa tämän tilan, sisällytä valinnainen argumentti
*
. Tällöin tilaa ei poisteta.
Vaihtoehto käyttää, jos \hfill
on intuitiivisempi kuin \hspace*{\fill}
, on lisätä nuken teksti (kuten \null
tai \mbox{}
) rivin (alussa ja) lopussa. Näin \hfill
pysyy aina on " jotain, jota voi äärettömästi venyttää ":
\null\hfill% {ILLUSTRATION 1} \hfill {ILLUSTRATION 2}% \hfill\null%
Yllä olevissa esimerkeissä showframe
vain korosti tekstilohkoa.
Kommentit
- Onko
\hspace{\fill}
ja\hfill
sama? Miksi\hfill*
? - Miksi tarvitset rivin alkuun
\null
? Voin ' t katso ero erence kanssa tai ilman. - @adl: Et tarvitse ' sitä rivin alussa. Se tarjoaa vain symmetrisen koodauksen.
Vastaus
Kohdassa Mitä eroa on ' fil ' ja ' fill '? .
Mitä kysymyksesi yksityiskohtiin liittyy, \hfill
on TeX-primitiivi, joka laajenee,
\hfill = \hskip 0pt plus 1fill minus 0pt
kun taas \hspace*{\fill}
on LaTeX-makro, joka jättää välilyönnin a 1fill
. Komennon tähtiversiota käytetään, jos liima lisätään rivin alkuun.
a\hfill b\hfill \hspace{0.01mm}