I memoir på side 183 er dette eksemplet gitt:

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

Jeg har prøvd å finne ut hva forskjellen er på \hspace*{\fill} og \hfill er !?

\hfill definisjon og \hspace definisjon hjalp meg ikke så mye.

Kommentarer

  • Du kan bruke: a\hfill b\hfill \hspace{0.01mm}

Svar

Ved å bruke kodebiten som eksempel, har \centering bare innvirkning på \caption.

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

er imidlertid ment å angi ILLUSTRATION 1 og ILLUSTRATION 2 til og med fordelt på \textwidth:

skriv inn bildebeskrivelse her

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

Når du erstatter \hspace*{\fill} med \hfill, er imidlertid mellomrommet fra høyre marg " gobbled ":

skriv inn bildebeskrivelse her

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

gir verdi til kommandodefinisjonen for \hspace*:

LaTeX fjerner vannrett plass som kommer på slutten av en linje. Hvis du ikke vil at LaTeX skal fjerne denne plassen, må du inkludere det valgfrie argumentet *. Da blir plassen aldri fjernet.

Et alternativ å bruke hvis \hfill er mer intuitivt enn \hspace*{\fill}, er å sette inn dummy-tekst (som \null eller \mbox{}) på (start og) slutten av linjen. På den måten vil \hfill alltid ha " noe å uendelig strekke mot ":

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

I eksemplene ovenfor markerte showframe bare tekstblokken.

Kommentarer

  • Er \hspace{\fill} og \hfill det samme? Hvorfor er det ingen \hfill*?
  • Hvorfor trenger du \null i begynnelsen av linjen? Jeg kan ' t se forskjellen erence med eller uten.
  • @adl: Du trenger ikke ' det trenger du ikke ved starten av linjen. Det gir bare symmetrisk koding.

Svar

Det er en veldig god diskusjon og svar på Hva er forskjellen mellom ' fil ' og ' fyll '? .

Som relatert til detaljene i spørsmålet ditt, er \hfill en TeX-primitiv som utvides til

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

mens \hspace*{\fill}, er en LaTeX-makro som etterlater et mellomrom som tilsvarer a 1fill. Stjerneversjonen av kommandoen brukes hvis limet skal settes inn i begynnelsen av en linje.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *