😎

報告書用マクロ解説(未来大生向け)

2021/12/29に公開

諸般の事情でFUN part2 Advent Calendar 2021 - Adventar[1] 24日目の記事になりました.

昨日は僕に深層学習を仕込んだ先輩による tensorflow1.15, tensorflow2での勾配や重みの取得 - takanori_AB’s diary[2]

最終日は僕が所属するチームによる チーム よわよわ の足跡 - HackMD[3] です.

はじめに

この記事は,公立はこだて未来大学 3年生向けの記事です.学校で配られるスタイルファイルについての解説です.便利なコマンドがあるが,あまり知られていないので,記事にします.スタイルファイルとは,他の言語のライブラリのようなものです.(というよりはC言語のinclude)

僕がプロジェクト学習の報告書の運用のために書いた記事もありますので,合わせてお読みください.[初心者向け] LaTeX文書をいい感じに運用する方法[4]

ちなみに,okumacro.styが配布されていますが,あれは冗長なファイルなので,消していいです.公式に取り込まれている&参照されていません.

定義が上書きされているもの

段落の定義が上書き(\renewcommand)されています.改行がなくなって,1文字分の空白のあとに,本文が開始されます.

funpro.sty
\if@twocolumn
  \renewcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
    {\z@}{-1zw}% 改行せず 1zw のアキ
    {\normalfont\normalsize\headfont}}
\else
  \renewcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
    {0.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}%
    {-1zw}% 改行せず 1zw のアキ
    {\normalfont\normalsize\headfont}}
\fi

定義されているコマンドたち

\bunseki 文責コマンド

funpro.sty
\def\bunseki#1{%
  \begin{flushright}%
    \mbox{(文責:~#1)}%
\end{flushright}}%
\bunseki{たつお}

とすると, (文責 たつお) になるやつです.

クォーテーション 系 qu qq

funpro.sty
\newcommand{\qu}[1]{`#1'}
\newcommand{\qq}[1]{``#1''}

主に英語文章内で用います.クォーテーションには始まりと終わりがあり,始まりはバッククォート,終わりはシングルクォートで行います.
閉じ忘れや不整合を防ぐためにも,このコマンドを使いましょう.

ちなみに,TeXの関数定義は

\newcommand{\コマンド名}[引数の個数]{処理}

になっています.#1というのは,1つ目の引数を表しています.

\qu がシングルクォートで

\qu{apple}

\qq がダブルクォートです.

\qq{The Orange}

日本語のカッコ系 \yo yy \pp

funpro.sty
\newcommand{\yo}[1]{「#1」}
\newcommand{\yy}[1]{『#1』}
\newcommand{\pp}[1]{(#1)}

定義の通りです.

書籍の引用 \wasyo \yousyo

funpro.sty
\newcommand{\wasyo}[1]{『#1』}
\newcommand{\yousyo}[1]{\emph{#1}}

定義の通りです.\emphは文字を強調(emphasis)するコマンドです.文脈に合わせて使っていきましょう.

ラベル付け系

funpro.sty
\newcommand{\chaplab}[1]{\label{chap:#1}}
\newcommand{\chapref}[1]{第~\ref{chap:#1}~章}

\newcommand{\seclab}[1]{\label{sec:#1}}
\newcommand{\secref}[1]{\ref{sec:#1}~節}

\newcommand{\applab}[1]{\label{app:#1}}
\newcommand{\appref}[1]{付録~\ref{app:#1}}

\newcommand{\figlab}[1]{\label{fig:#1}}
\newcommand{\figref}[1]{図~\ref{fig:#1}}

\newcommand{\tablab}[1]{\label{tab:#1}}
\newcommand{\tabref}[1]{表~\ref{tab:#1}}

\newcommand{\equlab}[1]{\label{equ:#1}}
\newcommand{\equref}[1]{式~(\ref{equ:#1})}

\newcommand{\pref}[1]{\pageref{#1}~ページ}

TeXにはラベル付けと参照という機能があります.[5]

\label でラベル付けを行い,\refで参照をします.これにより,番号を自分で打たなくてもよくなります.上記はそれらのラッパーコマンドです.

おわりに

Twitterで雑にアンケートをとったら,思ったよりも票が集まったので書きました.

https://twitter.com/i4mwh4ti4m/status/1475583870443859968

スタイルファイルを読めるといろいろなことができるので,みなさんもいじっていきましょう.スタイルファイルはいくつでも使用できます.定型的な処理はどんどんスタイルファイルに書きましょう.

おすすめ書籍は,[改訂第8版]LaTeX2ε美文書作成入門:書籍案内|技術評論社[6] です.情報ライブラリーにもあるので,手にとってみてください.

脚注
  1. FUN part2 Advent Calendar 2021 - Adventar ↩︎

  2. tensorflow1.15, tensorflow2での勾配や重みの取得 - takanori_AB’s diary ↩︎

  3. チーム よわよわ の足跡 - HackMD ↩︎

  4. [初心者向け] LaTeX文書をいい感じに運用する方法 ↩︎

  5. LaTeX入門/相互参照とリンク - TeX Wiki ↩︎

  6. [改訂第8版]LaTeX2ε美文書作成入門:書籍案内|技術評論社 ↩︎

Discussion