Lo que he aprendido: definir comandos en Latex

Hoy vamos a definir comandos nuevos en Latex. ¿Por qué? Pues porque nosotros lo valemos. No, en serio, ¿recordáis que hicimos hace un tiempo una plantilla para responder a los revisores de una revista? ¡Pues los revisores han vuelto a la carga! El problema es que ahora las preguntas que hacen no son correlativas sino que piden aclaraciones sobre preguntas que ya hicieron. Ni siquiera los revisores son correlativos, el Revisor 2 ha desaparecido (que era mi favorito 😦 ) y ahora son el 1, el 3 y el 4. Por lo tanto nuestra plantilla debe ser modificada1. Bien, pensemos.

Lo primero que tenemos que saber es que los comandos en Latex se definen así:

\newcommand{comando}[argumentos]{definición}

donde:

  • comando será el nombre del comando que queramos definir (lógico) que deberá empezar por \
  • argumentos es el número de argumentos entre 0 y 9 que le pasaremos al comando
  • definición será donde escribiremos lo que hace el comando

No es difícil (no lo parece al menos). En su momento adaptamos una plantilla de por ahí a nuestros gustos sin pararnos a entender a fondo lo que hacía, hoy vamos a pensar qué es lo que necesitamos y cómo lo podemos conseguir. From scratch, como los valientes.

Veamos, en primer lugar nos hace falta crear secciones que se llamen Reviewer X donde X es el número del reviewer. Siguiendo con lo que hemos definido arriba y teniendo en cuenta que los argumentos se pasan con la almohadilla (el hashtag para los modernos) hacemos:

\newcommand{\reviewersec}[1]{\section*{Reviewer #1}}

Ahora nos toca hacer el formato para la pregunta. Para ello queremos que nos ponga Q X.Y y la pregunta en cursiva. X es el número del revisor y Y el de la pregunta. Lo más fácil que podemos hacer es usar tres argumentos, uno para X, otro para Y y un tercero para la pregunta en sí. También queremos que se inicie un nuevo párrafo al final de la pregunta así que usaremos \par al final. Juntando todo nos queda algo así:

\newcommand{\point}[3]{\textbf{Q\,#1.#2}\,\textit{#3}\par}

La parte de la respuesta es muy fácil así que no la voy a explicar, os pongo debajo el código 😉

Resumiendo, en total tenemos:

\documentclass[10pt,a4paper]{article}
\usepackage[parfill]{parskip} % para que no nos indente

% Definición de comandos
\newcommand{\reviewersec}[1]{\section*{Reviewer #1}}
\newcommand{\point}[3]{\textbf{Q\,#1.#2}\,\textit{#3}\par}
\newcommand{\reply}{\textbf{Reply}:\ }

\begin{document}

\reviewersec{1}

\point{1}{1}{Pregunta}
\reply{Respuesta}

\end{document}

Que nos genera algo así:

rev

Pues ya lo tenemos, ¿qué os parece? ¿se os ocurre alguna mejora?

Referencias

Latex Macros. Wikibooks

Create your own commands with newcommand

Pasar argumentos a \newcommand


  1. He de añadir que podría darle el formato a manubrio al documento pero prefiero tomármelo como una oportunidad para aprender cosas nuevas. Bastante rabia me da ya la brasa macabea que me están dando los revisores, si por lo menos sacamos algo bueno de ello algo que ganamos :) 
Anuncios

2 pensamientos en “Lo que he aprendido: definir comandos en Latex

  1. Pingback: LaTeX/LyX: crear nuevas instrucciones | El pingüino tolkiano

  2. Pingback: Lo que he aprendido: registro de cambios en un documento LaTeX con git | Onda Hostil

¡Opina sin miedo! (Puedes usar Markdown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s