
\message{…}
Ist es möglich, eine Nachricht wie in einem erweiterbaren Makro zu Debugzwecken auszudrucken ? Ich habe versucht, erweiterbare Funktionen mit zu erstellen \message{}
, aber ich kann sie nicht in eine Siunit einbinden \num{…}
, die eine erweiterte Zeichenfolge erwartet.
\documentclass[]{article}
\usepackage{siunitx}
\begin{document}
\NewExpandableDocumentCommand{\foo}{}{
\message{Foo}%
42%
}
\num{\foo}
\end{document}
Antwort1
In Luatex können Sie aus Lua drucken, z. B.
\documentclass[]{article}
\usepackage{siunitx}
\begin{document}
\NewExpandableDocumentCommand{\foo}{}{%
\directlua{print('Foo')}%
42%
}
\num{\foo}
\end{document}
Oder nutzen Sie die texio
Modulfunktionen, wenn Sie sowohl in das Protokoll als auch in das Terminal schreiben möchten.
Andernfalls können Sie beispielsweise „gobble“ verwenden und dann das Tracing aktivieren):
\usepackage{siunitx}
\def\MESSAGE#1{}
\begin{document}
\NewExpandableDocumentCommand{\foo}{}{%
\MESSAGE{Foo}%
42%
}
\tracingmacros=1
\tracingonline=1
\num{\foo}
\tracingnone
\end{document}
laufen mit
pdflatex file | grep -A2 'MESSAGE #1'
erzeugt Terminalausgabe
\MESSAGE #1->
#1<-Foo