
TeXbook では、398 ページ以降で、段落分けされた注釈を取得するシステムを提案しています。
つまり、代わりに
- 脚注。
- 脚注。
- 脚注
得る :
- 脚注 2。脚注 3。脚注。
同じ段落内。
このシステムは、footmisc や eledmac などのパッケージで使用されています。最後のパッケージのメンテナーとして、私は問題に直面しています。
このシステム (偉大な Knuth 氏自身が提供) が機能するには hbox が必要です。その結果、長い注釈の場合、「通常の」脚注は TeX によって分割されますが、段落分けされた脚注は \hbox を使用するため分割できません。
この MWE では plainTeX で再現できます。
%% This file try to reconstruct a MWE example for paragraphed not from the TeXBook
% p. 398/399
% Specific output routine, which call \makefootnoteparagraph
\def\pagecontents{\ifvoid\topins\else\unvbox\topins\fi
\unvbox255
\ifvoid\footins\else % footnote info is present
\vskip\skip\footins \footnoterule \makefootnoteparagraph\fi
}
% Here, some code for the ouput
\def\makefootnoteparagraph{\unvbox\footins \makehboxofhboxes
\setbox0=\hbox{\unhbox0 \removehboxes}
\baselineskip=\footnotebaselineskip\noindent\unhbox0\par}
\def\makehboxofhboxes{\setbox0=\hbox{}
\loop\setbox2=\lastbox \ifhbox2 \setbox0=\hbox{\box2\unhbox0}\repeat}
\def\removehboxes{\setbox0=\lastbox
\ifhbox0{\removehboxes}\unhbox0 \fi}
% Here, the code for \getfactor
{\catcode`p=12 \catcode`t=12
\csname expandafter\endcsname\gdef
\csname getfactor\endcsname#1pt{#1}
}
% Here, some setting for paragraphed footnote
\newskip\footglue \footglue=1.5em plus.3em minus.3em
\newdimen\footnotebaselineskip \footnotebaselineskip=10pt
\dimen0=\footnotebaselineskip \multiply\dimen0 by 1024
\divide \dimen0 by \hsize \multiply\dimen0 by 64
\xdef\fudgefactor{\expandafter\getfactor\the\dimen0 }
% Here the \footnote redefined (for this MWE, I don't need any marks)
\def\footnote#1{%
\insert\footins{\floatingpenalty=20000
\setbox0=\hbox{%
#1\penalty-10\hskip\footglue} \dp0=0pt \ht0=\fudgefactor\wd0 \box0}
}
\footnote{s}\footnote{s}
\footnote{Long note Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi lobortis, nibh quis luctus porttitor, metus metus accumsan erat, ac commodo ante lorem tempus velit. Nulla ut ex mi. Curabitur magna tortor, egestas quis convallis nec, venenatis non nibh. Aenean et lacinia elit. Aenean ornare fermentum tincidunt. Etiam sed metus ipsum. Nulla accumsan non justo at tincidunt. Integer sed est est. Nullam non velit diam. Proin ut ante risus. Fusce ac enim libero. Proin ac risus nec nisi semper viverra eu ut ligula. Nulla orci ligula, elementum vel auctor eu, suscipit ac mi. Duis in hendrerit nunc, vitae efficitur lectus. Nam tristique eros a lacus posuere, quis placerat sapien venenatis.
Nulla facilisi. Vivamus dapibus nunc neque, eget maximus neque accumsan nec. Fusce suscipit, sapien id pellentesque vestibulum, orci tortor efficitur felis, eget tempus ex augue euismod tortor. Praesent lobortis diam non orci accumsan, sit amet condimentum eros semper. Mauris vel quam non nulla egestas aliquet ornare eu ligula. Sed tristique ultrices sem imperdiet placerat. Maecenas rhoncus, magna sit amet efficitur tristique, elit odio semper magna, ut aliquet magna odio nec lectus. Nullam tristique dolor id purus lobortis placerat.
Etiam sit amet rhoncus nunc. Pellentesque fermentum mi elit, et posuere augue ultricies nec. Curabitur vulputate, purus id molestie lacinia, nisl massa feugiat nunc, non consectetur mi nisi non mauris. Morbi blandit, odio a efficitur fringilla, nulla libero fermentum lectus, vel finibus odio felis eu sem. Nullam sit amet condimentum ligula. Nulla rutrum lacus eget ipsum laoreet elementum. Curabitur in molestie felis. Nunc ut malesuada orci.
Suspendisse tempor ligula in elementum dignissim. Sed vehicula feugiat hendrerit. Curabitur ultricies massa eget dapibus laoreet. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed blandit eleifend nulla, vel feugiat lorem elementum at. Sed a magna sollicitudin, hendrerit lacus vitae, malesuada nibh. Sed commodo, justo vitae varius auctor, nisl purus lacinia enim, ut rutrum libero nisl ut odio. Phasellus vel massa diam. Nulla facilisi. Ut sagittis blandit volutpat.
Morbi lobortis sollicitudin felis, at accumsan eros blandit eget. Donec venenatis, dolor eu tristique sagittis, diam arcu dignissim ligula, eget sagittis nulla arcu scelerisque nisl. Etiam ac lacus leo. Donec consequat diam quis risus venenatis sodales. Duis tempus nibh quis mi fermentum, eget dapibus diam elementum. Nunc eu ultrices odio. Vivamus in ipsum sapien. Aliquam erat volutpat. Nunc euismod eros volutpat massa ultrices porttitor. Ut scelerisque sit amet mi a tincidunt. Sed nec porta urna. Proin eu arcu eget felis euismod ultrices. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi lobortis, nibh quis luctus porttitor, metus metus accumsan erat, ac commodo ante lorem tempus velit. Nulla ut ex mi. Curabitur magna tortor, egestas quis convallis nec, venenatis non nibh. Aenean et lacinia elit. Aenean ornare fermentum tincidunt. Etiam sed metus ipsum. Nulla accumsan non justo at tincidunt. Integer sed est est. Nullam non velit diam. Proin ut ante risus. Fusce ac enim libero. Proin ac risus nec nisi semper viverra eu ut ligula. Nulla orci ligula, elementum vel auctor eu, suscipit ac mi. Duis in hendrerit nunc, vitae efficitur lectus. Nam tristique eros a lacus posuere, quis placerat sapien venenatis.
Nulla facilisi. Vivamus dapibus nunc neque, eget maximus neque accumsan nec. Fusce suscipit, sapien id pellentesque vestibulum, orci tortor efficitur felis, eget tempus ex augue euismod tortor. Praesent lobortis diam non orci accumsan, sit amet condimentum eros semper. Mauris vel quam non nulla egestas aliquet ornare eu ligula. Sed tristique ultrices sem imperdiet placerat. Maecenas rhoncus, magna sit amet efficitur tristique, elit odio semper magna, ut aliquet magna odio nec lectus. Nullam tristique dolor id purus lobortis placerat.
Etiam sit amet rhoncus nunc. Pellentesque fermentum mi elit, et posuere augue ultricies nec. Curabitur vulputate, purus id molestie lacinia, nisl massa feugiat nunc, non consectetur mi nisi non mauris. Morbi blandit, odio a efficitur fringilla, nulla libero fermentum lectus, vel finibus odio felis eu sem. Nullam sit amet condimentum ligula. Nulla rutrum lacus eget ipsum laoreet elementum. Curabitur in molestie felis. Nunc ut malesuada orci.
Suspendisse tempor ligula in elementum dignissim. Sed vehicula feugiat hendrerit. Curabitur ultricies massa eget dapibus laoreet. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed blandit eleifend nulla, vel feugiat lorem elementum at. Sed a magna sollicitudin, hendrerit lacus vitae, malesuada nibh. Sed commodo, justo vitae varius auctor, nisl purus lacinia enim, ut rutrum libero nisl ut odio. Phasellus vel massa diam. Nulla facilisi. Ut sagittis blandit volutpat.
Morbi lobortis sollicitudin felis, at accumsan eros blandit eget. Donec venenatis, dolor eu tristique sagittis, diam arcu dignissim ligula, eget sagittis nulla arcu scelerisque nisl. Etiam ac lacus leo. Donec consequat diam quis risus venenatis sodales. Duis tempus nibh quis mi fermentum, eget dapibus diam elementum. Nunc eu ultrices odio. Vivamus in ipsum sapien. Aliquam erat volutpat. Nunc euismod eros volutpat massa ultrices porttitor. Ut scelerisque sit amet mi a tincidunt. Sed nec porta urna. Proin eu arcu eget felis euismod ultrices.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi lobortis, nibh quis luctus porttitor, metus metus accumsan erat, ac commodo ante lorem tempus velit. Nulla ut ex mi. Curabitur magna tortor, egestas quis convallis nec, venenatis non nibh. Aenean et lacinia elit. Aenean ornare fermentum tincidunt. Etiam sed metus ipsum. Nulla accumsan non justo at tincidunt. Integer sed est est. Nullam non velit diam. Proin ut ante risus. Fusce ac enim libero. Proin ac risus nec nisi semper viverra eu ut ligula. Nulla orci ligula, elementum vel auctor eu, suscipit ac mi. Duis in hendrerit nunc, vitae efficitur lectus. Nam tristique eros a lacus posuere, quis placerat sapien venenatis.
Nulla facilisi. Vivamus dapibus nunc neque, eget maximus neque accumsan nec. Fusce suscipit, sapien id pellentesque vestibulum, orci tortor efficitur felis, eget tempus ex augue euismod tortor. Praesent lobortis diam non orci accumsan, sit amet condimentum eros semper. Mauris vel quam non nulla egestas aliquet ornare eu ligula. Sed tristique ultrices sem imperdiet placerat. Maecenas rhoncus, magna sit amet efficitur tristique, elit odio semper magna, ut aliquet magna odio nec lectus. Nullam tristique dolor id purus lobortis placerat.
Etiam sit amet rhoncus nunc. Pellentesque fermentum mi elit, et posuere augue ultricies nec. Curabitur vulputate, purus id molestie lacinia, nisl massa feugiat nunc, non consectetur mi nisi non mauris. Morbi blandit, odio a efficitur fringilla, nulla libero fermentum lectus, vel finibus odio felis eu sem. Nullam sit amet condimentum ligula. Nulla rutrum lacus eget ipsum laoreet elementum. Curabitur in molestie felis. Nunc ut malesuada orci.
Suspendisse tempor ligula in elementum dignissim. Sed vehicula feugiat hendrerit. Curabitur ultricies massa eget dapibus laoreet. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed blandit eleifend nulla, vel feugiat lorem elementum at. Sed a magna sollicitudin, hendrerit lacus vitae, malesuada nibh. Sed commodo, justo vitae varius auctor, nisl purus lacinia enim, ut rutrum libero nisl ut odio. Phasellus vel massa diam. Nulla facilisi. Ut sagittis blandit volutpat.
Morbi lobortis sollicitudin felis, at accumsan eros blandit eget. Donec venenatis, dolor eu tristique sagittis, diam arcu dignissim ligula, eget sagittis nulla arcu scelerisque nisl. Etiam ac lacus leo. Donec consequat diam quis risus venenatis sodales. Duis tempus nibh quis mi fermentum, eget dapibus diam elementum. Nunc eu ultrices odio. Vivamus in ipsum sapien. Aliquam erat volutpat. Nunc euismod eros volutpat massa ultrices porttitor. Ut scelerisque sit amet mi a tincidunt. Sed nec porta urna. Proin eu arcu eget felis euismod ultrices.
}\footnote{s}
s
\bye
そして、TeX は hbox を使用しているため、長い段落の注釈を分割できません。
hbox なしで同様の段落分けされたメモを作成する別の方法はありますか? 反対は次のとおりです:
- 長い注釈を手動で脚注に分割しません (ただし、一部の TeX アルゴリズムでは分割できます)。
- 段落分けされた脚注を作成します。
答え1
わかりました。あなたは問題を別の方法で解決したと書いていますが、質問は未解決のままです。ですから、あなたは 2 番目の解決策に興味があるのだと思います。
まず注意:\wd0
幅が より大きい hbox にアクセスしているため、MWE は有効な TeX コードではありません\maxdimen
。TeX は算術オーバーフローのチェック付きでコンパイルする必要があります。たとえば、tex.web のセクション 9 を参照してください。Knuth は時々これを繰り返しています。こちらを参照(p.234)。
もちろん、Knuth の解決策は、TeXbook の 395 ページに書かれているように、短い脚注のみを対象としています。
さて、次のトリックでは、短い脚注への応用を考えてみましょう。
コメントでリンクしたテキストでは脚注の長さが に制限されているので、すでにご存知かもしれません\maxdimen
。
Knuth は TeXbook の 398 ページで次のように提案しています。
\box\footins
前に示した内容を取得して、すべてを段落に再フォーマットすることも可能ですが、そのような操作は不必要に複雑になります。
私は自分の解決策として別の方法を選択しました。個々の行にのみ hbox を使用し、脚注を vbox に配置するので、脚注の長さに制限はありません。
これは私のアイデアです。脚注の最後の行を hbox に保存し、新しい脚注が書き込まれるたびに、この hbox を一種のプレフィックスとして使用します。脚注が出力される瞬間に、最後の行を追加する必要があるかどうかを確認します。
デフォルトのプレーン TeX マクロを変更し、あなたの例を適応および拡張します。\insertpenalties
分割された脚注の挿入を検出するために使用します。
\dimen\footins=\vsize % changed
\newbox\fnlastline % new
\newskip\footglue \footglue=1.5em plus.3em minus.3em % from DEK's solution
\catcode`@=11
\def\vfootnote#1{\insert\footins\bgroup
\interlinepenalty\interfootnotelinepenalty
\splittopskip\ht\strutbox
\splitmaxdepth\dp\strutbox \floatingpenalty\@MM
\leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip
\setbox0=\vbox\bgroup\noindent % new
\ifvoid\fnlastline % new
\else\unhbox\fnlastline\hskip\footglue % new
\fi % new
#1\thinspace % changed
\futurelet\next\fo@t}
\def\@foot{\egroup % changed
\unvbox0\global\setbox0=\lastbox % new
\global\setbox\fnlastline=\hbox % new
{\unhbox0\unskip\unskip\unpenalty}% new
\egroup} % new
\def\plainoutput{\ifnum\outputpenalty>-\@MM % new
\ifnum\insertpenalties>0 % new
\else\ifvoid\fnlastline % new
\else\setbox\footins=\vbox{\unvbox\footins\box\fnlastline}% new
\fi % new
\fi % new
\else\ifvoid\fnlastline % new
\else\setbox\footins=\vbox{\unvbox\footins\box\fnlastline}% new
\fi % new
\fi % new
\shipout\vbox{\makeheadline\pagebody\makefootline}%
\advancepageno
\ifnum\outputpenalty>-\@MM \else\dosupereject\fi}
\catcode`@=12
one\footnote\dag{one} two\footnote\ddag{two} three\footnote\dag{three
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Morbi lobortis, nibh quis luctus porttitor, metus metus accumsan erat,
ac commodo ante lorem tempus velit. Nulla ut ex mi. Curabitur magna
tortor, egestas quis convallis nec, venenatis non nibh. Aenean et
lacinia elit. Aenean ornare fermentum tincidunt. Etiam sed metus
ipsum. Nulla accumsan non justo at tincidunt. Integer sed est
est. Nullam non velit diam. Proin ut ante risus. Fusce ac enim libero.
Proin ac risus nec nisi semper viverra eu ut ligula. Nulla orci
ligula, elementum vel auctor eu, suscipit ac mi. Duis in hendrerit
nunc, vitae efficitur lectus. Nam tristique eros a lacus posuere,
quis placerat sapien venenatis. Nulla facilisi. Vivamus dapibus nunc
neque, eget maximus neque accumsan nec. Fusce suscipit, sapien id
pellentesque vestibulum, orci tortor efficitur felis, eget tempus ex
augue euismod tortor. Praesent lobortis diam non orci accumsan, sit
amet condimentum eros semper. Mauris vel quam non nulla egestas
aliquet ornare eu ligula. Sed tristique ultrices sem imperdiet
placerat. Maecenas rhoncus, magna sit amet efficitur tristique, elit
odio semper magna, ut aliquet magna odio nec lectus. Nullam tristique
dolor id purus lobortis placerat. Etiam sit amet rhoncus
nunc. Pellentesque fermentum mi elit, et posuere augue ultricies
nec. Curabitur vulputate, purus id molestie lacinia, nisl massa
feugiat nunc, non consectetur mi nisi non mauris. Morbi blandit, odio
a efficitur fringilla, nulla libero fermentum lectus, vel finibus odio
felis eu sem. Nullam sit amet condimentum ligula. Nulla rutrum lacus
eget ipsum laoreet elementum. Curabitur in molestie felis. Nunc ut
malesuada orci. Suspendisse tempor ligula in elementum dignissim. Sed
vehicula feugiat hendrerit. Curabitur ultricies massa eget dapibus
laoreet. Pellentesque habitant morbi tristique senectus et netus et
malesuada fames ac turpis egestas. Sed blandit eleifend nulla, vel
feugiat lorem elementum at. Sed a magna sollicitudin, hendrerit lacus
vitae, malesuada nibh. Sed commodo, justo vitae varius auctor, nisl
purus lacinia enim, ut rutrum libero nisl ut odio. Phasellus vel massa
diam. Nulla facilisi. Ut sagittis blandit volutpat. Morbi lobortis
sollicitudin felis, at accumsan eros blandit eget. Donec venenatis,
dolor eu tristique sagittis, diam arcu dignissim ligula, eget sagittis
nulla arcu scelerisque nisl. Etiam ac lacus leo. Donec consequat diam
quis risus venenatis sodales. Duis tempus nibh quis mi fermentum, eget
dapibus diam elementum. Nunc eu ultrices odio. Vivamus in ipsum
sapien. Aliquam erat volutpat. Nunc euismod eros volutpat massa
ultrices porttitor. Ut scelerisque sit amet mi a tincidunt. Sed nec
porta urna. Proin eu arcu eget felis euismod ultrices. Lorem ipsum
dolor sit amet, consectetur adipiscing elit. Morbi lobortis, nibh quis
luctus porttitor, metus metus accumsan erat, ac commodo ante lorem
tempus velit. Nulla ut ex mi. Curabitur magna tortor, egestas quis
convallis nec, venenatis non nibh. Aenean et lacinia elit. Aenean
ornare fermentum tincidunt. Etiam sed metus ipsum. Nulla accumsan non
justo at tincidunt. Integer sed est est. Nullam non velit diam. Proin
ut ante risus. Fusce ac enim libero. Proin ac risus nec nisi semper
viverra eu ut ligula. Nulla orci ligula, elementum vel auctor eu,
suscipit ac mi. Duis in hendrerit nunc, vitae efficitur lectus. Nam
tristique eros a lacus posuere, quis placerat sapien venenatis. Nulla
facilisi. Vivamus dapibus nunc neque, eget maximus neque accumsan
nec. Fusce suscipit, sapien id pellentesque vestibulum, orci tortor
efficitur felis, eget tempus ex augue euismod tortor. Praesent
lobortis diam non orci accumsan, sit amet condimentum eros
semper. Mauris vel quam non nulla egestas aliquet ornare eu
ligula. Sed tristique ultrices sem imperdiet placerat. Maecenas
rhoncus, magna sit amet efficitur tristique, elit odio semper magna,
ut aliquet magna odio nec lectus. Nullam tristique dolor id purus
lobortis placerat. Etiam sit amet rhoncus nunc. Pellentesque
fermentum mi elit, et posuere augue ultricies nec. Curabitur
vulputate, purus id molestie lacinia, nisl massa feugiat nunc, non
consectetur mi nisi non mauris. Morbi blandit, odio a efficitur
fringilla, nulla libero fermentum lectus, vel finibus odio felis eu
sem. Nullam sit amet condimentum ligula. Nulla rutrum lacus eget ipsum
laoreet elementum. Curabitur in molestie felis. Nunc ut malesuada
orci. Suspendisse tempor ligula in elementum dignissim. Sed vehicula
feugiat hendrerit. Curabitur ultricies massa eget dapibus
laoreet. Pellentesque habitant morbi tristique senectus et netus et
malesuada fames ac turpis egestas. Sed blandit eleifend nulla, vel
feugiat lorem elementum at. Sed a magna sollicitudin, hendrerit lacus
vitae, malesuada nibh. Sed commodo, justo vitae varius auctor, nisl
purus lacinia enim, ut rutrum libero nisl ut odio. Phasellus vel massa
diam. Nulla facilisi. Ut sagittis blandit volutpat. Morbi lobortis
sollicitudin felis, at accumsan eros blandit eget. Donec venenatis,
dolor eu tristique sagittis, diam arcu dignissim ligula, eget sagittis
nulla arcu scelerisque nisl. Etiam ac lacus leo. Donec consequat diam
quis risus venenatis sodales. Duis tempus nibh quis mi fermentum, eget
dapibus diam elementum. Nunc eu ultrices odio. Vivamus in ipsum
sapien. Aliquam erat volutpat. Nunc euismod eros volutpat massa
ultrices porttitor. Ut scelerisque sit amet mi a tincidunt. Sed nec
porta urna. Proin eu arcu eget felis euismod ultrices. Lorem ipsum
dolor sit amet, consectetur adipiscing elit. Morbi lobortis, nibh quis
luctus porttitor, metus metus accumsan erat, ac commodo ante lorem
tempus velit. Nulla ut ex mi. Curabitur magna tortor, egestas quis
convallis nec, venenatis non nibh. Aenean et lacinia elit. Aenean
ornare fermentum tincidunt. Etiam sed metus ipsum. Nulla accumsan non
justo at tincidunt. Integer sed est est. Nullam non velit diam. Proin
ut ante risus. Fusce ac enim libero. Proin ac risus nec nisi semper
viverra eu ut ligula. Nulla orci ligula, elementum vel auctor eu,
suscipit ac mi. Duis in hendrerit nunc, vitae efficitur lectus. Nam
tristique eros a lacus posuere, quis placerat sapien venenatis. Nulla
facilisi. Vivamus dapibus nunc neque, eget maximus neque accumsan
nec. Fusce suscipit, sapien id pellentesque vestibulum, orci tortor
efficitur felis, eget tempus ex augue euismod tortor. Praesent
lobortis diam non orci accumsan, sit amet condimentum eros
semper. Mauris vel quam non nulla egestas aliquet ornare eu
ligula. Sed tristique ultrices sem imperdiet placerat. Maecenas
rhoncus, magna sit amet efficitur tristique, elit odio semper magna,
ut aliquet magna odio nec lectus. Nullam tristique dolor id purus
lobortis placerat. Etiam sit amet rhoncus nunc. Pellentesque
fermentum mi elit, et posuere augue ultricies nec. Curabitur
vulputate, purus id molestie lacinia, nisl massa feugiat nunc, non
consectetur mi nisi non mauris. Morbi blandit, odio a efficitur
fringilla, nulla libero fermentum lectus, vel finibus odio felis eu
sem. Nullam sit amet condimentum ligula. Nulla rutrum lacus eget ipsum
laoreet elementum. Curabitur in molestie felis. Nunc ut malesuada
orci. Suspendisse tempor ligula in elementum dignissim. Sed vehicula
feugiat hendrerit. Curabitur ultricies massa eget dapibus laoreet. }
four\footnote\ddag{four} Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Morbi lobortis, nibh quis luctus porttitor, metus
metus accumsan erat, ac commodo ante lorem tempus velit. Nulla ut ex
mi. Curabitur magna tortor, egestas quis convallis nec, venenatis non
nibh. Aenean et lacinia elit. Aenean ornare fermentum tincidunt.
Etiam sed metus ipsum. Nulla accumsan non justo at tincidunt. Integer
sed est est. Nullam non velit diam. Proin ut ante risus. Fusce ac enim
libero. Proin ac risus nec nisi semper viverra eu ut ligula. Nulla
orci ligula, elementum vel auctor eu, suscipit ac mi. Duis in
hendrerit nunc, vitae efficitur lectus. Nam tristique eros a lacus
posuere, quis placerat sapien venenatis. Nulla facilisi. Vivamus
dapibus nunc neque, eget maximus neque accumsan nec. Fusce suscipit,
sapien id pellentesque vestibulum, orci tortor efficitur felis, eget
tempus ex augue euismod tortor. Praesent lobortis diam non orci
accumsan, sit amet condimentum eros semper. Mauris vel quam non nulla
egestas aliquet ornare eu ligula. Sed tristique ultrices sem imperdiet
placerat. Maecenas rhoncus, magna sit amet efficitur tristique, elit
odio semper magna, ut aliquet magna odio nec lectus. Nullam tristique
dolor id purus lobortis placerat. Etiam sit amet rhoncus
nunc. Pellentesque fermentum mi elit, et posuere augue ultricies
nec. Curabitur vulputate, purus id molestie lacinia, nisl massa
feugiat nunc, non consectetur mi nisi non mauris. Morbi blandit, odio
a efficitur fringilla, nulla libero fermentum lectus, vel finibus odio
felis eu sem. Nullam sit amet condimentum ligula. Nulla rutrum lacus
eget ipsum laoreet elementum. Curabitur in molestie felis. Nunc ut
malesuada orci. Suspendisse tempor ligula in elementum dignissim. Sed
vehicula feugiat hendrerit. Curabitur ultricies massa eget dapibus
laoreet. Pellentesque habitant morbi tristique senectus et netus et
malesuada fames ac turpis egestas. Sed blandit eleifend nulla, vel
feugiat lorem elementum at. Sed a magna sollicitudin, hendrerit lacus
vitae, malesuada nibh. Sed commodo, justo vitae varius auctor, nisl
purus lacinia enim, ut rutrum libero nisl ut odio. Phasellus vel massa
diam. Nulla facilisi. Ut sagittis blandit volutpat. Morbi lobortis
sollicitudin felis, at accumsan eros blandit eget. Donec venenatis,
dolor eu tristique sagittis, diam arcu dignissim ligula, eget sagittis
nulla arcu scelerisque nisl. Etiam ac lacus leo. Donec consequat diam
quis risus venenatis sodales. Duis tempus nibh quis mi fermentum, eget
dapibus diam elementum. Nunc eu ultrices odio. Vivamus in ipsum
sapien. Aliquam erat volutpat. Nunc euismod eros volutpat massa
ultrices porttitor. Ut scelerisque sit amet mi a tincidunt. Sed nec
porta urna. Proin eu arcu eget felis euismod ultrices. Lorem ipsum
dolor sit amet, consectetur adipiscing elit. Morbi lobortis, nibh quis
luctus porttitor, metus metus accumsan erat, ac commodo ante lorem
tempus velit. Nulla ut ex mi. Curabitur magna tortor, egestas quis
convallis nec, venenatis non nibh. Aenean et lacinia elit. Aenean
ornare fermentum tincidunt. Etiam sed metus ipsum. Nulla accumsan non
justo at tincidunt. Integer sed est est. Nullam non velit diam. Proin
ut ante risus. Fusce ac enim libero. Proin ac risus nec nisi semper
viverra eu ut ligula. Nulla orci ligula, elementum vel auctor eu,
suscipit ac mi. Duis in hendrerit nunc, vitae efficitur lectus. Nam
tristique eros a lacus posuere, quis placerat sapien venenatis. Nulla
facilisi. Vivamus dapibus nunc neque, eget maximus neque accumsan
nec. Fusce suscipit, sapien id pellentesque vestibulum, orci tortor
efficitur felis, eget tempus ex augue euismod tortor. Praesent
lobortis diam non orci accumsan, sit amet condimentum eros
semper. Mauris vel quam non nulla egestas aliquet ornare eu
ligula. Sed tristique ultrices sem imperdiet
placerat. Maecenas rhoncus, magna sit amet efficitur tristique, elit
odio semper magna, ut aliquet magna odio nec lectus. Nullam tristique
dolor id purus lobortis placerat. Etiam sit amet rhoncus
nunc. Pellentesque fermentum mi elit, et posuere augue ultricies
nec.
\par five\footnote\dag{five}
\vfil\eject
six\footnote\dag{six} seven\footnote\ddag{seven}
eight\footnote\dag{\vtop{\hbox{eight}\hbox{eight}}}
nine\footnote\dag{\vbox{\hbox{nine}\hbox{nine}}}
ten\footnote\ddag{ten}
\bye
私はこのソリューションをプログラムしましたが、上記の例以外では自分では使用していません。そのため、実稼働環境での柔軟性を得るには、コードにいくつかの追加変更が必要になる可能性があります。たとえば、\par
「five」の前に が必要です。そうしないと、次の脚注が参照よりも早く印刷されます。もちろん、出力ルーチンは時々呼び出す必要があります。