ドキュメントクラス,LaTeX処理系などの補足がありましたらお願いします.これらの要因で原因が絞られることがあります.また,エラーメッセージについても,基本的にセンシティブな情報が含まれることはないので,追記していただけると助かります.
以下ではドキュメントクラスをjlreq
に,LaTeX処理系をupLaTeXとして説明します.
ファイルの構造は次の通り:
sh
1$ exa -T
2.
3├── change-section-style.tex # `\section`の再定義が含まれます.
4├── index.aux # generated
5├── index.dvi # generated
6├── index.log # generated
7├── index.pdf # generated
8├── index.synctex.gz # generated
9└── index.tex # メインのLaTeXファイルです.
変更なしで組んでみる
メインのLaTeXファイルを以下のindex.tex
とします.
tex
1%#!uplatex
2\documentclass{jlreq}
3
4%\input{change-section-style}
5
6\begin{document}
7
8\section{あああ}
9
10\end{document}
このとき\input
の行をコメントアウトしています.あとから\section
の挙動を変更するchange-section-style.tex
を書いてこの行を有効にし,組版結果を比較しましょう.
この状態でコンパイルすると次のような見た目になります.
コンパイル方法は$ llmk index.tex
です.
変更して組んでみる
さて,次に\section
のスタイルの変更を行います.
これを実現するためにはいくつかの方法があります.
質問の内容では\section
の再定義によって解決するものです.
ドキュメントクラスやパッケージによるスタイルの変更のためのより簡単な方法などはドキュメントに記載されていることが多いです.例えば今回使用しているjlreq
については$ texdoc -l jlreq
とすることで閲覧するドキュメントを選択することができます.是非御活用ください.
さて,質問文のリンク先にあります内容を参考にすると,少しあとに\renewcommand
による例が示されていることが見てとれるかと思います.
LaTeXでは一旦定義した制御綴を再び\newcommand
にて変更しようとするとエラーになります.
リンク先で引用されている\newcommand
を含むコードブロックは\section
の元の定義の引用です.
これをそのまま使おうとしてもいけません.
その少しあとに\renewcommand
による再定義の例が示されています.
これを参考に修正すると,次のようになるでしょうか.
change-section-style.tex
:
tex
1\makeatletter
2
3\renewcommand{\section}{%
4 \@startsection{section}{1}{\z@}%
5 {1.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}%
6 {.5\Cvs \@plus.3\Cdp}%
7 {\fontsize{19pt}{0pt}\selectfont\textbf}}
8
9\makeatother
さて,index.tex
でコメントアウトしていた部分を外して,結果を確認してみましょう.
コンパイルの手順は先程と同様です.
文字の大きさが変わったことが見てとれるかと思います.
補足:細かい他の変更点
\bf
はLaTeXというよりはTeXのコマンドですので,新しいLaTeXの環境ではエラーになる可能性が高いです.
ここでは\textbf
を代替にしています.
ここでは行送りの値を適当に決めていますが,調節が必要です.
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/11/16 13:00
2020/11/17 07:08