在普通文本中,如何将句子的一部分居中(恰好是句子的结尾),但保持段落其余部分的文本不变?此外,居中文本前后不应添加垂直空格。
在文字处理器中,我会在要居中的文本前添加一个新行,然后将文本“居中”到下一行。我尝试使用各种 LaTeX 命令执行类似操作,但都不起作用。
我想要的效果如下:
This is a really long sentence as an example. The second half of this
sentence should be centered.
答案1
这个怎么样:
\documentclass{article}
\begin{document}
This is a really long sentence as an example. The second have of this\\
\centerline{sentence should be centered.}
\end{document}
答案2
尽量不要使用\centerline
,它不适合长文本。只需center
像这样修补 LaTeX 的环境:
\documentclass{article}
\newenvironment{tightcenter}{%
\setlength\topsep{0pt}
\setlength\parskip{0pt}
\begin{center}
}{%
\end{center}
}
\begin{document}
text text text text text text text text text text text text text text text text text text text text text text text text
\begin{tightcenter}
foo
\end{tightcenter}
text text text text text text text text text text text text text text text text text text text text text text text text
\end{document}
答案3
您可以使用 TeX 原语\rightskip
和\leftskip
;一个小例子:
\documentclass{article}
\begin{document}
\begingroup
\leftskip=0cm plus 0.5fil \rightskip=0cm plus -0.5fil
\parfillskip=0cm plus 1fil
This is a really long sentence as an example. The last line of this
paragraph will be centered.\par
\endgroup
Another sentence that starts a new paragraph
\end{document}
代码的解释(如 TeX by Topic 所示):
对于段落中除最后一行之外的所有行,拉伸分量加起来为零,因此插入的
\leftskip
和\rightskip
为零。在最后一行,\parfillskip
添加了拉伸;因此,行的左端和右端plus 1fil
总共有拉伸。plus 0.5fil
答案4
也可以使用一对来解决hspace*
:
\documentclass{article}
\begin{document}
This is a really long sentence as an example. The second half of this\\
\hspace*{\fill} sentence should be centered. \hspace*{\fill}
\end{document}