Используя \parindent и \parskip с \paragraph {} не имеет никакого эффекта

Я создаю документы с помощью memoir класс в XeLaTeX. Я испытываю затруднения при создании надлежащей презентации абзаца и в особенности моего, когда я создаю абзацы с \paragraph{}lorem ipsum ЛАТЕКС игнорирует \parskip и \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}

Это набирает как так:

    Орем ipsum печаль находятся сережка, consectetur adipiscing элита. Aliquam enim urna, mattis eu aliquet eget, condimentum идентификатор nibh. В hac habitasse platea dictumst.

    ipsum печаль находятся сережка, consectetur adipiscing элита. Aliquam enim urna, mattis eu aliquet eget, condimentum идентификатор nibh. В hac habitasse platea dictumst.

Это неправильно имеет и отступ абзаца и пропуск, несмотря на \parskip и \parindent быть обнуленным.

Можно было бы ожидать, что набранный вывод будет похож на это (который является ужасным выбором форматирования абзаца, но иллюстрирует проблему):

Орем ipsum печаль находится сережка, consectetur adipiscing элита. Aliquam enim urna, mattis eu aliquet eget, condimentum идентификатор nibh. В hac habitasse platea dictumst.
печаль ipsum находится сережка, consectetur adipiscing элита. Aliquam enim urna, mattis eu aliquet eget, condimentum идентификатор nibh. В hac habitasse platea dictumst.

Я отмечаю что, когда я разделяю абзацы двумя новыми строками (т.е. не используют \paragraph{}, и) \parskip и \parindent настройки соблюдают.

Я был бы очень благодарен знать почему при использовании \paragraph{}, \parskip и \parindent команды не соблюдают, и как можно было бы или соблюдать эти команды или альтернативно с чем команды достигнут того же эффекта с абзацами, созданными \paragraph{}.

Спасибо за чтение.

Brian

5
задан Brian M. Hunt 25 June 2010 в 16:46
поделиться

2 ответа

@Brian - Я начал вставлять это в комментарий после вашего комментария к ответу Нормана Грея, но в примере кода он стал слишком большим. \ 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}
5
ответ дан 14 December 2019 в 08:41
поделиться

Похоже, поведение правильное. Как вы думаете, что должен делать \ paragraph ? Подсказка: это не для разделения абзацев.

Согласно мемуарам, \ paragraph является одной из команд секционирования после \ subsubsection и перед \ subparagraph . Аргумент команды, которую вы делаете пустой в своем примере, предназначен для заголовка абзаца.

Вы отделяете абзацы друг от друга, используя пустую строку (и это тот случай, когда вы обнаружили, что учитываются размеры \ parskip и \ parindent ) или в несколько более экзотических случаев с использованием \ par .

2
ответ дан 14 December 2019 в 08:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: