bigfoot 的 'para' 选项存在缩进问题

bigfoot 的 'para' 选项存在缩进问题

继续关于批判版脚注布局的问题,我来报告我面临的最后一个问题。我正在para使用bigfoot来排版脚注。问题是这个选项不能像我希望的那样工作。我遇到了一个解决方案当注释不能完全容纳一行时,不会强制换行:

\expandafter\def\csname @makefnbreak\endcsname{\unskip\linebreak[0]\quad}

但我仍然遇到下图所示的情况。当注释从新行开始时(因为前一行已经满了),它会以缩进形式打印。这种缩进是不必要的。

问题

图像中的第二个红色圆圈显示了所需的行为。第一个红色圆圈指向实际问题。我提供了一个 MWE:

\documentclass[12pt]{book}
\usepackage{polyglossia}
\usepackage{verse}
\usepackage[showframe]{geometry}
\setdefaultlanguage{greek}
\setotherlanguage{english}
\newfontfamily\greekfont[Script=Greek,Ligatures=TeX]{Times New Roman}

\usepackage[para]{bigfoot}
\def\extrafootnoterule{\defaultfootnoterule}
\interfootnotelinepenalty=10000

\DeclareNewFootnote[para]{A}
\DeclareNewFootnote[para]{B}
\def \mylinespacing {1.05}
\expandafter\def\csname @makefnbreak\endcsname{\unskip\linebreak[0]\quad}

\renewcommand{\thefootnoteA}{}
\renewcommand{\thefootnoteB}{}

\newcommand{\foota}[1]{%
\begingroup%
\linespread{\mylinespacing}%
\footnoteA{\textbf{\arabic{poemline}} #1}
\endgroup}
\newcommand{\footb}[1]{%
\begingroup%
\linespread{\mylinespacing}%
\footnoteB{\textbf{\arabic{poemline}} #1}
\endgroup}
\newcommand{\footheirm}[1]{%
\begingroup%
\linespread{\mylinespacing}%
\footnoteA+{#1}
\endgroup}

\hyphenpenalty = 10000
\exhyphenpenalty = 10000

\begin{document}
\verselinenumbersleft
\settowidth{\versewidth}{ααααααααααααααααααααααααααααααααααααααααα}

\chapter*{CANON I}
\poemlines{5}

\begin{verse}[\versewidth]

\vin ᾠδὴ . \textit{Θαυμαστὸς ἐνδόξως ποιῶν τέρατα}\footheirm{heirm. α΄ EE 76, n. 108, Andreae}

\vin Τὴν πύρινην γλῶτταν,\foota{Τὴν πύρινην γλῶτταν}\\*
τὸν νοῦν τὸν ἄϋλον,\foota{Τὴν πύρινην γλῶτταν}\\
τῶν θεωριῶν\foota{Τὴν πύρινην γλῶτταν}\\
τὴν σάλπιγγα τὴν θείαν,\footb{Τὴν πύρινην}\footb{Τὴν πύρινην γλῶτταν}\\
τὸ στόμα τῆς σοφίας,\foota{Τὴν πύρινην γλῶτταν}\\
τὸν μέγαν θεολόγον\\*
θείοις ὕμνοις ἀνευφημήσωμεν.\foota{Τὴν πύρινην γλῶτταν}\\!

\vin Τὴν πύρινην γλῶτταν,\foota{Τὴν πύρινην γλῶτταν}\\*
τὸν νοῦν τὸν ἄϋλον,\footb{Τὴν πύρινην γλῶτταν}\\
τῶν \footb{Τὴν πύρινην γλῶτταν}θεωριῶν\footb{Τὴν πύρινην γλῶτταν}\\
τὴν σάλπιγγα τὴν θείαν,\\
τὸ στόμα τῆς σοφίας,\foota{Τὴν πύρινην γλῶτταν}\\
τὸν μέγαν θεολόγον\footb{Τὴν πύρινην γλῶτταν}\\*
θείοις ὕμνοις ἀνευφημήσωμεν.\\!

\vin Τὴν πύρινην γλῶτταν,\\*
τὸν νοῦν τὸν ἄϋλον,\\
τῶν θεωριῶν \footb{Τὴν πύρινην γλῶτταν}\\
τὴν σάλπιγγα τὴν θείαν,\footb{Τὴν πύρινην γλῶτταν}\\
τὸ στόμα τῆς σοφίας,\\
τὸν μέγαν θεολόγον\footb{Τὴν πύρινην γλῶτταν}\\*
θείοις ὕμνοις ἀνευφημήσωμεν.\foota{Τὴν πύρινην γλῶτταν}\\!

\end{verse}

\end{document}

答案1

bigfoot实际上所做的只不过是使用当前的脚注样式,并在水平块中格式化脚注时进行一些重新解释。

最简单的方法可能是使用脚注重塑包,例如

\usepackage[flushmargin]{footmisc}

在加载之前bigfoot。使用它可以很明显地看出,您的\foota\footb命令最好使用不可中断的空格~而不是在之前#1

答案2

这个解决方案可能对你来说可以接受,也可能不可以接受。它的作用是防止脚注在行末结束(通过强制过早换行)。它通过修改\footnoteA以下内容来实现这一点

\footnoteA{\textbf{\arabic{poemline}} #1\makebox[\mykern]{}%
           \setbox0=\hbox{\ }\ \kern-\wd0\kern-\mykern}

\mykern此重新定义的作用是在脚注末尾放置一个空的-width 框,添加一个空格,然后将空格加 向左对齐\mykern。因此,\mykern距离行尾距离内的任何脚注都会换行。这样做的目的是防止第一个脚注之后的任何脚注从行首开始。

的值\mykern可能需要调整才能达到最佳效果。我目前将其设置为 40pt。

\documentclass[12pt]{book}
\usepackage{polyglossia}
\usepackage{verse}
\usepackage[showframe]{geometry}
\setdefaultlanguage{greek}
\setotherlanguage{english}
\newfontfamily\greekfont[Script=Greek,Ligatures=TeX]{Times New Roman}

\usepackage[para]{bigfoot}
\def\extrafootnoterule{\defaultfootnoterule}
\interfootnotelinepenalty=10000

\DeclareNewFootnote[para]{A}
\DeclareNewFootnote[para]{B}
\def \mylinespacing {1.05}
\newlength\mykern
\setlength\mykern{40pt}%MUST BE LARGE ENOUGH TO FORCE AT-END LINE TO LINEBREAK
\expandafter\def\csname @makefnbreak\endcsname{\unskip\linebreak[0]\quad}

\renewcommand{\thefootnoteA}{}
\renewcommand{\thefootnoteB}{}

\newcommand{\foota}[1]{%
\begingroup%
\linespread{\mylinespacing}%
\footnoteA{\textbf{\arabic{poemline}} #1\makebox[\mykern]{}%
           \setbox0=\hbox{\ }\ \kern-\wd0\kern-\mykern}
\endgroup%
}
\newcommand{\footb}[1]{%
\begingroup%
\linespread{\mylinespacing}%
\footnoteB{\textbf{\arabic{poemline}} #1}
\endgroup}
\newcommand{\footheirm}[1]{%
\begingroup%
\linespread{\mylinespacing}%
\footnoteA+{#1}
\endgroup}

\hyphenpenalty = 10000
\exhyphenpenalty = 10000

\begin{document}
\verselinenumbersleft
\settowidth{\versewidth}{ααααααααααααααααααααααααααααααααααααααααα}

\chapter*{CANON I}
\poemlines{5}

\begin{verse}[\versewidth]

\vin ᾠδὴ . \textit{Θαυμαστὸς ἐνδόξως ποιῶν τέρατα}\footheirm{heirm. α΄ EE 76, n. 108, Andreae}

\vin Τὴν πύρινην γλῶτταν,\foota{Τὴν πύρινην γλῶτταν}\\*
τὸν νοῦν τὸν ἄϋλον,\foota{Τὴν πύρινην γλῶτταν}\\
τῶν θεωριῶν\foota{Τὴν πύρινην γλῶτταν}\\
τὴν σάλπιγγα τὴν θείαν,\footb{Τὴν πύρινην}\footb{Τὴν πύρινην γλῶτταν}\\
τὸ στόμα τῆς σοφίας,\foota{Τὴν πύρινην γλῶτταν}\\
τὸν μέγαν θεολόγον\\*
θείοις ὕμνοις ἀνευφημήσωμεν.\foota{Τὴν πύρινην γλῶτταν}\\!

\vin Τὴν πύρινην γλῶτταν,\foota{Τὴν πύρινην γλῶτταν}\\*
τὸν νοῦν τὸν ἄϋλον,\footb{Τὴν πύρινην γλῶτταν}\\
τῶν \footb{Τὴν πύρινην γλῶτταν}θεωριῶν\footb{Τὴν πύρινην γλῶτταν}\\
τὴν σάλπιγγα τὴν θείαν,\\
τὸ στόμα τῆς σοφίας,\foota{Τὴν πύρινην γλῶτταν}\\
τὸν μέγαν θεολόγον\footb{Τὴν πύρινην γλῶτταν}\\*
θείοις ὕμνοις ἀνευφημήσωμεν.\\!

\vin Τὴν πύρινην γλῶτταν,\\*
τὸν νοῦν τὸν ἄϋλον,\\
τῶν θεωριῶν \footb{Τὴν πύρινην γλῶτταν}\\
τὴν σάλπιγγα τὴν θείαν,\footb{Τὴν πύρινην γλῶτταν}\\
τὸ στόμα τῆς σοφίας,\\
τὸν μέγαν θεολόγον\footb{Τὴν πύρινην γλῶτταν}\\*
θείοις ὕμνοις ἀνευφημήσωμεν.\foota{Τὴν πύρινην γλῶτταν}\\!

\end{verse}

\end{document}

在此处输入图片描述

相关内容