理系のおともの備忘録

理系(がよく使いそうな)のおとも(PCまわり)の備忘録ブログ

【LaTeX】newcommandで爆速LaTeX生活

色んな分野で登場する微分記号 \dfrac{d}{dx}。よく出てくる割に記述が若干面倒...

\dfrac{dy}{dx}

 \dfrac{dy}{dx}

そんな時は、プリアンブル(\begin{document}より上の領域に次のコードを追加してみましょう。

\newcommand{\dd}[2]{\displaystyle\dfrac{d #1}{dx}}

次に、微分式を書きたい場所に次のコードを書きます。

\dd{y}

すると思うように表示されるはずです!このような機能をマクロと呼び、今使ったnewcommandなどで定義できます。何度も使うものはマクロを使うと便利です!

マクロのメリット

  • 一度定義してしまえば書くのが楽
  • 自由にカスタマイズしたマクロを作れる
  • 既に何度も書いたものを一律に変更でき,メンテナンスが楽で正確

マクロ定義の種類

newcommand

通常はnewcommandを使うことが多いです。引数をもつことができます。

DeclareMathOperator

演算子を定義するときに使います。ほかの定義では演算子とその前後の文字が詰まってしまいますが、適度な空白を与えてくれます。
使うときは、amsmathパッケージをusepackageしている必要があります。

def

defは使用をおすすめできません!

defは、定義しようとする命令の名前が既に存在する場合、それを上書きしてしまいます。もし、TeX内部で定義されている命令の名前を再定義しようとすると、警告なしに上書きされてしまいます。

使用方法

ここでは、基本的な使い方を書いておきます。
newcommandをプリアンブルに書くことに注意です!

newcommand

引数なし

引数のいらない定数などは次のように定義できます。

\newcommand{cmd_name}{def}
  • cmd_name:コマンド名。\hogehogeのように、\をつける。
  • def:コマンドの具体的な記述。
例:偏微分の省略表記
\newcommand{\p}{\partial}

\p_x y + \p_y x = 0

 \partial_x y + \partial_y x = 0

引数あり

多少自由度を上げるには引数の機能を使えばOKです。

\newcommand{cmd_name}[args_num]{def}
  • cmd_name:コマンド名。\hogehogeのように、\をつける。
  • args_num:引数の数。
  • def:コマンドの具体的な記述。

引数の場所に引数順に#1#2,...を書きます。ただし、とれる引数は9個までです。

例:偏微分
\newcommand{\p}{\partial}
\newcommand{\pp}[2]{\dfrac{\p #1}{\p #2}}

\pp{y}{x} + \pp{x}{y} = 0

 \dfrac{\partial y}{\partial x} + \dfrac{\partial x}{\partial y} = 0

例:後で消すところを目立たせる
\newcomman{\atode}[1]{\textcolor{red}{#1}}

\atode{ここに図を入れたら削除}

ここに図を入れたら削除

DeclareMathOperator

演算子の定義に使います。

\usepackage{amsmath}
\DeclareMathOperator{cmd_name}{letters}
  • cmd_name:コマンド名。\hogehogeのように、\をつける。
  • letters:演算子として表示させたい文字列。
例:勾配のgradient
\DeclareMathOperator{\grad}{grad}

\grad f(x, y) = 0

 \mathrm{grad} \,f(x, y) = 0

もっと楽に

ゼミの資料作りに毎回同じコマンドを定義するのは面倒なので、たった1行追記するだけでよく使うコマンドをすべて定義してしまいましょう!そのために、同じディレクトリで新しい「.styファイル」を作成します。この中にコマンド定義を書き連ねるだけでOKです!

他ファイルから読み込む際は、\usepackage{sty_name}として「sty_name」をファイル名(拡張子.styを除く)に指定すればOKです。

最後に

他にも種類はあるみたいですが、とりあえずここまでできればある程度便利かと思います。マクロ定義で埋めまくったstyファイルを使って、今日から爆速LaTeX生活を送りましょう。

© BriBoo 2023 All rights reserved.