在 HTML 中,要获得额外的水平间距,我需要做的就是:
This is textual phrase A This is textual phrase B
得到以下输出:
This is textual phrase A...This is textual Phrase B
。 =1 个不可见的空格字符
问题#1:如何强制插入空格字符?
问题#2:精细控制水平间距而不是强制添加空格字符的正确方法是什么?
答案1
回答您的第一个问题:有很多方法可以为文本添加特定空格。一些示例包括强制实际的“单词间空格”、指定常规空格长度、根据对象(文本或其他)指定长度。按照此顺序,您可以使用以下内容:
\documentclass{minimal}%
\begin{document}
This is textual phrase A\ \ \ This is textual phrase B% 3 inter word spaces
\par
This is textual phrase A\hspace{5em}This is textual phrase B% space of length 5em
\par
This is textual phrase A\hphantom{spaces}This is textual phrase B% space equivalent to length of word 'spaces'
\par
This is textual phrase A\hfill{}This is textual phrase B% infinitely stretchable space
\end{document}
这是等效的输出:
也许其中一些方法可以回答您的第二个问题。但是,就其一般情况而言,答案可能太多,无法在此一一列举。
答案2
在 (La)TeX 中,“tie”
~
相当于
HTML 中的无间断空格。然而,它在文档中经常被误用。看这里即可了解:何时应使用不间断空格?
这是一个很大的话题。一般来说,最好避免在 LaTeX 文档中直接使用大多数间距命令。只需使用语义命令并在必要时定义一些即可。(参见语义在 LaTeX 中重要吗?如果不重要,原因何在?) 也就是说,应该使用
quote
、itemize
、verse
、quotation
来abstract
代替多个\
、~
、\quad
、\qquad
或\;
。\hspace
仅在必要时进行精车。例子:
% Good \title{Foo} \author{Bar} \maketitle
相对
% Bad \begin{center} {\Large Foo}\\ Bar \end{center}
相对
% Awful ~~~~~~~~~~~~~~~~~~~~~~~~~~~\Large{Foo}\\ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Bar
可能的精车:
\documentclass{article} % turn the format in preamble \usepackage{titling} \pretitle{\begin{center}\LARGE\bfseries} \posttitle{\end{center}\vspace{2ex}} \title{Foo} \author{Bar} \begin{document} \maketitle % ... \end{document}