カウンターを増やす

カウンターを増やす

私の理解では、カウンターは自動的に増加するはずです。しかし、カウンターを使用しようとすると、すべてゼロになります。これが MWE です。

\documentclass[12pt]{article}
\usepackage{lipsum}
\newcounter{mcounter}


\begin{document}
\themcounter \lipsum[1]

\themcounter \lipsum[2]

\themcounter \lipsum[3]
\end{document}

各段落の前にゼロが付いた、印刷されたlipsumテキスト。

実を言うと、指導計画のリストの真ん中にページ カウンターを作成しようとしています。リストは、「1 日目: ワークシート #1、#2、およびメモ。2 日目: ワークシート #3、メモ、およびワークシート #4」のようになります。ワークシートを追加 (または削除) する場合、その日およびそれ以降のリストのすべてに番号を付け直したくありません。

何が間違っているのか、何かアドバイスはありますか? Win 10 PC の Texmaker で LauLaTeX を使用しています。

答え1

あなたが書いた、

私の理解では、カウンターは自動的に増加するはずです。

それは正しくありません。カウンターを作成しても、その値を表示する以外( など\themcounter)にカウンターに対して何も行わない場合は、カウンターの値は0ドキュメント全体を通じて初期値(通常は )のままになります。

\setcounterLaTeX では、カウンタの値は、、、\addtocounterおよびコマンドを使用して変更できます\stepcounter\refstepcounterおよび\setcounter\addtocounter、カウンタの名前と整数の 2 つの引数を取ります。\stepcounterおよび\refstepcounterは、カウンタの値を だけ増加させます1が、引数は 1 つだけ取ります。つまり、値を増加させるカウンタの名前です。

mycounter(a)で指定されたカウンタを増加し1、(b) の新しく増加した値を表示するLaTeXマクロを作成したい場合mycounter、いくつかの方法があります。たとえば、カウンタを次のように作成した後、

\newcounter{mycounter}

の次の 3 つの定義のいずれかを使用できます\showmycounter

\newcommand\showmycounter{\addtocounter{mycounter}{1}\themycounter}
\newcommand\showmycounter{\stepcounter{mycounter}\themycounter}
\newcommand\showmycounter{\refstepcounter{mycounter}\themycounter}

デフォルトでは、ディレクティブ\themycounterとは\arabic{mycounter}同じ出力を生成します。つまり、カウンタの値を表示するために、デフォルトではアラビア数字が使用されます。カウンタの値を、たとえば大文字のローマ数字で表示したい場合は、 を再定義するか\themycounter( を使用\renewcommand\themycounter{\Roman{mycounter}})、上記の\newcommand命令を変更する必要があります。たとえば、

\newcommand\showmycounter{\stepcounter{mycounter}\Roman{mycounter}}

価値カウンターの は、0負の整数を含む任意の整数にすることができます。当然ですが、 の値mycounterが正でない場合、その値をアルファベット文字またはローマ数字で表そうとすると、エラー メッセージが生成されます。


これらのアイデアに基づいた MWE (最小限の動作例):

ここに画像の説明を入力してください

\documentclass{article}
\newcounter{mycounter} % create a new counter, called 'mycounter'
% default def'n of '\themycounter' is '\arabic{mycounter}'

%% command to increment 'mycounter' by 1 and to display its value:
\newcommand\showmycounter{\stepcounter{mycounter}\themycounter}

\usepackage{lipsum}
\newcommand\showlips{\stepcounter{mycounter}\lipsum[\value{mycounter}]}

\begin{document}
\showmycounter, \showmycounter, \showmycounter

\showlips

% verifying that the preceding command used '4':
\lipsum[4]
\end{document}

関連情報