自定义尾注:悬挂缩进 + 对齐文本 + 注释之间无空格

自定义尾注:悬挂缩进 + 对齐文本 + 注释之间无空格

这就是我想使用 LuaLaTeX 2020 排版的书籍尾注所实现的目标。

  1. 左边距的尾注标记
  2. 悬挂缩进(尾注文本应始终缩进,而不仅仅是每个注释的第一行)
  3. 连续音符之间没有行距
  4. 尾注文本完全对齐

我从答案开始这里

\documentclass{book}
\usepackage{endnotes}
\usepackage{lipsum}
\renewcommand\enoteformat{%
  \raggedright
  \leftskip=1.8em
  \makebox[0pt][r]{\theenmark. \rule{0pt}{\dimexpr\ht\strutbox+\baselineskip}}%
}
\begin{document}
\endnote{\lipsum[1]}\endnote{\lipsum[2]}
\theendnotes
\end{document}

并更改了代码,通过删除 来删除两个注释之间的空格+\baselineskip。这有效,多余的空间消失了。然后我尝试使用justify(我ragged2e在我的书中使用)来对齐尾注文本。这是我现在的代码

\documentclass{book}
\usepackage{endnotes}
\usepackage{lipsum}
\usepackage{ragged2e}
\renewcommand\enoteformat{%
  \justify
  \leftskip=1.8em
  \makebox[0pt][r]{\theenmark. \rule{0pt}{\dimexpr\ht\strutbox}}%
}
\begin{document}
\endnote{\lipsum[1]}\endnote{\lipsum[2]}
\theendnotes
\end{document}

但这又引入了尾注之间的空格。我尝试了一下,但不知道该如何消除这个空格。

答案1

终于成功了。诀窍是删除\raggedright,而不是添加\justify,而是在\noindent之前添加\makebox。这是我现在的代码。

\documentclass{book}
\usepackage{endnotes}
\usepackage{lipsum}
\usepackage{ragged2e}
\renewcommand\enoteformat{%
  \justify
  \leftskip=1.8em
  \makebox[0pt][r]{\theenmark. \rule{0pt}{\dimexpr\ht\strutbox}}%
}
\begin{document}
\endnote{\lipsum[1]}\endnote{\lipsum[2]}
\theendnotes
\end{document} 

相关内容