(
및 )
버튼을 \begin{pmatrix}
및 에 별칭을 지정 \end{pmatrix}
하여 수학 모드에서 해당 문자를 입력하면 LaTeX가 마술처럼 해당 문자를 올바른 명령으로 대체할 수 있는 방법이 있는지 궁금합니다 .
내가 아는 한, "멍청한" 버전을 사용할 이유가 없으며, 그렇게 하면 시간이 많이 절약될 것입니다. 이것이 가능한가?
실제로 재정의하는 방법을 묻는 것이 아닙니다 (
. LaTeX에 (
수학 모드의 모든 s를 \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
외부에서 작동하는 것입니다. 환경 내부의 catcode를 재정의하려면 좀 더 많은 연습이 필요합니다(참조환경 정의 내에서 catcode를 어떻게 변경할 수 있습니까?):
\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)