Welche Möglichkeiten gibt es, um besseren, nicht programmierbaren Text in Emacs zu schreiben?


58

Dies ist ein Fork aus der Frage Welche Optionen gibt es für die Rechtschreibprüfung in Emacs?

Da ich derzeit in Emacs viele nicht programmierbare Aufgaben erledige, frage ich mich, ob Emacs mich beim Schreiben besserer Texte unterstützen kann.

Lassen Sie uns also mit der obligatorischen Fragensprache beginnen

Gibt es Pakete / Bibliotheken / Built-Ins, die mir helfen sollen, bessere, korrektere und prägnantere Texte in Emacs zu schreiben?

Speziell,

  • zur Rechtschreibprüfung der Grammatik . Ähnlich (aber hoffentlich besser als) die Rechtschreibprüfung von MS Word, die erkennt, ob ein Satz grammatikalisch falsch ist

  • zur Verbesserung Ihrer Phrasierung und der verwendeten Ausdrücke. Etwas im Sinne der Dead Poets Society :

    Vermeiden Sie es also, das Wort "sehr" zu verwenden, weil es faul ist. Ein Mann ist nicht sehr müde, er ist erschöpft. Verwenden Sie nicht sehr traurig, verwenden Sie morose. [...]

  • für alles, was ich vergessen habe oder was mir nicht bewusst ist, aber du dir vorstellen kannst (Phrasierung / Sprachverbesserung, duh ...)


"Alles, was ich vergessen habe" ist an sich zu weit gefasst. "Verbessern Sie Ihre Phrasierung" ist auch schrecklich vage.
Gilles 'SO- hör auf böse zu sein'

Daher habe ich das "irgendetwas" mit diesem Teil in Klammern eingeschränkt ... Außerdem sehe ich nicht, inwiefern eine "Verbesserung Ihrer Phrasierung" im Kontext des Schreibens vage sein könnte.
Elemakil

1
Das Verbessern der Phrasierung usw. ist hier, denke ich, nicht zum Thema. Es gibt SE-Sites, auf denen Sie lernen können, besser zu schreiben. Ihre Frage sollte sich darauf beschränken, wie Emacs Sie beim Schreiben und Bearbeiten von Text unterstützen kann. Und das ist bereits sehr weit gefasst - es könnte für eine einzelne Frage als zu weit gefasst angesehen werden. Können Sie sich vorstellen, dass alle Fragen zur Schreibhilfe in einer Frage zusammengefasst sind? Es wäre viel besser, wenn Sie sich jeweils auf eine Sache konzentrieren würden. Davon würden auch alle anderen profitieren.
Drew

1
Trad Unix hatte styleund diction, und ich bin mir vage bewusst, dass versucht wurde, sie als Open Source neu zu implementieren . Wenn die Tools tatsächlich funktionieren, sollte das Hinzufügen eines Emacs-Wrappers ein Kinderspiel sein.
Tripleee

2
Computer können Ihr Schreiben zumindest derzeit nicht effektiv verbessern. Geoffrey K. Pullum und Mark Liberman schreiben über dieses viel, siehe zum Beispiel itre.cis.upenn.edu/myl/languagelog/archives/005061.html oder languagelog.ldc.upenn.edu/nll/?p=10416 Wie Ein Beispiel dafür, wie albern das ist, habe ich writegood-modeim ersten Absatz von "My Old Man" (aus dem obigen Link) installiert und gezerrt. writegood-modeidentifiziert "mein alter Mann wurde für einen fetten Kerl herausgeschnitten" als passiv, was es nicht ist. Diese Systeme a) funktionieren nicht gut und b) basieren auf schlechten Regeln für gutes Schreiben.
Erik Hetzner

Antworten:


64

Ich persönlich halte mich an das Schreiben von Dingen org-modemit flyspell-modeund langtool...

org-modeEs ist fantastisch, Dokumente in Emacs schnell zu tippen, Flyspell kümmert sich um die Rechtschreibung und Langtool kümmert sich um die Grammatik. Alles ist in hohem Maße anpassbar, so dass Sie alles nach Herzenslust anpassen können.

Hier ist eine kurze kleine Eingabe im Org-Modus mit aktiviertem Langtool und Flyspell. nichts zu spezielles.

Wenn ich langtool-correct-bufferwie vorgeschlagen laufe , werden alle Grammatikfehler, die langtool gefunden hat, einzeln mit einer Reihe von Vorschlägen im unteren Puffer hervorgehoben. Ich kann jeden dieser Kandidaten mit der entsprechenden Zifferntaste auswählen oder sie einfach mit der [Leertaste] überspringen.

Außerdem kann ich mit flyspell [Mittelklick] auf falsch geschriebene Wörter klicken, um Vorschläge für die Rechtschreibung zu erhalten.

org-modehat eine Tonne von Exportformaten; Sie können Ihr Dokument als PDF, ODT oder sogar als HTML exportieren. (Sie können mit C-c C-ein exportieren org-mode)

Nachdem ich mein Meisterwerk mit LaTeX als PDF veröffentlicht habe, sehe ich dies, wenn ich es in einem PDF-Viewer öffne ...

Dies ist wahrscheinlich der einfachste Weg, um in einer relativ guten Schreibumgebung in Emacs ansprechende Dokumente zu erstellen ...

Die gute Nachricht ist , dass org-modeund flyspell-modesind standardmäßig mit den meisten Versionen von Emacs enthalten. Die schlechte Nachricht ist, dass langtool nicht und ziemlich umfangreich ist und Java benötigt ... Aber wenn das Sie nicht abschreckt:

Langtool ist eine Grammatikprüfung, die üblicherweise mit Openoffice oder Libreoffice kombiniert wird. Das Tool selbst ist ein einfaches Befehlszeilendienstprogramm, sodass es relativ einfach ist, mit anderen Programmen zu kommunizieren. jemand hat es mit Emacs verbunden.

Um es in Emacs hinzuzufügen, können Sie es mit M-x package-install langtool... installieren. Wenn Sie nicht die richtigen Repos eingerichtet haben (ich verwende die hier vorgeschlagenen ), können Sie die .elDatei abrufen und von hier aus manuell einbinden .

Ich habe momentan meinen Org-Mode-Hook so eingerichtet. (Abschneiden der irrelevanten Teile.)

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

Natürlich möchten Sie /path/to/LanguageTool.jarden Pfad auf Ihrem System durch den tatsächlichen Pfad ersetzen . Es ist eine portable .jar-Datei, daher spielt der Speicherort keine Rolle.

Anders als flyspell-modebei langtool müssen Sie auch ausführen, M-x langtool-checkwenn Sie den Puffer auf Grammatik überprüfen möchten ... Sie haben also keine Lust, die Grammatik während der Eingabe zu überprüfen.

org-modeKann eine Menge tun und kann verwendet werden, um einfache kleine Notizen-Dateien zu schreiben, Essays mit ausgefallenen Grafiken, Artikeln, Büchern usw. zu vervollständigen. Ich fand es war am einfachsten , indem mit zu lernen , die Möglichkeiten Sie exportieren org-modeDatei , nachdem Sie lernen die Grundlagen ... . Die Seite von Org-mode ist sehr hilfreich und informativ, und auch auf den Infoseiten ( C-h i, m Org Mode) gibt es eine Menge Hilfe .

Viel Glück..! Und hoffe das hilft.


Das ist großartig ! langtoolsieht in der Tat sehr vielversprechend aus.
Elemakil

1
Gibt es eine Möglichkeit zu konfigurieren , langtoolum sich bewusst sein (La)TeXSyntax? Ich würde sagen, dass etwa die Hälfte der Fehler falsch positive Ergebnisse sind, die durch (La)TeXdie etwas nervige Syntax verursacht werden .
Elemakil

1
Meines Wissens leider nicht. Normalerweise schreibe ich meine Sachen in einfacher Org mit sehr wenig LaTeX, mit Ausnahme der internen Org-LaTeX-Direktiven. (Gefällt #+LaTeX_CLASS_OPTIONS: [hidelinks,11pt]mir) Auf diese Weise habe ich nichts, langtoolwas abholen würde. Das soll nicht heißen, dass es einen Weg gibt, um zu ändern, wo es Langtool nicht gibt, sondern einfach, dass es über mein spezielles Wissen zu diesem Thema hinausgeht. Es tut uns leid..!
Archenoth

15

Die EmacsWiki-Kategorie Schreiben ist der Ausgangspunkt.

Es listet Dutzende Bibliotheken auf, die das Schreiben von Text mit Emacs unterstützen, mit einzeiligen Beschreibungen und Links zu den Detailseiten.

Es macht keinen Sinn, solche Informationen hier erneut aufzulisten - konsultieren Sie sie dort.

(Aber vielleicht haben andere hier spezielle Empfehlungen.)

Ich werde nur die Unterkategorie-Seite Thesauri und Synonyme erwähnen , die mehr Links zu Informationen über Bibliotheken enthält, die die Suche nach Synonymen unterstützen.


Diese Empfehlungen und die persönlichen Erfahrungen mit verschiedenen Optionen interessieren mich am meisten :-)
elemakil

Fein. Sie sollten auch viel davon auf den Wiki-Seiten zu diesem Thema finden.
Drew

@Drew: langtool fehlt auf der Emacswiki-Seite.
Tobias

@tobias: Ja, bitte füge langtool zur Liste im Wiki hinzu (jeder kann das Wiki bearbeiten - es ist ein Wiki ;-)).
Drew

Getan. BTW: Könnten Sie einen Blick auf einige (IMHO interessant) dired + Frage . Danke im Voraus.
Tobias

15

Ich schreibe Romane mit Emacs und habe im Laufe der Zeit einen Workflow entwickelt, der auf bestimmten einzigartigen Vorteilen basiert. (Beispiel: Mein letztes Buch wurde mit Emacs konzipiert, komponiert und bearbeitet.) Das heißt, es ist keine Straße ohne Schwierigkeiten.

  • Org-Modus

    Der Org-Modus ist der Grund, warum ich mit Emacs angefangen habe. Es ist von unschätzbarem Wert, Teile eines Manuskripts mit ~ 50.000 Wörtern falten und entfalten zu können. Ich habe zuvor das Programm Scrivener verwendet, war aber enttäuscht von seinen aufgedunsenen und unerklärlichen .scrivTextdateien. Der Org-Modus bietet auch die Möglichkeit, Kapitel ( treesund subtrees) einfach (mit M-arrow_key) zu verschieben.

  • Textbearbeitung

    Zusätzlich zu Emacs 'Fülle an Hilfsprogrammen zum Auffinden, Schneiden und Einfügen von Text ( C-s, M-yusw. usw.) verwende ich den Gott-Modus und den Avy-Modus , um mich in einem Puffer zurechtzufinden . Die durch die erstere aktivierte Modalbearbeitung hilft bei meiner Arthritis. Letzteres ist eine extrem schnelle Methode zum Navigieren auf dem Bildschirm mit nur wenigen Tastenanschlägen (normalerweise in der Startzeile).

  • Flyspell

    Dies ist eine vollkommen angemessene Rechtschreibprüfung, von der ich jeden Tag profitiere.

  • Magit

    Ich habe vor kurzem begonnen, Git über Bitbucket zu verwenden, um meine Arbeit mit der Versionskontrolle zu verwalten. Ich bin ein Anfänger, aber es gibt enorme Vorteile, und Magit ist eine hervorragende Schnittstelle zu diesem System. Obwohl Git es nicht speziell für das Schreiben von Romanen optimiert ist, funktioniert es gut genug.

  • TODO und KOMMENTAR

    Im Org-Modus können Sie die zu erledigenden Aufgaben definieren. Bei einer großen MS gibt es möglicherweise 40 oder mehr Dinge, an die ich mich erinnern muss, von klein bis groß. Diese können identifiziert und sogar mit TODO-Schlüsselwörtern bewertet werden . Außerdem können verschiedene Notizen und Ideenüberschriften vorangestellt werden COMMENT, die beim Senden der Datei an nicht exportiert werden .odt.

  • Fenster teilen

    Ich arbeite oft an einer Datei mit einem geteilten Fenster, das zwei Stellen in einer Geschichte zeigt. Ich vergleiche häufig einen Ort mit einem anderen. Lange habe ich das mit split-window-right( C-x 3) gemacht, aber kürzlich bin ich zu clone-indirect-buffer-other-window( C-x 4 c) gewechselt . Der Vorteil hierbei ist, dass sich der Faltzustand von Fenster B nicht ändert, wenn ich den Faltzustand von Fenster A ändere.

  • Ein Nachteil

    Literaturverlag läuft auf MSWord. Es ist möglich von nach zu kommen .org, .docaber für mich nicht einfach. Ich verwende derzeit Emacs, org-exportum Dateien zu portieren .odt, die ich mit Libreoffice bearbeite . Ich erreiche manuell oder mit Makros die Formatierung, die für die größere Verlagswelt erforderlich ist, wie ich sie kenne, und speichere dann die Datei unter. .docDie Formatierung ist nicht komplex, aber erforderlich.

    Der redaktionelle Prozess erfordert ein beträchtliches Hin und Her, was bedeutet, dass ich seriell nach Libreoffice exportiere und nach Emacs wieder importiere. Am Ende von Emacs können Makros die Sternchen für meine Überschriften abrufen und die Smartquotes von Word korrigieren. Ich habe derzeit keine gute Lösung für Kursivschrift. Manchmal füge ich Fehler ein. Wenn Emacs nicht so eine großartige Umgebung für die Textbearbeitung wäre, würde ich darunter nicht leiden.

    Mickey Petersen hat einen hervorragenden Blog-Beitrag, der seinen eigenen Workflow für sein Buch Mastering Emacs beschreibt. Es verwendet diffPuffer zum Sortieren von Änderungen und Kommentaren (über meinen derzeitigen Kenntnisstand hinaus) und verlangt von seinem Literaturredakteur / -verleger, dass er sich Klartextdateien ansieht (was ich habe Pushback bekommen, als ich es ausprobiert habe).

  • Fazit

    Emacs ist das effektivste Tool, das ich zum Schreiben und Bearbeiten von Romanen gefunden habe. Es gibt auch viele Modi, die für Autoren anderer Prosaarten nützlich sein können (wie org2blog zum Verfassen und Veröffentlichen von Wordpress-Blogs und AUCTeX zum Schreiben von LaTeX-Dateien).

    Ich würde gerne eine Zukunft sehen, in der die Verbindung zwischen .txtund .docfür die Art des Schreibens, die ich mache, reibungsloser war. Dies würde beinhalten:

    • Emacs auf Anforderung auf doppelten oder einfachen Abstand einstellen
    • Einfügen von manuellen Seitenumbrüchen (zum Beispiel nach einer Titelseite)
    • Kursivschrift, die bei einigen Satzzeichen nicht fehlschlägt
    • Erstellen einfacher, rechtsbündiger Überschriften auf allen Seiten außer dem Titel

    Es gibt Workarounds ( hier ist ein Blog-Beitrag von Sean Miller, in dem es darum geht, Emacs dazu zu bringen, durchgängig Kursivschrift mit Interpunktion zu verwenden, was die Verwendung eines Leerzeichens mit der Breite Null fördert), und sicherlich Dinge, von denen ich noch nicht weiß, wie man als Herkunftsmitglied vorgeht eher die literarische als die programmatische Seite der Welt der Textbearbeitung.

Vor einiger Zeit bin ich auf einen Newsgroup-Beitrag von rms mit dem Titel "Emacs als Textverarbeitungsprogramm" gestoßen:

Vor 25 Jahren hoffte ich, wir würden Emacs um die WYSIWG-Textverarbeitung erweitern. Aus diesem Grund haben wir Texteigenschaften und Schriftarten mit variabler Breite hinzugefügt. Es sind jedoch noch weitere Funktionen erforderlich, um dies zu erreichen.

Könnten die Leute bitte anfangen, an den Funktionen zu arbeiten, die benötigt werden?

Ich würde gerne eine Zukunft sehen, in der ich alle meine literarischen Arbeiten in Emacs erledigen könnte, ohne jemals einen anderen Editor starten zu müssen. Ich bin jetzt nicht da, aber insgesamt bin ich trotzdem glücklich, denn der erstaunliche Nutzen dieses Editors ist die zusätzliche Arbeit für den Export mehr als wert.


1
Vielleicht würde Undoc Ihnen helfen? doc importer
Jason Mirk

Ich gucke mal. Ich habe schon einmal AntiWord verwendet und es war mehr Arbeit als es wert war, da Formatierungsänderungen während des Extrahierens auftreten. Danke für den Hinweis!
Steven Arntson

11

Drehen Sie die ursprüngliche Antwort auf die verknüpfte Frage ab .

  • Grammatik-Check: Mir sind noch keine speziellen Grammatik-Parser für Emacs bekannt. Ich erwähne writegood-modein Melpa zur Verfügung , die unterstreicht Weaselwörter und passive Stimme im Puffer. Es bringt Sie auf halbem Weg dorthin.

    Eine andere möglicherweise nützliche Bibliothek dupwords.elkann hervorheben, ob ein bestimmtes Wort (typischerweise Substantive und Pronomen) mehr als einmal im selben Satz verwendet wird. Dies ist allgemeiner als das Finden wiederholter benachbarter Wörter, die mit Flyspell behandelt werden können.

  • Alles andere: Das Korrigieren der Sprache ist im Allgemeinen ein schwieriges Problem. Das heißt, wenn es in diesem Bereich ein externes Programm / Skript gibt, ist es normalerweise einfach, es mit Emacs zu verbinden.

Wenn Sie LaTeX zum Schreiben verwenden, habe ich persönlich die folgenden Ruby-Skripte als sehr nützlich zur Überprüfung von Stil und Konsistenz erachtet. Ich rufe einfach den Shell-Befehl vom Minibuffer selbst auf. Ein Viewer, der in der Lage ist, vorwärts und rückwärts zu suchen, ist auch beim Korrekturlesen von Nutzen. Unter MS Windows verwende ich das sumatra-forwardPaket von ELPA für die Vorwärtssuche im SumatraPDF-Viewer.

  1. Style-Check von Neil Spring
  2. Bindestrich-Konsistenz von Neil Conway

0

Mit diesem Tipp können Sie Wörter / Regionen (fett, kursiv, durchgestrichen, aber auch Parens, Anführungszeichen usw.) mit einem einzigen Tastendruck formatieren , anstatt ' /', ' *' usw. am Anfang und am Ende von dein Text. Ich finde das nützlich, wenn ich schreibe, oder wenn ich geschriebene Texte neu lese und verfeinere:

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

Dieser Code dient zum Abrufen eines fett gedruckten Wortes / einer fett gedruckten Region. Alles, was Sie tun müssen, ist, das erste und zweite ' *' in (insert-pair 1 ?* ?*)der gewünschten Formatierungsart zu ersetzen . Für Eltern gehen Sie mit (insert-pair 1 ?\( ?\))

Einfach einen Schlüssel daran binden und fertig:

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

Hinweis: Es steht mir frei, den hier gestohlenen Code geringfügig zu ändern. Ich habe (forward-word) (right-char)am Ende der Funktion , weil , wenn Sie schreiben und wollen ein Wort zu formatieren, Sie pointgehen nach dem Formatierungszeichen, so können Sie sich auf das Schreiben nach gehen. Möglicherweise möchten Sie jedoch entfernen, (right-char)um Eltern oder Zitate zu entfernen , um innerhalb der Eltern oder des Zitats zu bleiben und weiterzuschreiben.

Ich bin kein Programmierer, nur ein Emacs-Enthusiast, der manchmal mit vorhandenem Code spielt. Und ich möchte, dass Emacs mein Textverarbeitungsprogramm wird!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.