Ich möchte Etiketten mit Barcodes erstellen. Die einzelnen Barcodes sollten eine Zahlenfolge sein, die Objekte identifiziert. Nach einigem Ausprobieren GS1
schien das Paket für mich zu funktionieren.
Da ich eine Zahlenfolge habe, erscheint es naheliegend, eine For-Schleife zu verwenden. Das Problem dabei ist, dass die generierten Barcodes alle den Wert 0 haben.
Vielleicht liegt das Problem darin, dass \EANBarcode
ein String statt einer Ganzzahl erwartet wird. Ich weiß nicht, wie LaTeX mit Variablentypen umgeht und wie man die Zahl 1 in den String „1“ umwandelt und ob das hier relevant ist.
\documentclass[a4paper]{article}
\usepackage{labels}
\usepackage{GS1}
\usepackage{forloop}
\LabelCols=4
\LabelRows=11
\GSSetup{module_height=15mm}
\begin{document}
\newcounter{loop}
\forloop{loop}{1}{\value{loop} < 45}{
\addresslabel{
\EANBarcode{\arabic{loop}}
}
}
\end{document}
Antwort1
Es muss \EANBarcode
eine eindeutige Nummer übergeben werden:
\documentclass[a4paper]{article}
\usepackage{labels}
\usepackage{GS1}
\usepackage{forloop}
\LabelCols=4
\LabelRows=11
\GSSetup{module_height=15mm}
\begin{document}
\newcounter{loop}
\forloop{loop}{1}{\value{loop} < 45}{%
\addresslabel{%
\expandafter\EANBarcode\expandafter{\the\value{loop}}%
}%
}
\end{document}
Kürzerer Code mit expl3
:
\documentclass[a4paper]{article}
\usepackage{labels}
\usepackage{GS1}
\usepackage{expl3}
\LabelCols=4
\LabelRows=11
\GSSetup{module_height=15mm}
\begin{document}
\ExplSyntaxOn
\int_step_inline:nnnn { 1 } { 1 } { 44 }
{
\addresslabel{\EANBarcode{#1}}
}
\ExplSyntaxOff
\end{document}