長い脚注の動作

長い脚注の動作

- 本田 知亮 の投稿
返信数: 6
\documentclass{jarticle}
\usepackage{lipsum}
\begin{document}
\lipsum[1]\footnote{\lipsum[1-5]}%
\lipsum[1]
\end{document}

こんなソースをtest.texとして

This is e-pTeX, Version 3.14159265-p3.7-160201-2.6 (sjis) (TeX Live 2016/W32TeX) (preloaded format=platex 2017.4.8) 2 JUN 2017 21:12
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**./test.tex
(./test.tex
pLaTeX2e <2016/11/29> (based on LaTeX2e <2017/01/01> patch level 3)

Document Class: jarticle 2016/11/22 v1.7b Standard pLaTeX class

なるものでコンパイルしました.
2ページ目の下に脚注がないにも関わらず
脚注の罫線がでませんか?
PDFを添付します.

ちなみに,jarticleをarticleにして
同じplatexで処理すると2ページ目の罫線はでませんが
版面の大きさの違いが原因だと推測してますので
clsの差の問題ではないと思っています.

最近,脚注周りに手が入っていたように思うので
ひとまず,報告しておきます.
もっと新しい環境でなら発生しないのであれば
それで問題ないのですが.
本田 知亮 への返信

Re: 長い脚注の動作

- aminophen の投稿
再現しました。
ただし、TeX Live 2014 が手元に残っていたので試したところ同様の現象でした。
昔からある挙動のようです。

This is e-pTeX, Version 3.14159265-p3.5-130605-2.6 (sjis) (TeX Live 2014/W32TeX)
(preloaded format=platex)
restricted \write18 enabled.
entering extended mode
(./test.tex
pLaTeX2e <2006/11/10> (based on LaTeX2e <2014/05/01> patch level 0)
Babel <3.9l> and hyphenation patterns for 79 languages loaded.
(c:/texlive/2014/texmf-dist/tex/platex/base/jarticle.cls(guessed encoding: ISO-2
022-JP = jis)
Document Class: jarticle 2006/06/27 v1.6 Standard pLaTeX class
(c:/texlive/2014/texmf-dist/tex/platex/base/jsize10.clo))
(c:/texlive/2014/texmf-dist/tex/latex/lipsum/lipsum.sty) (./test.aux) [1]
[2] (./test.aux) )
Output written on test.dvi (2 pages, 7028 bytes).
Transcript written on test.log.
aminophen への返信

Re: 長い脚注の動作

- aminophen の投稿
> ちなみに,jarticleをarticleにして
> 同じplatexで処理すると2ページ目の罫線はでませんが
> 版面の大きさの違いが原因だと推測してますので
> clsの差の問題ではないと思っています.

仰る通り、pLaTeX に限らず LaTeX でも

\documentclass{article}
\textheight18.5cm
\usepackage{lipsum}
\begin{document}
\lipsum[1]\footnote{\lipsum[1-5]}%
\lipsum[1]
\end{document}

やはり 2 ページ目に分割線が出力されます。
aminophen への返信

Re: 長い脚注の動作

- 前田 一貴 の投稿
\lipsum の末尾にある \par (\lips@par) が影響しているでしょうか.
以下だと線は出ないような.

\documentclass{article}
\textheight18.5cm
\usepackage{lipsum}
\begin{document}
\makeatletter
\lipsum[1]\footnote{\lipsum[1-4]\let\lips@par\relax\lipsum[5]}%
\lipsum[1]
\end{document}
前田 一貴 への返信

Re: 長い脚注の動作

- 本田 知亮 の投稿
アセトアミノフェンさん,前田さん,
ありがとうございます.

私、lipsum側の問題か否かの
切り分けができてないですね.

\documentclass{jarticle}
\usepackage[nopar]{lipsum}
%\usepackage{lipsum}
\begin{document}
\makeatletter
\lipsum[1]\par
\footnote{\typeout{\meaning\lips@par}%\lipsum[1-5]%
\lipsum[1]\par\lipsum[2]\par
\lipsum[3]\par\lipsum[4]\par\lipsum[5]%
\par%%%!!! ここ
}%
\lipsum[1]
\end{document}


lipsumのnopar optionをつけて
手動で\parをいれると前田さんご指摘の状況と
「ほぼ」同じにできるかと思います.
footnote内の最後の\parをなくせば同じ状況です.

この\parの有無で,2ページ目の罫線がでたりでなかったりします.空行でも同じです.

前田さんのソースでも
脚注の最後に\parを入れると罫線がでます.


自分で作るときは脚注の最後に
\parを入れるなんてことはしないのですが,
これがNGなのかもしれません.
#もしそうなら。。。全然しらなかった。。
本田 知亮 への返信

Re: 長い脚注の動作

- Z. R. の投稿

確か、脚注の出力では最後に支柱を追加していたな、と覆ってちょっと調べてみました。

実際に、\@footenotetext では \@finalstrut\strutbox で支柱を追加しています。で、その \@finalstrut の定義ですが、ltboxes.dtx をみると、次のように書いてあります。

%  \begin{macro}{\@finalstrut}
% This macro adds a special strut the \emph{depth} of the box given as
% |#1|, and height and width 0pt. It is used for ensuring that the
% last line of a paragraph has the correct depth in `p' columns of
% tables and in footnotes. In vertical mode nothing is done, as adding
% the strut (as done in 2.09) would start a new paragraph. It would be
% possible to inspect |\prevdepth| to check the depth of the
% just-completed paragraph, but we do not do that here.
% \changes{v1.0g}{1994/05/12}
%         {macro added}
% Actually we do even less now, skip the vmode test as it broke tabular
% `p' columns.
% \changes{v1.0p}{1994/11/09}
%         {Revert \cs{finalstrut} to 2.09 equivalent (from ltpatch)}.
% \changes{v1.0x}{1995/10/31}
%         {Add \cs{nobreak} in horiz mode to allow hyphenation.
%                   internal/1931}
%
% The |\nobreak| was added (1995/10/31) to allow hyphenation of the
% final word of the paragraph.
%    \begin{macrocode}
\def\@finalstrut#1{%
  \unskip\ifhmode\nobreak\fi\vrule\@width\z@\@height\z@\@depth\dp#1}
%    \end{macrocode}
%  \end{macro}

これを見ると、次のような経緯のようです。

垂直モードの時に支柱の出力を抑止しようとしたら、失敗する箇所(表組の p カラム)があったので、1994年 11 月(LaTeX2e のほぼ初期の段階)に、抑止するのを諦めた

ということは、どうやら……

自分で作るときは脚注の最後に
\parを入れるなんてことはしないのですが,
これがNGなのかもしれません.

が真、ということになりそうです。(私も知らなかった……。)

Z. R. への返信

Re: 長い脚注の動作

- 本田 知亮 の投稿
Z.R.さん,ありがとうございます.

私も寝てる間(!)に柱に気が付いて,
orzでした.

柱が立ってるんですよね.
ほんと罫線がでたときにはびっくりしました.

\footnoteの最後に\parをいれて
それを1ページ内で連続させると
脚注の間に空きが入りますので
見えない柱だけの行ができるということですね


逆に言えば。。。
tabular側に手を入れてもよいのでしょうね,