LaTeX vs DocBook
(12)
Solo tengo poco conocimiento sobre LaTeX, formateo básico, fórmulas matemáticas básicas, etc. Descubrí que LaTeX es difícil de configurar a mi gusto. Recientemente, he oído hablar de Docbook, que también es un mecanismo de composición tipográfica, pero mucho más fácil ya que utiliza XML. Entonces, si mi trabajo principal con LaTeX / Docbook es escribir un documento simple (no un libro de clase) con algunas matemáticas, y quiero una configuración fácil, y una aplicación altamente constante, cuál es mejor, y ¿hay algún buen libro en Docbook ?
¿Has mirado ConTeXt. Es más flexible y mucho más fácil de configurar en comparación con LaTeX.
Arbortext soporta nativos LaTeX. Puede enviar el motor de publicación o el compositor de impresión LaTeX y lo pasará. También soporta muchos otros lenguajes de composición también.
Bueno, no he usado DocBook, pero de un vistazo rápido a wikipedia y google:
- DocBook no tiene elementos para describir las matemáticas.
- DocBook es XML, como dices. Para mí, eso hace que sea una cosa horrible escribir a mano (o, más bien, con un editor de texto básico). Tal vez te gusta escribir XML, o tienes un buen IDE. Supongo que podrías mirar esta pregunta .
La página de Wikipedia de DocBook enumera un par de libros que puede ver, aunque obviamente no puedo decir si son libros "buenos".
Yo sugeriría ir con LaTeX. Pídale a alguien que le dé una plantilla básica, luego escribir LaTeX es tan simple como:
/section{Introduction}
This is my introduction.
/section{Stuff}
Here is some stuff.
/subsection{Particular stuff}
A particular type of stuff. With maths:
$/int_{x=1}^n 3x^2$
% etc.
Google es tu amigo para encontrar plantillas básicas desde las que puedes comenzar:
Para pasar del código fuente a un documento, necesitará una instalación funcional de LaTeX (que está más allá del alcance de esta respuesta, pero es bastante fácil si está en Linux). Lo ideal sería que su instalación de LaTeX incluyera pdflatex
. Entonces solo corres:
pdflatex source.tex
(hay un poco más de trabajo si tiene una bibliografía, pero ese es un tema para otra pregunta)
DocBook no es "un mecanismo de composición". DocBook se trata de separar la presentación del contenido. DocBook solo trata con el contenido; se utiliza para crear una representación abstracta de un libro, artículo, etc. Existen numerosas herramientas que diseñan DocBook de acuerdo con plantillas predefinidas. Algunas de estas herramientas utilizan LaTeX . AFAIK, O''Reilly utiliza una versión ligeramente modificada del lenguaje DocBook para crear su contenido, luego alimenta este XML en scripts personalizados que se integran con Adobe FrameMaker para diseñar sus libros.
LaTeX es esencialmente un intento de separar la presentación del contenido dentro de TeX, pero no llega a alcanzar ese objetivo, IMO. La presentación todavía se mezcla con el contenido en la mayoría de los casos. Creo que LaTeX es actualmente la mejor herramienta de código abierto para diseñar documentos paginados. Sin embargo, las herramientas propietarias como InDesign tienen muchas características (como una buena compatibilidad con OpenType) que TeX no tiene (el tipo de XeTeX agrega compatibilidad con OpenType). De cualquier manera, si está escribiendo un libro , le recomiendo usar DocBook para crear su contenido en lugar de LaTeX.
Dicho esto, parece que estás escribiendo documentos breves y únicos con un poco de matemática. Creo que LaTeX es probablemente tu mejor opción. Si necesita mucha personalización, es posible que necesite usar Plain TeX en lugar de LaTeX, pero va a requerir bastante trabajo de su parte.
FWIW Uso docbook a través de xmlmind ( http://xmlmind.com/ ) para producir archivos html y .chm. También me he propuesto crear archivos PDF, pero no son bonitos.
Una vez hecho el código fuente de docbook, lo cocino con xsltproc y los archivos docbook.xsl . Esto es prolongado y doloroso de configurar, pero una vez que está funcionando es dulce.
Otro enfoque sería utilizar pandoc (una herramienta de tipo de pandoc extendida) para ir desde Markdown a DocBook. Esto eliminaría el editor xml, pero aún tendrá que hacer las transformaciones al formato de salida.
Hace aproximadamente dos años, intenté gustarme y usar DocBook; sin embargo, volví a LaTeX porque, al menos en ese momento, LaTeX produjo resultados de mejor calidad (PDF). Nunca logré hacer funcionar la traducción de DocBook a LaTeX a PDF. Mis problemas probablemente fueron "error de operador", pero sugiero probar DocBook (y LaTeX) para unos pocos documentos simples antes de elegir uno.
Aquí hay algunos puntos que me llevaron a elegir LaTeX:
- BibTeX para bibliografías con JabREF como GUI
- Excelente calidad de salida en PDF
- Muchos ejemplos en Internet, incluidos varios similares a mi formato preferido
- Buenos libros, como "A Guide to LaTeX"
Si te gustan las GUIs, echa un vistazo a LyX .
Las verdaderas razones para utilizar DocBook se centran en tener su documento marcado significativamente, poder validarlo y transformarlo para muchos propósitos, no solo publicarlo. LaTeX y otros conjuntos de macros agregan una capa de marcado semántico, pero siempre tienes la libertad de introducir el código TeX y agregar macros de otras fuentes. Fundamentalmente, un documento TeX es un programa de computadora que solo puede ser analizado por un procesador TeX.
Para matemáticas y DocBook: al ser DocBook XML, le permite usar otras tecnologías XML según corresponda; en este caso MathML. El XMLmind XMLEditor ya mencionado proporciona un editor de matemáticas de GUI e incluye hojas de estilo para formatearlas para la web e imprimirlas junto con el contenido del DocBook.
También hay herramientas disponibles que permiten la traducción de documentos XML a otros idiomas (xml2po es simple, http://heartsome.net/EN/home.html es una suite completa).
Lo bueno de DocBook es que está basado en XML, por lo que un capítulo es un subárbol completo, una sección es un subárbol completo, etc. En LaTeX, la separación solo está determinada por la estructura del documento durante un escaneo lineal.
Lo peor de Docbook es que está basado en XML: las cosas de nivel inferior son extremadamente sucias y molestas de codificar manualmente.
No estoy realmente familiarizado con DocBook, aunque he usado LaTeX bastante extensamente. La idea de LaTeX no es producir un documento personalizado, es producir un documento legible y atractivo. Es un conjunto de bibliotecas, plantillas, macros, etc., alrededor de TeX, creado por personas que saben lo que están haciendo cuando se trata del diseño de documentos. Por supuesto, tiene necesidades especiales que no pueden anticipar, por lo que también tendrá que hacer algunos ajustes. Es un lenguaje declarativo de muy alto nivel destinado a reflejar el contenido y la estructura de un documento, en lugar de a lo que debería parecer. La idea es que sus ideas y cómo están organizadas es lo que debe preocuparle. No es el diseño de su texto en la página. Si necesita más control, existe una GRAN biblioteca de estilos y macros adicionales, etc. (CTAN), y algunos de ellos (las memorias vienen a la mente) le devuelven gran parte de ese control.
Si está metiendo un montón de cosas de formato complicado en el cuerpo de su documento LaTeX, lo está haciendo mal. Lo que debe hacer es incluir su contenido allí, y su documento estructurado en capítulos, secciones y subsecciones semánticamente, luego regresar y preocuparse por el formato. No debería tener que ir al cuerpo de su documento mucho en este momento; todo debe ser general y se aplica a todo el documento, preferiblemente de forma reutilizable. Esto asegura la consistencia.
No quiero seguir la ruta "más fácil" o mejor, ya que considero que es una cuestión de gusto y de acostumbrarme. Veo que el docbook es XML como una ventaja, por lo que puede transformarse en casi cualquier cosa que desee mediante el uso de XSLT. Combinado con su autocontenimiento, se siente más como estructurar el contenido que hace Latex. Especialmente la documentación de software de código abierto Docbook es realmente ampliamente utilizada. Puede capturar fácilmente las plantillas y hojas de estilo de, por ejemplo, Hibernate y / o Spring, y ajustarlas a sus necesidades.
Otro aspecto que me gustaría ver es la integración en sistemas de compilación. Para Maven, hay un plugin llamado docbkx disponible, que solo distribuye PDF, HTML y lo que quieras según el contenido y un XSLT apropiado. No se necesitan más instalaciones. Las únicas formas que he visto para hacer esto con Latex son instalando algunos paquetes al sistema operativo de compilación y creando su propio script alrededor de ellos. En mi humilde opinión no es una forma viable de hacerlo, especialmente si construye multiplataforma.
En lo que respecta al editor, puedo recomendar a XMLmind XMLEditor, que se toma gran parte del dolor y proporciona un buen enfoque WYSIWYG para docbook.
Si confía en las expresiones matemáticas, también preferiría el látex, ya que no hay nada con el mismo poder disponible en el docbook.
Quien haya tenido que crear un documento profesional y científico (documento de investigación, libro, guía técnica, etc.) sabrá por qué TeX es la mejor opción.
Para aquellos que no están al tanto de algunos hechos, aquí hay un ejemplo perfecto: en las buenas universidades, el trabajo de los estudiantes puede ser rechazado por completo si no hizo referencia a los trabajos de otras personas. Hay, creo, cientos de formas "oficiales" para citar y hacer referencias, la escuela de Harvard tiene la suya propia, la ACM propia, entre los científicos informáticos numéricos (Vancouver). La notación es la más común. Muchas organizaciones profesionales tienen sus propios estilos y se apegan a ello. Por lo que sé, TeX es el único sistema de composición que lo sabe, y con la ayuda de BiBTeX se convierte en una herramienta extremadamente poderosa para los autores. Puede ahorrar horas, si no días, de trabajo.
Si yo fuera un escritor de novelas o el autor de algún documento no técnico, podría elegir DocBook.
Sí, LaTeX es un poco difícil de configurar para producir exactamente el tipo de diseño que desea. Le sugiero que eche un vistazo al manual de las memorias de clase de LaTeX para ver qué tipos de diseños le permite producir.
Hay un libro en DocBook disponible en línea . Eche un vistazo a eso también, para ver qué tipo de diseños puede producir y si puede formatear fácilmente el contenido matemático que desea con DocBook.
Mi sugerencia es ir con LaTeX si tiene que escribir matemáticas no triviales, pero, por supuesto, depende del formato en el que le resulte más fácil trabajar.