
У меня длинная строка текста, и она занимает больше одной строки. Я хочу, чтобы разрыв строки происходил так, чтобы первая и вторая строки имели одинаковую ширину. Как это сделать?
A very long line of text that wraps around to the other line and needs to be broken differently.
в этот (вид)
A very long line of text that wraps around to the
other line and needs to be broken differently.
решение1
Это очень простое предложение: измерьте ширину текста и поместите его на мини-странице в два раза меньше этой ширины.
\documentclass{article}
\newcommand\BreakEven[1]{\setbox0\hbox{#1}%
\begin{minipage}{\dimexpr0.5\wd0}
#1
\end{minipage}}
\begin{document}
\BreakEven{A very long line of text that wraps around to the other line and
needs to be broken differently.}
\end{document}
Чуть более сложное решение: повторяйте цикл до тех пор, пока текст не станет достаточно широким, чтобы поместиться в две строки.
\documentclass{article}
\newlength\TestWidth
\newlength\MyBaseLineskip
\newcommand\BreakEven[2][1.5]{\setbox0\hbox{#2\global\MyBaseLineskip=\baselineskip}%
\TestWidth=0.45\wd0\relax
\loop
\setbox0\hbox{\begin{minipage}{\TestWidth}
#2
\end{minipage}}
\ifdim\ht0>#1\MyBaseLineskip\relax
\advance\TestWidth by 1pt\relax
\repeat
\begin{minipage}{\TestWidth}
#2
\end{minipage}}
\begin{document}
\BreakEven{A very long line of text that wraps around to the other line and
needs to be broken differently.}
\BreakEven{\footnotesize\textit{Sundays in Advent at Prime, and on the day of Saint Paul the apostle}}
\end{document}