5

我正在使用memoir. XeLaTeX我在创建正确的段落演示文稿时遇到了麻烦,尤其是当我使用\paragraph{}lorem ipsumLaTeX 创建段落时,我忽略了\parskipand\parindent设置。

例如,如果我有一个文件

\documentclass[oneside,11pt]{memoir}
\usepackage{fontspec}% font selecting commands 
\usepackage{xunicode}% unicode character macros 
\usepackage{xltxtra} % some fixes/extras 

\begin{document}
\setlength{\parskip}{0pt} % 1ex plus 0.5ex minus 0.2ex}
\setlength{\parindent}{0pt}
\pagestyle{plain}

\paragraph{}orem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam enim
urna, mattis eu aliquet eget, condimentum id nibh. In hac habitasse platea
dictumst.
\paragraph{}ipsum dolor sit amet, consectetur adipiscing elit. Aliquam enim urna,
mattis eu aliquet eget, condimentum id nibh. In hac habitasse platea dictumst.
\end{document}

这种排版是这样的:

    orem ipsum dolor sit amet,consectetur adipiscing elit。Aliquam enim urna,mattis eu aliquet eget,调味品 id nibh。在 hac habitasse platea dictumst 中。

   ipsum dolor sit amet,consectetur adipiscing elit。Aliquam enim urna,mattis eu aliquet eget,调味品 id nibh。在 hac habitasse platea dictumst 中。

尽管设置为零\parskip,但这错误地同时具有段落缩进和跳过。\parindent

人们会期望排版输出看起来像这样(这是一种丑陋的段落格式选择,但说明了问题):

orem ipsum dolor sit amet,consectetur adipiscing elit。Aliquam enim urna,mattis eu aliquet eget,调味品 id nibh。在 hac habitasse platea dictumst 中。
ipsum dolor sit amet,consectetur adipiscing elit。Aliquam enim urna,mattis eu aliquet eget,调味品 id nibh。在 hac habitasse platea dictumst 中。

我注意到,当我用两个换行符分隔段落时(即不使用\paragraph{}, 和),\parskipand\parindent设置得到尊重。

我很高兴知道为什么在使用 时\paragraph{}\parskip命令\parindent不被尊重,以及如何让这些命令得到尊重,或者什么命令可以与用 . 创建的段落达到相同的效果\paragraph{}

感谢您的阅读。

布赖恩

4

2 回答 2

5

@Brian - 在您对 Norman Gray 的回复发表评论后,我开始将其放在评论中,但代码示例使其太大。\paragraph{} 不会改变常规段落的排版。只是,与直觉相反,由 \paragraph{} 命令开始的段落不是常规段落;它是文档中的一个部分元素。使用下面的代码来查看 \parskip 和 \parindent 如何影响常规段落而不是 "\paragraph" 部分元素。(实际上,\parskip 甚至会影响 \paragraph{} 项,但计算出 \paragraph{} 项之前的间距总是略大于 \parskip,这就是为什么 \paragraph{} 元素之间总是存在空格的原因,即使 \ parskip 为 0。)

我认为 99% 的 LaTeX 文档可能从不使用 \paragraph{} 部分命令。LaTeX 中的常规段落由 (1) 空行分隔(下面的“常规段落”1 和 2)或 (2) 由 \par 命令分隔(下面的“常规段落”3 和 4)。

\documentclass[oneside,11pt]{memoir}
\usepackage{fontspec}% font selecting commands 
%\usepackage{xunicode}% unicode character macros 
%\usepackage{xltxtra} % some fixes/extras 

\begin{document}
\setlength{\parskip}{0pt} % 1ex plus 0.5ex minus 0.2ex}
\setlength{\parindent}{0pt}
\pagestyle{plain}

\paragraph{paragraph section 2}adorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam enim
urna, mattis eu aliquet eget, condimentum id nibh. In hac habitasse platea
dictumst.

regular paragraph 1 -- orem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam enim
urna, mattis eu aliquet eget, condimentum id nibh. In hac habitasse platea
dictumst.

regular paragraph 2 -- orem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam enim
urna, mattis eu aliquet eget, condimentum id nibh. In hac habitasse platea
dictumst.

\paragraph{paragraph section 2}ipsum dolor sit amet, consectetur adipiscing elit. Aliquam enim urna,
mattis eu aliquet eget, condimentum id nibh. In hac habitasse platea dictumst.
\par regular paragraph 3 -- orem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam enim urna, mattis eu aliquet eget, condimentum id nibh. In hac habitasse platea
dictumst.
\par regular paragraph 4 -- orem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam enim urna, mattis eu aliquet eget, condimentum id nibh. In hac habitasse platea
dictumst.

\end{document}
于 2010-06-25T19:20:36.713 回答
1

这看起来是正确的行为。你认为\paragraph应该怎么做?提示:它不是用于分隔段落。

根据回忆录文档,\paragraph是分段命令之一, after\subsubsection和 before \subparagraph。该命令的参数(在示例中为空)是段落的标题。

您可以使用空行将段落彼此分隔(这就是您发现尊重\parskip\parindent尺寸的情况),或者在一些更奇特的情况下使用\par.

于 2010-06-25T16:54:57.470 回答