Skip to content
/ korean-novel Public template

마크다운으로 한글 소설을 쓰기 위한 boilerplate

Notifications You must be signed in to change notification settings

yunhojeon/korean-novel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

마크다운으로 한글 소설을 쓰기 위한 Boilerplate

사용법

Markdownpandoc으로 장편 소설처럼 비교적 긴 글을 쓸 때 사용할 ��� 있는 boilerplate입니다. Windows와 Mac OSX에서 사용하실 수 있습니다. 먼저, 아래와 같은 툴이 사전에 설치되어 있어야 합니다.

  • pandoc: 패키지 관리 시스템으로 설치할 경우 예전 버전인 경우가 많습니다. 따라서 pandoc 사이트에서 직접 최신 버전을 다운로드하여 설치하기를 권장합니다.

  • GNU Make:빌드툴로 사용하고 있습니다. 특별히 버전 영향을 받을 것 같지는 않습니다만, 저는 Scoop을 이용하여 설치했습니다.

  • (Optional) latex: 직접 PDF 결과물을 만들 때 필요합니다만, 컴파일 속도가 느리고 폰트 설정 등이 까다로우므로 docx 파일로 저장 후 Microsoft Word나 한컴오피스에서 PDF로 변환하시는 것을 더 추천합니다.

이 프로젝트를 clone 하신 후, Makefile.incmetadata.yml을 적절히 수정하고, contents 폴더에 .md 파일을 만듭니다. 큰 문서를 여러 파일로 만들 경우, 00_에필로그.md, 10_도입.md와 같은 식으로 파일 순서가 알파벳 순서로 정렬될 수 있도록 파일 이름을 정합니다. 한글 파일 이름을 쓸 수 있지만, 공백은 못 씁니다. 그다음에

make docx

명령을 실행하면, build 디렉터리에 (Makefile.inc에 정의된) my_novel.docx 파일이 생성됩니다. 그 외에 HTML, EPUB, PDF의 생성을 지원합니다.

필요성

단편 소설은 아무 워드프로세서나 사용하더라도 큰 상관 없습니다만, 장편 소설의 경우 하나의 파일로 편집하기 불편합니다. 그래서 영어권에서 많이 사용하는 Scrivener와 같은 전문화된 툴은 흡사 프로그래밍 개발환경과 유사한 구조와 기능을 가지고 있습니다. 아래는 소프트웨어 개발 경험을 가진 사람으로서 소설 쓰기를 배우면서 사용해본 몇 가지 툴의 장단점입니다.

  • Google Docs: 가볍게 쓰기는 좋습니다. 지금도 시놉시스라던가 아이디어를 형식 없이 ��� 때는 이걸 씁니다. 아무 컴퓨터나 옮겨 다니면서 쓸 때 저장이나 sync를 신경 쓸 필요가 없고, 다른 포맷으로 변환하거나 공유하기도 좋습니다. 하지만 결정적으로 글이 길어질수록 편집이 불편할 정도로 속도가 저하됩니다.

  • 한컴오피스(아래아한글): 아직도 우리나라에서 글 쓰는 사람들의 가장 표준적인 툴입니다. 소설 정도의 문서를 만드는데 기능상 크게 부족한 부분이 없고, 무엇보다도 한글 맞춤법 기능이 강력하며, 원고지 매수 계산처럼 우리나라 환경에 유용한 기능이 충실합니다. 하지만 더 나은 툴을 써본 사람에게는 보이는 단점도 적지 않은데,

    • 소프트웨어 완성도 부족: 예를 들어, 마우스 휠로 스크롤 하다가 커서 키를 누르면 다시 원위치로 가버립니다. 문서 비교 툴도 너무 완성도가 낮습니다.
    • Mac OSX 버전 문제: 제게는 제일 큰 장점인 맞춤법 검사기가 Windows 버전과 달리 한컴 자체 버전이고, 긴 글을 쓸 때 편리한 '개요보기' 기능도 지원하지 않는 등 Windows 버전과 비교해 사용자가 적다 보니 부족한 부분이 많습니다.
  • Scrivener: 소설이나 시나리오 등을 쓰기에 최적화된 툴입니다. 작가들은 어려워하던데, 프로그래밍 개발환경 경험이 있는 사람이라면 개념을 금방 이해할 수 있습니다. 저는 한동안 이걸 쓰다가 결국 아래와 같은 이유로 포기했습니다.

    • 작가가 만든, 작가의 툴이라던데 아무래도 소프트웨어로서의 완성도는 낮습니다. 임의의 개수의 문서를 탭으로 동시에 열지 못한다던가, Windows 버전의 경우 HiDPI나 font antialiasing 등에 있어 문제가 많습니다.
    • 한컴과 반대로 Windows 버전이 맥 버전보다 많이 뒤처지고 완성도가 낮습니다.
    • 복수의 컴퓨터를 오가며, 버전 관리해가며 편집하기가 편하지 않습니다. Dropbox를 통해 동기화해야 하고, 버전 관리도 자체 기능으로만, 단선적으로만 관리할 수 있습니다.
    • 한글 맞춤법 검사기가 ver 3.0의 경우 들어있기는 하나, 완성도가 매우 낮습니다.
  • Markdown 및 기타 소프트웨어 개발도구: 지금 제가 사용하는 방식입니다. Visual Studio Code를 사용하여 markdown 파일을 만들고, makepandoc으로 build 해서 docxEPUB 파일을 생성합니다. 버전 관리는 git을 사용합니다. 아래아한글이나 워드에서 docx를 열어 PDF로 변환하거나, 외부에 릴리즈할 최종 파일을 만듭니다.

Markdown의 문법은 상당히 제약이 많지만, 소설 정도의 문서를 만들기에는 크게 부족하지 않습니다. 플레인 텍스트를 편집하고 버전을 관리하기에는 vscode 같은 소프트웨어 개발툴의 완성도가 당연히 제일 높습니다. Pandoc은 실행 속도가 매우 빠르고, docxEPUB 파일을 쉽게 만들어낼 수 있습니다. 제일 아쉬웠던 것은 한글 맞춤법 검사인데, 부산대학교 인공지능연구실의 맞춤법 검사기를 웹 스크래핑 방식을 쓸 수 있도록 해주는 vscode 확장 프로그램 '단디'가 있습니다만, 문서 크기가 조금만 커지면 에러가 나고, 현재 개발이 중지된 것으로 보입니다. 이를 개선한 버전도 만들어서 실제로 한동안 사용했었는데, 부산대 맞춤법 검사기 웹사이트가 죽어 있을 때도 많고 속도도 느려서 지금은 그냥

  1. vscode의 텍스트를 copy 해서 아래아한글 빈 문서로 paste
  2. 아래아한글에서 맞춤법 검사 및 교정
  3. 아래아한글에서 copy 해서 vscode에 paste

하고 있습니다. Plain text의 경우 이렇게 해도 포맷이 깨지거나 하는 문제가 없습니다 (Scrivener의 경우 그런 문제가 있었습니다).

기타

  • styles.docx: docx 파일을 생성할 때 사용되는 템플릿입니다. 워드로 이 파일을 열어, 각 스타일을 편집하면 docx 파일을 새로 build 할 때 반영됩니다.

  • tools/scenebreak.lua': 소설에서 장면 전환을 나타내기 위한 매크로를 구현한 pandoc filter입니다. 새로운 문장(빈 줄로 구분되는)의 제일 앞에 \n을 쓰면 결과물에 빈 줄이 삽입되고, \newscene을 쓰면 가운데 정렬된 * * * 표시가 위아래 빈 줄과 함께 삽입됩니다.

About

마크다운으로 한글 소설을 쓰기 위한 boilerplate

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors