¿Qué opciones hay para escribir un mejor texto no programable en Emacs?


58

Esta es una bifurcación de la pregunta ¿Qué opciones hay para realizar la corrección ortográfica en Emacs?

Como actualmente estoy haciendo muchas tareas que no son de programación en Emacs, me pregunto si Emacs puede ayudarme a escribir mejores textos.

Entonces, comencemos con la frase de pregunta obligatoria

¿Hay paquetes / bibliotecas / incorporados diseñados para ayudarme a escribir textos mejores, más correctos y concisos en Emacs?

Específicamente,

  • para el corrector ortográfico de gramática . Algo similar a (pero con suerte mejor que) el corrector ortográfico de MS Word que reconoce si una oración es gramaticalmente incorrecta

  • para mejorar tu fraseo y las expresiones que estás usando. Algo en la línea de Dead Poets Society :

    Así que evite usar la palabra 'muy' porque es vago. Un hombre no está muy cansado, está agotado. No uses muy triste, usa mal humor. [...]

  • por todo lo que me había olvidado o no soy consciente de, pero que se pueda imaginar (relacionada con la mejora redacción / idioma, duh ...)


"Todo lo que olvidé" es intrínsecamente demasiado amplio. "Mejorar tu fraseo" también es terriblemente vago.
Gilles 'SO- deja de ser malvado'

Por lo tanto, he restringido el "cualquier cosa" con esa parte entre paréntesis ... Además, no veo de qué manera posible "mejorar su fraseo" podría ser vago en el contexto de la escritura.
elemakil

1
Mejorar su fraseo, etc., está fuera de tema aquí, debería pensar. Hay sitios SE para aprender a escribir mejor. Su pregunta debe limitarse a cómo Emacs puede ayudarlo a escribir y editar texto. Y eso ya es muy amplio: podría considerarse demasiado amplio para una sola pregunta. ¿Te imaginas si todas las preguntas sobre la escritura de ayuda se agrupan en tu única pregunta? Sería mucho mejor concentrarse en una cosa a la vez. Y todos los demás se beneficiarían de eso también.
Dibujó el

1
Trad Unix tenía styley diction, y soy vagamente consciente de un intento de reimplementarlos como código abierto . Si las herramientas realmente funcionan, agregar un contenedor Emacs debería ser muy fácil.
tripleee

2
Las computadoras no pueden mejorar efectivamente su escritura, al menos actualmente. Geoffrey K. Pullum y Mark Liberman escriben mucho sobre esto, por ejemplo, vea itre.cis.upenn.edu/myl/languagelog/archives/005061.html o languagelog.ldc.upenn.edu/nll/?p=10416 como un ejemplo de lo tonto que es esto, instalé writegood-modey tiré en el primer párrafo de "My Old Man" (desde el enlace anterior). writegood-modeidentifica "mi viejo fue cortado para un gordo" como pasivo, que no lo es. Estos sistemas a) no funcionan bien yb) se basan en malas reglas sobre la buena escritura.
Erik Hetzner

Respuestas:


64

Personalmente me quedo escribiendo cosas org-modecon flyspell-modey langtool...

org-modees fantástico para escribir rápidamente cualquier tipo de documento en Emacs, flyspell se encarga de la ortografía y langtool se preocupa por la gramática. Todo es altamente personalizable también, por lo que puede personalizar cualquier cosa al contenido de su corazón.

Aquí hay una pequeña escritura rápida en modo org con langtool y flyspell habilitados; Nada muy especial.

Si ejecuto langtool-correct-buffercomo sugiere, cualquier error de gramática que se encuentre langtool se resalta uno por uno con una serie de sugerencias en el búfer inferior. Puedo seleccionar cualquiera de estos candidatos con la tecla numérica correspondiente, o simplemente saltarlos con la [Barra espaciadora].

Además, flyspell me permite [Clic central] en palabras mal escritas para ver sugerencias ortográficas.

org-modetiene una tonelada de formatos de exportación; puede exportar su documento como PDF, ODT o incluso como HTML. (Puede exportar usando C-c C-een org-mode)

Ahora que publiqué mi obra maestra como PDF usando LaTeX, esto es lo que veo cuando lo abro en un visor de PDF ...

Probablemente sea la forma más fácil de crear documentos elegantes en un entorno de escritura relativamente bueno en Emacs ...

La buena noticia es que org-mode, y flyspell-modese incluye por defecto con la mayoría de las versiones de Emacs. La mala noticia es que langtool no lo es, y es algo grande, y requiere Java ... Pero si eso no te disuade:

Langtool es un corrector gramatical que generalmente se combina con Openoffice o Libreoffice. La herramienta en sí es una simple utilidad de línea de comandos, por lo que es relativamente fácil interactuar con otros programas; alguien lo conectó con Emacs.

Para agregarlo en Emacs, puede instalarlo con M-x package-install langtool... O, si no tiene configurados los repositorios correctos (uso los sugeridos aquí ), puede obtener el .elarchivo e incluirlo manualmente desde aquí .

Actualmente tengo mi gancho de modo org configurado de esta manera. (Cortando las partes irrelevantes).

(add-hook 'org-mode-hook (lambda ()
   (progn
     ;; Snipped
     (auto-fill-mode t)

     ;; Spelling
     (flyspell-mode t)

     ;; Grammar
     (require 'langtool)
     (setq langtool-language-tool-jar "/path/to/LanguageTool.jar"))))

Obviamente, querrá reemplazar el /path/to/LanguageTool.jarcon la ruta real a él en su sistema. Es un archivo .jar portátil, por lo que la ubicación realmente no importa.

Además, a diferencia de flyspell-modelangtool, debes ejecutar M-x langtool-checkcuando quieras revisar gramaticalmente el búfer ... Por lo tanto, no tienes una verificación gramatical elegante mientras escribes actualmente.

org-modepuede hacer una tonelada, y puede usarse para escribir pequeños archivos de notas simples, completar ensayos con gráficos elegantes, artículos, libros, lo que sea ... Pero como puede hacer mucho, es difícil saber por dónde empezar. Me pareció que era más fácil de aprender partiendo de las posibles formas de exportar un org-modearchivo después de aprender los conceptos básicos ... . El sitio de Org-mode es muy útil e informativo, y también hay mucha ayuda en las páginas de información ( C-h i, m Org Mode).

Buena suerte..! Y espero que esto ayude.


¡Esto es genial ! langtoolse ve muy prometedor de hecho.
elemakil

1
¿Hay alguna forma de configurar langtoolpara tener en cuenta la (La)TeXsintaxis? Yo diría que aproximadamente la mitad de los errores son falsos positivos causados ​​por (La)TeXla sintaxis que es un poco molesta.
elemakil

1
Lamentablemente, no que yo sepa. Usualmente escribo mis cosas en una organización simple con muy poco LaTeX, excepto por las directivas internas de LaTeX. (Me gusta #+LaTeX_CLASS_OPTIONS: [hidelinks,11pt]) De esa manera no tengo nada que langtoolrecoger. Eso no quiere decir una forma de cambiar donde langtool no existe, por supuesto, sino simplemente que está más allá de mi conocimiento particular sobre el tema. Lo siento..!
Archenoth

15

La categoría EmacsWiki Writing es el lugar para comenzar.

Enumera docenas de bibliotecas que admiten la escritura de texto usando Emacs, con descripciones de una línea y enlaces a las páginas de detalles.

No tiene sentido enumerar dicha información nuevamente aquí; consúltela allí.

(Pero quizás otros aquí tengan recomendaciones específicas).

Mencionaré solo la página de subcategoría Tesauros y sinónimos , que tiene más enlaces a información sobre bibliotecas que admiten la búsqueda de sinónimos.


Esas recomendaciones y la experiencia personal con diferentes opciones son lo que más me interesa :-)
elemakil

Multa. También debería encontrar mucho de eso en las páginas wiki para este tema.
Dibujó el

@Drew: faltan langtool en la página de emacswiki.
Tobias

@tobias: Sí, agregue langtool a la lista en la wiki (cualquiera puede editar la wiki, es una wiki ;-)).
Dibujó

Hecho. Por cierto: ¿Podría echar un vistazo a algunos (interesante en mi humilde opinión) dired + pregunta . Gracias por adelantado.
Tobias

15

Escribo novelas usando Emacs, y he desarrollado un flujo de trabajo con el tiempo basado en ciertas ventajas únicas. (Ejemplo: mi libro más reciente fue concebido, compuesto y editado con Emacs). Dicho esto, no es un camino sin dificultades.

  • Modo Org

    Org-mode es la razón por la que comencé a usar Emacs. Poder doblar y desplegar secciones de un manuscrito de ~ 50K palabras es invaluable. Anteriormente utilicé el programa Scrivener, pero me desilusioné con sus .scrivarchivos hinchados y de texto sin formato. Org-mode también tiene la capacidad de mover capítulos ( treesy subtrees) fácilmente (con M-arrow_key).

  • Manipulación de texto

    Además de la gran cantidad de texto de investigación, rebanado, y los servicios públicos pegar Emacs ( C-s, M-y, etc, etc) utilizo el modo de dios y el modo de Avy a encontrar mi camino alrededor de un búfer. La edición modal habilitada por la primera ayuda con mi artritis. Esta última es una forma extremadamente rápida de navegar en pantalla con solo unas pocas teclas (generalmente en la fila de inicio).

  • Mosca Encantada

    Este es un corrector ortográfico perfectamente adecuado que me beneficia todos los días.

  • Magit

    Recientemente comencé a usar Git a través de Bitbucket para administrar mi trabajo con control de versiones. Soy un principiante, pero hay enormes ventajas, y Magit es una excelente interfaz para ese sistema. Aunque Git no está exactamente optimizado para escribir novelas, funciona lo suficientemente bien.

  • TODO y COMENTARIO

    Org-mode tiene la capacidad de definir trabajos para hacer. Con una EM grande puede haber 40 o más cosas que necesito recordar, de pequeñas a grandes. Estos se pueden identificar e incluso clasificar con palabras clave TODO . Además, se pueden incluir varios encabezados de notas e ideas COMMENT, que no se exportarán cuando envíe el archivo .odt.

  • Ventana dividida

    A menudo trabajo en un archivo con una ventana dividida, que muestra dos ubicaciones en una historia. Frecuentemente comparo una ubicación con otra. Durante mucho tiempo hice esto con split-window-right( C-x 3), pero recientemente he cambiado a clone-indirect-buffer-other-window( C-x 4 c). La ventaja aquí es que si cambio el estado de plegado de la ventana A, no cambia el estado de plegado de la ventana B.

  • Una desventaja

    La publicación literaria se ejecuta en MSWord. Es posible llegar de .orga .docpero no, para mí, fácil. Actualmente uso Emacs ' org-exportpara portar archivos .odt, que edito con Libreoffice . Manualmente, o con macros, logro el formato necesario para el mundo editorial más grande tal como lo conozco, luego guardo el archivo en .docEl formato no es complejo, pero es obligatorio.

    El proceso editorial implica un considerable avance, lo que significa que exporto en serie a Libreoffice y lo reimporto a Emacs. En el extremo de Emacs, las macros pueden recuperar los asteriscos de mis titulares y enderezar las comillas inteligentes de Word. Actualmente no tengo una buena solución para la cursiva. A veces introduzco errores. Si Emacs no fuera un entorno de edición de texto tan sorprendente, no sufriría por esto.

    Mickey Petersen tiene una excelente publicación en el blog que describe su propio flujo de trabajo para su libro Mastering Emacs, que utiliza diffbuffers para ordenar cambios y comentarios (más allá de mi conocimiento en este momento), y también requiere que su editor / editor literario vea archivos de texto sin formato (que he tenido que rechazar cuando lo intenté).

  • Conclusión

    Emacs es la herramienta más efectiva que he encontrado para escribir y editar novelas. También hay muchos modos que pueden ser útiles para escritores de otros tipos de prosa (como org2blog para componer y publicar blogs de Wordpress y AUCTeX para escribir archivos LaTeX).

    Me encantaría ver un futuro en el que el vínculo entre .txty .docfuera más suave para el tipo de escritura que hago. Esto incluiría:

    • configurar Emacs para usar doble espacio o espacio simple cuando se solicite
    • insertar saltos de página manuales (por ejemplo, después de una página de título)
    • cursiva que no falla alrededor de algunos signos de puntuación
    • crear encabezados simples y justificados a la derecha en todas las páginas excepto el título

    Hay soluciones alternativas ( aquí hay una publicación de blog de Sean Miller sobre cómo hacer que Emacs muestre constantemente cursivas que incluyan signos de puntuación, lo que fomenta el uso de un espacio de ancho cero), y ciertamente cosas que aún no sé cómo hacer como alguien que viene el lado literario en lugar de la programación del mundo de edición de texto.

Hace un tiempo me topé con una publicación de un grupo de noticias de rms titulada "Emacs como procesador de textos":

Hace 25 años esperaba que extendiéramos Emacs para hacer el procesamiento de texto WYSIWG. Es por eso que agregamos propiedades de texto y fuentes de ancho variable. Sin embargo, aún se necesitan más funciones para lograr esto.

¿Podría la gente comenzar a trabajar en las características que se necesitan?

Me encantaría ver un futuro en el que pudiera hacer todo mi trabajo literario en Emacs sin tener que lanzar otro editor. No estoy allí ahora, pero estoy contento en general, porque la increíble utilidad de este editor vale más que el trabajo extra en el extremo de exportación.


1
tal vez undoc te ayudaría? importador de documentos para emacs emacswiki.org/emacs/UnDoc
Jason Mirk

Le echaré un vistazo. He usado antiword antes, y fue más trabajo de lo que valió, debido a los cambios de formato que ocurren durante la extracción. ¡Gracias por el consejo!
Steven Arntson

11

Derive de la respuesta original a la pregunta vinculada .

  • Verificación de gramática: todavía no conozco ningún analizador de gramática dedicado para emacs. Mencionaré writegood-modedisponible en MELPA que destaca palabras de comadreja y voz pasiva en el búfer. Te lleva a la mitad del camino.

    Otra biblioteca posiblemente útil es la dupwords.elque puede resaltar si una palabra en particular (típicamente sustantivos y pronombres) se usa más de una vez en la misma oración. Esto es más general que encontrar palabras adyacentes repetidas que pueden manejarse con flyspell.

  • Cualquier otra cosa: corregir el lenguaje en general es un problema difícil. Dicho esto, si existe algún programa / script externo en esta área, generalmente es fácil hacer que interactúe con emacs.

Si usa LaTeX para escribir, personalmente he encontrado los siguientes scripts ruby ​​bastante útiles para verificar el estilo y la consistencia. Acabo de llamar al comando de shell desde el minibúfer mismo. Un visor capaz de realizar búsquedas directas e inversas también es valioso cuando se corrige. En MS Windows, uso el sumatra-forwardpaquete de ELPA para la búsqueda hacia adelante en el visor SumatraPDF.

  1. comprobación de estilo por Neil Spring
  2. Consistencia de guiones por Neil Conway

0

Este consejo le permitirá formatear palabras / regiones (negrita, cursiva, tachado, pero también parens, comillas, etc.) con una sola pulsación de tecla , en lugar de agregar ' /', ' *', etc. al principio y al final de tu texto. Encuentro esto útil cuando escribo, como cuando releo y afino textos escritos:

(defun xa-bold (&optional char)
  (interactive)
  (unless (region-active-p)
    (backward-word)
    (mark-word))
  (if (region-active-p)
      (insert-pair 1 ?* ?*)
    (insert "//")
    (backward-char))
  (forward-word)
  (right-char))

Este código es para obtener una palabra / región en negrita. Todo lo que tiene que hacer es reemplazar el primero y el segundo ' *' (insert-pair 1 ?* ?*)según el tipo de formato que desee. Para los padres, ve con (insert-pair 1 ?\( ?\))

Solo agréguele una clave y ya está:

 (define-key org-mode-map (kbd "M-&") 'xa-bold)

Nota: me sentí libre de agregar un cambio menor al código que he robado aquí. Agregué (forward-word) (right-char)al final de la función porque cuando estás escribiendo y quieres formatear una palabra, quieres pointir después del carácter de formateo, para que puedas seguir escribiendo después. Pero es posible que desee eliminar (right-char)para parens o comillas, para permanecer dentro del paréntesis o comillas y seguir escribiendo.

No soy un programador, solo un entusiasta de emacs, jugando a veces con código existente. ¡Y quiero que emacs se convierta en mi procesador de textos!

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.