なぜ \noindent は \rlap と \llap にそのような影響を与えるのでしょうか?

なぜ \noindent は \rlap と \llap にそのような影響を与えるのでしょうか?

\noindent がないと、\rlap と \llap は毎回 \baselineskip だけ下に移動するようです。これは意図的でしょうか?

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

カラーバー

答え1

\rlapと は両方\llapとも、\hbox

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

どこ

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

ただし、 は\hbox段落の始めには使用できません。 または などを使用して、明示的に水平モードに切り替える必要があります\noindent\leavevmode(詳細については、TeX by Topic のセクション 16.3 を参照してください。)

MWE の動作は、おそらく予想どおりになっています。

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

ここに画像の説明を入力してください

関連情報