(
および)
ボタンを および に\begin{pmatrix}
エイリアスして\end{pmatrix}
、数式モードでこれらの文字を入力すると、LaTeX がそれらを正しいコマンドに自動的に置き換えることができるようにする方法があるかどうか知りたいです。
私の知る限り、「ダム」バージョンを使用する理由はなく、多くの時間を節約できます。これは可能ですか?
実際に を再定義する方法を尋ねているのではありません。LaTeXに数式モードの(
すべての を に置き換えるように依頼しているのです。(
\begin{pmatrix}
答え1
編集
私が見た元の質問で\( ... \)
は に拡張するように求められていまし\begin{pmatrix} ... \end{pmatrix}
たが、実際には OP は( ... )
自動的に に拡張することを望んでいます\begin{pmatrix} ... \end{pmatrix}
。これは の重複であるため、私はこれをクローズすることに投票しました。自動左右コマンド(LSpiceの回答を参照)、その後質問は閉じられ、再度開かれました。そこで、再度回答します。
OP が望むことを実現するための秘訣は(
、)
アクティブなキャラクターを作成することです。これが完了すると、キャラクターは自由に再定義できます。
\documentclass{amsart}
\let\lparen=(\let\rparen=) % save parentheses
\catcode`(=\active\catcode`)=\active % make them active
\def({\begin{pmatrix}} % redefine them
\def){\end{pmatrix}}
\begin{document}
\[ ( 1 & 0 & 1 \\ 0 & 1 & 0\\ 0 & 0 & 1 ) \]
\end{document}
(
このコードでは、またはと入力する場合は、および)
を使用する必要があります。これにより、奇妙であまり好ましくない副作用が発生する可能性が高くなります。\lparen
\rparen
(
もう少し良いアプローチとしては、)
と が に展開されて となり、この外では正常に動作する環境を定義することですpmatrix
。環境内で catcodes を再定義するには、もう少し複雑な操作が必要です (環境の定義内で catcodes を変更するにはどうすればよいでしょうか?):
\documentclass{amsart}
\let\lparen=(\let\rparen=)% save parentheses
\catcode`(=\active\catcode`)=\active% change catcode for newenvironment
\newenvironment{pequation}{%
\catcode`(=\active\catcode`)=\active% make them active in environment
\def({\begin{pmatrix}}% redefine them
\def){\end{pmatrix}}%
\equation%
}{\endequation}
\catcode`(=12\catcode`)=12% restore to original catcodes
\begin{document}
\begin{pequation}
( 1 & 0 & 1 \\ 0 & 1 & 0\\ 0 & 0 & 1 )
\end{pequation}
$\sin(x)$
\end{document}
元の回答
あなたならこれができる本当にしたいのですが、コメントが示すように、ほとんどの人はこれを推奨しません。主な問題は、LaTeXがデフォルトで\( ... \)
数式をタイプセットするために使用するため、(ほぼ)次のコードと同等であるということです$ ... $
。実際、数式モードではドル記号よりも \( と \) の方が適していますか?は、 \(...\)
よりよいエラーメッセージを提供します。この\(...\)
コマンドは、LaTeXが数式をタイプセットする際に を使用するように推奨する方法と対照的です\[ ... \]
。\[ ... \]
ないと同等$$ ... $$
!参照\[ ... \] が $$ ... $$ よりも好ましいのはなぜですか?。
ただし、\renewcommand
(または\def
) を使用して任意のコマンドの定義をオーバーライドできます。コマンドの定義をオーバーライドすると、他の何かが壊れる可能性があるため、コマンドの定義をオーバーライドする場合は注意が必要です。
これらの注意事項を除けば、次の操作で必要な処理が実行されます。
\documentclass{amsart}
\renewcommand\({\begin{pmatrix}}
\renewcommand\){\end{pmatrix}}
\begin{document}
Here is a wonderful matrix
\[ \( 1 & 0 & 1 \\ 0 & 1 & 0\\ 0 & 0 & 1\) \]
\end{document}
意図しない結果が生じる可能性もありますが、これは問題ないと思います。ただし、共著者を混乱させる可能性はあります。私の意見では、これを実行するより良い方法は、エディターを適切に設定することです:)
[告白しますが、私は\(
以前 を\bigl(
、\)
を と再定義していた\bigr)
ので、上記の「これを行うべきではない」という道徳的主張には疑問があります。]