În manualul memoir pe pagina 183, acest exemplu este dat:

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

Am încercat să dau seama, care este diferența dintre \hspace*{\fill} și \hfill este !?

\hfill definiție și \hspace definiție nu m-au ajutat prea mult.

Comentarii

  • Puteți utiliza: a\hfill b\hfill \hspace{0.01mm}

Răspuns

Utilizând fragmentul de cod ca exemplu, \centering are un impact numai pe \caption. Cu toate acestea,

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

este menit să seteze ILLUSTRATION 1 și ILLUSTRATION 2 distribuit chiar în \textwidth:

introduceți descrierea imaginii aici

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

Cu toate acestea, înlocuind \hspace*{\fill} cu \hfill, spațiul de la marginea din dreapta este " înghițit ":

introduceți descrierea imaginii aici

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

dând valoare definiției comenzii pentru \hspace*:

LaTeX elimină spațiul orizontal care vine la sfârșitul unei linii. Dacă nu doriți ca LaTeX să elimine acest spațiu, includeți argumentul opțional *. Apoi spațiul nu este niciodată eliminat.

O alternativă de utilizat dacă \hfill este mai intuitivă decât \hspace*{\fill}, este inserarea unui text fals (cum ar fi \null sau \mbox{}) la (începutul și) sfârșitul liniei. În acest fel, \hfill va fi întotdeauna au " ceva de întins infinit împotriva ":

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

În exemplele de mai sus, showframe a evidențiat doar blocul de text.

Comentarii

  • Este \hspace{\fill} și \hfill la fel? De ce nu există \hfill*?
  • De ce aveți nevoie de \null la începutul liniei? Pot ' t vezi diferența erență cu sau fără.
  • @adl: Nu aveți nevoie de ' de la începutul liniei. Oferă doar codificare simetrică.

Răspuns

Există o discuție foarte bună și răspunsuri la Care este diferența dintre ' fil ' și ' fill '? .

În legătură cu specificul din întrebarea dvs. \hfill este un Primitiv TeX care se extinde la,

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

în timp ce \hspace*{\fill}, este o macro LaTeX, care lasă un spațiu egal cu a 1fill. Versiunea stelară a comenzii este utilizată dacă lipiciul trebuie introdus la începutul unei linii.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *