En el manual memoir sobre página 183, se da este ejemplo:

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

He tratado de averiguar cuál es la diferencia entre \hspace*{\fill} y \hfill es !?

La \hfill definición y \hspace definición no me ayudaron mucho.

Comentarios

  • Puede usar: a\hfill b\hfill \hspace{0.01mm}

Responder

Usando su fragmento de código como ejemplo, \centering solo tiene un impacto en el \caption. Sin embargo,

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

está destinado a configurar ILLUSTRATION 1 y ILLUSTRATION 2 incluso distribuidos en \textwidth:

ingrese la descripción de la imagen aquí

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

Sin embargo, al reemplazar \hspace*{\fill} con \hfill, el espacio del margen derecho es " engulló ":

ingrese la descripción de la imagen aquí

\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 valor a la definición del comando para \hspace*:

LaTeX elimina el espacio horizontal que viene al final de una línea. Si no desea que LaTeX elimine este espacio, incluya el argumento opcional *. Entonces el espacio nunca se elimina.

Una alternativa para usar si \hfill es más intuitivo que \hspace*{\fill}, es insertar texto ficticio (como \null o \mbox{}) al (inicio y) final de la línea. De esa manera, \hfill siempre tener " algo para estirar infinitamente contra ":

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

En los ejemplos anteriores, showframe simplemente resaltó el bloque de texto.

Comentarios

  • ¿Son \hspace{\fill} y \hfill iguales? ¿Por qué no hay \hfill*?
  • ¿Por qué necesita \null al principio de la línea? Puedo ' t ver la diferencia erence con o sin.
  • @adl: No ' no lo necesita al principio de la línea. Solo proporciona codificación simétrica.

Respuesta

Hay una muy buena discusión y respuestas en ¿Cuál es la diferencia entre ' fil ' y ' fill '? .

En relación con los detalles de su pregunta, \hfill es un Primitiva TeX que se expande a,

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

mientras que \hspace*{\fill}, es una macro LaTeX, que deja un espacio igual a a 1fill. La versión estrella del comando se usa si el pegamento se va a insertar al principio de una línea.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *