Auf der obersten Ebene der document
Umgebung kann ein (mit ) definiertes Makro \def
in den Namen eines totcount
Zählers erweitert werden. Dies funktioniert aus irgendeinem Grund innerhalb einer Umgebungsdefinition nicht. Ich habe verschiedene Kombinationen von \newcommand
, \expandafter
, \edef
, usw. ausprobiert, von denen keine funktioniert hat.
\documentclass{memoir}
\usepackage{totcount}
\newenvironment{passagequestions}{% This does not work
\def\counterIDX{passagecounterX}%
\newtotcounter{c\counterIDX}%
\total{c\counterIDX}%
}{%
}
\begin{document}
\def\counterID{passagecounter}
\newtotcounter{c\counterID}% This works
\total{c\counterID}
\begin{passagequestions}
this doesn't work
\end{passagequestions}
\end{document}
Antwort1
Da Sie dies innerhalb einer Umgebung tun, müssen Sie \counterIDX
„global“ mithilfe von Folgendem definieren \gdef
:
\documentclass{memoir}
\usepackage{totcount}
\newenvironment{passagequestions}{% This does not work
\gdef\counterIDX{passagecounterX}%
\newtotcounter{c\counterIDX}%
\total{c\counterIDX}%
}{%
}
\begin{document}
\def\counterID{passagecounter}
\newtotcounter{c\counterID}% This works
\total{c\counterID}
\begin{passagequestions}
this doesn't work
\end{passagequestions}
\end{document}