titulo - envolver el comando LaTeX en el entorno
titulo en latex (5)
Esto se puede hacer con el paquete de medio ambiente de la siguiente manera:
/usepackage{environ} ... /NewEnviron{very-important}{/emph{/BODY}}
/BODY
contiene el cuerpo del entorno y los entornos pueden estar anidados. Consulte la documentación para más detalles.
¿Cómo puedo envolver un comando LaTeX en un entorno? En esencia, ¿cómo puedo convertir / somecommand {contents} en / begin {somecommand} contents / end {somecommand}? He intentado lo obvio en la creación de un nuevo entorno como tal:
/newenvironment{somecommand}[0]{
/somecommand{
}
{
}
}
pero esto causa problemas con las llaves. Permítanme darles un ejemplo más concreto. Diga que desea crear el entorno muy importante y desea utilizar el comando emph para lograr esto. Una solución directa (pero incorrecta) sería escribir algo como
/newenvironment{very-important}[0]{
/emph{
}
{
}
}
El problema aquí es que el comando funciona con la información que se encuentra dentro del entorno, por lo que no es uno de los comandos de apertura del entorno, ni es un comando de cierre del entorno. La pregunta entonces es: ¿cómo puedes hacer esto?
Nuevo entorno somecommand
define la macro /somecommand
. No se puede usar macro con el mismo nombre /somecommand
dentro.
Además deberías escribir
/newenvironment{name}{openning command}{closing commands}
más bien que
/newenvironment{somecommand}[0]{ /somecommand{ } { } }
Obviamente tienes un problema con los comandos de cierre.
Parece que ahora puedo adivinar cuál es la pregunta.
/newenvironment{very-important}{/startimportant}{}
/def/startimportant#1/end{/emph{#1}/end}
/begin{very-important}
Something
/end{very-important}
Esta solución funciona bien. Pero en mi humilde opinión es una mala idea envolver todo el texto en el entorno. ¿Por qué? Hay dos formas de hacer algo con el texto. Por ejemplo, desea cambiar la fuente y usar cursiva.
- El primer método.
/textit{sentence written in italics}
- El segundo método.
{/it sentence written in italics//}
¿Cuál es la diferencia? La cosa es que el primer método usa el segundo. /it
macro cambia la fuente y la llave }
vuelve a cambiarla. /textit
macro /textit
lee el argumento completo, cambia la fuente e inserta nuevamente el argumento: /textit
se define de la siguiente manera (no exactamente).
/def/texit#1{{/it#1//}}
El primer método siempre es hacer un trabajo extra. Lee el argumento dos veces. Casi siempre, puedes hacer cambios y luego puedes recuperar todo.
Finalmente, ¿por qué usas el medio ambiente? Utilizar macros.
/veryimportant{
Any thought
}
Una forma más simple podría ser:
/newenvironment{somecommand}[0]{ /somecommand/bgroup } { /egroup }
Explicación: /bgroup
funciona como {
y /egroup
funciona como }
.
definir comando
/newcommnad{eqn}{1}{/begin{equation}#1/end{equation}}
cambiará
/eqn{x^2=y}
a
/begin{equation}
x^2=y
/end{equation}
Yo creo que