Re: ヘッダ、フッタに章名を出すには

名前: しっぽ愛好家
日時: 2003-06-24 10:31:53
IPアドレス: 210.234.40.*

>>19613 >1、章名(現在の、section/subsection/subsubsection)名を得る方法 例えば, \def\sectionmark#1{\markboth{#1}{}} \let\subsectionmark\markright のように設定すると,ヘッダ・フッタの中では \leftmark が現在のページ(の下端)における節見出しを与え, \rightmark が現在のページ(に最初に現れる)項見出しを与える ようになります. %%% この類の設定については,各種のクラスファイルにおける \ps@headings の %%% 定義を参考にするとよいでしょう. なお,節・項・目のすべての見出しを用いる,という具合に 3 個以上の レベルにわたって見出しを取得する,というのは LaTeX が標準で 提供している機能ではできません. %%% そのようなことを実現するパッケージ(の有無)については, %%% 例のごとく存じませんが,たいていの場合は \markboth と \markright を %%% 用いれば充分でしょう. %%% ちなみに \section は ``節'',\subsection は ``項''(あるいは 小節), %%% \subsubsection ``目''(あるいは 小小節)です. %%% また,(理工系の)論文・レポートでは ``章'' は(一般には)用いません. %%% %%% ``章'' と称する雑誌が存在しないわけではないのですが… >2、送ページ数の取得方法。 総ページ数については,1955619559 の一連のお話で出てきた lastpage.sty が使えると思います. >3、footnote の出力の有無で処理を分けるにはどのようにするのか。 これは,フッタで対処するよりも,ページ構成処理そのものを 書き換えたほうがよいでしょう. いつでも太線を出力することにし,脚注をその太線の下側に 置けばよいのですから,\@makecol などを次のように再定義することができます. %%% 必要があれば,\makeatletter,\makeatother で囲んでください. なお,脚注の有無は,とりあえず(出力ルーチン内で)\box\footins が 空でないか否かを調べればわかります. %%% とりあえず,1 段組として考えました. %%% 2 段組の場合,左右のカラムのそれぞれに含まれる脚注の分量が %%% 異なると厄介です… \def\@footrule@thickness{1pt}%%% フッタ用の罫線の太さ \def\@add@footrule{% \if@specialpage \def\@tempa{empty}% \ifx\@specialstyle\@tempa \ifvoid\footins \@tempswafalse \fi\fi \fi \if@tempswa \hrule \@height \@footrule@thickness \fi} \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 \@tempswatrue \@add@footrule%%% added \ifvoid\footins\else % for pLaTeX \vskip \skip\footins \color@begingroup \normalcolor %%% \footnoterule \unvbox \footins \color@endgroup \fi}% \fi \global \maxdepth \@maxdepth} \gdef\@makespecialcolbox{% \setbox\@outputbox \vbox {% \@texttop \dimen@ \dp\@outputbox \unvbox\@outputbox \vskip-\dimen@}% \@tempdima \@colht \ifdim \wd\@kludgeins>\z@ \advance \@tempdima -\ht\@outputbox \advance \@tempdima \pageshrink \setbox\@outputbox \vbox to \@colht {% \unvbox\@outputbox \vskip \@tempdima \@textbottom \@add@footrule%%% added \ifvoid\footins\else % for pLaTeX \vskip\skip\footins \color@begingroup \normalcolor %%% \footnoterule \unvbox \footins \color@endgroup \fi}% \else \advance \@tempdima -\ht\@kludgeins \setbox \@outputbox \vbox to \@colht {% \vbox to \@tempdima {% \unvbox\@outputbox \@textbottom \@add@footrule%%% added \ifvoid\footins\else % for pLaTeX \vskip\skip\footins \color@begingroup \normalcolor %%% \footnoterule \unvbox \footins \color@endgroup \fi}% \vss}% \fi {\setbox \@tempboxa \box \@kludgeins}} %%% \enlargethispage を用いた場合の挙動については, %%% あまり調整していません.

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)