Я хочу получить естественную ширину последней строки в абзаце. Например, последняя строка следующего абзаца
Георг Фридрих Бернхард Риман (17 сентября 1826 г. — 20 июля 1866 г.) — влиятельный немецкий математик, внесший значительный вклад в анализ, теорию чисел и дифференциальную геометрию, некоторые из его достижений способствовали дальнейшему развитию общей теории относительности.
может быть от some
до relativity
(то есть, some of them enabling the later development of general relativity.
). Когда произойдет перенос строки, последняя строка будет помещена в hbox, так как же мне получить этот hbox?
решение1
\documentclass{article}
\begin{document}
Georg Friedrich Bernhard Riemann (September 17, 1826 -- July 20, 1866) was an
influential German mathematician who made lasting contributions to analysis, number
theory, and differential geometry, some of them enabling the later development of
general relativity.
$$\mbox{the last line had length \the\predisplaysize}$$
\end{document}
На самом деле \predisplaysize
установлено на 2em больше, чем естественный размер, так что вам может потребоваться вычесть 2em, в зависимости от...
Чтобы получить значение, не оставляя видимой математику на дисплее, вы можете сделать что-то вроде этого (скопировано из afterpage
)
\makeatletter
Georg Friedrich Bernhard Riemann (September 17, 1826 -- July 20, 1866) was an influential German mathematician who made lasting contributions to analysis, number theory, and differential geometry, some of them enabling the later development of general relativity.
{\abovedisplayshortskip\z@\abovedisplayskip\z@
\belowdisplayshortskip\z@\belowdisplayskip\z@
$$\global\dimen\@ne\predisplaysize
\xdef\tmp{%
\predisplaysize\the\predisplaysize
\prevgraf\the\prevgraf\relax}%
$$\vskip\dimexpr-\parskip-\baselineskip\relax}\tmp
new para in which we can use \the\dimen\@ne
and another new para