Folioscope

プログラミング/Unix系/デザイン/CG などのメモがもりもり

\section再定義にハマる

LaTeXでの\section再定義にハマった.

\sectionの再定義をしている次のコードをコンパイルすると,下の図のような結果となる.

\documentclass[]{article}

\makeatletter
\renewcommand\section{\@startsection {section}{1}{\z@}
  {-3.5ex \@plus -1ex \@minus -.2ex}
  {2.3ex \@plus.2ex}
  {\normalfont\Large\bfseries}
}
\makeatother

\begin{document}
\section{AIUEO}
\section*{ABCDE}
\end{document}

f:id:ibenza:20121125105750p:plain
これが期待している結果である.
しかしams系のパッケージを\usepackageすると,たちまち表示が壊れる.

\usepackage{amsmath}

f:id:ibenza:20121125105744p:plain


どうやら\sectionの再定義がよろしくなかったみたい.
正しくは次の通り.

\renewcommand\section{\@startsection {section}{1}{\z@}%
  {-3.5ex \@plus -1ex \@minus -.2ex}%
  {2.3ex \@plus.2ex}%
  {\normalfont\Large\bfseries}%
}

マクロ定義時の%が抜けるという初歩的なミス.