我是 LaTeX 的新手,对于无法在第一行之后使用 \vspace 命令而在第一行没有这个奇怪的缩进,我感到非常沮丧。
这是我在第一行和第二行之后第一次尝试创建 vspace:
\documentclass[arpaper,12pt]{article}
\setlength{\parindent}{0pt}
\begin{document}
\vspace{6pt}test 1\\\vspace{12pt}test 2\\test 3\\test 4\\
\end{document}
这不适用于我试图创建的 6pt 垂直空间。下面的代码产生了我想要的垂直空间,但也只在第一行产生了令人沮丧的小缩进:
\documentclass[arpaper,12pt]{article}
\setlength{\parindent}{0pt}
\begin{document}
\
\vspace{6pt}test 1\\\vspace{12pt}test 2\\test 3\\test 4\\
\end{document}
在这种情况下,单个 \ 到底起什么作用,使得 vspace 可以工作(之前却不行),为什么它还会在该行上产生小的缩进?
答案1
您的\
单独一行本身就是一个空格,即缩进。在这里,我改用\leavevmode
,这样 就\vspace
可以生效,而无需相关缩进。
\vspace
在垂直和水平模式下的行为不同,这可能会造成混淆。 解释一下 egreg (长度及何时使用它们),如果\vspace
在段落中间给出,它会在设置它的行和下一行之间产生一个垂直空间,因此最好在段落之间使用它。
就您而言,您希望在水平模式下使用它,因此\leavevmode
。
\documentclass[arpaper,12pt]{article}
\setlength{\parindent}{0pt}
\begin{document}
\leavevmode
\vspace{6pt}test 1\\\vspace{12pt}test 2\\test 3\\test 4\\
\end{document}
另一种可能更好的语法是:
\documentclass[arpaper,12pt]{article}
\setlength{\parindent}{0pt}
\begin{document}
\leavevmode
test 1\\[6pt]test 2\\[12pt]test 3\\test 4\\
\end{document}