名前: ut 日時: 2007-10-15 15:51:11 IPアドレス: 157.118.27.*
>>49818 Diospyros さんのやり方が素直なのかも知れませんが、私の知識の 範囲内で力技でちょっと頑張ってみました。こんなんだとマズイん でしょうか。 # jbook クラスの chapter を使うと仮定: %%%%% またもや稚拙な右往左往 %%%%% \documentclass{jbook} \makeatletter %%% あとで \contentsline の中身を切り分けるための準備(強引) \long\def\@firstofthree#1#2#3{#1} \long\def\@secondofthree#1#2#3{#2} %%%「全角ピリオドで埋める」ための準備(\dotfill を改変) \def\zenkakudotfill{% \leavevmode \leaders\hbox to1zw{\hss .\hss}\hfill \kern\z@} %%% \protect\numberline{\@chapapp\thechapter\@chappos} の部分 %%% をグループ化 \def\@chapter[#1]#2{% \ifnum \c@secnumdepth >\m@ne \if@mainmatter \refstepcounter{chapter}% \typeout{\@chapapp\space\thechapter\space\@chappos}% \addcontentsline{toc}{chapter}% {{\protect\numberline{\@chapapp\thechapter\@chappos}}#1}% \else\addcontentsline{toc}{chapter}{#1}\fi \else \addcontentsline{toc}{chapter}{#1}% \fi \chaptermark{#1}% \addtocontents{lof}{\protect\addvspace{10\p@}}% \addtocontents{lot}{\protect\addvspace{10\p@}}% \@makechapterhead{#2}\@afterheading} %%% .toc 内の \contentsline の 2 番目の引数を 3 つに切り分け \renewcommand*{\l@chapter}[2]{% \ifnum \c@tocdepth >\m@ne \addpenalty{-\@highpenalty}% \addvspace{1.0em \@plus\p@}% \begingroup \protected@edef\num@chapter{\@firstofthree#1} \protected@edef\title@chapter{\@secondofthree#1} \protected@edef\author@chapter{\@thirdofthree#1} \parindent\z@ \rightskip\@pnumwidth \parfillskip-\rightskip \leavevmode\bfseries \setlength\@lnumwidth{4zw}% \advance\leftskip\@lnumwidth \hskip-\leftskip \num@chapter\title@chapter\nobreak\zenkakudotfill\nobreak\author@chapter\hbox to\@pnumwidth{\hss#2}\par \penalty\@highpenalty \endgroup \fi} \makeatother \begin{document} \frontmatter \tableofcontents \mainmatter \chapter[{はじめに}{第一執筆者}]{はじめに} \chapter[{つぎに}{第二執筆者}]{つぎに} \chapter[{そして}{第三執筆者}]{そして} \end{document} # 最初は jarticle でやってみようと思い、また、 # \section{セクションタイトル}{執筆者名} # というように指定出来るようにすることを考えたのですけど、そう # すると、\addcontentsline の引数や \@startsection、\@sect、 # \l@section の引数を増やすことになって、それはそれで一応出来 # たのですが、でも、内部的に \@startsection 使ってるコマンド全 # 部に影響出ちゃうので、ボツにしました。 # それで Diospyros さんの書き込みを見て、オプション引数の中身 # を切り分けるという風に方向転換してみました。一見するとうまく # いってるみたいに思えるのですけど、我ながら随分と強引なやり方 # だと思うので、達人の皆さんからのお叱りをお待ちいたします。 # 参考: >>15802
この書き込みへの返事: