En utilisant \ parindent et \ parskip avec \ paragraph {} n'a pas d'effet
-
30-09-2019 - |
Question
Je crée des documents en utilisant la classe memoir
dans XeLaTeX
. Je vais avoir du mal à créer une présentation correcte des paragraphes, et en particulier mon quand je créer des paragraphes avec \paragraph{}lorem ipsum
LATEX ne tient pas compte des paramètres de \parskip
et \parindent
.
Par exemple, si j'ai un document
\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}
typesets comme ceci:
Orem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam enim Urna, Mattis eu aliquet eget, condimentum id nibh. Dans hac habitasse Platée dictumst.
ipsum dolor sit amet, consectetur adipiscing elit. Aliquam enim Urna, Mattis eu aliquet eget, id condimentum nibh. Dans hac habitasse Platée dictumst.
a mal à la fois le retrait des paragraphes et sauter, en dépit d'être mis à zéro \parskip
et \parindent
.
On pourrait attendre la sortie de typeset à ressembler à ceci (ce qui est un choix laid du paragraphe mise en forme, mais illustre la question):
Orem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam enim Urna, Mattis eu aliquet eget, condimentum id nibh. Dans hac habitasse Platée dictumst.
sit amet ipsum dolor, consectetur adipiscing elit. Aliquam enim Urna, Mattis eu aliquet eget, id condimentum nibh. Dans hac habitasse Platée dictumst.
Je note que lorsque je sépare les paragraphes par deux nouvelles lignes (à savoir ne pas utiliser \paragraph{}
et) les paramètres de \parskip
et \parindent
sont honorés.
Je serais très reconnaissant de savoir pourquoi, lors de l'utilisation \paragraph{}
, les commandes de \parskip
et \parindent
ne sont pas honorés, et comment on peut soit avoir ces commandes honorées ou encore ce que les commandes atteindraient le même effet aux paragraphes créés avec \paragraph{}
.
Merci pour la lecture.
Brian
La solution
@ Brian - je commencé à mettre cela dans un commentaire après votre commentaire à la réponse de Norman Gray, mais l'exemple de code fait trop grand. \ Paragraph {} ne change pas la composition de réguliers paragraphes. Il est juste que, contre-intuitive, le paragraphe commencé par la commande \ paragraph {} est pas un paragraphe normal; il est un élément de section dans le document. Jouez avec le code ci-dessous pour voir comment le \ parskip et \ parindent affecte les paragraphes réguliers, mais pas l'élément de section « \ paragraphe ». (En fait, \ parskip affecte même les éléments \ paragraph {} éléments, mais l'espacement avant un élément \ paragraph {} est calculé pour toujours un peu plus de \ parskip, ce qui est pourquoi il y a toujours un espace entre \ paragraph {} même si \ parskip est égal à 0).
Je pense que 99% des documents LaTeX probablement jamais utiliser la commande section \ paragraphe {}. paragraphes réguliers en latex sont séparés par (1) par la commande \ par ( "réguliers" des paragraphes 3 et 4 ci-dessous) une ligne vide ( "points réguliers" 1 et 2 ci-dessous) ou (2).
\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}
Autres conseils
Cela ressemble à un comportement correct. Que pensez-vous \paragraph
devrait faire? Astuce:. Ce n'est pas pour séparer les paragraphes
D'après les documents de mémoire, \paragraph
est l'une des commandes de sectionnement, après \subsubsection
et avant \subparagraph
. L'argument de la commande, que vous faites vide dans votre exemple, pour le titre du paragraphe.
Vous séparer les paragraphes de l'autre à l'aide d'une ligne vide (ce qui est le cas, vous avez trouvé où les dimensions de \parskip
et \parindent
sont honorés), ou dans certains cas, un peu plus exotiques en utilisant \par
.