目次でsectionの表示がおかしい

目次でsectionの表示がおかしい

- K U の投稿
返信数: 4
人文系大学院生です。
数学系の知人からtexを教えてもらい、
体裁の美しさと参照の使いやすさから、texで論文を書いています。
パソコンにはあまり詳しくないのですが、教えていただけますでしょうか。

texは、Windowsに64bitのtexliveをダウンロードして使っています。
uplatexで、これまで大きなトラブルなく使用しておりました。

easy-todoなるパッケージがあることを知り、使用してみたところ、
目次のsectionが、うまく表示されません。
「第1章」と「序論」がかぶってしまい、「第1●論」のように表示されます。
コンパイルはうまくされるようで、エラー表示は出ません。
\usepackage {easy-todo}と\todoをオフにすると、
きれいに目次が表示されるので、
easy-todoが原因であろうと思っています。

現象としては、
https://okumuralab.org/tex/mod/forum/discuss.php?d=3511
の質問と似ていますが、latexが違うので、
対応方法も違うだろうと思っています。

どの様に対処したらよいのでしょうか。
お教えいただければ幸いです。


\documentclass[report,a4j,uplatex]{jsbook}
\usepackage[enable] {easy-todo}
\usepackage[dvipdfmx]{graphicx}

\title{タイトル}
\author{オーサー}
\date{日付}


\begin{document}
\maketitle
\tableofcontents

\chapter{序論}
\section{あいうえお}
\subsection{アイウエオ}
あああああああああ\todo{メモしてみる}。
いいいいいいいいいい。

\subsection{イウエオア}
ううううううう。

\chapter{本論}
\section{かきくけこ}
\subsection{カキクケコ}
かかかかかかかかかかか。

\subsection{キクケコカ}
ききききききききき。\todo{メモしてみた}

\listoftodos

\end{document}

添付 キャプチャ.PNG
K U への返信

Re: 目次でsectionの表示がおかしい

- takamasa 23 の投稿
失礼致します。髙橋というものです。
私も最近になってuplatexに慣れてきた素人です。少し内容に興味を持ちましたので, 妥協案に近いのですが, 目次の文字に重なりを解消する方法を以下に示します。
色々試させていただいたところ, 目次における文字の重なりの原因はdocumentclassのjsbookにあるようです。jsbookの部分をbookやreport等のclassに変更しますと, 少なくとも, 私の環境ではコンパイルも無事通り, 文字も重なりません。

一応ソースです。
\documentclass[papersize,a4j,uplatex]{report}
\usepackage[enable]{easy-todo}
\usepackage[dvipdfmx]{graphicx}

\title{タイトル}
\author{オーサー}
\date{日付}
%
\begin{document}
\maketitle
\tableofcontents

\chapter{序論}
\section{あいうえお}
\subsection{アイウエオ}
あああああああああ\todo{メモしてみる}。
いいいいいいいいいい。

\subsection{イウエオア}
ううううううう。

\chapter{本論}
\section{かきくけこ}
\subsection{カキクケコ}
かかかかかかかかかかか。

\subsection{キクケコカ}
ききききききききき。\todo{メモしてみた}



\listoftodos
\end{document}

しかし, コンパイルしていただくとわかるように目次や章の表記が当然ですが, 英語になってしまいます。
すみません。まだ力不足で完全な修正案を出すことができませんでした。これが解決の何らかのきっかけになれば幸いです。
takamasa 23 への返信

Re: 目次でsectionの表示がおかしい

- K U の投稿
髙橋様

ありがとうございます。
私の環境でも、documentcalssをreportにしたところ、目次の問題は改善しました。
最終的にははやて様のコメントを参照し改善したのですが、
英語表記になるなら\renewcommandでなおせばよいのでは?と思い、

\renewcommand{\thepart}{\arabic{part}部}
\renewcommand{\thechapter}{第\arabic{chapter}章}
\renewcommand{\thesection}{\arabic{section}}
\renewcommand{\thesubsection}{\arabic{section}.\arabic{subsection}}
\renewcommand{\contentsname}{目次}

などとやってみたのですが、
「Chapter 第1章」などというわけのわからない表示にしかならず、
さらに、結局目次で、「第1●論」と、Chapter表示がつぶれてしまい、
tocloftが日本後だとくずれるというのを経験として理解致しました。
K U への返信

Re: 目次でsectionの表示がおかしい

- はやて (h20y6m) の投稿

easy-todo が内部で読み込んでいる tocloft パッケージが原因のようです。

tocloft パッケージは目次をカスタマイズするためのパッケージのようですが、デフォルトでは欧文前提のレイアウトになっているようで、和文で使うとまともな表示にならないようです。

tocloft パッケージの機能を使って和文に合うように目次をカスタマイズしてやればまともになるとは思いますが、tocloft パッケージを使って目次のカスタマイズしたいのでもなければ、easy-todo パッケージをやめて別のパッケージを探したほうが良いかもしれません。

見つけた似たような機能のパッケージを挙げておきます。


【余談】最近の LaTeX では dvipdfmx オプションは \usepackage ではなく \documentclass につけるようにしたほうがよいいです。

はやて (h20y6m) への返信

Re: 目次でsectionの表示がおかしい

- K U の投稿
はやて様

ありがとうございます。
tocloftパッケージは、カスタマイズの方法がヒットしたので、見よう見まねでいじってみて一応の解決をみました。
うまくいったプリアンブルを載せておきます。

\documentclass[uplatex,dvipdfmx,a4j,report]{jsbook}
\usepackage[enable]{easy-todo}
\usepackage{tocloft}
\renewcommand{\cftchapnumwidth}{3.5em}

参照URL:
https://qiita.com/shohirose/items/52f778ebd21f8e5f5c0e

また、easy-todoに似た機能のパッケージも教えていただいてありがとうございます。
一番最初に載せたソースにtodonotesのパッケージを使用してみたときはうまくいった(目次表示も問題なかった)のですが、
メインのファイルで使用してみたところ、今度は、新しいエラーが出てきました。

! LaTeX Error: Float(s) lost.
You've lost some text. Try typing to proceed.
If that doesn't work, type X to quit.

↑がエラー表示だと思います。
エラーが付く場所は\partや\sectionを順番に付けてくる感じなので、
\partや\sectionが問題なのではなく、その他に何か原因がある
(他に使用しているパッケージと、何か競合している?)のかと予想しています。

いずれ、私が挿入しているコメントは長い文章が多く、
easy-todoでfootnoteに入れ子にするのが体裁上一番おさまりが良さそうなので、
この度はtocloftパッケージをいじることで問題は解決しました。

お二方ありがとうございました。