titulos titulo subtitulos portada page maketitle error latex

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