
Considere unpaquete(oclase) que proporciona macros con dos argumentos opcionales. Uno podria
(yo suelo twoopt
. El código del .sty
archivo es fácil de leer y, en consecuencia, de comprender.
(ii) codificar manualmente la macro. El código parece horrible, pero no vincula al usuario a un paquete adicional.
Además, en ocasiones existen varios paquetes para lograr lo mismo: ifthen
, xifthen
y ifthenx
.
¿Cómo elijo qué paquete usar? ¿En qué casos codifico cosas manualmente? ¿Existen mejores prácticas? Tenga en cuenta que los ejemplos ejemplifican la pregunta general.
Respuesta1
En caso de duda, opte por el estándar.
Aunque aún no está consolidado (como ifthen
está), la capa de programación del prometedor kernel LaTeX3 expl3
es potente y muy estable. Incluso en eltexlive-core
paquete del repositorio de paquetes de Arch Linux (piense en lo más mínimo de lo minimalista), se incluye todo el kernel L3. Siempre estará disponible para tus usuarios.
Por experiencia con problemas relacionados,nocodifique cosas a mano a menos que sea necesario; se vuelve casi imposible de mantener y, como usted dice, imposible de entender al pie de la letra.
Puede que haya una falta de convención aquí, pero la mejor convención en cualquier caso es utilizar el material oficial.
Desde aquí: busque lo siguiente con texdoc
:
expl3
explica el razonamiento detrásExpexperimentallaTeX3sintaxis e introduce los 'paquetes' de componentes (en la práctica, simplemente\usepackage{expl3}
interface3
sirve como referencia para toda laexpl3
biblioteca y la interfazxparse
recurso invaluable para definir comandos con una sintaxis más compleja
Respuesta2
Si el twoopt
paquete satisface tus necesidades no hay nada malo en usarlo...
En general, LaTeX es un sistema en constante desarrollo. Los paquetes son el motor de este proceso. Al descuidar su uso universalmente o elegir codificar si hubiera habido un paquete adecuado, estaría rechazando una propiedad importante del sistema LaTeX.
Aunque la última afirmación suena un poco dramática, hay algo de verdad en ella. Aparte de eso, a menudo sigue siendo una cuestión de elección y hábitos (¡todos somos humanos!). Pero, si tiene la oportunidad de obtener un código más legible mediante el uso del paquete,adelante. Este criterio es, por cierto, una cuestión importante del proyecto LaTeX3.
Estar vinculado a un paquete en un archivo .sty
o .cls
no lo limita de ninguna manera. Incluso si un paquete que usó en su propio código de paquete quedará obsoleto en el futuro debido a que un paquete más nuevo es mejor o lo que sea, eso no significa que la característica que usó ya no sea viable. Además, como escritor de paquetes, puede mantener/actualizar su paquete según la situación. Además de eso, me gustaría recordar el hecho de que LaTeX2e es muy estable en este momento. Entonces, "[usar] el material oficial" (@Sean Allred, ver arriba) es totalmente razonable desde este punto de vista.
Y finalmente, si tres paquetes hacen exactamente el mismo trabajo para un tema en particular, me refiero a la afirmación anterior "¡todos somos humanos!": Utilice el que más le guste o al que esté acostumbrado.