名前: 本田 日時: 2006-09-16 22:52:06 IPアドレス: 222.158.121.*
>>44884 >こちらの環境では、どちらもコンパイルが通りませんでした。 あ”−−コメントいれたときに「{」一個消してしまってる だめですね>自分 ということで分割したときに 「(次ページへ続く)」 をいれるようにしてみました #某達人のアイデアを借用しています. ただし,三ページ以上にまたがるときは 一ページ目にしか「(次ページへ続く)」は入りません. また,無理やりいれているので 不都合が起こる可能性もあります. さらに\clearpageなどで強制的に行った改ページの処理は 省略してます. (*)をつけた \global\@split@fnfalse の処理を 脚注分割途中かどうかを考慮したものに変更すれば 多分,三ページ以上の脚注でも 二ページ以降に「(次ページに続く)」はでるように できるんじゃないかなと思います. そのためにはauxに書き出してある \fn@startと\fn@endからの情報をもっと使うことになるはずです \documentclass{jarticle} \makeatletter \newcounter{fn@ID} \setcounter{fn@ID}{0} \def\write@fn@ID@start{% \@bsphack \protected@write\@auxout{}% {\string\fn@start{\thefn@ID}{\thepage}}% \@esphack } \def\write@fn@ID@end{% \@bsphack \protected@write\@auxout{}% {\string\fn@end{\thefn@ID}{\thepage}}% \@esphack } \def\@makefntext#1{\parindent 1em \noindent\hbox to 1.8em{\hss\@makefnmark}% \stepcounter{fn@ID}% \write@fn@ID@start \@ifundefined{is@\thefn@ID @split@fn}{\relax}{% \csname is@\thefn@ID @split@fn\endcsname \global\@split@fntrue \fi }% #1% \write@fn@ID@end} \def\fn@start#1#2{% \expandafter\def\csname fn@start@#1\endcsname{#2}% } \def\set@fnsplit@true#1{% \global\expandafter\let\csname is@#1@split@fn\endcsname\iftrue% } \def\set@fnsplit@false#1{% \global\expandafter\let\csname is@#1@split@fn\endcsname\iffalse% } \def\fn@end#1#2{% \def\@temp{#2}% \expandafter\ifx\csname fn@start@#1\endcsname\@temp \set@fnsplit@false{#1}% \else \set@fnsplit@true{#1}% \fi } \newif\if@split@fn \gdef\@makecol{% \setbox\@outputbox\box\@cclv% \xdef\@freelist{\@freelist\@midlist}% \global \let \@midlist \@empty \@combinefloats \ifvbox\@kludgeins \@makespecialcolbox \else \setbox\@outputbox \vbox to\@colht {% \@texttop \dimen@ \dp\@outputbox \unvbox \@outputbox \iftdir\hskip\z@ \else\vskip -\dimen@\fi \@textbottom \ifvoid\footins\else % for pLaTeX \vskip \skip\footins \color@begingroup \normalcolor \footnoterule %%\unvbox \footins \split@footins \global\@split@fnfalse%%%%%(*) \color@endgroup \fi }% \fi \global \maxdepth \@maxdepth } \def\split@footins{% \if@split@fn \setbox\z@=\vbox{\reset@font\tiny%footnotesize \unvbox\footins \par\prevdepth\z@ \interlinepenalty\@M \hfill (次のページへ続く)}% \unvbox\z@ \else \unvbox\footins \fi } \makeatother \begin{document} \makeatletter aaaaa\footnote{% \count@\z@ \loop\ifnum\count@<5000\relax あ \advance\count@\@ne \repeat} \makeatother \clearpage \makeatletter aaaaa\footnote{% \count@\z@ \loop\ifnum\count@<500\relax あ \advance\count@\@ne \repeat} \makeatother \end{document}
この書き込みへの返事: