\luatexbanner
列印以下字串:
This is LuaTeX, Version 0.95.0 (TeX Live 2016)
.
然而,我想脫掉This is
。
我嘗試過\StrBehind{\luatexbanner}{This is }
使用該包xstring
。
但是,它僅返回一個空字串。我的第二次嘗試是
\StrExpand[10]{\luatexbanner}{\mystring}\mystring\\
\StrBehind{\mystring}{This is }
但這裡沒有改變。
答案1
\luatexbanner
產生一個類別代碼為 12 個字元的字串(空格仍然是類別代碼 10)。
\documentclass{article}
\usepackage{xstring}
\StrBehind{\luatexbanner}{\detokenize{This is }}[\mybanner]
\begin{document}
\texttt{\mybanner}
\end{document}
也\detokenize
將由This is
類別代碼為 12 的字元組成。
TeX 世界中的一個常見策略是,以這種方式產生的所有字串都具有類別代碼 12 的字符,但保留類別代碼 10 的空格除外。
\the
\meaning
在古典 TeX 中; e-TeX、PDFTeX、LuaTeX 和 XeTeX 新增的內容遵循相同的模式。這是為了確保可預測的結果;另一方面,這有時會使像您的情況那樣進行比較變得更加困難。透過\detokenize
,e-TeX 引入了一種「字串化」標記的好方法。