
\message{…}
是否可以像可擴展巨集中那樣列印訊息以進行偵錯?我嘗試使用 建立可擴展函數\message{}
,但無法將它們插入\num{…}
需要擴展字串的 siunit 中。
\documentclass[]{article}
\usepackage{siunitx}
\begin{document}
\NewExpandableDocumentCommand{\foo}{}{
\message{Foo}%
42%
}
\num{\foo}
\end{document}
答案1
在 luatex 中你可以從 Lua 列印,例如
\documentclass[]{article}
\usepackage{siunitx}
\begin{document}
\NewExpandableDocumentCommand{\foo}{}{%
\directlua{print('Foo')}%
42%
}
\num{\foo}
\end{document}
或者,texio
如果您想寫入日誌和終端,請使用模組功能。
否則,您可以使用(例如)gobble,然後打開追蹤):
\usepackage{siunitx}
\def\MESSAGE#1{}
\begin{document}
\NewExpandableDocumentCommand{\foo}{}{%
\MESSAGE{Foo}%
42%
}
\tracingmacros=1
\tracingonline=1
\num{\foo}
\tracingnone
\end{document}
運行與
pdflatex file | grep -A2 'MESSAGE #1'
產生終端輸出
\MESSAGE #1->
#1<-Foo