Notebook
これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。
HTML ファイル生成日時: 2025/12/20 22:03:40.427 (台灣標準時)
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: 2025/12/20 22:03:40.427 (Taiwan Standard Time)
Frequently accessed files
- Misc___Taiwan/20240207_00.html
- 391 page views
- title: 台灣から台灣の外に EMS で荷物を発送する方法
- Computer___TeX/20240410_00.html
- 216 page views
- title: pdfTeX を使って PDF ファイルを作る方法
- Computer___TeX/20231107_00.html
- 215 page views
- title: LaTeX での counter の利用方法について
- Misc___Taiwan/20240819_00.html
- 193 page views
- title: 住所から台灣の郵便番号を調べる方法
- Book___Chinese/20240424_00.html
- 147 page views
- title: 曹操の詩
- Computer___TeX/20230726_01.html
- 141 page views
- title: Beamer の Metropolis テーマで block の色を変える方法
- Computer___TeX/20240411_00.html
- 115 page views
- title: LuaTeX を使って PDF ファイルを作成する方法
- Computer___Python/20250330_00.html
- 103 page views
- title: Jupyter Notebook で Matplotlib を使うときのこと
- Misc___Japan/20240718_00.html
- 102 page views
- title: 日本の運転免許証が失効してしまったときの再取得の手続きについて
- Misc___Taiwan/20240903_01.html
- 101 page views
- title: 台湾の郵便局で EMS を利用して荷物を海外に送る方法
- Computer___Network/20230516_00.html
- 96 page views
- title: OpenVPN 2.6 を使い VPN Gate に接続するときの注意点
- Computer___NetBSD/20250301_01.html
- 94 page views
- title: yt-dlp で YouTube の動画をダウンロードするときのこと
- Computer___TeX/20240414_00.html
- 92 page views
- title: LuaTeX での fontspec を使ったフォントの設定の方法
- Computer___TeX/20240414_01.html
- 87 page views
- title: LuaTeX を使って日本語と中国語の漢字が混在した PDF ファイルを作成する方法
- Computer___NetBSD/20230119_00.html
- 87 page views
- title: NetBSD でバイナリーパッケージを利用する方法
- Computer___FreeBSD/20220621_0.html
- 85 page views
- title: FreeBSD での X.org の設定の仕方
- Computer___Network/20240130_00.html
- 83 page views
- title: Google Colaboratory で Python 3.12 を使う方法
- Computer___Python/20220518_0.html
- 81 page views
- title: Matplotlib で作る図の縦横比
- Computer___Python/20220715_0.html
- 80 page views
- title: SciPy による最小二乗法
- Computer___Network/20241214_00.html
- 78 page views
- title: Google Colab で Python 3.12 を使う方法
- Computer___NetBSD/20240810_00.html
- 72 page views
- title: Raspberry Pi 5 に NetBSD-10 をインストールしてみた
- Computer___Debian/20230102_00.html
- 72 page views
- title: Debian GNU/Linux で KVM を使い仮想機械を動かす手順の記録
- Computer___NetBSD/20250113_00.html
- 69 page views
- title: TigerVNC での X server の解像度の指定について
- Computer___NetBSD/20250409_00.html
- 69 page views
- title: Raspberry Pi 5 に NetBSD-10.1 をインストールする手順
- Computer___Python/20240101_00.html
- 67 page views
- title: Matplotlib の 3D plot においての注意点
- Computer___NetBSD/20240805_03.html
- 65 page views
- title: NetBSD 10 のインストール
- Computer___NetBSD/20241102_00.html
- 65 page views
- title: ImageMagick の convert コマンドについて
- Computer___Hardware/20240820_00.html
- 61 page views
- title: Raspberry Pi 5 の演算性能
- Misc___Japan/20240610_00.html
- 61 page views
- title: NHK ラジオの「聞き逃し」の変更点 (2024 年 06 月)
- Computer___Python/20220410_0.html
- 60 page views
- title: Pint モジュールを使った単位を含む数値の取り扱い
HTML file generated by Kinoshita Daisuke.