별칭(\begin{pmatrix}?

별칭(\begin{pmatrix}?

()버튼을 \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)

관련 정보