批評版の脚注レイアウトの調整

批評版の脚注レイアウトの調整

私は古代ギリシャの詩の批評版に取り組んでおり、verseLaTeXの環境を使用しています。2つの基本的な脚注が必要で、現在使用していますmanyfoot。別の脚注を定義しました。行間隔脚注の場合、少なくとも必要な小さな値 (コード + 最初の画像) については正常に機能しているようです。

\documentclass[12pt]{book}

\usepackage{polyglossia}
\usepackage{verse}
\usepackage[para]{manyfoot}

\setdefaultlanguage{greek}
\setotherlanguage{english}
\newfontfamily\greekfont[Script=Greek,Ligatures=TeX]{Times New Roman}

\def\extrafootnoterule{\defaultfootnoterule}
\newfootnote[para]{A}
\newfootnote[para]{B}
\interfootnotelinepenalty=10000
\def\mylinespacing{1.05}
\newcommand{\foota}[1]{
  \begingroup
  \linespread{\mylinespacing}
  \FootnotetextA{}{\textbf{\arabic{poemline}} #1}
  \endgroup%
}
\newcommand{\footb}[1]{
  \begingroup
  \linespread{\mylinespacing}
  \FootnotetextB{}{\textbf{\arabic{poemline}} #1}
  \endgroup
}

\usepackage{showframe}

\begin{document}

\verselinenumbersleft
\settowidth{\versewidth}{ααααααααααααααααααααααααααααααααααααααααα}

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

\begin{verse}[\versewidth]

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

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

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

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

\end{verse}

\end{document}

1枚目の写真

この問題が発生するのは、これらの脚注に必要な特別なレイアウトたとえば、特定の脚注は1行に収まる必要があります。これまでは、\newline単独の脚注の末尾(および前の脚注の末尾)でコマンドを使用していました。残念ながら、これは問題を引き起こすようです。脚注はページ番号と重なることがある2 番目の画像に示すように、脚注もテキスト ボックスから外れています。この例は誇張しているように思われるかもしれませんが、この現象は私のページのほぼ 10% (30 ページ以上) で発生します。

さらに、脚注のルーラーを変更して、上下のテキストとの間隔を広げる必要があります。現在、次のコードを使用しています。

\renewcommand{\footnoterule}{
\kern 5.52pt
\hrule width 3cm
\kern 10.52pt}

予想通り、これにより問題はさらに悪化します。

2枚目の写真

この問題に関して、どんな助言でもいただければ幸いです。私はmanyfoot偶然にも のパッケージをよく使用しています。これは、さまざまなタイプの脚注 (詩番号を印刷するもの、印刷しないものなど) の定義に柔軟性があるように思われたからです。 と も検討しましたbigfootfootmiscを使い続けたいのですmanyfootが、すべてを別のパッケージに移行しようとすると、前述の脚注レイアウトの問題に直面する可能性があります。

答え1

あなたの問題は解決するのが非常に複雑です。eledmac さん (ありがとう!) と、あなたの MWE に関する特定の問題に対する解決策を見つけました。

問題は、ルールの後にスペースを追加すると問題が発生することです。TeX はこのスペースを注釈のスペースとしてカウントしないためです。これが、行番号を上書きできる理由です。

解決策は非常に複雑で、TeX の知識が必要です。

脚注は TeX 挿入です。挿入の TeX タイプごとに 3 つのパラメータがあります。

  • a) 挿入が行われた場合にのみページに保持される長さ。この場合、少なくとも 1 つの \footnote が呼び出された場合のみです。
  • b) 長さ。これは、同じページ内のすべての挿入物が持つことができる最大の高さを示します。
  • c) 挿入が追加されるときに使用される係数 (つまり、この場合は脚注)。挿入の高さを決定します。挿入 * 係数の合計が b より大きい場合、挿入はいっぱいになり、tex 出力されます (要約するため)。

a) の長さを変更してカーニング ルールを追加すると、スペースが TeX によってメモの合計の高さに「予約」されるため、問題は解決します。この a の長さは、パッケージでは \footdimen に等しくなります。

したがって、 を変更すると\footin、挿入を印刷する前にこのスペースを保持するように TeX に指示することになります。

しかし、問題は、追加の脚注ルールを印刷するとき\MFL@joinruleに によって呼び出されるコマンドが、ルールの前にスペースを追加するために使用されることです。そのため、ルールの後に必要なスペースもルールの前に追加されます。同じことが、LaTeX によって呼び出され、シリーズの最初のルールを印刷する にも当てはまります。manyfoot\footin\make@cols

解決策は、ルールの後のスペースであるため、ルールの前のスペースにパッチを適用\MFL@joinruleして削除することです。\make@cols

etoolbox(polyglossiaによってロードされる)でこれを行うことができます。

では、前文のコードは次のようになります:

\makeatletter
\newcommand{\before}{5.52pt}%Space before rule
\newcommand{\after}{10.52pt}% Space after rule
\renewcommand{\footnoterule}{%Redefine footnoterule
  \hrule width 3cm
  \kern \after}
% Change the space kept for rules+spaces around
\advance\skip\footins by \after
\advance\skip\footins by \before
% Not print the after space before the rule
\patchcmd{\@makecol}{\vskip \skip\footins}{\vskip \skip\footins\vskip-\after}{}{}
%load parafootskip
\usepackage[ruled,para]{manyfoot}
    % Not print the after space before the rule
\patchcmd{\MFL@joinrule}{\@tempskipa\skip#5}{\@tempskipa\skip#5\advance\@tempskipa by -\after}{}{}
\makeatother

しかし、次の版では、eledmac を検討する必要があると思います。

関連情報