
Estoy ayudando a un amigo a usar LaTeX para generar un libro de cuentos. Las historias se reciben de los autores en MS Word; desafortunadamente, es el único editor de texto que la mayor parte del mundo conoce. No hay contenido matemático del que preocuparse, solo texto sin formato. Sin embargo, a Word le gusta convertir texto plano en otros caracteres: los dos que he notado hasta ahora son las comillas y ...
.
Probé el enfoque sugerido de usarlo inputenc
sin éxito incluso con varias codificaciones de entrada. Estoy usando \inputencoding
una opción en lugar de un paquete porque siento que podría necesitar cambiarlos entre varias historias.
Entonces, ¿cuál es el enfoque sugerido para manejar esto? Idealmente, preferiría tener alguna forma de asignar estos caracteres a los adecuados compatibles con LaTeX.
Notas:
- A mí personalmente no me gusta dejar elelegantecitas ya que hay casos en los que los autores han omitido una cita final y luego todas las citas posteriores son incorrectas. Si esto se detecta desde el principio, se puede corregir fácilmente en el documento de Word antes de pegarlo en un archivo .tex. Pero a menudo, el editor ha realizado modificaciones importantes en el archivo .tex antes de que se note este problema. De ahí la preferencia de
csquotes
manejar este problema en lugar de utilizar comillas de apertura y cierre específicas.
Referencias
¿Cómo hacer que los apóstrofes aparezcan normalmente al copiar y pegar desde un documento de MS Word?proporciona una secuencia de comandos para realizar una conversión única de algunos caracteres, pero preferiría mantenerlos intactos en el archivo .tex fuente si es posible.
Me pareció una buena referencia sobrefontenc vs inputenc.
Código:
\documentclass{article}
\usepackage{inputenc}
\usepackage{csquotes}
\MakeOuterQuote{"}
%\inputencoding{utf8}
%\inputencoding{latin1}
%\inputencoding{ansinew}
\inputencoding{cp1252}
\begin{document}
"It's too late now…" (should have \ldots\ before end quote)
“Please, sir, don’t.” (should have left and right quotes)
\end{document}
Respuesta1
Respecto a la pregunta de entrada
Su ejemplo funciona sin problemas si lo copio en un documento utf8 y declaro la codificación inputenc en consecuencia como utf8. Lo mismo ocurre con el tendón del ansino.
Realmente no puedo imaginar cómo podría obtener el resultado en su imagen; se puede crear, pero en mi humilde opinión, no con los archivos estándar. Ninguno de ellos reemplazaría los caracteres que no sean ASCII con signos de interrogación.
Respecto a las cotizaciones
Las comillas rectas (") están activas en documentos de texto alemanes y se usan para muchas cosas útiles como agregar puntos de interrupción y guiones. Por lo tanto, nunca las usaría para comillas reales y prefiero archivos de Word con comillas tipográficas. Al copiar de Word con ( alemán) comillas tipográficas en tex que uso \MakeAutoQuote{„}{“}
en el documento tex. Como dichas comillas crean un grupo, recibo advertencias o errores si las comillas tipográficas en el documento de Word no están correctamente equilibradas, lo que evita la mayoría de los errores. Pero los archivos de Word nunca son perfectos y, por lo tanto, son simples. copiar y pegar nunca es suficiente. Siempre hay que leer y comprobar el resultado.
Respuesta2
Este es el tipo de trabajo que suelo hacer a veces. Bueno, hay algunas herramientas que puedes usar para resolver esto. Quizás la mejor forma y automática sea con pandoc
, pero sinceramente la verdad es que no lo he probado lo suficiente y aún no he tenido una experiencia satisfactoria con él. Otra opción es hacer lo que sugiere @Bernard.
Anteriormente usaba AbiWord
para abrir archivos doc y exportar int LateX
, no era una buena solución para mí porque no respeta la estructura del documento y todos los signos diacríticos están codificados en modo ascii. Bot quizás para un texto breve en inglés podría ser una buena opción.
Lo que funciona mejor en mi experiencia y me gusta pasar texto de Word
a LaTeX
esTexto sublime 2. Sí, quizás para otros sea una solución estúpida y no la mejor, y mucho menos automática, pero funciona bastante bien.
La primera ventajaLo que encuentro es que te permite manejar con codificaciones. Puede abrir un archivo usando la codificación que desee (o casi) y volver a codificarlo según lo que necesite, normalmente uso todo en utf8. Aún puedes volver a abrirlo o guardarlo con la codificación que necesitas y no obtener símbolos extraños, como cuando intentas con Texmaker. (En este caso lo tengo configurado en utf8 y cada vez que abro un archivo me avisa si está en otra codificación).
La segunda ventajatiene que ver con los esquemas de color y la sintaxis. Por defecto usa un bonito esquema llamado Monokai, lo uso para cambiar a Monokai brillante (la diferencia es el color usado para las selecciones resaltadas, en Monokai brillante es naranja en lugar de gris por defecto). La sintaxis de LaTeX es muy cómoda a la vista y además nos permite detectar fácilmente las comillas. Seguramente podemos lograr lo mismo en vim
o emacs
pero aquí es muy fácil. Si tenemos comillas comunes e incorrectas "
, Sublime Text con esta combinación de colores resalta el texto intermedio en un color rosa vivo. Por tanto, es muy fácil ver dónde tenemos que hacer correcciones. Desafortunadamente, si el autor o el editor se olvidan de cerrar las citas, no las vemos en color, pero el editor todavía nos permite encontrarlas todas fácilmente. Cuando las comillas estén correctamente compuestas en modo ascii: `` '' veremos el texto en amarillo en lugar de blanco.
La tercera ventajatiene que ver con el uso simultáneo de cursores en tiempo real, y el uso de expresiones regulares que permiten corregir rápidamente muchas cosas, por ejemplo las elipsis. Puede seleccionar lo ...
escrito en Word y usar [Ctrl]+[D]
( [Cmd]+[D]
en Mac) para seleccionar todas las apariciones en el documento y, una vez seleccionado, cambiarlo para \ldots
simplemente escribirlo. Entonces el cambio no es en una sino en todas las selecciones a la vez. Rapido y facil.
No necesita ninguna herramienta especial para lograr esto, pero también puede mejorar el editor para compilarlo directamente si lo desea o para obtener más herramientas, puede hacerlo instalando elControl de paquetesy con él consigue fácilmente LaTeXTool
un paquete y otro.
Sé que este editor es muy popular entre la gente que hace web, pero creo que LaTeX
también tiene algunas características interesantes, pruébalo a ver si te convence.
Adenda
Para lograr correctamente todo esto que dije antes, suelo usar ambos paquetes: inpuntenc
(with utf8
) y fontenc
(with T1
es suficiente para idiomas de Europa occidental sin matemáticas).
Respuesta3
Pandoces una herramienta de línea de comandos que puede convertir docx
archivos en archivos LaTeX. En cuanto a lidiar con elipses y comillas, creo que la mejor manera de manejarlas es usar la función de buscar y reemplazar en su editor LaTeX.