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

elemakil
źródło
„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.

Archenoth
źródło
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.

Rysował
źródło
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.

Steven Arntson
źródło
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
Vamsi
źródło
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!

pseudomyne
źródło