Emacs에서 더 나은 비 프로그래밍 텍스트를 작성하기위한 옵션은 무엇입니까?


58

이것은 Emacs에서 맞춤법 검사를 수행하기 위해 어떤 옵션이 있습니까?

나는 현재 Emacs에서 많은 비 프로그래밍 작업을하고 있기 때문에 Emacs가 더 나은 텍스트 를 작성하는 데 도움을 줄 수 있는지 궁금합니다 .

따라서 의무적 인 질문 문구로 시작합시다.

Emacs에서 더 정확하고 간결한 텍스트를 작성하는 데 도움이되는 패키지 / 라이브러리 / 내장 패키지가 있습니까?

구체적으로

  • 에 대한 문법 맞춤법 검사 . 문장이 문법적으로 잘못되었는지 인식하는 MS Word 맞춤법 검사기와 유사하지만 희망적으로 더 나은 것

  • 문구와 사용중인 표현을 향상시킵니다. Dead Poets Society 의 선을 따라 뭔가 :

    게으 르기 때문에 '매우'라는 단어를 사용하지 마십시오. 사람은별로 피곤하지 않고 피곤합니다. 매우 슬퍼하지 말고, 장미를 사용하십시오. [...]

  • 이는 아무것도 내가 잊었거나 인식하지 오전하지만 당신이 생각할 수있는 (개선 관련 대만족, 말씨 / 언어 ...)


“내가 잊어 버린 것”은 본질적으로 너무 광범위합니다. "구절 개선"도 매우 모호합니다.
Gilles

그러므로 나는 그 부분으로 괄호 안에 "무엇인가"를 제한했습니다 ... 또한, "어구를 개선"하는 것이 가능한 한 글쓰기 맥락에서 모호 할 수있는 방법을 보지 못합니다.
elemakil

1
여기에서 귀하의 문구 등을 개선하는 것은 논외 주제입니다. 더 잘 쓰는 법을 배울 수있는 SE 사이트가 있습니다. 질문은 Emacs가 텍스트를 작성하고 편집하는 데 어떻게 도움될 수 있는지에 국한되어야 합니다. 그리고 그것은 이미 매우 광범위합니다. 단일 질문에 대해서는 너무 광범위하게 간주 될 수 있습니다. Writing-Help에 대한 모든 질문이 하나의 질문에 묶여 있는지 상상할 수 있습니까? 한 번에 한 가지에 집중하는 것이 훨씬 좋습니다. 그리고 다른 모든 사람들도 그 혜택을 누릴 것입니다.
Drew

1
Trad Unix는 styleand를 가지고 있으며 오픈 소스diction다시 구현 하려는 시도를 모호하게 알고 있습니다. 도구가 실제로 작동하면 Emacs 래퍼를 추가하는 것이 간단합니다.
tripleee

2
컴퓨터는 적어도 현재 글을 효과적으로 향상시킬 수 없습니다. 제프리 K 풀럼과 마크 리버맨은 많은 예를 들어, 볼이에 대해 쓸 itre.cis.upenn.edu/myl/languagelog/archives/005061.html 또는 languagelog.ldc.upenn.edu/nll/?p=10416 로를 이것이 어리석은 일의 한 예인 나는 writegood-mode"나의 노인"(위의 링크에서)의 첫 번째 단락에서 설치 하고 yan 거리었다. writegood-mode"나의 노인은 뚱뚱한 남자를 위해 잘려나 갔다"는 수동적 인 것으로 식별합니다. 이 시스템은 a) 제대로 작동하지 않으며 b) 좋은 글쓰기에 대한 잘못된 규칙을 기반으로합니다.
Erik Hetzner

답변:


64

나는 개인적으로 물건을 쓰기에 충실 org-modeflyspell-mode하고 langtool...

org-modeEmacs에서 모든 종류의 문서를 빠르게 입력하는 데 환상적이며, flyspell은 맞춤법을 처리하고, langtool은 문법에 대해 걱정합니다. 모든 것 역시 커스터마이징이 가능하므로 마음의 내용에 맞게 커스터마이징 할 수 있습니다.

다음은 langtool 및 flyspell이 활성화 된 org-mode의 빠른 타이핑입니다. 너무 특별한 것은 없습니다.

내가 langtool-correct-buffer제안한 것처럼 실행하면 langtool에서 찾은 문법 오류가 맨 아래 버퍼에 여러 제안과 함께 하나씩 강조 표시됩니다. 해당 숫자 키를 사용하여 이러한 후보 중 하나를 선택하거나 [Space bar]를 사용하여 건너 뛸 수 있습니다.

또한 맞춤법 추천 단어를 보려면 맞춤법이 틀린 단어를 [중간 클릭]으로 표시합니다.

org-mode있다 수출 형식을; 문서를 PDF, ODT 또는 HTML로 내보낼 수 있습니다. (다음을 사용하여 내보낼 수 있습니다 C-c C-e에서 org-mode)

LaTeX를 사용하여 내 작품을 PDF로 게시 했으므로 PDF 뷰어에서 열 때 볼 수 있습니다.

아마도 Emacs에서 비교적 좋은 글쓰기 환경에서 멋진 문서를 만드는 가장 쉬운 방법 일 것입니다 ...

좋은 소식은이다 org-modeflyspell-mode이맥스의 대부분의 버전에 기본적으로 포함되어 있습니다. 나쁜 소식은 langtool이 아니고 다소 크며 Java가 필요하다는 것입니다.

Langtool 은 일반적으로 Openoffice 또는 Libreoffice와 쌍을 이루는 문법 검사기입니다. 도구 자체는 간단한 명령 줄 유틸리티이므로 다른 프로그램과 인터페이스하기가 비교적 쉽습니다. 누군가 Emacs와 인터페이스했습니다.

Emacs에 추가하려면 M-x package-install langtool... 또는 올바른 저장소를 설정하지 않은 경우 ( 여기서 제안 된 것을 사용 하십시오 ) .el파일을 가져 와서 여기 에서 수동으로 포함시킬 수 있습니다 ...

현재 조직 모드 후크가 이와 같이 설정되어 있습니다. 관련없는 비트를 스니핑합니다.

(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 으로 시작하여 배우는 것이 가장 쉬운 방법이라는 것을 알았습니다 . 조직 모드의 사이트 는 매우 유용하고 유익하며 정보 페이지에도 많은 도움이 있습니다 ( , ).C-h im Org Mode

행운을 빕니다..! 그리고 이것이 도움이되기를 바랍니다.


이다 중대한 ! langtool실제로 매우 유망 해 보인다.
elemakil

1
구문을 langtool인식 하도록 구성 할 수 있는 방법이 (La)TeX있습니까? 나는 오류의 절반 정도 (La)TeX가 약간 성가신의 구문으로 인한 오 탐지라고 말합니다 .
elemakil

1
불행히도, 내 지식은 아닙니다. 나는 보통 LaTeX 내부 지시문을 제외하고 LaTeX가 거의없는 평범한 조직으로 내 물건을 씁니다. (좋아요 #+LaTeX_CLASS_OPTIONS: [hidelinks,11pt]) 그렇게 할 수있는 것은 없습니다 langtool. 그것은 langtool이 존재하지 않는 곳을 바꾸는 방법을 말하는 것이 아니라 단순히 주제에 대한 나의 특별한 지식을 넘어서는 것입니다. 죄송합니다..!
Archenoth

15

EmacsWiki 카테고리 작문 이 시작됩니다.

Emacs를 사용한 텍스트 작성을 지원하는 수십 개의 라이브러리와 한 줄짜리 설명 및 세부 사항 페이지 링크가 나열되어 있습니다.

이러한 정보를 다시 여기에 나열하는 것은 의미가 없습니다. 여기에서 참조하십시오.

(그러나 아마도 다른 사람들에게는 특정 권장 사항이있을 것입니다.)

동의어 조회를 지원하는 라이브러리에 대한 정보에 대한 더 많은 링크가 있는 하위 범주 페이지 Thesauri and Synonyms 만 언급합니다 .


이러한 권장 사항과 다양한 옵션에 대한 개인적인 경험은 내가 주로 관심을 갖는 부분입니다. :-)
elemakil

좋아. 이 주제에 대한 위키 페이지에서도 그 내용을 많이 볼 수 있습니다.
Drew

@Drew : emacswiki 페이지에서 langtool이 누락되었습니다.
Tobias

@tobias : 예, 위키의 목록에 langtool을 추가하십시오 (누구든지 위키를 편집 할 수 있습니다-위키입니다;
Drew

끝난. BTW : 당신은 한 번 봐 가지고 할 수 일부 (이럴 흥미로운) + 질문을 dired . 미리 감사드립니다.
Tobias

15

저는 Emacs를 사용하여 소설을 쓰고 시간이 지남에 따라 고유 한 장점을 기반으로 워크 플로를 개발했습니다. (예 : 나의 가장 최근의 책 은 Emacs로 구상, 작성 및 편집되었습니다.) 그것은 어려운 길이 아닙니다.

  • 조직 모드

    조직 모드는 내가 Emacs를 사용하기 시작한 이유입니다. ~ 50K 단어 원고의 섹션을 접거나 펼칠 수 있다는 것은 매우 중요합니다. 이전에 Scrivener 프로그램을 사용 했지만 부풀리고 일반 텍스트 .scriv파일로 인해 매혹되었습니다 . Org 모드는 장 ( treessubtrees)을 쉽게 (로 M-arrow_key) 이동할 수 있습니다 .

  • 텍스트 조작

    텍스트 찾기, 슬라이스, 및 붙여 넣기 유틸리티 이맥스 '과다뿐만 아니라 (에서 C-s, M-y등 등) 내가 사용하는 신 모드avy 모드를 버퍼 주위에 내 길을 찾을 수 있습니다. 전자가 가능하게 한 모달 편집은 나의 관절염에 도움이됩니다. 후자는 몇 번의 키 입력 (일반적으로 홈 행)으로 화면을 탐색하는 매우 빠른 방법입니다.

  • 비행

    이것은 매일 나에게 도움이되는 완벽하게 적합한 맞춤법 검사기입니다.

  • 마지 트

    최근에 Bitbucket 을 통해 Git 을 사용하여 버전 관리 작업을 관리 하기 시작했습니다 . 나는 초보자이지만 엄청난 이점이 있으며 Magit 은 그 시스템에 대한 훌륭한 인터페이스입니다. 비록이 정확히 소설 쓰기에 최적화되어 있지 않습니다, 그것은 충분히 잘 작동합니다.Git

  • 할 일과 의견

    조직 모드에는 수행 할 작업을 정의 할 수있는 기능이 있습니다. 큰 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가 놀라운 텍스트 편집 환경이 아니었다면 나는 이것을 겪지 않을 것입니다.

    미키 피터슨 (Mickey Petersen)은 자신의 저서 마스터 링 이맥스 (Maning Emacs)에 대한 자신의 워크 플로우 를 설명하는 훌륭한 블로그 게시물을 가지고 있는데 ,diff 버퍼를 사용 하여 변경 사항 및 의견을 정렬하고 (현재는 내 켄을 넘어서), 일반 텍스트 파일을 보려면 문학 편집자 / 게시자가 필요합니다. (내가 그것을 시도했을 때 푸시 백을 받았다).

  • 결론

    이맥스는 소설을 쓰고 편집하는 데 가장 효과적인 도구입니다. (예 : 산문의 다른 종류의 작가에 이용 될 수있는 다양한 모드도있다 org2blog 구성 및 워드 프레스 블로그와 게시 AUCTeX을 LaTeX의 파일을 작성하기위한이).

    나는 사이의 링크를 어디에서 미래를보고 싶어요 .txt그리고 .doc내가 글을 쓰는 종류의 부드러운했다. 여기에는 다음이 포함됩니다.

    • 요청시 Emacs가 이중 간격 또는 단일 간격을 사용하도록 설정
    • 수동 페이지 나누기 삽입 (예 : 제목 페이지 뒤)
    • 문장 부호 주위에서 실패하지 않는 이탤릭체
    • 제목을 제외한 모든 페이지에 간단하고 오른쪽 정렬 된 헤더 만들기

    해결 방법이 있습니다 ( 여기서는 Sean Miller가 Emacs가 구두점을 포함하는 이탤릭체를 일관되게 표시하는 방법에 대해 이야기합니다. 폭이 0 인 공간을 사용하도록 권장합니다). 텍스트 편집 세계의 프로그래밍 측면보다는 문학적.

얼마 전 나는 "Emacs as word processor"라는 rms의 뉴스 그룹 게시물을 보았습니다.

25 년 전 WYSIWG 워드 프로세싱을 위해 Emacs를 확장하기를 희망했습니다. 그렇기 때문에 텍스트 속성과 가변 폭 글꼴을 추가했습니다. 그러나이를 위해 더 많은 기능이 여전히 필요합니다.

사람들이 필요한 기능에 대해 작업을 시작할 수 있습니까?

나는 다른 편집자를 시작하지 않고 이멕스에서 모든 문학 작품을 할 수있는 미래를보고 싶다. 나는 지금 거기에 없지만 그럼에도 불구하고 전반적으로 행복합니다.이 편집기의 놀라운 유틸리티는 수출 끝에서 추가 작업을 할 가치가 있기 때문입니다.


1
undoc이 당신을 도울 것입니까? emacs를위한 문서 수입업자 emacswiki.org/emacs/UnDoc
Jason Mirk

내가 볼게 나는 안티 워드를 전에 사용해 왔으며 추출 중에 발생하는 서식 변경으로 인해 가치가있는 것보다 더 많은 작업을 수행했습니다. 충고 감사합니다!
Steven Arntson

11

링크 된 질문 에 대한 원래 답변에서 분리하십시오 .

  • 문법 검사 : 아직 emacs를위한 전용 문법 파서는 알지 못합니다. 나는 말할 것입니다 writegood-mode강조 MELPA에서 사용할 수있는 족제비 단어 버퍼와 수동태를. 반쯤 당신을 얻는다.

    또 다른 유용한 라이브러리는 dupwords.el특정 단어 (일반적으로 명사 및 대명사)가 동일한 문장에서 두 번 이상 사용되는 경우 강조 할 수 있습니다. 플라이 스펠로 처리 할 수있는 반복되는 인접 단어를 찾는 것보다 더 일반적입니다.

  • 다른 것 : 일반적으로 언어를 수정하는 것은 어려운 문제입니다. 즉,이 영역에 외부 프로그램 / 스크립트가 있으면 일반적으로 emacs와 인터페이스하기가 쉽습니다.

LaTeX 를 사용 하여 글을 쓰는 경우 스타일과 일관성을 확인하는 데 다음 루비 스크립트가 매우 유용하다는 것을 개인적으로 알았습니다. 미니 버퍼 자체에서 쉘 명령을 호출합니다. 정방향 및 역방향 검색이 가능한 뷰어도 교정 할 때 유용합니다. MS Windows에서는 sumatra-forwardSumatraPDF 뷰어에서 정방향 검색을 위해 ELPA의 패키지를 사용 합니다.

  1. Neil Spring의 스타일 확인
  2. Neil Conway의 하이픈 일관성

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 ?* ?*)따라 첫 번째와 두 번째 ' '를 바꾸면됩니다. parens 들어갑니다 (insert-pair 1 ?\( ?\))

키를 바인딩하면 완료됩니다.

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

참고 : 여기에서 도난당한 코드를 약간만 변경해도 무방했습니다. 나는 추가 (forward-word) (right-char)당신이 작성하고 단어를 포맷 할 때, 당신이 원하기 때문에 함수의 끝에서 point이동 한 후 서식 문자, 그래서 당신은 후에 작성에 갈 수 있습니다. 그러나 당신은 (right-char)괄호 또는 따옴표를 제거 하고, 괄호 또는 따옴표 안에 머물면서 글을 쓰기를 원할 수 있습니다 .

나는 프로그래머가 아니며, 단지 이맥스 애호가이며 때로는 존재하는 코드로 연주합니다. 그리고 이맥스가 내 워드 프로세서가되기를 원합니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.