Jakie są opcje pisania lepszego, nieprogramowalnego tekstu w Emacsie?


58

To jest rozwidlenie od pytania Jakie są opcje sprawdzania pisowni w Emacsie?

Ponieważ obecnie wykonuję wiele zadań niezwiązanych z programowaniem w Emacsie, zastanawiam się, czy Emacs może wesprzeć mnie w pisaniu lepszych tekstów.

Otwórzmy więc obowiązkową frazę pytania

Czy są jakieś pakiety / biblioteki / wbudowane narzędzia, które pomogą mi pisać lepsze, bardziej poprawne i zwięzłe teksty w Emacsie?

Konkretnie,

  • do sprawdzania pisowni gramatyki . Coś podobnego (ale mam nadzieję, że lepiej niż) moduł sprawdzania pisowni MS Word, który rozpoznaje, czy zdanie jest gramatycznie niepoprawne

  • w celu ulepszenia frazowania i używanych wyrażeń. Coś w stylu Dead Poets Society :

    Unikaj więc używania słowa „bardzo”, ponieważ jest ono leniwe. Mężczyzna nie jest bardzo zmęczony, jest wyczerpany. Nie używaj bardzo smutnego, używaj przygnębienia. [...]

  • dla wszystkiego, co ja pamiętam, czy nie znam, ale można myśleć (, duh związane poprawa-frazowanie / język ...)


„Wszystko, o czym zapomniałem” jest z natury zbyt szerokie. „Poprawianie sformułowania” jest również okropnie niejasne.
— Gilles „SO- przestań być zły”

Dlatego ograniczyłem „cokolwiek” z tą częścią w nawiasach… Nie widzę też, w jaki możliwy sposób „poprawienie frazowania” mogłoby być niejasne w kontekście pisania.
— elemakil

1
Myślę, że poprawianie frazowania itp. Jest tutaj nie na temat. Istnieją strony SE, w których można nauczyć się pisać lepiej. Twoje pytanie powinno ograniczać się do tego, w jaki sposób Emacs może pomóc Ci pisać i edytować tekst. I to już jest bardzo szerokie - można je uznać za zbyt szerokie na jedno pytanie. Czy możesz sobie wyobrazić, że wszystkie pytania dotyczące pomocy w pisaniu są zawarte w jednym pytaniu? Lepiej byłoby skupić się na jednej rzeczy na raz. I wszyscy inni również by na tym skorzystali.
— Drew

1
Trad Unix miał stylei dictionjestem niejasno świadomy próby zaimplementowania ich jako open source . Jeśli narzędzia faktycznie działają, dodanie opakowania Emacsa powinno być bardzo proste.
— tripleee

2
Komputery nie mogą skutecznie poprawić twojego pisania, przynajmniej obecnie. Geoffrey K. Pullum i Mark Liberman dużo o tym piszą, na przykład patrz itre.cis.upenn.edu/myl/languagelog/archives/005061.html lub languagelog.ldc.upenn.edu/nll/?p=10416 As przykład tego, jak głupie jest to, zainstalowałem writegood-modei szarpnąłem w pierwszym akapicie „Mojego starego człowieka” (z powyższego linku). writegood-modeidentyfikuje „mojego starego człowieka wycięto dla grubego faceta” jako pasywnego, co nie jest prawdą. Te systemy a) nie działają dobrze i b) opierają się na złych zasadach dotyczących dobrego pisania.
— Erik Hetzner,

Odpowiedzi:


64

Ja osobiście trzymać się pisać rzeczy org-modez flyspell-modei langtool...

org-modejest fantastyczny do szybkiego pisania dowolnego rodzaju dokumentu w Emacsie, flyspell zajmuje się pisownią, a langtool martwi się gramatyką. Wszystko jest również wysoce konfigurowalne, więc możesz dostosować wszystko do treści twojego serca.

Oto krótkie, krótkie pisanie w trybie org z włączonym langtool i flyspell; nic specjalnego.

Jeśli langtool-correct-bufferdziałam tak, jak to sugeruje, wszelkie znalezione błędy gramatyczne języka langtool są podświetlane jeden po drugim, z pewną liczbą sugestii w dolnym buforze. Mogę wybrać dowolnego z tych kandydatów za pomocą odpowiedniego klawisza numerycznego lub po prostu pominąć ich za pomocą [spacji].

Ponadto flyspell pozwala mi [środkowym kliknięciem] na błędnie napisane słowa, aby zobaczyć sugestie pisowni.

org-modema mnóstwo formatów eksportowych; możesz wyeksportować dokument jako plik PDF, ODT, a nawet HTML. (Można eksportować używając C-c C-ew org-mode)

Teraz, gdy opublikowałem swoje arcydzieło jako plik PDF za pomocą LaTeX, właśnie to widzę, gdy otwieram je w przeglądarce plików PDF ...

Jest to prawdopodobnie najłatwiejszy sposób na tworzenie fantazyjnych dokumentów w stosunkowo dobrym środowisku do pisania w Emacsie ...

Dobra wiadomość jest taka org-modei flyspell-modesą one domyślnie dołączane do większości wersji Emacsa. Zła wiadomość jest taka, że ​​langtool nie jest i jest nieco duży i wymaga Javy ... Ale jeśli to cię nie powstrzymuje:

Langtool to moduł sprawdzający gramatykę, który jest często łączony z Openoffice lub Libreoffice. Samo narzędzie jest prostym narzędziem wiersza poleceń, więc stosunkowo łatwo jest go łączyć z innymi programami; ktoś połączył go z Emacsem.

Aby dodać go do Emacsa, możesz zainstalować go za pomocą M-x package-install langtool... Lub, jeśli nie masz skonfigurowanych odpowiednich repozytoriów (korzystam z tych sugerowanych tutaj .), Możesz pobrać .elplik i dołączyć go ręcznie tutaj .

Obecnie mam skonfigurowany taki haczyk w trybie org. (Wycinanie nieistotnych fragmentów.)

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

Oczywiście, chciałbyś zastąpić /path/to/LanguageTool.jarrzeczywistą ścieżką do niego w swoim systemie. Jest to przenośny plik .jar, więc lokalizacja nie ma większego znaczenia.

Ponadto, w przeciwieństwie do flyspell-modelangtool, musisz biegać, M-x langtool-checkkiedy chcesz sprawdzić gramatykę w buforze ... Więc nie masz ochoty sprawdzać gramatyki podczas pisania.

org-modemoże zrobić mnóstwo, i może być używany do pisania prostych plików z notatkami, kompletnych esejów z fantazyjną grafiką, artykułów, książek, ty to nazywasz ... Ale ponieważ potrafi tak wiele, trudno jest wiedzieć, od czego zacząć. Uważam, że to był najłatwiejszy do nauki poprzez uruchomienie z możliwych sposobów można wyeksportować org-modeplik po nauczyć się podstaw ... . Strona trybu organizacji jest bardzo pomocna i pouczająca, a na stronach informacyjnych jest też dużo pomocy ( C-h i, m Org Mode).

Powodzenia..! I mam nadzieję, że to pomoże.


To wspaniale ! langtoolwygląda naprawdę bardzo obiecująco.
— elemakil

1
Czy istnieje sposób, aby skonfigurować, langtoolaby mieć świadomość (La)TeXskładni? Powiedziałbym, że około połowa błędów to fałszywe alarmy wywołane (La)TeXskładnią, która jest nieco denerwująca.
— elemakil

1
Niestety, o ile mi wiadomo. Zwykle piszę swoje rzeczy w zwykłej orgie z bardzo małą liczbą LaTeX, z wyjątkiem wewnętrznych dyrektyw LaTeX. (Lubię to #+LaTeX_CLASS_OPTIONS: [hidelinks,11pt]) W ten sposób nie mam nic, co langtoolby podniosło. To nie znaczy, że można zmienić sposób, w którym langtool nie istnieje, ale po prostu, że wykracza to poza moją szczególną wiedzę na ten temat. Przepraszam..!
— Archenoth

15

Kategoria EmacsWiki Pisanie jest miejscem, aby rozpocząć.

Zawiera listę dziesiątek bibliotek, które obsługują pisanie tekstu za pomocą Emacsa, wraz z opisami jednowierszowymi i linkami do stron szczegółowych.

Nie ma sensu wymieniać takich informacji tutaj - zajrzyj tam.

(Ale może inni tutaj będą mieli konkretne rekomendacje.)

Wspomnę tylko o stronie podkategorii Thesauri i Synonimy , która zawiera więcej linków do informacji o bibliotekach obsługujących wyszukiwanie synonimów.


Te rekomendacje i osobiste doświadczenia z różnymi opcjami są tym, co najbardziej mnie interesuje :-)
— elemakil

W porządku. Powinieneś również znaleźć wiele tego na stronach wiki dla tego tematu.
— Drew

@Drew: brak strony langtool na stronie emacswiki.
— Tobias

@tobias: Tak, dodaj langtool do listy na wiki (każdy może edytować wiki - to wiki ;-)).
— Drew

Gotowy. BTW: Czy możesz rzucić okiem na (interesujące IMHO) dired + pytanie . Z góry dziękuję.
— Tobias

15

Piszę powieści za pomocą Emacsa i opracowałem z biegiem czasu przepływ pracy w oparciu o pewne jego unikalne zalety. (Przykład: Moja najnowsza książka została opracowana, skomponowana i zredagowana za pomocą Emacsa.) To powiedziawszy, nie jest to droga bez trudności.

  • Tryb Org

    Tryb Org to powód, dla którego zacząłem używać Emacsa. Umiejętność składania i rozkładania fragmentów rękopisu o wielkości około 50 000 słów jest nieoceniona. Wcześniej korzystałem z programu Scrivener, ale odczuwałem rozczarowanie z powodu wzdęć i .scrivplików tekstowych . Tryb Org ma również zdolność do łatwego przemieszczania rozdziałów ( treesi ).subtreesM-arrow_key

  • Manipulacja tekstem

    Oprócz mnogości Emacs z tekstu rozpoznawczej, krojenie i narzędzi do tapetowania ( C-s, M-y, itd. Itd.) Używam God Mode oraz tryb Avy znaleźć swoją drogę wokół bufora. Edycja modalna włączona przez tę pierwszą pomaga w moim zapaleniu stawów. Ten ostatni jest niezwykle szybkim sposobem poruszania się po ekranie za pomocą kilku naciśnięć klawiszy (zwykle w wierszu głównym).

  • Flyspell

    Jest to całkowicie odpowiednia funkcja sprawdzania pisowni, która przynosi mi korzyści każdego dnia.

  • Magit

    Niedawno zacząłem używać Git przez Bitbucket do zarządzania pracą z kontrolą wersji. Jestem początkującym, ale ma ogromne zalety, a Magit jest doskonałym interfejsem do tego systemu. Chociaż Git nie jest dokładnie zoptymalizowany do pisania powieści, działa wystarczająco dobrze.

  • DO ZROBIENIA I KOMENTARZA

    Tryb organizacji ma możliwość definiowania zadań do wykonania. Przy dużym stwardnieniu rozsianym może być 40 lub więcej rzeczy, o których muszę pamiętać, od małych do dużych. Można je zidentyfikować, a nawet uszeregować według słów kluczowych TODO . Ponadto można wstawiać różne nagłówki notatek i pomysłów COMMENT, które nie zostaną wyeksportowane, gdy wyślę plik .odt.

  • Podzielone okno

    Często pracuję nad plikiem z podzielonym oknem, pokazującym dwie lokalizacje w historii. Często porównuję jedną lokalizację z drugą. Przez długi czas robiłem to za pomocą split-window-right( C-x 3), ale ostatnio przełączyłem się na clone-indirect-buffer-other-window( C-x 4 c). Zaletą jest to, że jeśli zmienię stan składania okna A, nie zmieni to stanu składania okna B.

  • Jedna wada

    Publikowanie literackie działa na MSWord. Jest to możliwe , aby uzyskać od .orgcelu .doc, ale nie dla mnie łatwe. Obecnie używam Emacsa org-exportdo przenoszenia plików .odt, które edytuję za pomocą Libreoffice . Ręcznie lub za pomocą makr uzyskuję formatowanie niezbędne dla większego świata publikacji, jaki znam, a następnie zapisuję plik w .doc. Formatowanie nie jest skomplikowane, ale jest wymagane.

    Proces redakcyjny obejmuje wiele tam iz powrotem, co oznacza, że ​​seryjnie eksportuję do Libreoffice i ponownie importuję do Emacsa. Po stronie Emacsa makra mogą wyszukiwać gwiazdki w moich nagłówkach i poprawiać inteligentne cytaty Worda. Obecnie nie mam dobrego rozwiązania dla kursywy. Czasami wprowadzam błędy. Gdyby Emacs nie był tak niesamowitym środowiskiem do edycji tekstu, nie cierpiałbym z tego powodu.

    Mickey Petersen ma świetny post na blogu opisujący własny obieg pracy dla swojej książki Mastering Emacs, która wykorzystuje diffbufory do sortowania zmian i komentarzy (obecnie poza moim ken), a także wymaga od swojego redaktora / wydawcy literackiego, aby przeglądał pliki w formacie zwykłego tekstu (który dostałem odepchnięty, kiedy próbowałem).

  • Wniosek

    Emacs to najbardziej skuteczne narzędzie, które znalazłem do pisania i edytowania powieści. Istnieje również wiele trybów, które mogą być przydatne dla pisarzy innych rodzajów prozy (takich jak org2blog do tworzenia i publikowania blogów Wordpress oraz AUCTeX do pisania plików LaTeX).

    Bardzo chciałbym zobaczyć przyszłość, w której związek między .txti .docbyłby płynniejszy dla tego rodzaju pisania, który robię. Obejmuje to:

    • ustawienie Emacsa, aby na żądanie stosował podwójne lub pojedyncze odstępy
    • wstawianie ręcznych podziałów stron (na przykład po stronie tytułowej)
    • kursywa, które nie zawodzą wokół niektórych znaków interpunkcyjnych
    • tworząc proste, wyrównane do prawej strony nagłówki na wszystkich stronach oprócz tytułu

    Istnieją obejścia ( tutaj jest post Sean Miller na blogu o tym, aby Emacs konsekwentnie pokazywał kursywę, która zawiera interpunkcję, która zachęca do używania spacji o zerowej szerokości), a na pewno rzeczy, których jeszcze nie wiem, jak zrobić ktoś pochodzący z literacka, a nie programistyczna strona świata do edycji tekstu.

Jakiś czas temu zetknąłem się z postem grupy dyskusyjnej autorstwa rms zatytułowanym „Emacs as edytor tekstu”:

25 lat temu miałem nadzieję, że rozszerzymy Emacsa na przetwarzanie tekstu WYSIWG. Dlatego dodaliśmy właściwości tekstu i czcionki o zmiennej szerokości. Jednak nadal potrzeba więcej funkcji, aby to osiągnąć.

Czy ludzie mogą zacząć pracę nad potrzebnymi funkcjami?

Chciałbym zobaczyć przyszłość, w której mógłbym wykonywać całą swoją pracę literacką w Emacs bez konieczności uruchamiania innego edytora. Teraz mnie tam nie ma, ale ogólnie jestem szczęśliwy, ponieważ niesamowita użyteczność tego edytora jest więcej niż warta dodatkowej pracy po stronie eksportu.


1
może undoc może ci pomóc? doc importer dla emacs emacswiki.org/emacs/UnDoc
— Jason

Zobaczę. Wcześniej używałam antiworda i było więcej pracy niż było to warte, ze względu na zmiany formatowania, które występują podczas rozpakowywania. Dzięki za radę!
— Steven Arntson

11

Wykreśl oryginalną odpowiedź na powiązane pytanie .

  • Kontrola gramatyki: Nie znam jeszcze dedykowanych analizatorów gramatyki dla emacsa. Wspomnę o writegood-modedostępnym w MELPA, który podkreśla słowa łasicy i pasywny głos w buforze. To prowadzi cię w połowie drogi.

    Inną, prawdopodobnie użyteczną biblioteką, dupwords.elktóra może wyróżnić, jeśli dane słowo (zazwyczaj rzeczowniki i zaimki) są używane więcej niż jeden raz w tym samym zdaniu. Jest to bardziej ogólne niż znajdowanie powtarzających się sąsiednich słów, które mogą być obsługiwane przez Flyspell.

  • Cokolwiek innego: ogólna poprawa języka jest trudnym problemem. Biorąc to pod uwagę, jeśli istnieje jakiś zewnętrzny program / skrypt w tym obszarze, zwykle łatwo jest go połączyć z emacsem.

Jeśli używasz LaTeXa do pisania, osobiście znalazłem następujące skrypty ruby ​​bardzo przydatne do sprawdzania stylu i spójności. Po prostu wywołuję polecenie powłoki z samego minibufora. Przeglądarka zdolna do wyszukiwania do przodu i do tyłu jest również cenna podczas korekty. W MS Windows używam sumatra-forwardpakietu z ELPA do wyszukiwania do przodu w przeglądarce SumatraPDF.

  1. sprawdzanie stylu przez Neila Springa
  2. konsystencja łącznika autorstwa Neila Conwaya

0

Ta wskazówka pozwoli Ci sformatować słowa / regiony (pogrubienie, kursywa, przekreślenie, ale także pareny, cytaty itp.) Za pomocą jednego naciśnięcia klawisza , zamiast dodawania „ /”, „ *” itp. Na początku i na końcu Twój tekst. Przydaje mi się to podczas pisania, podobnie jak podczas ponownego czytania i dostrajania pisanych tekstów:

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

Ten kod służy do uzyskania pogrubionego słowa / regionu. Wszystko, co musisz zrobić, to zastąpić pierwszy i drugi „ *” (insert-pair 1 ?* ?*)zgodnie z typem pożądanego formatowania. W przypadku parens, idź z (insert-pair 1 ?\( ?\))

Po prostu przypisz do niego klucz i gotowe:

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

Uwaga: dodałem niewielką zmianę do skradzionego tutaj kodu. Dodałem (forward-word) (right-char)na końcu funkcji, ponieważ kiedy piszesz i chcesz sformatować słowo, chcesz pointiść po znaku formatującym, abyś mógł kontynuować pisanie po. Ale możesz chcieć usunąć (right-char)pareny lub cytaty, aby pozostać w paren lub cytacie i kontynuować pisanie.

Nie jestem programistą, tylko entuzjastą emacsa, bawiąc się czasem istniejącym kodem. I chcę, aby emacs stał się moim edytorem tekstu!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.