Integerwert aus Makro einem Counter zuordnen

Vorlagen für Hausarbeiten, Diplomarbeiten, etc. von Usern für User.
diaasc
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Mi 22. Feb 2017, 19:19
Wohnort: Waiblingen

Integerwert aus Makro einem Counter zuordnen

Beitrag von diaasc »

Dem Makro \monslots3 ist der Wert 13 zugeordnet. Diesen Wert weise ich dem Makro \tempcoma um es anschließend dem Counter tempcounter zuzuweisen. Damit wollte ich eigentlich erreichen, dass das Makro monslots3 vollständig expandiert wird um nur den Wert 13 zu erhalten.

Wenn es möglich ist den Zwischenschritt wegzulassen, umso besser.

Hat jemand eine Idee?

Vielen Dank!

Code: Alles auswählen

% !TeX program = lualatex
% !TeX encoding = UTF-8
% !TeX spellcheck = de_DE_frami
%
\documentclass[paper=A4, 11pt]{scrartcl}
\usepackage{fontspec}
\usepackage{polyglossia}
\setdefaultlanguage[variant=german, spelling=new, babelshorthands=true]{german}
\newcounter{slotcounter}
\newcounter{tempcounter}
\setcounter{slotcounter}{3}
\setcounter{tempcounter}{7}
\begin{document}
   \expandafter\newsavebox\csname monslots\theslotcounter\endcsname
   \expandafter\savebox\csname monslots\theslotcounter\endcsname{13}
   \makeatletter
   \protected@edef\tempcoma{\expandafter\usebox\csname monslots\theslotcounter\endcsname}
   \tempcoma\newline
   \setcounter{tempcounter}{\tempcoma}
   \thetempcounter
   \makeatother
\end{document}

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4036
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Du kannst nicht den Inhalt einer Box einem Zähler zuordnen. Wieso verwendest du eine Box und nicht einen normalen Befehl?

diaasc
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Mi 22. Feb 2017, 19:19
Wohnort: Waiblingen

Beitrag von diaasc »

u_fischer hat geschrieben:Du kannst nicht den Inhalt einer Box einem Zähler zuordnen. Wieso verwendest du eine Box und nicht einen normalen Befehl?
Weil ich dachte, dass man dafür eine Box braucht. Deine Frage hat mich auf den richtigen Weg gebracht, Problem gelöst.

Danke !

Antworten