使用 enumitem 和 setlist,itemsep 无法与 pandoc 一起使用

使用 enumitem 和 setlist,itemsep 无法与 pandoc 一起使用

我正在使用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

最终的 PDF 如下: 输出.pdf

我是第一次使用 LaTeX、Pandoc 和 YAML,如果我遗漏了一些显而易见的东西,我也不会感到惊讶。但奇怪的是,大多数选项都setlist有效,而垂直空间选项却无效。

答案1

由于我不明白的原因,pandoc它大量使用了宏\tightlist,它似乎会将其插入到它生成的每个列表中。tightlist宏设置列表\itemsep\parsep0pt就是为什么您使用的更改enumitem被覆盖的原因。解决这个问题最简单的方法是简单地添加行

   - \let\tightlist\relax

到您的header-includes块。这将不执行任何操作,并且将尊重\tightlist您设置的设置。enumitem

无关,但该\affiliation宏在类中已被弃用。根据警告文本,apa7您显然应该使用它。\authorsaffiliations

为了将来调试此类问题,生成pandoc文件.tex而不是.pdf直接检查其代码会很有帮助。当然,如果您是 LaTeX 新手,这可能没那么有用,但如果您越来越熟悉它,它可能是一个有用的调试工具。

相关内容