cangoxina

生産性向上見習いのブログ的な何かです

LaTeXでwarningを出してくれるTODOコマンドを2行で作った

卒論、修論シーズンですね。 僕も現在修論をゴリゴリ書いています。

後で記述したいことや、後で直したいことをTODOみたいにとりあえず書いておきたいことってありませんか?

コメントを使うことでTODOを入れることは可能ですが、もしかしたら書いたまま忘れてしまうかもしれません。

今回は、warningを出力してくれるTODOコマンドを作りました。


目次


4行でわかる使い方

\newcommand\todo[1]{\PackageWarning{Todo}{Detection TODO:#1}\textcolor{red}{(TODO:#1)}}

% TODOを入れたい場所に記述する。
\todo{VDMJに関することを書く。既存のBWDM、拡張したBWDMの章で説明したこともこっちで書くべきかもしれない。}

例えば、上のようにすると、下の画像のように、 (TODO:<メッセージ>)という書式でPDFに赤字のメッセージを出力してくれます。 赤字なのでわかりやすいですね。

f:id:korosuke613:20200117215804p:plain

しかも、コンパイル時に下のようなwarningを出力してくれます。

Package Todo Warning: Detection TODO:ぜんぜんBWDMの説明になっていないので、もっと既存のBWDMにできることを説明する。 on input line 341.

warningを出力してくれるので、例えばVS CodeLaTeX-Workshopを使っていた場合、以下の画像のように、下線(ニョロニョロ)を表示してくれます。

f:id:korosuke613:20200117220520p:plain

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 CodeLaTeXを記述するのにおすすめの方法が、Remote Container機能を使うことです。以下のリンクの方法でできます。(僕が書いた記事です。

korosuke613.hatenablog.com



スポンサーリンク