defの問題
Problems With Def
解決:
あなたが使用することができますこのジョブのxparseは、
r引数タイプはネストを処理します。
documentclass {article} usepackage {amsmath} usepackage {xparse} NewDocumentCommand { twomate} {> { SplitArgument {3} {、}} r()} {% maketwomate#1%} NewDocumentCommand { maketwomate } {mmmm} {% begin {pmatrix}#1&#2 \#3&#4 end {pmatrix}%} NewDocumentCommand { pwr} {r()} {^ {#1}} begin {document } [ twomate(3e pwr(-3t)、e pwr(2t)、-e pwr(-3t)、-2e pwr(2t))] end {document}ただし、()区切り文字は良い考えではないようです。以下は同様に明確であり、フロントエンドの構文の色付けでより適切に動作します。
documentclass {article} usepackage {amsmath} usepackage {xparse} NewDocumentCommand { twomate} {> { SplitArgument {3} {、}} m} {% maketwomate#1%} NewDocumentCommand { maketwomate} { mmmm} {% begin {pmatrix}#1&#2 \#3&#4 end {pmatrix}%} NewDocumentCommand { pwr} {m} {^ {#1}} begin {document} [ twomate {3e pwr {-3t}、e pwr {2t}、-e pwr {-3t}、-2e pwr {2t}} ] end {document}
あなたの defには、パラメータテキストとして定義された非常に具体的なシーケンスが含まれています。
%1 2 3 4 5 def twomate(、、、){...}%^ ^ ^ ^ ^%││││││%│└コンマ┘│%└───ブラケット───┘このパラメータテキストは、4つの引数を抽出するために(ほぼ先着順のスタイルのように)正確に一致します、、と。これが要素がどのように取得されるかです上記の表記の twomate:
%1 2 3 4 5 twomate(3e pwr(-3t)、e pwr(2t)、-e pwr(-3t)、-2e pwr(2t))%^ ^ ^ ^ ^%││ │││%│└──────コンマ────────┘│%└─────────────────ブラケット─────── ───────────┘最後の角かっこが)が適切にキャプチャされていない pwr。それを回避する方法は隠すことです pwr(。)from twomate:
documentclass {article} usepackage {amsmath} def twomate(#1、#2、#3、#4){ begin {pmatrix}#1&#2 \#3&#4 end {pmatrix}} def pwr(#1){^ {#1}} begin {document} [ twomate(3e pwr(-3t)、e pwr(2t)、-e pwr(-3t)、{- 2e pwr(2t)})] end {document}これにより、問題は一時的にのみ解決されます。要素をネストすると、パラメータのテキストパターンマッチングが原因で同様の問題が発生します。一般に、を使用して引数をグループ化する方が安全です。{..。}。
TeXの区切りパラメーターの解析では、ネストが適切に考慮されていません。だからあなたが呼ぶなら twomate(3e pwr(-3t)、...)、ファイナル) にとって twomateはその行の終わりではなく、最後に見つかります pwr(-3t)。不適切に形成されたの呼び出し pwrは問題を引き起こします。
コマンドのネストされた呼び出しを非表示にするには、それらをに入れます{...}グループ(これはおそらく目的を無効にしますが):
documentclass {article} usepackage {amsmath} def twomate(#1、#2、#3、#4){ begin {pmatrix}#1&#2 \#3&#4 end {pmatrix}} def pwr(#1){^ {#1}} def twoclmn(#1、#2){ begin {pmatrix}#1 \#2 end {pmatrix}} begin {document} [ twomate({3e pwr(-3t)}、{e pwr(2t)}、{-e pwr(-3t)}、{-2e pwr(2t)})] end {document}
ちなみに、使用しないでください$$ ... $$は数学環境を表示しますが、LaTeXまたはのようなamsmathの変種 [... ]。