hatyurui_tokageya’s diary

情報系大学生の日記

大学の実験等で使えるLaTeXの便利な再定義コマンド(使い方の説明は未完成)

こんにちは。とかげやです。
今回は実験レポート等でよく使うLaTeXコマンドの簡略化のためのコマンドの再定義と、その使い方について書こうと思います。

はじめに

実験レポートをtexで書いていると、いちいち画像を挿入するときに

\begin{figure}
  \begin{center}
    \includegraphics[scale=2.0]{./hoge.png}
    \caption{hogeの画像}
    \label{hogehoge}
  \end{center}
\end{figure}

と書き、表を書くときに

\begin{table}[htbp]
  \begin{center}
    \caption{値段表}
    \label{値段一覧}
    \begin{tabular}{|l|c|r||r|} \hline
      メニュー & サイズ & 値段 & カロリー \\ \hline \hline
      牛丼 & 並盛 & 500円 & 600 kcal \\
      牛丼 & 大盛 & 1,000円 & 800 kcal \\
      牛丼 & 特盛 & 1,500円 & 1,000 kcal \\ \hline
    \end{tabular}
  \end{center}
\end{table}

とか書くのが面倒ですよね。
こういったコマンドを再定義することにより、

\img{2}{hoge.png}{hogeの画像}{hogehoge}

とか、

\tab{値段表}{値段一覧}{|l|c|r||r|}{ \hline
      メニュー & サイズ & 値段 & カロリー \\ \hline \hline
      牛丼 & 並盛 & 500円 & 600 kcal \\
      牛丼 & 大盛 & 1,000円 & 800 kcal \\
      牛丼 & 特盛 & 1,500円 & 1,000 kcal \\ \hline
}

とかに簡略化する再定義コマンドを使いまくってるので、せっかくなので記事にして使い方などをまとめようと思いました。

これをコピー

%%%コマンド再定義用テンプレ%%%
%\newcommand{}の{}の中が新たに定義されたコマンド
%[]は変数の個数で、それに続く{}が新しいコマンドの中身。ここで#1、#2、と順番に変数を指定していく。


%%%パッケージの読み込み%%%
\usepackage{listings}%ソースコードの書式を色々いじれる。詳しくは→https://www.biwako.shiga-u.ac.jp/sensei/kumazawa/tex/listings.html
\usepackage{jlisting}%ソースコード中で日本語書いても書式が崩れない。
\usepackage{ascmac}%枠とかをいじれる。詳しくは→https://www.biwako.shiga-u.ac.jp/sensei/kumazawa/tex/ascmac.html
\usepackage{comment}%複数行コメントアウトができる。「\begin{comment}」と「\end{comment}」の間をコメントアウトしてくれる。


%%%画像添付コマンドの再定義%%%
% #1が場所指定(htbp)(デフォでhtbにしてるから気にしなくていい)
% それ以降は#2が大きさ(scaleで)、#3がファイル名、#4がタイトル、#5がラベル(引用するときなんかに使う)
\usepackage[dvipdfmx]{graphicx} %おまじない(JPEG,PNG用)

\newcommand{\img}[5][htb]{
    \begin{figure}[#1]
    \begin{center}
    \includegraphics[scale=#2]{#3}
    \caption{#4}
    \label{#5}
    \end{center}
    \end{figure}
}


%%%%箇条書きの再定義%%%
%\ul点、\ol番号、\dl何もなし
 \newcommand{\ul}[1]{\begin{itemize}#1\end{itemize}}
 \newcommand{\ol}[1]{\begin{enumerate}#1\end{enumerate}}
 \newcommand{\dl}[1]{\begin{description}#1\end{description}}
 \newcommand{\li}{\item} 


%%%表の再定義%%%
%#1が場所指定(htbp)(デフォは!htbp、基本的に描いた場所に挿入される)
%それ以降は#2がタイトル、#3がラベル、#4が表の形式、#5が中身
\newcommand{\tab}[5][!htbp]{
    \begin{table}[#1]
    \begin{center}
    \caption{#2}
    \label{#3}
    \begin{tabular}{#4}
    #5
    \end{tabular}
    \end{center}
    \end{table}
}
\newcommand{\doubletab}[9][!htbp]{
  \begin{table}[#1]
    \begin{minipage}{0.5\hsize}
      \begin{center}
      \caption{#2}
      \label{#3}
      \begin{tabular}{#4}
      #5
      \end{tabular}
      \end{center}
    \end{minipage}
    \begin{minipage}{0.5\hsize}
      \begin{center}
      \caption{#6}
      \label{#7}
      \begin{tabular}{#8}
      #9
      \end{tabular}
      \end{center}
    \end{minipage}
  \end{table}
}


%%%図(手書き)用の空白%%%
%#1が場所指定(htbp)(デフォは!htbp、基本的に描いた場所に挿入される)
%それ以降は#2がタイトル、#3がラベル、#4が高さ
\newcommand{\imgspace}[4][!htbp]{
  \begin{figure}[#1]
    \vspace{#4}
    \begin{center}
      \caption{#2}
      \label{#3}
    \end{center}
  \end{figure}
}

%%%図(手書き)用の空白(2つ並べる)%%%
%#1が場所指定(htbp)(デフォは!htbp、基本的に描いた場所に挿入される)
%それ以降は#2がタイトル1、#3がラベル1、#4がタイトル2、#5がラベル2、#6が高さ
\newcommand{\imgtwicespace}[6][!htbp]{
  \begin{figure}[#1]
    \vspace{#6}
    \begin{minipage}{0.45\hsize}
      \begin{center}
        \caption{#2}
        \label{#3}
      \end{center}
    \end{minipage}
    \begin{minipage}{0.45\hsize}
      \begin{center}
        \caption{#4}
        \label{#5}
      \end{center}
    \end{minipage}
  \end{figure}
}

%%%数式モードの再定義%%%
\newcommand{\Equation}[1]{\begin{equation}#1\end{equation}}
\newcommand{\eq}[2]{\begin{eqnarray}#1\label{#2}\end{eqnarray}}
\newcommand{\doubleeq}[4]{
  \begin{eqnarray}#1\label{#2}\end{eqnarray} \\[-33pt]
  \begin{eqnarray}#3\label{#4}\end{eqnarray}
}
%\eq{数式}{eq_ラベル名}で文章中に\refeq{eq_ラベル名}

%角度の表示、\degree
\newcommand{\degree}[1]{\mbox{$#1^{\circ}$}}

%水平方向への適当な空白
\newcommand{\hs}{\hspace{1mm}}

%垂直方向への適当な空白
\newcommand{\vs}{\vspace{1mm}}

%単位を表示
\newcommand{\unitsymbol}[1]{\mathrm{#1}}
\newcommand{\us}[1]{\mathrm{#1}}
% $\us{単位}$で使える!!
%なお、$\rm 文字$も立体になる!!


%偏微分、全微分
\newcommand{\tdiff}[2][]{\frac{\mathrm{d}#1}{\mathrm{d}#2}}
\newcommand{\pdiff}[2][]{\frac{\partial#1}{\partial#2}}


%参照
\newcommand{\refeq}[1]{式(\ref{#1})}
\newcommand{\reftab}[1]{\ref{#1}}
\newcommand{\refimg}[1]{\ref{#1}}
\newcommand{\refcite}[1]{参考文献\cite{#1}}

上記のコードを「redefine_command_sheet.sty」として保存し、使いたいtexファイル中に

\usepackage{./redefine_command_sheet} 

として読み込めば使えます。


主なコマンドの使い方の解説

再定義したLaTeXコマンドの中でも、特によく使うコマンドの使い方を書きます。

①画像の添付

使用例:hoge.pngを0.3倍の大きさで貼り付ける

\img{0.3}{hoge.jpg}{hogeの画像}{hogehoge}

タイプセットしたら以下のように表示されます。

f:id:hatyurui_tokageya:20190109174143p:plain
画像の添付結果

②箇条書き

使用例:それぞれの行先頭が「・」,「1. 2. 3. …」,「(何もなし)」である3種類の箇条書きを作成

\ul{
  \li{あああ}
  \li{いいい}
}
\ol{
  \li{ううう}
  \li{えええ}
  \li{おおお}
  \li{かかか}
}
\dl{
  \li{ききき}
  \li{くくく}
  \li{けけけ}
  \li{こここ}
  \li{さささ}
  \li{ししし}
}

タイプセットしたら以下のように表示されます。

f:id:hatyurui_tokageya:20190107175113p:plain:w600
箇条書き結果

③表

使用例:

\tab{値段表}{値段一覧}{|l|c|r||r|}{ \hline
      メニュー & サイズ & 値段 & カロリー \\ \hline \hline
      牛丼 & 並盛 & 500円 & 600 kcal \\
      牛丼 & 大盛 & 1,000円 & 800 kcal \\
      牛丼 & 特盛 & 1,500円 & 1,000 kcal \\ \hline
}

タイプセットしたら以下のように表示されます。
f:id:hatyurui_tokageya:20190109173610p:plain

④図

図を手で書くためにキャプションだけを載せたスペースを作成する
使用例:
(工事中)

⑤数式

数式を入れる
使用例:
(工事中)

⑥角度

角度の単位「°」を作る
使用例:
(工事中)

⑦空白

空白を行or列で挿入する
使用例:
(工事中)

⑧単位

数式内などで単位を表示する
使用例:
(工事中)

微分

微分の文字などを挿入する
使用例:
(工事中)

⑩参照

参照などをする
使用例:
(工事中)

おわりに

今回はLaTeXの再定義コマンドの定義とそれぞれの使い方を解説をしました。
これは自分が一から作成したものではなく、自分が所属しているサークルにあった(おそらくOBが昔に作成した)styファイルを一個上の先輩が少し付け加えて、それを僕が頂いてコメントなど少し書き足したものです。物理実験のレポートを作成する際には大変お世話になりました。ありがとうございました。
LaTeXのコマンドなんて使い方覚えて使うだけなので、実験レポート等で高頻度で使うコマンドはガンガン再定義コマンドを作って簡略化するとわりと捗ります。自分なりに改良しながら使ってみてください。