Warum hat \noindent eine solche Auswirkung auf \rlap und \llap.?

Warum hat \noindent eine solche Auswirkung auf \rlap und \llap.?

Ohne \noindent scheinen sich \rlap und \llap jedes Mal um \baselineskip nach unten zu bewegen. Ist das beabsichtigt?

\documentclass{article}
\usepackage{xcolor}

\begin{document}
\color{red}
\rlap{\rule{.25in}{1ex}}\rlap{\rule{.25in}{1ex}}\rlap{\rule{.25in}{1ex}}

\color{blue}
\noindent\rlap{\rule{.25in}{1ex}}\rlap{\rule{.25in}{1ex}}\rlap{\rule{.25in}{1ex}}

\color{green}
\llap{\rule{.25in}{1ex}}\llap{\rule{.25in}{1ex}}\llap{\rule{.25in}{1ex}}

\color{black}
\noindent\llap{\rule{.25in}{1ex}}\llap{\rule{.25in}{1ex}}\llap{\rule{.25in}{1ex}}
\end{document}

Farbbalken

Antwort1

Beide \rlapsind \llapdefiniert als\hbox

\def\rlap#1{\hb@xt@\z@{#1\hss}}
\def\llap#1{\hb@xt@\z@{\hss#1}}

Wo

\def\hb@xt@{\hbox to}

Ein kann jedoch \hboxnicht zum Beginnen eines Absatzes verwendet werden. Sie müssen entweder explizit in den horizontalen Modus wechseln, indem Sie etwas wie \noindentoder verwenden \leavevmode. (Weitere Einzelheiten finden Sie in Abschnitt 16.3 von TeX by Topic.)

Hier verhält sich Ihr MWE etwas mehr so, wie Sie es wahrscheinlich erwartet haben:

\documentclass{article}
\usepackage{xcolor}
\newcommand\aelap[1]{\makebox[0pt][r]{#1}}
\begin{document}

\color{red}
\leavevmode\rlap{\rule{.25in}{1ex}}\rlap{\rule{.25in}{1ex}}\rlap{\rule{.25in}{1ex}}

\color{blue}
\noindent\rlap{\rule{.25in}{1ex}}\rlap{\rule{.25in}{1ex}}\rlap{\rule{.25in}{1ex}}

\color{green}
\leavevmode\llap{\rule{.25in}{1ex}}\llap{\rule{.25in}{1ex}}\llap{\rule{.25in}{1ex}}

\color{black}
\noindent\llap{\rule{.25in}{1ex}}\llap{\rule{.25in}{1ex}}\llap{\rule{.25in}{1ex}}

\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen