Quali sono le opzioni per scrivere meglio il testo non programmabile in Emacs?


58

Questo è un fork della domanda Quali sono le opzioni per eseguire il controllo ortografico in Emacs?

Poiché attualmente sto svolgendo molte attività di non programmazione in Emacs, mi chiedo se Emacs possa supportarmi nella scrittura di testi migliori .

Quindi, apriamo con la frase di domanda obbligatoria

Ci sono pacchetti / librerie / built-in su misura per aiutarmi a scrivere testi migliori, più corretti e concisi in Emacs?

In particolare,

  • per il controllo ortografico della grammatica . Qualcosa di simile al (ma si spera meglio di) il controllo ortografico di MS Word che riconosce se una frase è grammaticalmente errata

  • per migliorare il tuo fraseggio e le espressioni che stai usando. Qualcosa sulla falsariga di Dead Poets Society :

    Quindi evita di usare la parola "molto" perché è pigro. Un uomo non è molto stanco, è sfinito. Non usare molto triste, usa cupo. [...]

  • per tutto ciò che ho dimenticato o di cui non sono a conoscenza ma che puoi pensare (fraseggio / miglioramento del linguaggio, duh ...)


"Tutto ciò che ho dimenticato" è intrinsecamente troppo ampio. Anche "Migliorare il tuo fraseggio" è tremendamente vago.
Gilles 'SO- smetti di essere malvagio' il

Quindi ho limitato il "qualsiasi cosa" con quella parte tra parentesi ... Inoltre, non vedo in quale modo "migliorare il tuo modo di pronunciare" potrebbe essere vago nel contesto della scrittura.
elemakil,

1
Migliorare il tuo fraseggio ecc. È fuori tema qui, dovrei pensare. Ci sono siti SE per imparare a scrivere meglio. La tua domanda dovrebbe essere limitata a come Emacs può aiutarti a scrivere e modificare il testo. E questo è già molto ampio - potrebbe essere considerato troppo ampio per una singola domanda. Riesci a immaginare se tutte le domande sulla scrittura di aiuto sono raggruppate in una sola domanda? Faresti molto meglio a concentrarti su una cosa alla volta. E tutti gli altri ne trarrebbero beneficio.
Disegnò il

1
Trad Unix aveva stylee diction, e sono vagamente consapevole del tentativo di reimplementarli come open source . Se gli strumenti funzionano davvero, l'aggiunta di un wrapper Emacs dovrebbe essere un gioco da ragazzi.
triplo

2
I computer non possono migliorare efficacemente la tua scrittura, almeno attualmente. Geoffrey K. Pullum e Mark Liberman ne scrivono molto, ad esempio, vedi itre.cis.upenn.edu/myl/languagelog/archives/005061.html o languagelog.ldc.upenn.edu/nll/?p=10416 As un esempio di quanto sia sciocco, l'ho installato writegood-modee strappato nel primo paragrafo di "My Old Man" (dal link sopra). writegood-modeidentifica "il mio vecchio è stato tagliato per un ragazzo grasso" come passivo, che non lo è. Questi sistemi a) non funzionano bene eb) si basano su regole sbagliate sulla buona scrittura.
Erik Hetzner,

Risposte:


64

Mi attengo personalmente a scrivere le cose org-modecon flyspell-modee langtool...

org-modeè fantastico per scrivere velocemente qualsiasi tipo di documento in Emacs, flyspell si occupa dell'ortografia e langtool si preoccupa della grammatica. Anche tutto è altamente personalizzabile, quindi puoi personalizzare qualsiasi cosa a tuo piacimento.

Ecco un breve digitazione in modalità org con langtool e flyspell abilitati; niente di troppo speciale.

Se corro langtool-correct-buffercome suggerisce, qualsiasi errore grammaticale trovato da langtool viene evidenziato uno per uno con una serie di suggerimenti nel buffer inferiore. Posso selezionare uno di questi candidati con il tasto numerico corrispondente o semplicemente ignorarli con la [barra spaziatrice].

Inoltre flyspell mi consente di fare clic con il tasto centrale su parole errate per visualizzare suggerimenti ortografici.

org-modeha un sacco di formati di esportazione; puoi esportare il tuo documento come PDF, ODT o anche come HTML. (Puoi esportare usando C-c C-ein org-mode)

Ora che ho pubblicato il mio capolavoro in formato PDF usando LaTeX, questo è quello che vedo quando lo apro in un visualizzatore PDF ...

È probabilmente il modo più semplice per creare documenti di bell'aspetto all'interno di un ambiente di scrittura relativamente buono in Emacs ...

La buona notizia è che org-modee flyspell-modesono inclusi di default con la maggior parte delle versioni di Emacs. La cattiva notizia è che Langtool non lo è, ed è piuttosto grande, e richiede Java ... Ma se ciò non ti scoraggia:

Langtool è un correttore grammaticale comunemente associato a Openoffice o Libreoffice. Lo strumento stesso è una semplice utility da riga di comando, quindi è relativamente facile interfacciarsi con altri programmi; qualcuno l'ha interfacciato con Emacs.

Per aggiungerlo in Emacs, puoi installarlo con M-x package-install langtool... O, se non hai impostato i repository giusti (io uso quelli suggeriti qui .), Puoi ottenere il .elfile e includerlo manualmente da qui .

Al momento ho il mio hook in modalità org impostato in questo modo. (Tagliare i bit irrilevanti.)

(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"))))

Ovviamente, vorrai sostituire il /path/to/LanguageTool.jarcon il percorso effettivo sul tuo sistema. È un file .jar portatile, quindi la posizione non ha molta importanza.

Inoltre, a differenza di flyspell-modelangtool, è necessario eseguirlo M-x langtool-checkquando si desidera eseguire il controllo grammaticale del buffer ... Quindi non è necessario eseguire il controllo grammaticale durante la digitazione.

org-modepuò fare una tonnellata e può essere usato per scrivere semplici piccoli file di note, saggi completi con grafica, articoli, libri fantasiosi, il nome ... Ma dato che può fare così tanto, è un po 'difficile sapere da dove cominciare. Ho scoperto che era più facile da imparare iniziando con i possibili modi in cui è possibile esportare un org-modefile di dopo aver imparare le basi ... . Il sito di Org-mode è molto utile e informativo e c'è molto aiuto anche nelle pagine informative ( C-h i, m Org Mode).

In bocca al lupo..! E spero che questo aiuti.


Questo è fantastico ! langtoolsembra davvero molto promettente.
elemakil,

1
C'è un modo per configurare langtoolper essere a conoscenza della (La)TeXsintassi? Direi che circa la metà degli errori sono falsi positivi causati dalla (La)TeXsintassi che è un po 'fastidiosa.
elemakil,

1
Sfortunatamente, non per quanto ne sappia. Di solito scrivo le mie cose in semplice organizzazione con pochissimo LaTeX ad eccezione delle direttive interne a LaTeX. (Mi piace #+LaTeX_CLASS_OPTIONS: [hidelinks,11pt]) In questo modo non ho nulla che langtoolpossa raccogliere. Questo non vuol dire un modo per cambiare dove langtool non esiste ovviamente, ma semplicemente che è al di là delle mie conoscenze particolari sull'argomento. Scusate..!
Archenoth,

15

La categoria EmacsWiki La scrittura è il punto di partenza.

Elenca dozzine di librerie che supportano la scrittura di testo utilizzando Emacs, con descrizioni di una riga e collegamenti alle pagine dei dettagli.

Non ha senso elencare di nuovo queste informazioni qui - consultale lì.

(Ma forse altri qui avranno raccomandazioni specifiche.)

Citerò solo la pagina della sottocategoria Thesauri e Sinonimi , che contiene più collegamenti a informazioni sulle biblioteche che supportano la ricerca di sinonimi.


Quei consigli e l'esperienza personale con diverse opzioni sono ciò che mi interessa di più :-)
elemakil

Belle. Dovresti trovarne anche molto nelle pagine wiki per questo argomento.
Disegnò il

@Drew: langtool manca nella pagina emacswiki.
Tobias,

@tobias: Sì, per favore aggiungi langtool all'elenco sul wiki (chiunque può modificare il wiki - è un wiki ;-)).
Ha

Fatto. BTW: Potresti dare un'occhiata ad alcune (dirette IMHO) dirette + domanda . Grazie in anticipo.
Tobias,

15

Scrivo romanzi usando Emacs e nel tempo ho sviluppato un flusso di lavoro basato su alcuni vantaggi unici. (Esempio: il mio libro più recente è stato ideato, composto e curato con Emacs.) Detto questo, non è una strada senza difficoltà.

  • Org-mode

    La modalità Org è la ragione per cui ho iniziato a usare Emacs. Essere in grado di piegare e aprire sezioni di un manoscritto di circa 50.000 parole è inestimabile. In precedenza ho usato il programma Scrivener ma mi sono disincantato con i suoi .scrivfile gonfi e inspiegabili . La modalità Org ha anche la capacità di spostare facilmente i capitoli ( treese subtrees) (con M-arrow_key).

  • Manipolazione del testo

    Oltre alla pletora di testi di accertamento, affettare, e le utility incollare Emacs ( C-s, M-y, ecc ecc) Io uso God Mode e la modalità Avy di trovare la mia strada intorno ad un buffer. La modifica modale abilitata dalla prima aiuta con la mia artrite. Quest'ultimo è un modo estremamente veloce di navigare sullo schermo con solo pochi tasti (di solito sulla riga iniziale).

  • Flyspell

    Questo è un correttore ortografico perfettamente adeguato che mi avvantaggia ogni giorno.

  • magit

    Di recente ho iniziato a utilizzare Git tramite Bitbucket per gestire il mio lavoro con il controllo della versione. Sono un principiante, ma ci sono enormi vantaggi e Magit è un'interfaccia eccellente per quel sistema. Sebbene Git non sia esattamente ottimizzato per la scrittura di romanzi, funziona abbastanza bene.

  • TODO e COMMENTO

    La modalità Org ha la capacità di definire i lavori da svolgere. Con una SM di grandi dimensioni potrebbero esserci 40 o più cose che devo ricordare, dalle piccole alle grandi. Questi possono essere identificati e persino classificati con parole chiave TODO . Inoltre, possono essere preceduti vari titoli di note e idee COMMENT, che non verranno esportati quando invio il file .odt.

  • Finestra divisa

    Lavoro spesso su un file con una finestra divisa, mostrando due posizioni in una storia. Confronto spesso una posizione con un'altra. Per molto tempo l'ho fatto con split-window-right( C-x 3), ma recentemente sono passato a clone-indirect-buffer-other-window( C-x 4 c). Il vantaggio qui è che se cambio lo stato di piegatura della finestra A, non cambia lo stato di piegatura della finestra B.

  • Uno svantaggio

    La pubblicazione letteraria funziona su MSWord. È possibile arrivare da .orga .docma non, per me, facile. Attualmente uso Emacs ' org-exportper il porting dei file .odt, che modifico con Libreoffice . I manualmente o con le macro ottengo la formattazione necessaria per il mondo dell'editoria più grande come lo conosco, quindi salvo il file in .docLa formattazione non è complessa, ma è necessaria.

    Il processo editoriale comporta un considerevole ritorno, il che significa che esporto in serie verso Libreoffice e reimporto in Emacs. Alla fine di Emacs, le macro possono recuperare gli asterischi per i miei titoli e raddrizzare le smartquotes di Word. Al momento non ho una buona soluzione per il corsivo. A volte presento errori. Se Emacs non fosse un ambiente di editing di testi così straordinario, non ne soffrirei.

    Mickey Petersen ha un eccellente post sul blog che descrive il proprio flusso di lavoro per il suo libro Mastering Emacs, che utilizza diffbuffer per ordinare modifiche e commenti (al di là del mio ken al momento), e richiede anche che il suo editore / editore letterario guardi i file di testo semplice (su cui ho ricevuto il pushback, quando l'ho provato).

  • Conclusione

    Emacs è lo strumento più efficace che ho trovato per scrivere e modificare romanzi. Ci sono anche molte modalità che potrebbero essere utili agli scrittori di altri tipi di prosa (come org2blog per la composizione e la pubblicazione di blog Wordpress e AUCTeX per la scrittura di file LaTeX).

    Mi piacerebbe vedere un futuro in cui il legame tra .txted .docera più agevole per il tipo di scrittura che faccio. Ciò include:

    • impostare Emacs per utilizzare la doppia spaziatura o la spaziatura singola quando richiesto
    • inserimento di interruzioni di pagina manuali (ad esempio, dopo una pagina del titolo)
    • corsivo che non fallisce attorno ad alcuni segni di punteggiatura
    • creando intestazioni semplici e giustificate a destra su tutte le pagine tranne il titolo

    Ci sono soluzioni alternative ( ecco un post sul blog di Sean Miller su come far sì che Emacs mostri costantemente corsivo che includa la punteggiatura, che incoraggia l'uso di uno spazio di larghezza zero), e certamente cose che non so ancora come fare come qualcuno proveniente da il lato letterario piuttosto che programmatico del mondo dell'editing di testi.

Qualche tempo fa mi sono imbattuto in un post di newsgroup di rms intitolato "Emacs come elaboratore di testi":

25 anni fa speravo di estendere Emacs all'elaborazione testi WYSIWG. Ecco perché abbiamo aggiunto proprietà del testo e caratteri a larghezza variabile. Tuttavia, per raggiungere questo obiettivo sono ancora necessarie più funzioni.

Le persone potrebbero iniziare a lavorare sulle funzionalità necessarie?

Mi piacerebbe vedere un futuro in cui potrei fare tutto il mio lavoro letterario in Emacs senza dover mai lanciare un altro editore. Non ci sono adesso, ma sono comunque felice nel complesso, perché la straordinaria utilità di questo editor è più che degna del lavoro extra sul lato dell'esportazione.


1
forse undoc ti aiuterebbe? importatore di documenti per emacs emacswiki.org/emacs/UnDoc
Jason Mirk

Darò un occhiata. Ho usato antiword prima, ed è stato più lavoro di quanto valesse, a causa delle modifiche di formattazione che si verificano durante l'estrazione. Grazie per il consiglio!
Steven Arntson,

11

Spin off della risposta originale alla domanda collegata .

  • Controllo grammaticale: non sono ancora a conoscenza di analizzatori di grammatica dedicati per emacs. Citerò writegood-modedisponibile in Melpa che mette in evidenza Weasel parole e la voce passiva nel buffer. Ti porta a metà strada lì.

    Un'altra libreria forse utile è quella dupwords.elche può evidenziare se una determinata parola (in genere nomi e pronomi) viene utilizzata più volte nella stessa frase. Questo è più generale che trovare ripetute parole adiacenti che possono essere gestite da flyspell.

  • Nient'altro: correggere la lingua in generale è un problema difficile. Detto questo, se esiste un programma / script esterno in quest'area, di solito è facile farlo interfacciare con emacs.

Se usi LaTeX per scrivere, ho trovato personalmente i seguenti script ruby ​​abbastanza utili per controllare lo stile e la coerenza. Chiamo solo il comando shell dal minibuffer stesso. Un visualizzatore in grado di effettuare ricerche in avanti e inverse è utile anche durante la correzione di bozze. Su MS Windows, utilizzo il sumatra-forwardpacchetto ELPA per la ricerca in avanti nel visualizzatore SumatraPDF.

  1. controllo dello stile di Neil Spring
  2. consistenza del trattino di Neil Conway

0

Questo suggerimento ti permetterà di formattare parole / regioni (grassetto, corsivo, barrato, ma anche parentesi, virgolette, ecc.) Con una singola sequenza di tasti , invece di aggiungere ' /', ' *', ecc. All'inizio e alla fine di il tuo testo. Lo trovo utile quando scrivo, come quando rileggo e perfeziono i testi scritti:

(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))

Questo codice serve per ottenere una parola / regione in grassetto. Tutto quello che devi fare è sostituire il primo e il secondo ' *' in (insert-pair 1 ?* ?*)base al tipo di formattazione che desideri. Per i genitori, vai con (insert-pair 1 ?\( ?\))

Basta associare una chiave e il gioco è fatto:

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

Nota: mi sono sentito libero di aggiungere una piccola modifica al codice che ho rubato qui. Ho aggiunto (forward-word) (right-char)al termine della funzione, perché quando si scrive e si desidera formattare una parola, si vuole pointandare dopo la formattazione dei caratteri, in modo da poter continuare a scrivere dopo. Ma potresti voler rimuovere (right-char)per parentesi o virgolette, rimanere all'interno della parentesi o citazione e continuare a scrivere.

Non sono un programmatore, solo un appassionato di emacs, giocando a volte con codice esistente. E voglio che emacs diventi il ​​mio elaboratore di testi!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.