Pros y contras del uso de paquetes en una clase/paquete

Pros y contras del uso de paquetes en una clase/paquete

Considere unpaquete(oclase) que proporciona macros con dos argumentos opcionales. Uno podria

(yo suelo twoopt. El código del .styarchivo 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, xiftheny 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 ifthenestá), la capa de programación del prometedor kernel LaTeX3 expl3es potente y muy estable. Incluso en eltexlive-corepaquete 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:

  • expl3explica el razonamiento detrásExpexperimentallaTeX3sintaxis e introduce los 'paquetes' de componentes (en la práctica, simplemente\usepackage{expl3}
  • interface3sirve como referencia para toda la expl3biblioteca y la interfaz
  • xparserecurso invaluable para definir comandos con una sintaxis más compleja

Respuesta2

Si el twooptpaquete 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 .styo .clsno 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.

información relacionada