有时,文本“《礼物》注释“与细蓝色下划线发生在后续页面上。创建文本和细蓝色下划线是:
\makeatletter
\def\enoteheading{\section*{\notesname
\@mkboth{\MakeUppercase{\notesname}}{\MakeUppercase{\notesname}}}%
\mbox{}\par\vskip-2.3\baselineskip\noindent\textcolor{midnightblue}{\rule{.5\textwidth}{0.4pt}}\par\vskip\baselineskip}
\makeatother
其中 \notesname 定义为:
\renewcommand{\notesname}{\textcolor{midnightblue}{Notes for ‘\textit{<$title>}’}}
我尝试使用\mbox保持文本和细蓝色下划线通过将上面的代码包含在以下页面上\mbox:
\mbox{% % <-- Added
\makeatletter
\def\enoteheading{\section*{\notesname
\@mkboth{\MakeUppercase{\notesname}}{\MakeUppercase{\notesname}}}%
\mbox{}\par\vskip-2.3\baselineskip\noindent\textcolor{midnightblue}{\rule{.5\textwidth}{0.4pt}}\par\vskip\baselineskip}
\makeatother
} % <-- Added
但是,那
LaTeX 错误:缺少 \begin{document}。
在编译时发生。
关于如何保持“《礼物》注释“与同伴一起发短信细蓝色下划线将不胜感激。
谢谢阅读。
MWE 更新2021 年 12 月 17 日中午 12 点:经过一段时间的延迟,我添加了以下代码来演示我被告知不起作用的代码。目前,\mbox{ } 命令已在下面注释掉,以显示执行 \theendnotes 命令时会发生什么。
% !TEX TS-program = Arara
% arara: pdflatex: { synctex: yes, shell: yes }
% arara: bibtex
% arara: pdflatex: { synctex: on, shell: yes }
% arara: pdflatex: { synctex: on, shell: yes }
\documentclass[12pt,oneside,dvipsnames]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} % fontenc package enables use of Type 1 fonts
\usepackage{endnotes}
\usepackage{lipsum}
\usepackage[dvipsnames]{xcolor}
\definecolor{midnightblue}{RGB}{26,26,112}
\renewcommand{\notesname}{\textcolor{midnightblue}{Notes for `\textit{The Gift}'}}
%___________________ Define \enoteformat ___________________
\makeatletter
\def\enoteformat{%
\rightskip\z@ \leftskip\z@ \parindent=1.8em
\leavevmode{\setbox\z@=\lastbox}\llap{\@Alph\theenmark.\enskip}%
}
\makeatother
%___________________ Define \enoteheading ___________________
% \mbox{% % <-- IF Added, error occurs
\makeatletter
\def\enoteheading{\section*{\notesname
\@mkboth{\notesname}{\notesname}}%
\mbox{}\par\vskip-2.7\baselineskip\noindent\textcolor{midnightblue}{\rule{.5\textwidth}{0.4pt}}\par\vskip\baselineskip}
\makeatother
% } % <-- IF Added, error occurs
\begin{document}
\noindent
Over millions of years, plant photosynthesis would produce enormous volumes of carbon-rich biomass that then would die and accumulate.\footnote{@\,Ibid. (Henry, 2013)}
\theendnotes % Print the endnotes
\end{document}
鉴于达莱夫和大卫·卡莱尔,我决定尝试不同的解决方案。通过移动细蓝色下划线下方文本“《礼物》注释“向上靠近文本因此有望消除文本和细蓝色下划线。
为此,我调整了上述内容\enoteheading代码\vskip-2.3到\vskip-2.7这使得细蓝色下划线 直接地下方文本“《礼物》注释“,希望消除页面分离问题,例如:
我想感谢达莱夫和大卫·卡莱尔他们的评论引导我想到另一种解决方案,虽然这不是一个严格的编码解决方案,但希望能够实现预期的结果。
到达莱夫和大卫·卡莱尔,如果您想提交正式答案作为“解决方案”,我会检查您的“解决方案”,以认可您的评论。
感谢你们对这个问题的帮助。
答案1
您不能\makeatletter
在(或任何命令中,它必须在外层使用)中使用。同样,您不能在框或 vskip 或节标题中使用标记,因为标记需要位于外层,这样它们才能迁移到页头,并且垂直空间和节标题需要垂直模式,因此在强制单行 hmode 的情况\mbox
下不起作用。\mbox
\enoteheading
该框形成一个本地组,因此在使用之前,组末尾的定义将被丢弃。