自动指定页面章节尾注的开始位置

自动指定页面章节尾注的开始位置

考虑一下代码

\documentclass[openany]{book}

\usepackage{endnotes}
\let\footnote\endnote
\usepackage{chngcntr}
\usepackage{etoolbox} % Needed to restart endnote numbering at 1 with each new chapter.     
\usepackage{lipsum}


\newlength{\skipnote}
\setlength{\skipnote}{1.5ex} 


\let\latexchapter\chapter
\makeatletter  %changes the catcode of @ to 11
\renewcommand\enoteheading{
    \setcounter{secnumdepth}{-2}
    \latexchapter*{\notesname\markboth{NOTES}{}}
    \mbox{}\par\vskip-\baselineskip
    \let\@afterindentfalse\@afterindenttrue
}

\def\@endanenote{\par\vskip\skipnote\endgroup}%

\def\enotedivision#1#2{\@ifnextchar\enotedivision{}{#1{#2}}}
\pretocmd{\@makeschapterhead}{\setcounter{endnote}{0}}{}{} % reset counter
\makeatother    

\begin{document}
\LARGE
    
\renewcommand\contentsname{Table of Contents.}
\tableofcontents
    
    \chapter*{Chapter I}
    \addcontentsline{toc}{chapter}{\textbf{Chapter I.}}
    Some words.\footnote{\lipsum[13]} Some words.\footnote{\lipsum[57]} Some words.\footnote{Another endnote.}
    
    \renewcommand{\notesname}{Chapter I. Endnotes} 
    \addtoendnotes{\unexpanded{\enotedivision{}{}}}
    \theendnotes
    \addcontentsline{toc}{chapter}{\textbf{Chapter I. Endnotes.}}
\end{document}

生成尾注列表:

在此处输入图片描述

问题:我如何指定标题和后续尾注从页面的哪个位置开始?在这种情况下,我想将它们抬高,以便在初始页面上容纳更多尾注。我知道我可以使用 after,\vspace*\notesname{我想,也许可能有一种更自动化的方法来实现这一点,比如,对于文档中的所有章节尾注。

我使用 编译了代码lualatex

谢谢。

答案1

您正在使用book课程\chapter*

由于这会强制分页,因此您不能像在章节中那样简单地在标题前添加空格,但您可以本地重新定义设置开始章节标题的命令,默认值为

\def\@makeschapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \raggedright
    \normalfont
    \interlinepenalty\@M
    \Huge \bfseries  #1\par\nobreak
    \vskip 40\p@
  }}

因此将其50\p@(您可以写为 50pt)更改为您想要的任何值。

相关内容