\strut
Синопсис:
\strut
Убедитесь, что текущая строка имеет высоту не менее 0.7\baselineskip и глубину не менее 0.3\baselineskip. По существу, LaTeX вставляет в строку прямоугольник с нулевой шириной, \rule[-0.3\baselineskip]{0pt}{\baselineskip} (см. \rule). \baselineskip изменяется в зависимости от текущего шрифта или размера шрифта.
В этом примере \strut предотвращает, чтобы у рамки была нулевая высота.
\setlength{\fboxsep}{0pt}\framebox[2in]{\strut}
В этом примере четыре списка. В первом списке есть гораздо больший разрыв между элементами 2 и 3, чем между элементами 1 и 2. Второй список исправляет это с помощью \strut в конце второй строки первого элемента.
\setlength{\fboxsep}{0pt}
\noindent\begin{minipage}[t]{0.2\linewidth}
\begin{enumerate}
\item \parbox[t]{15pt}{test \\ test}
\item test
\item test
\end{enumerate}
\end{minipage}%
\begin{minipage}[t]{0.2\linewidth}
\begin{enumerate}
\item \parbox[t]{15pt}{test \\ test\strut}
\item test
\item test
\end{enumerate}
\end{minipage}%
\begin{minipage}[t]{0.2\linewidth}
\begin{enumerate}
\item \fbox{\parbox[t]{15pt}{test \\ test}}
\item \fbox{test}
\item \fbox{test}
\end{enumerate}
\end{minipage}%
\begin{minipage}[t]{0.2\linewidth}
\begin{enumerate}
\item \fbox{\parbox[t]{15pt}{test \\ test\strut}}
\item \fbox{test}
\item \fbox{test}
\end{enumerate}
\end{minipage}%
Два последних списка используют \fbox для демонстрации происходящего. Первый элемент \parbox третьего списка достигает только нижней части его второй строки «test», у которой нет символов, опускающихся ниже базовой линии. Четвертый список добавляет strut, который обеспечивает необходимое дополнительное пространство под базовой линией.
Команда \strut часто полезна в графике, например, в TikZ или Asymptote. Например, у вас может быть команда, такая как \graphnode{node-name}, которая помещает окружность вокруг node-name. Однако, если вы не будете внимательны, ‘x’ и ‘y’ node-name дадут окружности разных диаметров, так как символы имеют разные размеры. Внимательный \graphnode может вставить \strut, затем node-name, а затем нарисовать окружность.
Общий подход использования нулевой ширины \rule полезен во многих случаях. В этой таблице правило нулевой ширины предотвращает попадание верхней части первого интеграла на \hline. Аналогично, второе правило предотвращает попадание второго интеграла на первый.
\begin{tabular}{rl}
\textsc{Integral} &\textsc{Value} \\
\hline
$\int_0^x t\, dt$ &$x^2/2$ \rule{0em}{2.5ex} \\
$\int_0^x t^2\, dt$ &$x^3/3$ \rule{0em}{2.5ex}
\end{tabular}
(Хотя команда окончания строки с двойным обратным слешем имеет необязательный аргумент для изменения соответствующего отступа от базовой линии, это не решит проблему. Изменение первого двойного обратного слеша на что-то вроде \\[2.5ex] создаст больше места между заголовком и \hline линией, и интеграл всё равно коснется линии.)
© 2007–2018 Karl Berry
Public Domain Software
http://latexref.xyz/_005cstrut.html