Nel manuale memoir su pagina 183, viene fornito questo esempio:

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

Ho cercato di capire qual è la differenza tra \hspace*{\fill} e \hfill è !?

La \hfill definizione e \hspace definizione non mi hanno aiutato molto.

Commenti

  • Puoi utilizzare: a\hfill b\hfill \hspace{0.01mm}

Risposta

Utilizzando lo snippet di codice come esempio, \centering ha un impatto solo su \caption. Tuttavia,

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

ha lo scopo di impostare ILLUSTRATION 1 e ILLUSTRATION 2 distribuito anche su \textwidth:

inserisci la descrizione dellimmagine qui

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

Tuttavia, sostituendo \hspace*{\fill} con \hfill, lo spazio dal margine destro è " gobbled ":

inserisci qui la descrizione dellimmagine

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

dando valore alla definizione del comando per \hspace*:

LaTeX rimuove lo spazio orizzontale che si trova alla fine di una riga. Se non vuoi che LaTeX rimuova questo spazio, includi largomento * facoltativo. Lo spazio non viene mai rimosso.

Unalternativa da utilizzare se \hfill è più intuitivo di \hspace*{\fill}, è inserire testo fittizio (come \null o \mbox{}) allinizio e alla fine della riga. In questo modo \hfill sarà sempre avere " qualcosa su cui estendere allinfinito ":

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

Negli esempi precedenti, showframe ha semplicemente evidenziato il blocco di testo.

Commenti

  • \hspace{\fill} e \hfill sono uguali? Perché \hfill*?
  • Perché è necessario \null allinizio della riga? Posso ' t vedere il diff erenza con o senza.
  • @adl: ' non ne hai bisogno allinizio della riga. Fornisce solo una codifica simmetrica.

Answer

Cè unottima discussione e risposte su Qual è la differenza tra ' fil ' e ' fill '? .

In relazione alle specifiche della tua domanda, \hfill è un Primitiva TeX che si espande a,

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

mentre \hspace*{\fill}, è una macro LaTeX, che lascia uno spazio uguale a a 1fill. La versione star del comando viene utilizzata se la colla deve essere inserita allinizio di una riga.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *