3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Latexのstyleファイルでmaketitleをカスタマイズ(再定義)したい

Posted at

maketitleって何ィ

latexにおいて,titleを出力するコマンドのことです.\title{}\author{}などを使用して,属性を指定できます.

例えば,

\documentclass{article}

% タイトル、著者、日付を設定
\title{俺のちょうすげー論文}
\author{新田真剣佑}
\date{\today}

\begin{document}

% タイトルを出力
\maketitle

\end{document}

とすれば,
image.png
みたいに出力されます.

maketitleの出力フォーマットを変えたい

maketitleはどこで定義されている?

\makeltitleで出力される内容は,クラスファイルの中で定義されています.クラスファイルってのは,

\documentclass{[ここで指定するやつ]}

です.ただ今回は,クラスファイルはそのままで,スタイルファイルを変更して\maketitleをカスタマイズします.スタイルファイルは拡張子.sty\usepackeage{}を使って読み込みます.

スタイルファイル内での再定義

コマンドの再定義には\renewcommand{[再定義するコマンド]}{[変更後の内容]}を使います.\maketitleを再定義したいので,

\renewcommand{\maketitle}{
  [出力内容]
}

みたいにすればよいです.

属性の表示

デフォルトで定義されている場合

デフォルトで定義されている属性(\title{}とか\author{})を\renewcommand内で呼び出すには,\@[属性名]を用います.ただし,Latexの識別子には,アットマーク@を使用できないため,\makeatletter\makeatotherで囲む必要があります.

\makeatletter
\renewcommand{\maketitle}{
  \begin{center}
    {\huge\bfseries\@title}
    \vspace{1cm}
    {\Large\@author}
    \vspace{0.5cm}
    {\@date}
    \vspace{1cm}
    \hrule
  \end{center}
}
\makeatother

出力

image.png

こんな感じ

新しく属性を作成する場合

\newcommandを使って以下のように定義します.

\makeatletter
\newcommand{\[作成する属性名]}{\gdef\@[作成する属性名]}
\[作成する属性名]{[デフォルト値]}
\makeatother

その上で,上記のように呼び出してください.

\makeatletter
\newcommand{\hobby}{\gdef\@hobby}
\hobby{}
\makeatother

\makeatletter
\renewcommand{\maketitle}{
  \begin{center}
    {\huge\bfseries\@title} \\  % タイトルを大きく、太字にする
    \vspace{1cm}
    {\Large\@author} \\          % 著者を少し大きくする
    \vspace{0.5cm}
    {\@date} \\                  % 日付をそのまま表示
    {趣味:\@hobby}
    \vspace{1cm}
    \hrule                       % タイトルの下に横線を引く
  \end{center}
}
\makeatother

出力

image.png

はぁい

さいごに

真剣佑になりたい.

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?