Alias ​​(para \begin{pmatrix}?

Alias ​​(para \begin{pmatrix}?

Estou me perguntando se existe alguma maneira de criar um alias para os botões and (e , para que, quando eu digitar esses caracteres no modo matemático, o LaTeX os substitua magicamente pelos comandos corretos.)\begin{pmatrix}\end{pmatrix}

Pelo que sei, não há razão para usar as versões "burras" e isso me pouparia muito tempo. Isso é possível?

Na verdade, não estou perguntando como redefinir (. Estou pedindo ao LaTeX para substituir todos (os s no modo matemático por \begin{pmatrix}.

Responder1

Editar

A pergunta original que vi pedia \( ... \)para expandir para, \begin{pmatrix} ... \end{pmatrix}mas, na verdade, o OP deseja ( ... )expandir automaticamente para \begin{pmatrix} ... \end{pmatrix}. Votei para fechar isto porque é uma duplicata deComandos automáticos para esquerda e direita(veja a resposta do LSpice), e então a questão foi encerrada e reaberta. Então, eu respondo novamente.

O truque para fazer o que o OP deseja é criar (personagens )ativos. Feito isso, eles podem ser redefinidos à vontade:

\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}

Com este código, se você quiser digitar (ou )então você precisa usar \lparenand \rparen. É bem provável que isso tenha efeitos colaterais estranhos e não tão maravilhosos.

Uma abordagem um pouco melhor seria definir um ambiente onde (e )expandir para dar um ambiente pmatrixe fora disso eles se comportem normalmente. Redefinir catcodes dentro de um ambiente requer um pouco mais de ginástica (vejaComo alguém poderia alterar os catcodes dentro da definição de um ambiente?):

\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}

Resposta original

Você pode fazer isso se vocêrealmentegostaria, mas, como mostram os comentários, a maioria das pessoas recomendaria não fazer isso. A questão principal é que, por padrão, o LaTeX usa \( ... \)para compor matemática, então é (quase) equivalente a $ ... $--- na verdade, por\( e \) são preferíveis aos cifrões no modo matemático?, \(...\)fornece mensagens de erro melhores. O \(...\)comando é um contraponto à maneira como o LaTeX nos incentiva a compor as equações exibidas usando \[ ... \]. Observe que \[ ... \]énãoequivalente a $$ ... $$! VerPor que \[... \] é preferível a $$... $$?.

Dito isto, você pode substituir a definição de qualquer comando por \renewcommand(ou \def). A substituição da definição de um comando deve ser feita com cuidado, pois isso pode quebrar outra coisa.

Deixando essas advertências de lado, o seguinte faz o que você deseja:

\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}

Pode haver consequências não intencionais, mas acho que tudo bem, embora possa confundir seus co-autores! Na minha opinião, a melhor maneira de fazer isso é configurar corretamente o seu editor :)

[Devo confessar que eu costumava redefinir \(ser \bigl(e \)para \bigr), então estou em bases duvidosas com as declarações morais acima de que você não deveria fazer isso!]

informação relacionada