我想在某个段落\begin{doublespacing}
通过使用和\end{doublespacing}
来自包的文档setspace
。但是,我发现只有在代码中添加额外的空白行时它才会生效,这对于代码的可读性来说是多余的...有没有更好的方法/解决方法来实现双倍行距而不增加额外的空白行?
梅威瑟:
\documentclass[headsepline,footsepline,footinclude=false,twoside,fontsize=12pt,paper=a4,listof=totoc,bibliography=totoc,BCOR=12mm,DIV=12,chapterprefix=on,numbers=noenddot]{scrbook} % two-sided
\usepackage{setspace}
\usepackage{lipsum}
\begin{document}
\begin{doublespacing}
\lipsum[1]
\end{doublespacing}
\begin{doublespacing}
\lipsum[1]
% ---> Extra blank line necessary for the double-spacing
\end{doublespacing}
\end{document}
答案1
你发现的不是一个错误,而是整个 TeX 段落构建器系统的一个核心功能:段落内的行距取决于段落实际结束的位置。在
\begin{doublespacing}
\lipsum[1]
\end{doublespacing}
就 TeX 而言,段落的结尾发生在不是在lipsum填充文本的最后一个句号(又称句号),但是后 \end{doublespacing}
。但那时doublespacing
环境的范围已经结束;因此,属于 lipsum[1] 的文本(在我看来是正确的)排版为单倍行距。
有多种方式可以触发段落的结束:
一个或多个全空白输入中的行。顺便说一句,您在帖子的第二个代码片段中呈现的行是不是全部空白(因为它包含注释),因此,与您的主张相反,不足以使段落双倍行距。
明确的
\par
指令。隐式段落分隔指令,由诸如 、 、 等命令发出
\chapter
。\section
另外\begin{theorem}
:\\
“双反斜杠”指令会引发换行但不是段落分隔符根据 TeX 的词汇规则。
你的主要问题是,
有没有更好的方法/解决方法来实现双倍行距而不增加空行?
我想说,发出明确的\par
指令是留下全空白行的主要替代方法。