私は大学から提供されたテンプレートを使用して論文を書いています。レポート クラスを使用する必要があります。前文の見出しをフォーマットするには、パッケージを使用してtitlesec
フォーマットを再定義します ( \titleformat
、\titlespacing
)。ただし、これにより本文の章見出しのフォーマットも変更されてしまうため、好ましくありません。 を使用して前文をラップする\newenvironment
環境を定義し、見出しのフォーマットのみをローカルで再定義しようとしましたが、うまくいきませんでした。preliminary
私の質問は、見出しの形式をローカルで変更することは可能かということです。可能でない場合、デフォルトの形式を保存して、前文の後に復元するにはどうすればよいでしょうか。
フロントマターの後のフォーマットはいつでも再定義できると思いますが、デフォルトのままにしておきたいと思います。
答え1
titlesec
のコマンドはどこでも使用できますが、その効果はコマンドを含むグループまたは環境に限定されます。次のドキュメントは、セクションと章の変更に対応しています。説明のために、セクションのみを示しています。\chapter
コマンドが使用されている本文の行のコメントを解除すると、これらの動作も確認できます。
\documentclass{report}
\usepackage{titlesec}
\titleformat{\section}{\normalfont\Large\itshape}{\thesection}{1em}{}{}
\newenvironment{alttitles}{\titleformat{\chapter}[display]%
{\normalfont\huge\itshape}{\chaptertitlename\ \thechapter}{20pt}{\Huge}%
\titleformat{\section}{\normalfont\Large\scshape}{\thesection}{1em}{}{}}{}
\begin{document}
%\chapter{First chapter}
\section{A section}
\begin{alttitles}
%\chapter{Next chapter}
\section{Another section}
\end{alttitles}
\section{A last section}
\end{document}
これを独自のスタイルで実装しようとする場合、デバッグを容易にするために、まずは別のドキュメントで titlesec コマンドをグローバルに動作させることをお勧めします。その後、必要に応じてそれらを環境に組み込むか、適切なグループに含めることができます。例:
{
\titleformat{\section}{\normalfont\Large\scshape}{\thesection}{1em}{}{}
\section{A small caps section}
Text.
}
答え2
ローカルで変更することはできません。ただし、ドキュメント内の任意の場所、具体的には\mainmatter
以下に示すようにコマンド内で「元の」タイトルに戻すことができます。元のタイトルを定義する正しい方法はtitlesec
マニュアルに記載されています。ドキュメントのプリアンブルに次のように記述します。
\makeatletter
\g@addto@macro{\mainmatter}{
\titleformat{\chapter}[display]
{\normalfont\huge\bfseries}{\chaptertitlename\ \thechapter}{20pt}{\Huge}
\titleformat{\section}
{\normalfont\Large\bfseries}{\thesection}{1em}{}
\titleformat{\subsection}
{\normalfont\large\bfseries}{\thesubsection}{1em}{}
\titleformat{\subsubsection}
{\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{}
\titleformat{\paragraph}[runin]
{\normalfont\normalsize\bfseries}{\theparagraph}{1em}{}
\titleformat{\subparagraph}[runin]
{\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{}
\titlespacing*{\chapter}{0pt}{50pt}{40pt}
\titlespacing*{\section}{0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}
\titlespacing*{\subsection}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
\titlespacing*{\subsubsection}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
\titlespacing*{\paragraph}{0pt}{3.25ex plus 1ex minus .2ex}{1em}
\titlespacing*{\subparagraph}{\parindent}{3.25ex plus 1ex minus .2ex}{1em}
}
\makeatother