Какие есть варианты для написания лучшего непрограммируемого текста в Emacs?

58

Это ответвление от вопроса: какие есть варианты проверки орфографии в Emacs?

Поскольку в настоящее время я выполняю много непрограммных задач в Emacs, мне интересно, может ли Emacs поддержать меня в написании лучших текстов.

Итак, давайте начнем с обязательной вопросной фразы

Существуют ли какие-либо пакеты / библиотеки / встроенные модули, предназначенные для того, чтобы помочь мне писать более качественные, правильные и краткие тексты в Emacs?

В частности,

  • для грамматической проверки правописания . Что-то похожее (но, надеюсь, лучше) на проверку орфографии в MS Word, которая распознает, является ли предложение грамматически неправильным

  • для улучшения вашей фразы и выражений, которые вы используете. Нечто в духе Общества мертвых поэтов :

    Поэтому избегайте использования слова «очень», потому что оно ленивое. Человек не очень устал, он истощен. Не используйте очень грустный, используйте угрюмый. [...]

  • для всего, что я забыл или не знаю, но вы можете подумать (фразеология / улучшение языка, дух ...)

elemakil
источник
«Все, что я забыл» слишком широкое. «Улучшение формулировки» тоже очень расплывчато.
Жиль "ТАК - перестань быть злым"
Следовательно, я ограничил «что-нибудь» этой частью в скобках ... Кроме того, я не вижу, каким образом возможное «улучшение вашей фразы» может быть неопределенным в контексте письма.
elemakil
1
Я думаю, что улучшение формулировки и т. Д. Здесь не по теме. Есть сайты SE для обучения написанию лучше. Ваш вопрос должен быть ограничен тем, как Emacs может помочь вам писать и редактировать текст. И это уже очень широко - это может считаться слишком широким для одного вопроса. Можете ли вы представить, если все вопросы о письменной помощи объединены в один ваш вопрос? Вам было бы гораздо лучше сосредоточиться на одной вещи за раз. И все остальные также выиграют от этого.
Дрю
1
У Trad Unix была styleи diction, и я смутно осведомлен о попытке переопределить их как открытый исходный код . Если инструменты действительно работают, добавление оболочки Emacs должно быть несложно.
tripleee
2
Компьютеры не могут эффективно улучшить ваше письмо, по крайней мере в настоящее время. Джеффри K Пулум и Марк Либерман написать об этом много, например, см itre.cis.upenn.edu/myl/languagelog/archives/005061.html или languagelog.ldc.upenn.edu/nll/?p=10416 Как Пример того, насколько это глупо, я установил writegood-modeи дернул в первом абзаце «Мой старик» (из ссылки выше). writegood-modeидентифицирует "мой старик был вырезан для толстяка" как пассивный, но это не так. Эти системы а) не работают хорошо и б) основаны на плохих правилах хорошего письма.
Эрик Хецнер,

Ответы:

64

Я лично придерживаюсь того, чтобы писать вещи org-modeс flyspell-modeи langtool...

org-modeотлично подходит для быстрого ввода любого типа документа в Emacs, flyspell заботится об орфографии, а langtool беспокоится о грамматике. Все также можно настраивать, так что вы можете настроить все, что душе угодно.

Вот небольшой быстрый набор в режиме org с включенным langtool и flyspell; ничего особенного.

Если я запускаю так, langtool-correct-bufferкак предлагает, все найденные грамматические ошибки langtool подсвечиваются один за другим с рядом предложений в нижнем буфере. Я могу выбрать любого из этих кандидатов с помощью соответствующей цифровой клавиши или просто пропустить их с помощью клавиши [Пробел].

Кроме того, flyspell позволяет мне [Средний щелчок] по словам с ошибками, чтобы увидеть предложения по написанию.

org-modeимеет тонну форматов экспорта; Вы можете экспортировать документ в формате PDF, ODT или даже в формате HTML. (Вы можете экспортировать, используя C-c C-eв org-mode)

Теперь, когда я опубликовал свой шедевр в формате PDF с использованием LaTeX, это то, что я вижу, когда открываю его в средстве просмотра PDF ...

Вероятно, это самый простой способ создавать необычные документы в относительно неплохой среде написания в Emacs ...

Хорошая новость заключается в том, что org-modeи flyspell-modeвключена по умолчанию с большинством версий Emacs. Плохая новость в том, что langtool нет, и он несколько большой, и для него требуется Java ... Но если это вас не удержит:

Langtool - это программа проверки грамматики, которая обычно связана с Openoffice или Libreoffice. Сам инструмент представляет собой простую утилиту командной строки, поэтому его относительно легко связать с другими программами; кто-то связал это с Emacs.

Чтобы добавить его в Emacs, вы можете установить его с помощью M-x package-install langtool... Или, если у вас не настроены правильные репозитории (я использую предложенные здесь .), Вы можете получить .elфайл и включить его вручную отсюда .

В данный момент у меня настроен хук в режиме org. (Отрезать ненужные биты.)

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

Очевидно, вы захотите заменить /path/to/LanguageTool.jarфактический путь к нему в вашей системе. Это переносимый файл .jar, поэтому его местоположение не имеет значения.

Кроме того, в отличие от flyspell-modelangtool, вы должны запускаться, M-x langtool-checkкогда вы хотите проверить грамматику буфера ... Таким образом, вы не проверяете грамматику при вводе текста .

org-modeможет сделать кучу, и может быть использован для написания простых маленьких заметок файлов, завершать эссе с причудливой графикой, статьями, книгами, вы называете это ... Но так как он может сделать так много, трудно понять, с чего начать. Я нашел , что это было легче узнать, начиная с возможными способами вы можете экспортировать org-modeфайл после того, как вы узнаете основы ... . Сайт Org-mode очень полезен и информативен, и на страницах с информацией о нем также есть много полезной информации ( C-h i, m Org Mode).

Удачи..! И надеюсь, это поможет.

Archenoth
источник
Это здорово ! langtoolвыглядит действительно многообещающе.
elemakil
1
Есть ли способ настроить, langtoolчтобы быть в курсе (La)TeXсинтаксиса? Я бы сказал, что около половины ошибок являются ложными срабатываниями, вызванными (La)TeXсинтаксисом, который немного раздражает.
elemakil
1
К сожалению, не в моих силах. Я обычно пишу свои вещи на простом org с очень небольшим LaTeX, за исключением внутренних директив LaTeX org. (Нравится #+LaTeX_CLASS_OPTIONS: [hidelinks,11pt]). Таким образом, у меня нет ничего, что langtoolмогло бы поднять. Это не означает, что способ изменить место, где лангтула, конечно, не существует, а просто то, что он находится за пределами моих конкретных знаний по этому вопросу. Сожалею..!
Archenoth
15

Категория EmacsWiki Написание - это место для начала.

В нем перечислены десятки библиотек, поддерживающих написание текста с использованием Emacs, с однострочными описаниями и ссылками на страницы с подробностями.

Нет смысла перечислять такую ​​информацию здесь снова - проконсультируйтесь там.

(Но, возможно, у других здесь будут конкретные рекомендации.)

Я упомяну только страницу подкатегории Thesauri и Synonyms , которая содержит больше ссылок на информацию о библиотеках, которые поддерживают поиск синонимов.

Нарисовался
источник
Эти рекомендации и личный опыт работы с разными опциями - вот что меня больше всего интересует :-)
elemakil
Хорошо. Вы также должны найти много этого на вики-страницах по этой теме.
Дрю
@Drew: langtool отсутствует на странице emacswiki.
Тобиас
@tobias: Да, пожалуйста, добавьте langtool в список на вики (любой может редактировать вики - это вики ;-)).
Дрю
Готово. Кстати: не могли бы вы взглянуть на некоторые (ИМХО интересные) Dired + вопрос . Заранее спасибо.
Тобиас
15

Я пишу романы, используя Emacs, и со временем разработал рабочий процесс, основанный на определенных уникальных его преимуществах. (Пример: моя последняя книга была задумана, составлена ​​и отредактирована с помощью Emacs.) Тем не менее, это не дорога без трудностей.

  • Орг-режим

    Режим Org - причина, по которой я начал использовать Emacs. Возможность складывать и раскладывать фрагменты рукописи из ~ 50 тысяч слов неоценима. Раньше я пользовался программой Scrivener, но разочаровался в ее раздуваемых и незашифрованных текстовых .scrivфайлах. Режим Org также имеет возможность легко перемещать главы ( treesи subtrees) (с M-arrow_key).

  • Манипулирование текстом

    Помимо множество EMACS' текста ознакомительного, нарезки, и вставив утилиты ( C-s, M-yи т.д. и т.п.) Я использую режим бога и AVy режим , чтобы найти свой путь вокруг буфера. Модальное редактирование, включенное первым, помогает при моем артрите. Последнее является чрезвычайно быстрым способом навигации по экрану с помощью всего нескольких нажатий клавиш (обычно в домашнем ряду).

  • Flyspell

    Это совершенно адекватная проверка орфографии, которая приносит мне пользу каждый день.

  • Magit

    Недавно я начал использовать Git через Bitbucket для управления своей работой с контролем версий. Я новичок, но есть огромные преимущества, и Magit - отличный интерфейс для этой системы. Хотя Git он не совсем оптимизирован для написания романов, он работает достаточно хорошо.

  • ТОДО и КОММЕНТАРИЙ

    Org-mode имеет возможность определять задания для выполнения. С большим MS может быть 40 или больше вещей, которые мне нужно запомнить, от маленького до большого. Их можно идентифицировать и даже ранжировать по ключевым словам TODO . Кроме того, могут быть добавлены различные заголовки заметок и идей COMMENT, которые не будут экспортироваться при отправке файла .odt.

  • Сплит окно

    Я часто работаю над файлом с разделенным окном, показывающим два местоположения в истории. Я часто сравниваю одно место с другим. Долгое время я делал это с split-window-right( C-x 3), но недавно переключился на clone-indirect-buffer-other-window( C-x 4 c). Преимущество здесь состоит в том, что, если я изменяю состояние сворачивания окна A, это не меняет состояние сворачивания окна B.

  • Один недостаток

    Литературная публикация работает на MSWord. Это возможно , чтобы получить от .orgдо , .docно не для меня легко. В настоящее время я использую Emacs org-exportдля переноса файлов .odt, которые я редактирую с помощью Libreoffice . Я вручную или с помощью макросов получаю форматирование, необходимое для большого издательского мира, насколько я знаю, затем сохраняю файл в .docФорматирование не сложно, но это необходимо.

    Редакционный процесс включает в себя значительные объемы, что означает, что я последовательно экспортирую в Libreoffice и повторно импортирую в Emacs. В конце Emacs макросы могут извлекать звездочки для моих заголовков и исправлять умные цитаты Word. У меня в настоящее время нет хорошего решения для курсива. Иногда я вношу ошибки. Если бы Emacs не был такой удивительной средой для редактирования текста, я бы не страдал от этого.

    У Микки Петерсена есть отличное сообщение в блоге, описывающее его собственный рабочий процесс для его книги « Освоение Emacs», в котором используются diffбуферы для сортировки изменений и комментариев (за пределами моего понимания в настоящее время), а также требуется, чтобы его литературный редактор / издатель просматривал текстовые файлы. (что я получил откат, когда я попробовал это).

  • Заключение

    Emacs - самый эффективный инструмент, который я нашел для написания и редактирования романов. Есть также много режимов, которые могут быть полезны для писателей других видов прозы (например, org2blog для создания и публикации блогов Wordpress и AUCTeX для записи файлов LaTeX).

    Я хотел бы видеть будущее, где связь между .txtи .docбыла более гладкой для того вида письма, которым я занимаюсь. Это будет включать в себя:

    • установка Emacs для использования двойного или одинарного интервала, когда требуется
    • вставка разрывов страниц вручную (например, после титульного листа)
    • курсив, который не ошибается вокруг некоторых знаков препинания
    • создание простых, правильно выровненных заголовков на всех страницах, кроме заголовка

    Есть обходные пути ( вот блог Шона Миллера о том, как заставить Emacs постоянно показывать курсив, включая пунктуацию, что поощряет использование пробела нулевой ширины), и, конечно, вещи, которые я пока не знаю, как поступить, как кто-то из литературная, а не программная сторона мира редактирования текста.

Некоторое время назад я случайно наткнулся на сообщение группы новостей под названием «Emacs как текстовый процессор»:

25 лет назад я надеялся, что мы расширим Emacs для обработки текстов WYSIWG. Вот почему мы добавили свойства текста и шрифты переменной ширины. Тем не менее, для достижения этой цели необходимы дополнительные функции.

Не могли бы люди начать работать над необходимыми функциями?

Мне бы очень хотелось увидеть будущее, в котором я мог бы выполнять всю свою литературную работу в Emacs без необходимости запуска другого редактора. Я не там сейчас, но, тем не менее, в целом я счастлив, потому что удивительная полезность этого редактора более чем стоит дополнительной работы по экспорту.

Стивен Арнтсон
источник
1
может быть, отмена поможет вам? импортер документов для emacs emacswiki.org/emacs/UnDoc
Джейсон Мирк,
Я посмотрю. Я использовал антислово раньше, и это было больше работы, чем стоило, из-за изменений форматирования, которые происходят во время извлечения. Спасибо за совет!
Стивен Арнтсон,
11

Выделите первоначальный ответ на связанный вопрос .

  • Проверка грамматики: я не знаю ни одного специализированного парсера грамматики для emacs. Я упомяну writegood-modeдоступный в MELPA, который выделяет слова ласки и пассивный голос в буфере. Это приведет вас на полпути туда.

    Другая, возможно, полезная библиотека, dupwords.elкоторая может выделить, если определенное слово (обычно существительные и местоимения) используются более одного раза в одном предложении. Это более общий подход, чем поиск повторяющихся соседних слов, которые могут быть обработаны с помощью flyspell.

  • Все остальное: исправление языка в целом является сложной проблемой. При этом, если в этой области существует какая-либо внешняя программа / скрипт, обычно легко заставить ее взаимодействовать с emacs.

Если вы используете LaTeX для письма, я лично нашел следующие рубиновые сценарии весьма полезными для проверки стиля и согласованности. Я просто вызываю команду оболочки из самого минибуфера. Зритель, способный к прямому и обратному поиску, также полезен при корректуре. В MS Windows я использую sumatra-forwardпакет из ELPA для прямого поиска в программе просмотра SumatraPDF.

  1. проверка стиля Нейлом Спрингом
  2. последовательность дефисов Нила Конвея
Vamsi
источник
0

Этот совет позволит вам форматировать слова / регионы (полужирный шрифт, курсив, вычеркивание, но также и паренсы, кавычки и т. Д.) Одним нажатием клавиши вместо добавления /«,» *и т. Д. В начале и в конце твой текст. Я считаю это полезным при написании, как при повторном чтении и точной настройке письменных текстов:

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

Этот код предназначен для получения жирного слова / региона. Все, что вам нужно сделать, это заменить первое и второе ' *' в (insert-pair 1 ?* ?*)зависимости от того, какой тип форматирования вы хотите. Для родителей, пойти с (insert-pair 1 ?\( ?\))

Просто привяжите ключ к нему, и все готово:

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

Примечание: я не стеснялся добавлять незначительные изменения в код, который я украл здесь. Я добавил (forward-word) (right-char)в конце функции , потому что , когда вы пишете и хотите отформатировать слово, вы хотите pointпойти после форматирования символов, так что вы можете идти писать после. Но вы можете захотеть удалить из- (right-char)за паренов или цитат, чтобы остаться внутри парен или цитаты и продолжать писать.

Я не программист, просто энтузиаст emacs, иногда играющий с существующим кодом. И я хочу, чтобы emacs стал моим текстовым процессором!

pseudomyne
источник