\luatexbanner
次の文字列を出力します:
This is LuaTeX, Version 0.95.0 (TeX Live 2016)
.
しかし、脱ぎたいThis is
。
\StrBehind{\luatexbanner}{This is }
パッケージを使ってみましたxstring
。
しかし、空の文字列しか返ってきません。2回目の試みは
\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 はトークンを「文字列化」する優れた方法を導入しました。