はじめに
LaTeXで progressbar パッケージを使うと、進捗状況を示すためのプログレスバーを簡単に出力することができる。例えば、\progressbar{0.6} と記述するだけで、60%完了したことを示すプログレスバーが以下のように出力できる。
以下、progressbar パッケージの導入方法、プログレスバーの出力方法、プログレスバーのカスタマイズの方法について述べる。
progressbar パッケージの出力結果の例を収めたPDFを用意してある。今回の記事の事例はすべてこのPDFに含まれている。
progressbar パッケージの設定
インストール
最近のTeX Liveには、progressbar パッケージが最初から入っている。このため、わざわざインストールしなくても progressbar パッケージを使うことができる。
progressbar パッケージがインストールされていなかったら、CTANのprogressbar パッケージのページからダウンロードしてインストールすればよい。インストールの方法は環境によって異なるので、ここでは詳細を書かない。TeXWikiの「TeX入門/各種パッケージの利用」というページを参考にすると良いだろう。
また、progressbar パッケージは、内部的にcalc, kvsetkeys, kvoptions, tikz といったパッケージも使用しているので、これらのパッケージがなければ合わせてインストールする必要がある。ただし、これらのパッケージは、最近の TeX のディストリビューションにしっかり収録されていることが多いので、わざわざインストールしなくてはならない状況はあまりないだろう。
プリアンブルへの記述
progressbar パッケージを使うためには、LaTeXのソースファイル [1] のプリアンブル [2] に以下のように記せば良い。(2015年11月22日:誤字修正)
\usepackage{calc} \usepackage{kvsetkeys} \usepackage{kvoptions} \usepackage{tikz} \usepackage{progressbar}
progressbar パッケージを使うには、 progressbar パッケージそのものだけでなく、上記のように、他の依存しているパッケージも読み込む必要がある。
また、progressbar パッケージは、tikz を使っていることから、dvipdfmx でPDFを作成する場合、プリアンブルでにおいて dvipdfmx で出力することを明示しておく必要がある。例えば以下のよう記述しておけば、dvipdfmx でもうまく出力される。
\usepackage[dvipdfmx]{graphicx} \usepackage{calc} \usepackage{kvsetkeys} \usepackage{kvoptions} \usepackage{tikz} \usepackage{progressbar}
プログレスバーの出力
プログレスバーを出力するには、 \progressbar コマンドを使う。このコマンドは引数を1つとる。この引数には、完了した割合を示す数値を入れる。例えば、 \progressbar{0.75} とコマンドを入力すれば、以下のように75%完了した状況を示すプログレスバーが出力される。
100%完了した状況を示したかったら、 \progressbar{1} と入力する。
全く完了していない状況、つまり0%完了した状況を示したかったら、 \progressbar{0} と入力する。
プログレスバーのカスタマイズ
オプションを指定することでプログレスバーの色や大きさなどを変えることができる。
プログレスバーの色
以下のオプションを指定することで、プログレスバーの要素の色を変更することができる。
- linecolor
- プログレスバーの外側を囲む線の色を指定
- tickscolor
- プログレスバーの目盛りの色を指定
- filledcolor
- プログレスバーの完了した部分を塗りつぶす色を指定
- emptycolor
- プログレスバーの未完了の部分を塗りつぶす色を指定
例えば、 \progressbar[linecolor=purple, tickscolor=yellow, filledcolor=green, emptycolor=red]{0.6}と設定すると、以下のように、外側を囲む線の色が紫、目盛りの色が黄色、完了した部分の色が緑、未完了の部分の色が赤になる。
プログレスバーの大きさ
プログレスバーの横幅は、width オプションで指定できる。例えば、 \progressbar[width=4cm]{0.6} と指定すれば、横幅が4 cmのプログレスバーが出力される [4] 。
プログレスバーの高さを指定するオプションは2つある。テキストの高さに対する相対的な高さを指定する heightr と、絶対的な高さを指定する heighta である。
例えば、heightr を使って \progressbar[heightr=0.5]{0.6} と指定すればプログレスバーの高さはテキストの高さの50%になる。また、heightaw を使って \progressbar[heighta=1.5cm]{0.6} と指定すれば、プログレスバーの高さは1.5 cmになる。
プログレスバーの角丸
プログレスバーはデフォルトでは、角が丸まった状態になっている。角丸を調整するオプションは roundnessr と roundnessa の2つがある。
roundnessr は角丸の半径をプログレスバーの高さに対して相対的に指定する。値を0とすれば角の丸めがなくなる。値を0.5とすれば角が完全に丸くなる [5] 。例えば、\progressbar[roundnessr=0.25]{0.6}, \progressbar[roundnessr=0.5]{0.6}, \progressbar[roundnessr=0]{0.6} の出力はそれぞれ以下のようになる。
なお、roundnessa は角丸の半径を絶対的な長さで指定するオプションである。あまり使う機会はないだろう。
目盛りの調整
デフォルトでは、プログレスバーの中には9カ所の目盛りが打たれ、結果として10等分される。何等分するかを変更したければ、 subdivisions オプションを使おう。例えば、subdivisions=5 と指定すれば、5等分される。このとき、目盛りは5カ所に打たれるのではなく、4カ所にしか打たれないことに注意しよう。
tickswidth オプションで、目盛りの横幅を変えることができる。このオプションは絶対的な長さを指定する。例えば、\progressbar[tickswidth=1mm]{0.6} と入力すれば以下のような出力が得られる。
また、 ticksheight オプションで、目盛りの高さを変えることができる。このオプションはプログレスバー全体の高さに対して相対的な長さを指定する。例えば、\progressbar[ticksheight=0.5]{0.6}, \progressbar[ticksheight=1]{0.6}, \progressbar[ticksheight=0]{0.6} はそれぞれ以下のような出力となる。
個人的には、ticksheight=1 と指定すると、目盛りが見やすくなって良いと思う。
プログレスバーの外側を囲む線の太さ
プログレスバーの外側を囲む線の太さを変えるには、 borderwidth オプションを使う。例えば、 \progressbar[borderwidth=2pt]{0.6} と入力すれば、以下のように外側を囲む線の太さが2ポイントになる。
- 一般的には、.tex という拡張子のファイルになる。 [↩]
- LaTeXのソースファイルの冒頭部分にあるパッケージの使用などを記述する場所のこと。\documentclass と \begin{document} の間と言うと分かりやすいだろう。 [↩]
- このプログレスバーは、オプションを linecolor=black, tickscolor=black!80, filledcolor=green, emptycolor=red, width=4cm, heighta=1.5cm, ticksheight=1, roundnessr=0 と指定している。 [↩]
- \progressbar[width=\hsize]{0.6} と指定すれば、横幅いっぱいのプログレスバーが出力される。 [↩]
- 0.5を超える値は取りえない。 [↩]