Расстояние между переносами строк разное

Расстояние между переносами строк разное

Интересно, почему я получаю разные пробелы между переносами строк в зависимости от того, находится ли перенос строки, инициированный с помощью \\[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}

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