我正在使用enumitem
带有setlist
header-include
自定义定义列表的包,它工作得很好,除了无论我为itemsep
项目之间的垂直空间赋予什么值,都不会受到影响。同样,parsep
不起作用。我的setlist
工作中的其他选项与预期一致(leftmargin=15pt, labelwidth=\widthof{\bfseries99}, font=\normalfont
)。我正在用 markdown 编写并使用 YAML 元数据和 Pandoc 生成 PDF。这是我的元数据,后面是我一直在使用的 Pandoc 命令:
[更新示例]
---
title: |
| The Title of This Document Is Itself the Title
author: Me Myself
documentclass: apa7
classoption:
- doc
- donotrepeattitle
- 12pt
header-includes:
- \affiliation{Lorem Ipsum Institute}
- \shorttitle{shortish title}
- \raggedright
- \righthyphenmin=62
- \lefthyphenmin=62
- \usepackage{hanging}
- \usepackage{setspace}
- \setstretch{1.25}
- \usepackage{enumitem}
- \setlist[description]{itemsep=1in, leftmargin=15pt, labelwidth=\widthof{\bfseries99}, font=\normalfont}
- \newfontfamily\GreekToMe[Scale=MatchLowercase]{EB Garamond}
- \renewcommand{\abstractname}{ }
- \abstract{\singlespacing\small{Lorem ipsum…}}
...
Here’s some text. I’m writing entirely in markdown. I am using a definition list as a way to align a bit of dialogue, like so:
A:
: Person A speaks to Person B, and drones on and on and on, just to illustrate why I’m using definition lists. When I used the package hanging, I lost my markdown formatting in the dialogue; e.g. the word “space” in the next line appeared in the PDF as \*space\* instead of *space*. Using the definition list, I get my hanging indent and keep my markdown formatting.
B:
: Person B says, Can I please have some *space*, man?
A:
: Person A says, No can do—even though `itemsep=1in`!
Pandoc 命令:
$ pandoc --pdf-engine=xelatex input.md -o output.pdf
我是第一次使用 LaTeX、Pandoc 和 YAML,如果我遗漏了一些显而易见的东西,我也不会感到惊讶。但奇怪的是,大多数选项都setlist
有效,而垂直空间选项却无效。
答案1
由于我不明白的原因,pandoc
它大量使用了宏\tightlist
,它似乎会将其插入到它生成的每个列表中。tightlist
宏设置列表\itemsep
,\parsep
这0pt
就是为什么您使用的更改enumitem
被覆盖的原因。解决这个问题最简单的方法是简单地添加行
- \let\tightlist\relax
到您的header-includes
块。这将不执行任何操作,并且将尊重\tightlist
您设置的设置。enumitem
无关,但该\affiliation
宏在类中已被弃用。根据警告文本,apa7
您显然应该使用它。\authorsaffiliations
为了将来调试此类问题,生成pandoc
文件.tex
而不是.pdf
直接检查其代码会很有帮助。当然,如果您是 LaTeX 新手,这可能没那么有用,但如果您越来越熟悉它,它可能是一个有用的调试工具。