A memoir kézikönyvben 183. oldal, ez a példa meg van adva:

\begin{figure} \centering \hspace*{\fill} {ILLUSTRATION 1} \hfill {ILLUSTRATION 2} \hspace*{\fill} \caption{Example float with two illustrations} \label{fig:mult1} \end{figure} 

Megpróbáltam kitalálni, mi a különbség a \hspace*{\fill} között és a \hfill is !?

A \hfill definíció és \hspace meghatározás nem sokat segítettek nekem.

Megjegyzések

  • Használhatja: a\hfill b\hfill \hspace{0.01mm}

Válasz

A kódrészletet példaként használva az \centering csak a \caption -re van hatással. A

\hspace*{\fill} {ILLUSTRATION 1} \hfill {ILLUSTRATION 2} \hspace*{\fill} 

azonban a ILLUSTRATION 1 és ILLUSTRATION 2 sőt elosztva \textwidth:

ide írja be a kép leírását

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

Ha azonban az \hspace*{\fill} szöveget \hfill helyettesíti, akkor a jobb margótól a szóköz " gobbled ":

írja ide a kép leírását

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

Értéket adva a parancs definíciójának a \hspace* számára:

A LaTeX eltávolítja a vonal végén található vízszintes helyet. Ha nem szeretné, hogy a LaTeX eltávolítsa ezt a helyet, akkor adja meg az opcionális * argumentumot. Ezután a szóközt soha nem távolítja el.

Ha a \hfill intuitívabb, mint a \hspace*{\fill}, akkor a dummy szöveg beszúrása (például \null vagy \mbox{}) a sor elején (és végén). Így a \hfill mindig van " valami, amivel végtelenül nyújtózkodhat " ellen:

\null\hfill% {ILLUSTRATION 1} \hfill {ILLUSTRATION 2}% \hfill\null% 

A fenti példákban a showframe csupán a szövegblokkot emelte ki.

Megjegyzések

  • \hspace{\fill} és \hfill ugyanaz? Miért nincs \hfill*?
  • Miért van szükség \null a sor elejére? Tudok ' t lásd a diff vagy anélkül.
  • @adl: A sor elején nem kell '. Csak szimmetrikus kódolást biztosít.

Válasz

Nagyon jó vita és válaszok vannak a Mi a különbség ' fil ' és ' fill '? .

A kérdésed sajátosságaihoz kapcsolódóan a \hfill egy A TeX primitív, amelyre kiterjed,

 \hfill = \hskip 0pt plus 1fill minus 0pt 

míg \hspace*{\fill} egy LaTeX makró, amely a következővel egyenlő helyet hagy: a 1fill. A parancs csillag verzióját akkor használjuk, ha a ragasztót egy sor elejére akarjuk beilleszteni.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük