Notebook
これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。
HTML ファイル生成日時: 2024/09/03 20:25:59.812 (台灣標準時)
LaTeX での counter の利用方法について
講義資料を作っているとき、講義資料の中に練習問題を含めたいことがあるで
ござる。その際、それぞれの練習問題に番号をつけておくと便利でござる。講
義中に、「では、次に 10 個目の練習問題をやってみるでござる。」などと言
えば、どの問題に取り組めばよいのかわかりやすいからでござる。この番号を
手作業で一つ一つ文書中に書き込んでおくと、面倒なことが起きる場合がある
でござる。例えば、練習番号の順番を入れ替えたり、途中に新しい練習問題を
加えたり、既にある練習問題を削除したりする場合に、多数の番号を書き直さ
なくてはならないことになることがあるでござる。 LaTeX を使っているのな
らば、練習問題の数を数えて、番号をふる、などということは、 LaTeX にや
らせた方が確実で間違いがないでござるし、単純作業を LaTeX に任せる方が
より複雑な作業に集中できてよいでござる。
LaTeX で counter を使うには、例えば、以下のようにすればよいようでござ
る。 \newcounter{} で新しいカウンターを作成し、
\setcounter{} で初期値を設定し、 \stepcounter{}
でカウンターの値を一つ増やし、 \theカウンター名 でそのとき
のカウンターの値を出力できるでござる。 \newcommand{}{} を使っ
て、 increment と値の出力をコマンド一つでできるようにしておくと、便利
なようでござる。
\documentclass{article}
\usepackage{tcolorbox}
\newcounter{ExerciseNo}
\setcounter{ExerciseNo}{0}
\newcommand{\PrintExerciseNo}{\stepcounter{ExerciseNo}\theExerciseNo}
\begin{document}
\begin{tcolorbox}
[title={\bf Exercise s08-\PrintExerciseNo},
colframe=blue, colback=blue!15!white]
Make a Python script to calculate $\sin (30^\circ)$ and print the
result of calculation.
\end{tcolorbox}
\begin{tcolorbox}
[title={\bf Exercise s08-\PrintExerciseNo},
colframe=blue, colback=blue!15!white]
Make a Python script to calculate $\cos (60^\circ)$ and print the
result of calculation.
\end{tcolorbox}
\begin{tcolorbox}
[title={\bf Exercise s08-\PrintExerciseNo},
colframe=blue, colback=blue!15!white]
Make a Python script to calculate $\tan (45^\circ)$ and print the
result of calculation.
\end{tcolorbox}
\end{document}
上の LaTeX ファイルを組版した結果は、以下の通りでござる。
これで、基本的には問題ないのでござるが、一つ修正したいことは、常に番号
を二桁にし、 10 よりも小さな数字の場合には、左側にゼロを付け加える、と
いうことでござる。どのようにすればよいのか調べてみたところ、
\two@digits{} を使えばよいようでござった。試してみたでござ
る。カウンターの値を出力するには \theカウンター名 を使えば
よいようなのでござるが、別のマクロによる処理にカウンターの値を使いたい
場合には、 \value{} を使うようでござる。また、 @
を含むマクロを使う場合には、 @ を含む部分を
\makeatletter と \makeatother で挟んでおく必要が
あるようでござる。
\documentclass{article}
\usepackage{tcolorbox}
\newcounter{ExerciseNo}
\setcounter{ExerciseNo}{0}
\makeatletter
\newcommand{\PrintExerciseNo}
{\stepcounter{ExerciseNo}\two@digits{\value{ExerciseNo}}}
\makeatother
\begin{document}
\begin{tcolorbox}
[title={\bf Exercise s08-\PrintExerciseNo},
colframe=blue, colback=blue!15!white]
Make a Python script to calculate $\sin (30^\circ)$ and print the
result of calculation.
\end{tcolorbox}
\begin{tcolorbox}
[title={\bf Exercise s08-\PrintExerciseNo},
colframe=blue, colback=blue!15!white]
Make a Python script to calculate $\cos (60^\circ)$ and print the
result of calculation.
\end{tcolorbox}
\begin{tcolorbox}
[title={\bf Exercise s08-\PrintExerciseNo},
colframe=blue, colback=blue!15!white]
Make a Python script to calculate $\tan (45^\circ)$ and print the
result of calculation.
\end{tcolorbox}
\end{document}
上の LaTeX ファイルを組版した結果は、以下の通りでござる。
参考文献
LaTeX の counter についての参考文献は以下の通りでござる。
- Section 11 of Dickimaw Books
- LaTeX/Counters
- Counters
- \newcounter: Allocating a counter
- \stepcounter
- \makeatletter & \makeatother
LaTeX 全般についての有用そうな文書は以下の通りでござる。
- LaTeX2e: An unofficial reference manual
- learn LaTeX.org
- LaTeX tutorial
- About this article:
- author: daisuke
- file: 20231107_00.html
- category: Computer___TeX
- title: LaTeX での counter の利用方法について
- mode: public
- last modified: 2023/11/16 08:05:05 (Taiwan Standard Time)
- html generated: 2024/09/03 20:25:59.812 (Taiwan Standard Time)
Frequently accessed files
- Computer___Python/20220518_0.html
- 10421 page views
- title: Matplotlib で作る図の縦横比
- Computer___Network/20230726_00.html
- 3226 page views
- title: git の SSL certificate problem の解決方法
- Computer___Network/20230516_00.html
- 2999 page views
- title: OpenVPN 2.6 を使い VPN Gate に接続するときの注意点
- Computer___FreeBSD/20220621_0.html
- 2627 page views
- title: FreeBSD での X.org の設定の仕方
- Misc___Taiwan/20240207_00.html
- 2209 page views
- title: 台灣から台灣の外に EMS で荷物を発送する方法
- Computer___Python/20220715_0.html
- 2017 page views
- title: SciPy による最小二乗法
- Food___Taiwan/20220429_0.html
- 1819 page views
- title: 「楊滇風」の滇味辣炒豬
- Computer___Network/20230508_00.html
- 1699 page views
- title: git push するときにパスワードの入力を省略する方法
- Computer___NetBSD/20220817_3.html
- 1592 page views
- title: JupyterLab のインストール直後に行うべきこと
- Computer___Python/20220410_0.html
- 1556 page views
- title: Pint モジュールを使った単位を含む数値の取り扱い
- Computer___Debian/20210223_1.html
- 1447 page views
- title: Debian で autofs を使い自動で NFS マウントする方法
- Computer___Python/20210124_0.html
- 1355 page views
- title: Python での argparse を使ったコマンドライン引数の取り扱い方法
- Computer___NetBSD/20220818_1.html
- 1336 page views
- title: Emacs の markdown-mode について
- Computer___NetBSD/20220428_0.html
- 1322 page views
- title: Beamer で verbatim 環境を使う方法
- Computer___Python/20221013_0.html
- 1256 page views
- title: Matplotlib での作図において順番を決めて点や線を描画する方法
- Science___Math/20220420_0.html
- 1208 page views
- title: ラプラシアンの三次元極座標表示
- Computer___NetBSD/20230119_00.html
- 1192 page views
- title: NetBSD でバイナリーパッケージを利用する方法
- Science___Astronomy/20220503_0.html
- 1179 page views
- title: Lane-Emden 方程式を数値的に解く
- Computer___TeX/20230503_00.html
- 1178 page views
- title: LaTeX CJK で日本語や中国語を取り扱うための準備について
- Computer___NetBSD/20220808_0.html
- 1162 page views
- title: 端末エミュレーターで使うフォントを指定する方法
- Computer___Network/20240130_00.html
- 1154 page views
- title: Google Colaboratory で Python 3.12 を使う方法
- Computer___NetBSD/20230515_00.html
- 1150 page views
- title: pkgsrc の fetch phase で問題
- Computer___Network/20240416_00.html
- 1102 page views
- title: git push としたときの error: RPC failed
- Computer___NetBSD/20240101_02.html
- 1101 page views
- title: ffmpeg を使って動画に音声を追加する方法
- Travel___Taiwan/20220809_2.html
- 1090 page views
- title: 老鷹溪生態親子步道
- Computer___NetBSD/20210204_0.html
- 1087 page views
- title: Raspberry Pi 4 への NetBSD のインストール
- Computer___Python/20220816_1.html
- 1070 page views
- title: Binder を使って Python スクリプトを実行する
- Science___Astronomy/20220420_1.html
- 1051 page views
- title: CFITSIO の使い方についての記録
- Food___Taiwan/20230526_00.html
- 1039 page views
- title: 台南の「娟姐牛肉湯」の牛肉湯
- Computer___Python/20240101_00.html
- 1017 page views
- title: Matplotlib の 3D plot においての注意点
HTML file generated by Kinoshita Daisuke.