分布在一行(减去缩进)

分布在一行(减去缩进)

我有一句话想分散在以下一行中:

\makebox[\linewidth][s]{XXX XXXXX XXXXX XXXXX XXXXX XXXXX XX XXX XXX XX XXXXX XXXXX}\par

实际情况是,因为它是一个带有缩进的新段落,所以它会超出边距,如下所示

在此处输入图片描述

所以问题是,如何将 XXX 扩展到一行并减去缩进空间?请注意,我仍然希望在开头缩进。

答案1

如果要保留\parindent框前的,则需要从中减去,\linewidth以使框适合页面。减去宽度很简单,只需说

\dimexpr\linewidth-\parindent

如同

\documentclass{article}
\usepackage{geometry}
\begin{document}
XXX XXXXX XXXXX XXXXX XXXXX XXXXX XX XXX XXX XX XXXXX XXXXX
XXX XXXXX XXXXX XXXXX XXXXX XXXXX XX XXX XXX XX XXXXX XXXXX\par

\makebox[\dimexpr\linewidth-\parindent][s]{XXX XXXXX XXXXX XXXXX XXXXX XXXXX XX XXX XXX XX XXXXX XXXXX}\par

\end{document}

\dimexpr”(即所谓的原语)很好地解释了此主题,它的大多数同类也是如此。据我所知,它们的创建者也是 Breitenlohner-Freedman 约束的共同作者。

答案2

这似乎是段落的第一行,而不是独立的一行。基于这种假设,我会说:根本不要设置宽度!只需设置\linebreak第一行内容的末尾即可。但我的假设可能不正确,答案应该不是以 来结束正文\linebreak\par

\noindent另外,难以捉摸的猫科动物的原始建议是可以的。使用它意味着你不需要计算宽度。只需将缩进放在框内即可

 \noindent\makebox[\linewidth][s]{\indent XXX XXXXX XXXXX ... XXXXX}\par

答案3

看起来您想要一个段落,行的宽度是全宽,您可以通过将\parfillskip(添加到最后一行的空格)设置为 0pt 来直接指定。无需计算或显式装箱。

在此处输入图片描述

\documentclass{article}
\usepackage{geometry}
\begin{document}
XXX XXXXX XXXXX XXXXX XXXXX XXXXX XX XXX XXX XX XXXXX XXXXX
XXX XXXXX XXXXX XXXXX XXXXX XXXXX XX XXX XXX XX XXXXX XXXXX

{\parfillskip=0pt
XXX XXXXX XXXXX XXXXX XXXXX XXXXX XX XXX XXX XX XXXXX XXXXX

}

\end{document}

相关内容