jsbookクラスで目次の体裁についてご助力をいただけませんでしょうか…
節レベルの見出しはその後にドットのリーダーが入って
ページ番号は右揃いになっていますよね。
このリーダーを取っ払った上で、ページ番号を節の
名前の長短に拘らずそのすぐ後ろに来るようにして、
全体を右不揃いにしたいのです。
短い節名 1
長ーーーーーい節名 3
みたいな感じです。jsbookクラスファイル中の
\@dottedtoclineを弄ってなんとかしようとしたのですが、
\def\@dottedtocline#1#2#3#4#5{\ifnum #1>\c@tocdepth \else
\vskip \z@ \@plus.2\p@
{\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
\parindent #2\relax\@afterindenttrue
\interlinepenalty\@M
\leavevmode
\@lnumwidth #3\relax
\advance\leftskip \@lnumwidth \null\nobreak\hskip -\leftskip
{#4}\nobreak
\leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
mu$}\hfill \nobreak\hb@xt@\@pnumwidth{%
\hfil\normalfont \normalcolor #5}\par}\fi}
最後3行の\leadersのところから\hfillまでを取っ払ってしまえば
とりあえずドットラインが消せることはわかります。
しかし、その後の\hfillと\hfilを削ってしまうと、ページ番号が
左に寄るのではなく行全体が均等割になって字間が間延びします。
\hfilだけにしてページ番号(#5)の後に\hfillでも置けばどうか、
と思ってやってみましたが効果が現れません。
これはいったいどこに手を入れれば解決するのでしょう?
そもそも\@dottedtoclineが見当外れなんでしょうか…?
\@dottedtocline 書き換え方針で OSX 10.10 TeXLive 2014 の環境で platex を用いて検証してみました。
均等割付になる大元は「 \rightskip」 のところだとおもいます。
これを生かして ページ番号を「 \hfil」 で左寄せするには「 \,」 などで空白が入ってしまいますが 「#5\par」を「#5\hfil\,\par」などとしても良いかと思います。
なお、ページ番号の前に若干の空白 「\qquad」 を入れていますが適宜書き換えてください。
\documentclass{jsbook}
\makeatletter
\def\@dottedtocline#1#2#3#4#5{\ifnum #1>\c@tocdepth \else
\vskip \z@ \@plus.2\p@
{\leftskip #2\relax% \rightskip \@tocrmarg \parfillskip -\rightskip
\parindent #2\relax\@afterindenttrue
\interlinepenalty\@M
\leavevmode
\@lnumwidth #3\relax
\advance\leftskip \@lnumwidth \null\nobreak\hskip -\leftskip
{#4}\nobreak
%\leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
% mu$}
%\hfill \nobreak\hb@xt@\@pnumwidth{%
% \hfil\normalfont \normalcolor #5}\par}\fi}
\normalfont \normalcolor\qquad#5\par}\fi}
\makeatother
\begin{document}
\tableofcontents
\chapter{ちゃぷた}
\section{せくしょん}%\rightskip 以降が有効だと均等割付になる
\section{Section }
\end{document}