新的跳行命令

新的跳行命令

我使用了\vspace{2\baselineskip}很多,并想创建一个新命令来跳过一定数量的行。例如,\skip{2}而不是使用\vspace。我知道\newcommand我的 tex 文件序言中的内容,但我如何在我的 newcommand 中使用变量,以便我可以输入任意数量的行来跳过,而不是上面例子中的 2?

答案1

最简单的方式是,我们可以引入\skiplines{}添加的空白倍数\baselineskip

\documentclass[oneside]{amsart}
\newcommand\skiplines[1]{\vspace{#1\baselineskip}}
\begin{document}
This is a paragraph.

This is the normal blank space between paragraphs (i.e., none).\skiplines{4}

Here, I have added 4 blank lines to allow the reader to make notes on the 
printed paper.
\end{document}

在此处输入图片描述

然而,正如 David 在评论中指出的那样,除非在特殊情况下,否则不应定期手动添加空格。如果有重复的需要,则应将适当的空格量作为文档格式定义的一部分(在序言中,或在文档类本身中)添加,而不是在文档文本中添加。

这里,在下面的 MWE 中,\vspace每行都嵌入了四行\question,并且空行的数量可以根据 的可选参数而变化\question

\documentclass[oneside]{amsart}
\newcommand\skiplines[1]{\vspace{#1\baselineskip}}
\newcommand\question[2][4]{\item #2\skiplines{#1}}
\begin{document}
\begin{enumerate}
\question[2]{Who is buried in Grant's tomb?}

\question{What is the meaning of life, the universe, and everything?}

\question{How much wood does a woodchuck chuck, if a woodchuck could chuck wood?}
\end{enumerate}
Back to your regularly scheduled document.
\end{document}

在此处输入图片描述

答案2

如果你想添加答案或评论的空间,你可以定义

\newcommand{\skiplines}[1]{%
  % end a paragraph
  \par
  % this space should be added to the current page
  \nopagebreak
  % the space should not be swallowed by a page break
  \vspace*{#1\baselineskip}%
}

现在\skiplines{3}将留下相当于三行的垂直空间。

相关内容