edicion estructurada en emacs

Download Edicion Estructurada en Emacs

Post on 29-Oct-2015

9 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Edicin Estructurada en EmacsAlejandro Imass

    Una gua de novato a novato sobreDocBook y otros estndaresSGML/XML haciendo hincapi en el usode la edicin directa y estructuradautilizando Emacs.

    1. IntroduccinEste artculo se centra en el uso de Emacs para editar archivos SGML y sus derivados, como por ejemploXML y HTML. Si nunca ha usado Emacs o este programa le desagrada por alguna razn, no sepreocupe, a m tambin me desagradaba. Siempre me pregunt qu era lo que la gente vea en una cosatan complicada y poco amigable como Emacs. Sin embargo, cuando empec a escribir en Docbookcomprend inmediatamente la necesidad de una herramienta ms sofisticada que un simple editor detextos a color. En un principio yo haca mis trabajos utilizando Nedit, uno de mis editores de textofavoritos, pero no lleg a las expectativas de lo que deba ser, para m, el perfecto editor de textoestructurado: con sangrado automtico, que dejara bonitos los prrafos, que pudiera chequear laortografa solamente de los datos y, lo ms importante, que tuviera medios para la validacin contextualen tiempo de ejecucin de cualquier DTD. Ahora bien, sta quiz parezca una lista de deseos muy largay difcil de satisfacer, pero descubr que Emacs puede hacer fcilmente todo esto y mucho, pero muchoms. Nunca advert el poder y la flexibilidad de Emacs ya que nunca me impresion como entorno, loadvert en la edicin de documentos SGML. De hecho, luego de descubrir Emacs gracias a la edicinestructurada, este programa se ha convertido en mi navaja suiza y espero que, cuando usted termine deleer este artculo, tambin se convierta en la suya.

    Recientemente he probado LyX con Docbook y ahora puedo concluir que este intento tambin tienefuturo y facilita la transicin de editores WYSIWYG 1a la manera estructurada de editar textos. Sinembargo, esta clase de cosas nunca nos darn la libertad, el poder y la flexibilidad que nos pueden darherramientas como Emacs + PSGML, especialmente si nos encontramos en un ambiente deprogramacin y estamos habituados a encarar los proyectos desde ese punto de vista.

    Sobre el alcance de este artculo slo dir que no se trata de una gua para SGML, Docbook o Emacs.Como ya dir ms adelante, el principal objetivo es introducir y discutir el modo principal2 PSGML deEmacs y las dificultades ms importantes con las que se encontrara cualquier usuario al editardocumentos SGML y XML. Este artculo trata de ser una gua para principiantes por lo que lainformacin que se proveer aqu debera ser suficiente para poder entender todo sin necesidad deconocimientos previos. De todos modos espero poder estimular al lector lo suficiente como parainvestigar an ms en el tema. Es por esto que se dan algunas referencias y enlaces a otros artculos ylibros al final de este artculo.

    1

  • Edicin Estructurada en Emacs

    Recordemos tambin que Docbook, SGML y XML se estn moviendo a un ritmo muy rpido y que yahan surgido varias tendencias. Recomiendo la lectura del excelente artculo de Eric Raymond sobreDocbook en el cual se explica en qu etapa se encuentra Docbook actualmente y hacia dnde apuntanvarias de las tendencias (hay un enlace al final). Tambin deseo aclarar que este documento discute sobreel uso de SGML Docbook y no de XML Docbook, formato que parece ser una nueva tendencia. De todosmodos, cualquier cosa que aparezca en este artculo probablemente se aplique tambin para XMLDocbook que en esencia es la misma cosa. Por lo que entiendo, el modo principal PSGML es capaz deanalizar sintcticamente DTD de tipos SGML y XML (o esquemas3 que es el nombre que se le da en elmundo XML), lo que es otro motivo para pensar que todo lo que sea mostrado en este artculo se aplicara ambas variantes de Docbook.

    2. La Fantasa de los Procesadores de Texto

    Yo nac en la era de los Procesadores de textos por lo que no tuve oportunidad de conocer lo que eracomponer tipogrficamente hasta que descubr UNIX y Troff hace cinco aos. Aunque suene pococreble, qued encantado con la nueva forma de escribir usando marcas4 y sin tener que preocuparme porel aspecto de mis documentos pero s por el contenido y la estructura, lo cual debera ser el principalobjetivo de todos los autores. Ms adelante descubr Ispell y el resto de la filosofa Unix al integrarmuchas y pequeas piezas que realmente, todas juntas, funcionan perfectamente.

    Quiz, como programador, esto sea natural para mi. Me agrad el hecho de poder escribir (y mantener!)mis documentos de la misma manera en que escribo mis programas. De todos modos no quiero aburrir allector con mis experiencias frente a una computadora por lo que, para hacer corta esta historia, un dadescubr una vieja tradicin en computacin llamada SGML5, y no pude creer que las computadoras sevolvieran WYSIWYG en vez de volverse WYSIWYM (un concepto extrado de la pgina de LyX).

    He sufrido mucho y en primera persona el calvario de usar Microsoft Word para trabajar condocumentos y manuales, en realidad no muy largos. A continuacin listo algunas de mis experiencias:

    Los formatos de documentos son difciles de integrar. Integrar el trabajo de varias personas casisiempre se convierte en una pesadilla de reformateo, terminando siempre con una docena de estilosdiferentes que son difciles de limpiar. Dar formato nuevo a un documento Ms-Word es una larga,manual y tediosa tarea.

    El nmero de estilos crece fuera de control y no hay manera de poner en vigor un formato. Un usuarioprincipiante terminar con una docena de formatos distintos o simplemente los ignorar a todos. Porejemplo, un novato en Ms-Word (o cualquier otro programa WYSIWYG) probablemente lo que hares simplemente cambiar la fuente y el tamao a mano, en lugar de usar los encabezados y estilosapropiados.

    En el caso de que las compaas deseen crear plantillas de documentos estndar, las mismas seimpondrn muy poco y probablemente sean todas violadas o mal usadas. Es muy difcil organizar unestndar para la documentacin a nivel de una corporacin y probablemente las compaas terminencon una docena de diferentes estndares en todos los departamentos. Por ejemplo, los logotipos yotros tipos de grficos de una corporacin tienden a mutar con el tiempo en muchos tipos de formas,

    2

  • Edicin Estructurada en Emacs

    proporciones y tamaos. Al final, cada usuario termina con lo que l cree que es el estndar de lacompaa y, antes de que alguien se de cuenta, nadie sabr cul es realmente el logo oficial.

    Al trabajar con documentos de cierto tamao, el programa tiende a volverse muy inestable,especialmente si trabajamos con imgenes u otros objetos. Un error tpico de Ms-Word es lamisteriosa X que por alguna razn que nadie conoce reemplaza todos nuestros grficos. Ante esteerror el documento es irrecuperable y se deber reemplazar cada grfico a mano.

    El formato de un documento Ms-Word es binario, por lo que es bsicamente intil tratar de extraer lainformacin dentro de ellos. Si las universidades solicitaran trabajos como tesis en estos formatos (ycranme que las universidades de aqu piden formato Ms-Word), estos sern tan tiles como papeles ydesfavorecern la creacin de bases de datos de informacin. Por otro lado, si las universidades fueraninteligentes, pediran los trabajos en formato SGML para as, ms adelante poder crear bases de datosde conocimiento para que otros estudiantes puedan consultarlas eficientemente.

    El formato binario .doc parece expandirse en tamao fuera de control cuanto ms lo usemos. Solahaber una opcin para compactar estos documentos pero, al parecer, ha desaparecido en las nuevasversiones de MS-Word. Esto es un real desperdicio de los recursos de una compaa dado que unusuario comn desconoce esta caracterstica: la nica manera de resolver este problema es crear unnuevo documento doc y copiar y pegar todo el contenido del viejo documento en el nuevo.

    Los servidores de las corporaciones que usan estos formatos se alborotan y desorganizan fcilmente.Encontrar algo que usar se vuelve parecido a buscar piezas esparcidas en un campo de chatarra: segastan horas abriendo documentos aqu y all hasta que por fin se encuentra algo de valor.

    La reutilizacin de documentos es algo difcil de llevar a cabo y mantener. Por ejemplo, laspresentaciones estndar de una compaa o captulos estndar son algo muy difcil de integrar en undocumento ya empezado, por lo que estas plantillas tienden a ser copiadas y modificadas por toda lacompaa.

    Si el archivo binario se corrompe (lo cual sucede muy frecuentemente), no hay manera de salvarnuestra informacin, la cual est embebida en un formato propietario6

    La informacin podr ser exportada en varios tipos de formato, pero siempre utilizando herramientaspropietarias para tal tarea. No se recomienda exportar a otros tipos de formato dado que, adems de laprdida de datos que esto supone, no ser una tarea trivial. Si trabajamos con MS Word y distribuimosnuestros archivos, estamos obligando a estas personas a utilizar software propietario tanto para leercomo para convertir nuestros documentos a otros formatos.

    De cualquier forma, podra seguir escribiendo pginas de todos los problemas que herramientas del tipoLo Que Ves Es Lo Que Obtienes (WYSIWYG) han causado a compaas y a la gente durante aos.Personalmente, tuve la experiencia de tener una secretaria que se tomaba una hora o ms para escribiruna simple carta (mientras buscaba el logo correcto, chequeaba virus, imprima y tena problemas con lared, etc), una tarea que hace diez aos se realizaba en tres minutos en una mquina de escribir comn queno usaba electricidad. He visto estudiantes que derrochan varios das en tratar de integrar las diferentespartes de un trabajo y a veces pierden meses de tiempo debido a la corrupcin de sus documentos o porvirus en los mismos. En cuanto a m, he perdido das y semanas de trabajo en la edicin de manualeslargos o especificaciones de algn sistema y estoy seguro que cualquier lector al leer estas lneas seacu