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 \lparen
and \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 pmatrix
e 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!]