jsbookでshorttoc.styを使用するとタイトルが章番号に重なる

jsbookでshorttoc.styを使用するとタイトルが章番号に重なる

- 渡辺 蒼 の投稿
返信数: 2
shorttoc.styを使って概略目次を作成しようとして,次のようにすると
章のタイトルと章番号がくっついてしまい困っています.
\documentclass[uplatex,10pt,papersize,a5paper]{jsbook}
\usepackage[loose]{shorttoc}
\begin{document}
\shorttableofcontents{概略目次}{0}
\tableofcontents
\chapter{タイトル1}
\section{タイトル1.1}
\section{タイトル1.2}
\chapter{タイトル2}
\section{タイトル2.1}
\section{タイトル2.2}
\chapter{タイトル3}
\section{タイトル3.1}
\end{document}

ここで,jsbookではなく,jbookだとうまくいきます.
jsbookクラスで概略目次に普通の目次と同じ間隔で章番号と章のタイトルを
表示させることはできますか?
渡辺 蒼 への返信

Re: jsbookでshorttoc.styを使用するとタイトルが章番号に重なる

- 匿 名 の投稿

恐らく [2014-01-02] 以降の jsclasses をお使いなのだと思います.

shorttoc.sty の \shorttableofcontents は,\tableofcontents と同じ仕組みのようですので,[2014-01-02] 以降の jsclasses の \tableofcontents で追加された部分を,\shorttableofcontents にも追加すればよいのではないかと思われます.

具体的には,shorttoc.sty から \shorttableofcontents をブリアンブルにコピーしてきて,それに,以下の 4 行を追加するとうまくいきそうです:

  \settowidth\js@tocl@width{\headfont\prechaptername\postchaptername}%
  \settowidth\@tempdima{\headfont\appendixname}%
  \ifdim\js@tocl@width<\@tempdima \setlength\js@tocl@width{\@tempdima}\fi
  \ifdim\js@tocl@width<2zw \divide\js@tocl@width by 2 \advance\js@tocl@width 1zw\fi

つまり,ブリアンブルで:

\makeatletter
\def\shorttableofcontents#1#2{\bgroup\c@tocdepth=#2\@restonecolfalse
  \settowidth\js@tocl@width{\headfont\prechaptername\postchaptername}%
  \settowidth\@tempdima{\headfont\appendixname}%
  \ifdim\js@tocl@width<\@tempdima \setlength\js@tocl@width{\@tempdima}\fi
  \ifdim\js@tocl@width<2zw \divide\js@tocl@width by 2 \advance\js@tocl@width 1zw\fi
\if@tightshtoc
    \parsep\z@
  \fi
  \if@twocolumn\@restonecoltrue\onecolumn\fi
  \@ifundefined{chapter}%
  {\section*{{#1}
        \@mkboth{\uppercase{#1}}{\uppercase{#1}}}}%
  {\chapter*{{#1}
        \@mkboth{\uppercase{#1}}{\uppercase{#1}}}}%
  \@startshorttoc{toc}\if@restonecol\twocolumn\fi\egroup}
\makeatother

とすればよさそうです.
匿 名 への返信

Re: jsbookでshorttoc.styを使用するとタイトルが章番号に重なる

- 渡辺 蒼 の投稿
早速のご回答,有難うございます!
試してみたところ,見事にうまくいきました!
本当にありがとうございますm(_ _ )m