einen Zähler erhöhen

einen Zähler erhöhen

So wie ich es verstehe, sollte ein Zähler automatisch hochzählen. Wenn ich jedoch versuche, einen zu verwenden, erhalte ich nur Nullen. Hier ist ein MWE.

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


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

\themcounter \lipsum[2]

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

Gedruckter Lipsum-Text mit Nullen vor jedem Absatz.

Ehrlich gesagt versuche ich, einen Seitenzähler in der Mitte einer Liste mit Unterrichtsplänen zu erstellen. Die Liste sieht ungefähr so ​​aus: „Tag 1: Arbeitsblätter Nr. 1, Nr. 2 und Notizen. Tag 2: Arbeitsblätter Nr. 3, Notizen und Arbeitsblatt Nr. 4“. Wenn ich ein Arbeitsblatt hinzufüge (oder eines entferne), möchte ich nicht alles in der Liste für diesen Tag und alle folgenden Tage neu nummerieren.

Irgendwelche Vorschläge, was ich falsch mache? Ich verwende LauLaTeX auf Texmaker auf einem Win 10-PC.

Antwort1

Sie schrieben,

So wie ich das verstehe, soll ein Zähler automatisch hochzählen.

Das ist nicht richtig. Wenn Sie einen Zähler erstellen, aber nie etwas damit machen, außer seinen Wert anzuzeigen (etwa über \themcounter), bleibt der Wert des Zählers 0im gesamten Dokument auf seinem Anfangswert (normalerweise ).

In LaTeX kann der Wert eines Zählers mit den Befehlen \setcounter, \addtocounter, \stepcounter, und geändert werden \refstepcounter. \setcounterund \addtocounternehmen zwei Argumente entgegen: den Namen des Zählers und eine ganze Zahl. \stepcounterund \refstepcountererhöhen den Wert des Zählers um 1, und sie nehmen nur ein Argument entgegen – den Namen des Zählers, dessen Wert erhöht werden soll.

Wenn Sie ein LaTeX-Makro erstellen möchten, das (a) den Zähler mit dem Namen erhöht mycounterund 1(b) den neu erhöhten Wert von anzeigt mycounter, können Sie dies auf verschiedene Weise tun. Beispielsweise können Sie nach dem Erstellen des Zählers mit

\newcounter{mycounter}

Sie können eine der folgenden drei Definitionen von verwenden \showmycounter:

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

Standardmäßig erzeugen die Anweisungen \themycounterund \arabic{mycounter}dieselbe Ausgabe, d. h., standardmäßig werden arabische Ziffern verwendet, um den Wert eines Zählers anzuzeigen. Wenn Sie den Wert des Zählers beispielsweise als römische Großzahl anzeigen möchten, müssen Sie entweder die obigen Anweisungen neu definieren \themycounter(über \renewcommand\themycounter{\Roman{mycounter}}) oder ändern \newcommand, z. B.:

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

DerWerteines Zählers kann jede beliebige ganze Zahl sein, einschließlich 0negativer ganzer Zahlen. Es ist nicht überraschend, dass bei einem nicht positiven Wert der mycounterVersuch, den Wert als alphabetisches Zeichen oder römische Zahl darzustellen, eine Fehlermeldung erzeugt.


Ein MWE (Minimum Working Example), das auf diesen Ideen aufbaut:

Bildbeschreibung hier eingeben

\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}

verwandte Informationen