卒論、修論シーズンですね。 僕も現在修論をゴリゴリ書いています。
後で記述したいことや、後で直したいことをTODOみたいにとりあえず書いておきたいことってありませんか?
コメントを使うことでTODOを入れることは可能ですが、もしかしたら書いたまま忘れてしまうかもしれません。
今回は、warningを出力してくれるTODOコマンドを作りました。
目次
4行でわかる使い方
\newcommand\todo[1]{\PackageWarning{Todo}{Detection TODO:#1}\textcolor{red}{(TODO:#1)}} % TODOを入れたい場所に記述する。 \todo{VDMJに関することを書く。既存のBWDM、拡張したBWDMの章で説明したこともこっちで書くべきかもしれない。}
例えば、上のようにすると、下の画像のように、
(TODO:<メッセージ>)
という書式でPDFに赤字のメッセージを出力してくれます。
赤字なのでわかりやすいですね。
しかも、コンパイル時に下のようなwarningを出力してくれます。
Package Todo Warning: Detection TODO:ぜんぜんBWDMの説明になっていないので、もっと既存のBWDMにできることを説明する。 on input line 341.
warningを出力してくれるので、例えばVS CodeとLaTeX-Workshopを使っていた場合、以下の画像のように、下線(ニョロニョロ)を表示してくれます。
todoコマンドの定義
\todo
コマンドの定義について説明します。
\newcommand\todo[1]{\PackageWarning{Todo}{Detection TODO:#1}\textcolor{red}{(TODO:#1)}}
\newcommand\コマンド名[引数の数]{行う処理}
で新しいコマンドを定義することができます。
今回は、\newcommand\todo[1]
としているので、「\todo
という引数が1つのコマンドを定義する」という意味になります。
「行う処理」について説明します。
\PackageWarning{パッケージ名}{出力するwarningメッセージ}
で、warningを出すことができます。パッケージ名に関しては、適当な名前で構いません。(たぶん)出力するwarningメッセージは、Detection TODO:#1
としています。#1
には定義するコマンドの第一引数が代入されます。したがって、\todo{あああ}
という記述をすると、Detection TODO:あああ
というwarningが出力されます。
そのあとは、warningを出す処理の後に、\textcolor{red}{(TODO:#1)}
を定義しています。これで、出力されるPDFに実際にTODO:あああといった文字列が記述されます。
使いやすいようにカスタマイズしてみてください。
ちなみに
ちなみに、VS CodeでLaTeXを記述するのにおすすめの方法が、Remote Container機能を使うことです。以下のリンクの方法でできます。(僕が書いた記事です。)