Интересно, почему я получаю разные пробелы между переносами строк в зависимости от того, находится ли перенос строки, инициированный с помощью \\[5pt]
, внутри или снаружи фигурных скобок.
Почему это важно? Разве это не должно быть тем же самым?
МВЭ:
\documentclass{scrartcl}
\textwidth=6cm
\begin{document}
{\raggedleft{02.2016 -- 09.2018}\par}
{\raggedright Testline to see the gap \\[5pt]}
{\raggedleft{02.2016 -- 09.2018}\par}
{\raggedright Testline to see the gap} \\[5pt]
{\raggedleft{02.2016 -- 09.2018}\par}
{\raggedright Testline to see the gap}
\end{document}
решение1
Средний регистр ошибочен, то, что выглядит как вертикальный пробел, на самом деле является второй (пустой) строкой абзаца, именно из-за этого TeX кричит на вас
Underfull \hbox (badness 10000) in paragraph at lines 9--10
10000 — это максимальное значение плохости, так что это говорит вам, что вывод настолько плох, насколько это возможно. Так как это строка текста, а не вертикальное пространство, он, например, не будет удален в начале страницы, если разрыв страницы произойдет после первой строки.
Первое \\
находится в области действия, \raggedright
что означает, что по техническим причинам \\
это \par
и \\[5pt]
есть \par\vspace{5pt}
, поэтому это не так уж и плохо в конце абзаца (хотя все еще плохая разметка)
Но второй случай является "нормальным", \\
так что это не завершает абзац, а просто заставляет переносить строку в существующем абзаце, за которым следует пустая строка текста. Вы можете увидеть это, заменив \\[5pt]
на \\[5pt]zzzzz
вертикальный интервал, который не изменится, но вторая строка абзаца больше не будет пустой.
Обратите внимание, что \raggedleft
не принимает аргументов, поэтому
\raggedleft{02.2016 -- 09.2018}
такой же как
\raggedleft 02.2016 -- 09.2018
Внутренние брекеты здесь ни при чем.
Наоборот в
{\raggedright Testline to see the gap}
Абзац заканчивается после , }
к этому времени он \raggedright
уже выходит из области действия, поэтому это не делает текст рваным по правому краю, это выровненный по ширине абзац (но здесь это не совсем понятно, так как это всего лишь одна строка). Единственный эффект заключается в \raggedright
подавлении отступа абзаца.
\documentclass{scrartcl}
\begin{document}
\noindent
\begin{minipage}[t]{6cm}
{\raggedleft{02.2016 -- 09.2018}\par}
{\raggedright Testline to see the gap \\[5pt]}
{\raggedleft{02.2016 -- 09.2018}\par}
{\raggedright Testline to see the gap} \\[5pt]
{\raggedleft{02.2016 -- 09.2018}\par}
{\raggedright Testline to see the gap}
\end{minipage}\quad\vrule\quad
\begin{minipage}[t]{6cm}
{\raggedleft{02.2016 -- 09.2018}\par}
{\raggedright Testline to see the gap \\[5pt]}
{\raggedleft{02.2016 -- 09.2018}\par}
{\raggedright Testline to see the gap} \\[5pt]zzz
{\raggedleft{02.2016 -- 09.2018}\par}
{\raggedright Testline to see the gap}
\end{minipage}
\end{document}