T E Xでは、\mana{X1 2W/UB R /G}
などの文字列を分割して別のマクロにどのように分割することができますか(この場合、マクロ呼び出しを次のように置き換えます\m{X}\m{12}\m{W/U}\m{B}\m{R/G}
)、非常に単純なルールでグループ分けします:a)連続した数字がグループを形成します。b)スラッシュが2つの近くの文字のグループを作成します。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|
のようなものを書くことができ、対応するチェスの位置を自動的に描画します。それはどうですか?文字列やその他の文字をループすることについては何を読むことができますか? E Xハックはこれですか?
私の答えの何が問題?それは小さく見える。 –
何も間違っていませんが、あなたのことを見る機会が来る前に、この解決策を見つけ出すことができました。 –