¿Hay alguna forma de definir una variable en LaTeX?


En LaTeX, ¿cómo puedo definir una variable de cadena cuyo contenido se utiliza en lugar de la variable en el PDF compilado?

Digamos que estoy escribiendo un documento técnico en un software y quiero definir el nombre del paquete en el preámbulo o en algún lugar para que si su nombre cambia, no tenga que reemplazarlo en muchos lugares, sino solo en un lugar.

Author: Smi, 2009-07-31

5 answers

Agregue lo siguiente a su preámbulo:

\newcommand{\newCommandName}{text to insert}

Entonces puedes usar \newCommandName{} en el texto

Para más información sobre \newcommand, ver por ejemplo wikilibros

 286
Author: second,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-08-16 14:34:58

Use \def comando:

\def \variable {Something that's better to use as a variable}

Tenga en cuenta que \def anula las macros preexistentes sin ninguna advertencia y, por lo tanto, puede causar varios errores sutiles. Para superar esto, use variables de espacio de nombres como my_var o vuelva a \newcommand, \renewcommand comandos en su lugar.

 146
Author: plaes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-03-15 07:04:08

Para las variables que describen distancias, usaría \newlength (y manipularía los valores con \setlength, \addlength, \settoheight, \settolength y \settodepth).

De manera similar, tiene acceso a \newcounter para cosas como los números de sección y figura que deben incrementarse a lo largo del documento. He utilizado este en el pasado para proporcionar muestras de código que fueron numeradas separadamente de otras figuras...

También es de destacar \makebox que le permite almacenar un poco de documento presentado para su posterior reutilización (y para su uso con \settolength...).

 28
Author: dmckee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-03 15:47:52

Si desea utilizar \newcommand, también puede incluir \usepackage{xspace} y definir comando \newcommand{\newCommandName}{text to insert\xspace}. Esto puede permitirle usar \newCommandName en lugar de \newCommandName{}.

Para más detalles, http://www.math.tamu.edu / ~harold.boas/courses/math696/why-macros.html

 12
Author: user1125069,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-06 04:32:39

Creo que probablemente quieras usar una lista de tokens para este propósito: para configurar la lista de símbolos \newtoks\packagename para asignar el nombre: \packagename={New Name for the package} para poner el nombre en la salida: \the\packagename.

 1
Author: John Burt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-25 15:56:03