Me pregunto si hay alguna forma de asignar un alias a los botones y (
y , de modo que cuando escriba esos caracteres en modo matemático, LaTeX los reemplace mágicamente con los comandos correctos.)
\begin{pmatrix}
\end{pmatrix}
Hasta donde puedo decir, no hay razón para usar las versiones "tontas", y me ahorraría mucho tiempo. es posible?
En realidad, no estoy preguntando cómo redefinir (
. Le estoy pidiendo a LaTeX que reemplace todos (
los s en modo matemático con \begin{pmatrix}
.
Respuesta1
Editar
La pregunta original que vi pedía \( ... \)
expandirse a \begin{pmatrix} ... \end{pmatrix}
pero, de hecho, el OP quiere ( ... )
expandirse automáticamente a \begin{pmatrix} ... \end{pmatrix}
. Voté para cerrar esto porque es un duplicado deComandos automáticos izquierda y derecha(ver la respuesta de LSpice), y luego la pregunta se cerró y se volvió a abrir. Entonces vuelvo a responder.
El truco para hacer lo que quiere el OP es crear (
personajes )
activos. Una vez hecho esto, se pueden redefinir a voluntad:
\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}
Con este código, si quieres escribir (
o )
entonces necesitas usar \lparen
y \rparen
. Es muy probable que esto tenga efectos secundarios extraños y no tan maravillosos.
Un enfoque ligeramente mejor sería definir un entorno donde (
y )
expandirse para dar un pmatrix
y fuera de este se comporten normalmente. Redefinir códigos cat dentro de un entorno requiere un poco más de gimnasia (ver¿Cómo se podrían cambiar los códigos cat dentro de la definición de un entorno?):
\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}
Respuesta original
Puedes hacer esto sien realidadquiero pero, como muestran los comentarios, la mayoría de la gente recomendaría no hacerlo. El problema principal es que, de forma predeterminada, LaTeX utiliza \( ... \)
para componer matemáticas, por lo que es (casi) equivalente a $ ... $
--- de hecho, por¿Son preferibles \( y \) a los signos de dólar para el modo matemático?, \(...\)
proporciona mejores mensajes de error. El \(...\)
comando es un contrapunto a la forma en que LaTeX nos anima a componer las ecuaciones mostradas usando \[ ... \]
. Tenga en cuenta que \[ ... \]
esnoequivalente a $$ ... $$
! Ver¿Por qué es preferible \[ ... \] a $$ ... $$?.
Dicho esto, puedes anular la definición de cualquier comando con \renewcommand
(o \def
). La anulación de la definición de un comando se debe hacer con cuidado porque hacerlo podría romper algo más.
Dejando de lado estas advertencias, lo siguiente hace lo que usted quiere:
\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}
Puede haber consecuencias no deseadas, pero creo que esto debería estar bien, ¡aunque puede confundir a sus coautores! En mi opinión, una mejor manera de hacerlo es configurar correctamente tu editor :)
[Debo confesar que solía redefinir \(
ser \bigl(
y \)
ser \bigr)
, por lo que tengo dudas con las declaraciones morales anteriores de que no deberías hacer esto.]