名前: ut 日時: 2011-11-30 11:54:27 IPアドレス: 157.118.27.*
>>56385 >「意地悪な冗談」というのはどういうことですか? nino さんが >>56380 で示されたコードは、普通じゃなかったので す。「親切に真面目に」回答するのであれば、トニイさんのように、 > \chapter の定義は \@startsection ではなく, > \@makechapterhead と \@makeschapterhead で定義されています と回答するべきなのを、私は敢えて、\chapter を \@startsection で定義するという普通でない nino さんのコードに乗ってみたわけ です。 ですから、私の >>56382 の回答は、nino さんに対してというより は、他の方々に、「ut というヤツもなかなかヒトが悪いね」と笑っ ていただく「ネタ」として考えたものです。 一応、\@startsection の引数の正負や、\@seccntformat の使用例 について書いているので、nino さん以外の方の役に立つこともある かも知れないと思いつつも、ネタだけの書き込みはマズイかな、と 思いあぐねていたところ、トニイさんがちゃんとした回答をされた ので、それで安心して(?)、悪ふざけを投稿してみました。 あと、ご質問される際に、最初は見出しをサンセリフに、というこ とでしたのに、その後、目次が、とか、hyperref が、とか、図が、 というように、ご要望を小出しにされると戸惑います。また、 > まず、jsclassesですが、jreportに対応していないため使えないのです。 ですとか、 > \documentclass[report]{jsbook} > を使うことでかなり近いところまでできるようになりました。 とおっしゃられても、nino さんがどういう体裁をお望みなのかは、 誰も分かりません。 最後に、悪乗りついでに、>>56386 の .さんのアドバイスを受け て、改訂版を貼っておきます: \documentclass[openright,twoside]{jreport}% \cleardoublepage のテストのため \AtBeginDvi{\special{pdf:tounicode 90ms-RKSJ-UCS2}}% 私は windows なので決め打ち \usepackage[dvipdfmx]{hyperref} \makeatletter % jreport.cls からコピー(\chapter は新設) \renewcommand{\chapter}{\@startsection{chapter}% name {0}% level {\z@}% indent {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}% beforeskip(ページの最初では無意味) {3\Cvs}% afterskip {\if@openright\cleardoublepage\else\clearpage\fi \phantomsection\reset@font\huge\sffamily\gtfamily}% style } \renewcommand{\section}{\@startsection{section}{1}{\z@}% {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}% {.5\Cvs \@plus.3\Cvs}% {\reset@font\Large\sffamily\gtfamily}} \renewcommand{\subsection}{\@startsection{subsection}{2}{\z@}% {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}% {.5\Cvs \@plus.3\Cvs}% {\reset@font\large\bfseries}} % chapter の見出し番号の書式を変更(簡単には \thechapter の再定義ですが) \def\@seccntformat#1{% \@ifundefined{#1@heading}% {\csname the#1\endcsname\quad}% {\csname #1@heading\endcsname}% } \def\chapter@heading{\@chapapp\thechapter\@chappos\hskip1zw} % #4 と #5 の前に書式を追加 \def\@dottedtocline#1#2#3#4#5{% \ifnum #1>\c@tocdepth \else \vskip\toclineskip \@plus.2\p@ {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip \parindent #2\relax\@afterindenttrue \interlinepenalty\@M \leavevmode \@lnumwidth #3\relax \advance\leftskip \@lnumwidth \hbox{}\hskip -\leftskip {\sffamily\gtfamily#4}\nobreak \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern \@dotsep mu$}% \hfill\nobreak \hb@xt@\@pnumwidth{\hss\normalfont\sffamily \normalcolor #5}% \par}% \fi} % \begingroup の後ろで \numberline を再定義 \renewcommand*{\l@chapter}[2]{% \ifnum \c@tocdepth >\m@ne \addpenalty{-\@highpenalty}% \addvspace{1.0em \@plus\p@}% \begingroup \def\numberline##1{\hbox to\@lnumwidth{\@chapapp##1\@chappos\hfil}} \parindent\z@ \rightskip\@pnumwidth \parfillskip-\rightskip \leavevmode\sffamily\gtfamily%\bfseries \setlength\@lnumwidth{4zw}% \advance\leftskip\@lnumwidth \hskip-\leftskip #1\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss#2}\par \penalty\@highpenalty \endgroup \fi} \makeatother \begin{document} \tableofcontents \chapter{はじめに} あいうえおとは… \section{かきくけこ} かきくけことは… \subsection{さしすせそ} さしすせそとは… \chapter{次に} たちつてととは… \end{document}
この書き込みへの返事: