Ich habe versucht, einige mathematische Operationen in einer Aufzählungsliste zu zentrieren, ohne einen Zeilensprung durchzuführen.
Ich fand schließlichdiese Diskussionvon \hfill
vs \hspace*{\fill}
, was darauf hindeutet, dass durch die Verwendung \hspace*{\hfill}
vermieden wird, dass Speicherplatz auf der rechten Seite verschlungen wird. Wenn ich es jedoch implementiere, erkenne ich zwischen den beiden keinen Unterschied in der Darstellung.
NB: Ich habe das spezifische Problem durch die Einfügung eines gelöst \null
, würde aber gerne wissen, welches Missverständnis dazu führt, dass ich eine andere Ausgabe erwarte.
dhwarum ist es \hspace*{\hfill}
immer noch erforderlich \null
, den rechten Platz nicht zu verschlingen?
MWE:
\documentclass{article}
\usepackage{enumitem}
\begin{document}
\begin{enumerate}
\item \hspace*{\fill} %
% Some math content
$y(x) = a_o + a_1 (x-k) + a_2(x-k)^2 + a_3(x-k)^3 + a_4(x-k)^4$
%
\hspace*{\fill}
%
\item \hspace*{\fill} %
% Some math content
$y(x) = a_o + a_1 (x-k) + a_2(x-k)^2 + a_3(x-k)^3 + a_4(x-k)^4$
%
\hspace*{\fill}\null
\end{enumerate}
\end{document}
Beachten Sie den Unterschied zwischen der ersten Zeile (ohne \null
) und der zweiten Zeile (mit \null
):
Antwort1
In Latex ist es normaler, zum Zentrieren von Dingen die Umgebung \centering
oder das Symbol zu verwenden. Sie benötigen dies jedoch , weil bei Verwendung im horizontalen Modus der horizontale Abstand am Ende des vorherigen Absatzes entfernt wird.center
\null
\item
Wenn Sie %
diese beiden Zeilen entfernen, werden sie auf die gleiche Weise eingestellt
\documentclass{article}
\usepackage{enumitem}
\begin{document}
\begin{enumerate}
\item \hspace*{\fill} %
% Some math content
$y(x) = a_o + a_1 (x-k) + a_2(x-k)^2 + a_3(x-k)^3 + a_4(x-k)^4$
%
\hspace*{\fill}
% > If you remove this % (or add a line above it) both will render the same.
\item \hspace*{\fill} %
% Some math content
$y(x) = a_o + a_1 (x-k) + a_2(x-k)^2 + a_3(x-k)^3 + a_4(x-k)^4$
%
\hspace*{\fill}\null
\end{enumerate}
\end{document}
Beachten Sie auch, dass die Verwendung \hspace*{\fill} %
auch die Zentrierung unterbricht, da sie Füllkleber und einen Wortabstand hinzufügt, was Sie wahrscheinlich beabsichtigt haben.\hspace*{\fill}%
Antwort2
Erstens:
\hspace*{\fill} %
erzeugt\hfill
, gefolgt vonRaum(Beachten Sie das Leerzeichen vor dem Prozentzeichen), aber Direct\hfill
macht das nicht.\hspace*
schützt am Anfang der Leitung, nicht am Ende.TeX (kein LaTeX!) entfernt den letzten Klebstoff, wenn
\par
gefolgt wird.\item
Dies geschieht beim LaTeX- Makro\unskip\unskip\par
, wenn es im horizontalen Modus verarbeitet wird.\hspace*{\fill}
Das Makro von LaTeX wird\vrule width0pt \hfill \hskip0pt
in horizontaler Metamorphose eingefügt.
Das \hspace*{\fill} %
folgende „by“ \item
entfernt das unerwünschte Leerzeichen vor dem Prozentzeichen zuerst mit \unskip
, dann \hskip0pt
mit dem zweiten \unskip
und schließlich \par
mit \hfill
. Dies ist der Grund, warum Ihr \hspace*{\fill} %
verschwindet, wenn darauf ein folgt \item
.