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のコマンドなんて使い方覚えて使うだけなので、実験レポート等で高頻度で使うコマンドはガンガン再定義コマンドを作って簡略化するとわりと捗ります。自分なりに改良しながら使ってみてください。

登校中にチャリが壊れた話

とかげやです。

チャリが壊れた話をしようと思います。技術的な話ではないのであしからず。

 

自分は毎日、45分間自転車を使って大学に通っています。

これを友達に話すと、皆口をそろえて「なんで45分間もかけて自転車で通ってるの?電車とかバスとかあるじゃんバカなの死ぬの?」と言うのですが、

電車で通うと2回乗り換えて1時間40分かかり料金は片道680円。

バスだと1回乗り換えなければならず、上手く乗り換えたとしても1時間15分ほど料金400円。

自転車:0円。所要時間45分。

朝に弱い自分にとって、選択肢は一つでした。下に簡単な地図を書いておきます。

 

         図:家から大学までの地図と周辺の公共交通機関

 

大きな駅 ーーー(30分)ーーー ☆家の最寄り駅 ーーーー(30分)ーーー 大きな駅

  |               ↑                |

 (10分)             バス(35分)            (5分)

  |               ↓                |

大きな駅ーーーーーーーーーーーーーー駅ーーーーーーーーーーーーーー大きな駅

  |               ↑                |

 (10分)             バス(35分)            (5分)

  |               ↓                |

大きな駅ーーー(20分)ーーー ☆大学の最寄り駅 ーーーー(25分)ーーー 大きな駅

 

このような理由から、毎日ギリギリに起きてママチャリを酷使しながら大学に通う生活を送っています。

 

12月4日(火)

事件はなんの変哲もない日に起きました。

この日は1限に授業が入っており、いつも通り時間ギリギリに起きて朝食を5分もせずに済ませ、家を出ました。

基本的に自転車で通る道は一本道でサイクリングロードも存在するため、いつも通り自転車にしては少し早めのスピードで登校していました。

家から15分ほど運転したところに長い下り坂の直後に長い上り坂があるという道があります。

ここでは基本的に下り坂でギアを上げて少しスピードをつけて、その運動エネルギーを上り坂で消費するというようにして運転しています。

いつものようにして下り坂でギアを上げてスピードをつけて、さぁ上り坂だというところでガタンッ!という音と共に急にペダルが軽くなりました。自分はすぐに状況を理解しました。

チャリが壊れてしまった。。。

そのときの自分は、とりあえず自転車から降りてこれからどうするか決めるために状況を冷静に判断しました。

①多分チェーンが外れたか切れたかしてペダルを回しても推進力が全く得られない。

②自転車はチェーンがむき出しになっておらずカバーがされているため、ドライバーなどの工具がなくては原因究明ができない。

③かといって家に帰るには遠くに来すぎてしまっているし、もし一旦家に帰ったとしても親が自動車を仕事に行くのに使ってしまっているため運転して登校することもできない。

④近くの駐輪場がどこにあるのかなど全く知らない。駐輪場を探し出して停めた後にバスで登校するという選択もあったが、1限は英語でグループで作業がある(実際にはほとんどなかった)のであんましのんびりしていられない。

そんな八方塞がりの状態で自分が出した答えは、

 自転車に乗りながら地面を蹴り続けて大学まで最速で行く

ということでした。すぐさま自転車に乗り直して左足で地面を蹴りまくりました。

この記事を読んでいる皆さんも幼い日に、わざわざペダルを使わずに地面を蹴って自転車を走らせるという遊びをしたという経験があると思います。それと同じことを大学2年生が長い1本道の上で鬼のような形相でやっているのです。想像しただけでキモイですね!

長い一本道のため、反対方向から来ているおばさんが自転車を漕ぎながらずーーーっっと白い目をこちらに向けつつ接近してすれ違っていったのは今でも鮮明に思い出せます。なので人とすれ違う時にペダルを回して「ペダル壊れてるから仕方ないんです!!!」アピールをしながら必死に地面を蹴り続けました。

ジョジョ4部のボス、吉良吉影のシアーハートアタックが広瀬康一のエコーズ・ACT 3 FREEZEの能力を受けて手が重くなり、手を地面にこすりつけながらずっと人混みの中を歩いてきた後に言い放った「初めてだよ…ここまで追い詰められたのはな…なんかちょっとした『敗北感』まで感じるよ…」というセリフが頭をよぎりました(手じゃなくて足だけど)

そうして大変な思いをしながら大学に着いたら、グループでの作業はほとんどないため欠席してもあんまし迷惑をかけない感じの授業で悲しくなりました。

 

反省

自転車に日々どれくらい助けられているかを身をもって感じました。幸せは失った後に気付くとよく言われますが、その意見に初めて強く同感しました。これからは自転車を大切に使っていこうと思います。

後日談

友人にこの話をしたら、めちゃくちゃウケてくれたので少し救われた気がしました。

あと友人が左足を使って地面を蹴っている様子をマネしたときにモンハンのファンゴにとても似ているなと思いました。

f:id:hatyurui_tokageya:20181204222501j:plain

モンハンに出てくるモンスター「ファンゴ」。左足を地面に何回か擦った後に突進する。