在叔ë X,它是如何可以將字符串,分割爲\mana{X1 2W/UB R /G}
成零件並把它們饋送到另一個宏(在這種情況下,通過像替換宏調用\m{X}\m{12}\m{W/U}\m{B}\m{R/G}
),按照非常簡單的規則進行分組,即:a)連續的數字組成一個組,b)斜線創建一組兩個附近的字符,c)空格將被完全剝離?的TeX:字符串解析和空白剝
我試過substr
包,但它並沒有太大的幫助,只允許找到某些子字符串。手寫的循環如
\def\lcpass#1.{}
\def\lcloop#1#2.{%
\ifempty{#2}%
#1%
\let\continue=\lcpass%
\else%
\let\continue=\lcloop%
\fi%
\continue#2.}
\def\lastchar#1{\lcloop#1.} % returns the last character of a string
失敗時的字符串中的空格結束工作,也不是我成功的\futurelet
。
一般來說,如何處理解析T E X中的字符串的任務?例如,texmate
包允許你寫一些東西,如|1 e4 e5 Nf3 Nc6|
,並自動繪製相應的國際象棋位置。它是如何做到的?有什麼可以閱讀關於字符串中的字符循環和其他T E X這樣的黑客?
什麼毛病我的答案嗎?它看起來更小。 – 2009-08-27 08:28:32