
AMS 記事クラスを拡張する LaTeX クラスがありますamsart
。マージンを調整し、 などの新しいプリアンブル スタイルのパラメータをいくつか追加したいと考えました\author{Name}
。\class{Algebra}
その後、 が呼び出されたときに、著者名、クラス、日付、タイトルが次のように表示されるようにしたいと考えました\maketitle
。これらのうちの 1 つが提供されていない場合は、そのフィールドが欠落し、ないクラッシュ。たとえば、前文がない場合\class{...}
、文書には学生名と日付のみが記載されます。学生名、クラス名、日付のいずれも記載されていない場合は、文書は中央揃えのタイトルで始まる必要があります。
Student Name
Algebra
Decembruary 3, 1947
Centred Title
.
.
.
私がまとめたものは、
% this handles the info tags at the beginning
\makeatletter
% defining new variables
\gdef\@class{\empty}
\def\author#1{\gdef\@author{#1\\}}
\def\class#1{\gdef\@class{#1\\}}
\renewcommand{\maketitle} {
\bgroup
\setlength{\parindent}{0em}
\begin{flushleft}
\ifx\@author\empty \else \@author\fi
\ifx\@class\empty \else \@class\fi
\@date
\end{flushleft}
\egroup
\begin{center}
\textbf{\@title} \\
\end{center}
\bigskip
}
\makeatother
正直に言うと、このコードがどのように、なぜ機能するのか全く分かりません。何かから始めて、何とか機能するまで試行錯誤を繰り返したからです。そのため、これが私が望むことを達成する最もクリーンな、または最良の方法ではないかもしれないと考える理由があります。実際に LaTeX でのプログラミングを理解している方がいらっしゃいましたら、これを見て、これをもっとうまく書く方法や、これで十分かどうか教えていただけませんか?