Почему \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нельзя использовать an для начала абзаца. Вам нужно либо явно переключиться в горизонтальный режим, используя что-то вроде \noindentили \leavevmode. (См. раздел 16.3 TeX по темам для получения более подробной информации.)

Вот ваш 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}

введите описание изображения здесь

Связанный контент