通过阅读\topsep、\itemsep、\partopsep 和 \parsep - 它们各自代表什么意思(底部又代表什么意思)?,我了解了间距的工作原理,因此我正在尝试进行一些间距设置/调整。
最初我尝试过这个:
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[brazil]{babel}
\usepackage[a4paper, margin=2cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[shortlabels]{enumitem}
\begin{document}
\begin{enumerate}[itemsep=\parsep+\itemsep,parsep=0pt] % <--- Here
\item https://github.com/jbeder/yaml-cpp
Some text.
\item https://github.com/trishume/syntect
\end{enumerate}
\end{document}
但编译器似乎不喜欢:
test.tex:12: Missing number, treated as zero. [...rate}[itemsep=\parsep+\itemsep,parsep=0pt]]
test.tex:12: Illegal unit of measure (pt inserted). [...rate}[itemsep=\parsep+\itemsep,parsep=0pt]]
更新
我想:
- 将
parsep
和itemsep
值相加 - 将它们归因于我的列表选项
itemsep
- 并设置
parsep
为零。
这是一张来自[1]:
答案1
对于列表来说,这似乎是一个有点奇怪的设置,但可以使用 e-tex 维度表达式执行算术。
\dimexpr\parsep+\itemsep\relax
答案2
执行此操作的更 LaTeXy 方法是加载calc
包,这样您就不需要David 的回答中的\dimexpr
and 了。\relax
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[brazil]{babel}
\usepackage[a4paper, margin=2cm]{geometry}
\usepackage[shortlabels]{enumitem}
\usepackage{calc}
\begin{document}
\begin{enumerate}[itemsep=\parsep+\itemsep,parsep=0pt]
\item https://github.com/jbeder/yaml-cpp
Some text.
\item https://github.com/trishume/syntect
\end{document}