テキストエディタで文書作成:マークダウンとPandoc

日常的にテキストエディタを使いだして数ヶ月。これまでも、簡単な引継ぎメモをメモ帳に残したりしていたけれど、標準のメモ帳からNotepad++に変えてから、使用頻度は激増。

何が良いって、UTF-8で保存できるよう設定可能なところ。標準のメモ帳を使っていたときは、保存して閉じる→後から開いたら中身が文字化け→ショックのあまりおでこをデスクに打ち付ける、というのをかなりの頻度で体験してた。学習すればいいのにという話といってしまえばそれまでだけど、文字コード文字コードを変更するとか、他のアプリ(WordとかExcelとか)では不要だから意外に忘れちゃう。

次は、複数のメモ帳を開いておくことが可能。タブの移動も簡単だし、ファイル一覧を表示させることもできるし、マークダウンで書くこと・保存することも可能。

マークダウンで文書作成にかかる時間が短縮

マークダウンを知った頃は、正直、何がそんなに良いのか分からなかった。リッチテキストの方が見やすいし、重要なことわかりやすい気がしてた。でも、Notepad++を日常的に使うようになって、マークダウンが以下に時間短縮に貢献してくれるかということを身をもって知ることになった1

本を出版するわけでもなし、業務用の書物というのは、簡潔にまとまっていればOK、というのが基本だと思う。それに、私の会社のプリンタのデフォルト設定は白黒。

つまり、引継ぎメモはもちろんのこと、日常的に作成している文書のほとんどに文字色を変えたり、(文章の途中で)フォントサイズを変えたり、箇条書きの丸を槍みたいな形を使ってみるといった凝ったことは求められていない。

マークダウンのルールだけで対応できる。というか、十分。

Wordで下書きしながら、スタイルをいろいろ悩んでいた日々、あれは一体何だったんだろう。でも、そういうの経験がもっと効率よく仕上げる方法を模索するきっかけになったのだろうから、あの時期はあの時期で必要だったのかもしれない。(もっと早くにマークダウンへ移行出来たはず、と思えなくもないのだけれど。)

マークダウン記法

  1. Markdown記法 サンプル集
  2. Qiita マークダウン記法 一覧表・チートシート
  3. (Day Oneを使っているなら・・・)Markdown Guide
  4. (iA Writerを使っているならオススメ)Markdown Guide

Notepad++ではPluginを入れるとプレビュー画面を表示させることが可能。(それをPDF化することも可能。)

  1. MarkdownViewer(プレリリース版)
  2. Pandocをかませる方法:Notepad++でMarkdownを利用するには
【ちょっと寄り道】Notepad++ Plugin ManagerNotepad++に Plugin Manager がない場合の追加方法

ちなみに、私がマークダウンを知ったきっかけは、Day OneiA Writerだったので、プレビューで確認しながら記法に慣れた。プレビューが横に表示される方が覚えやすいように思う。これらは有料のアプリなので、無料で試したいなら、Notepad++の他にATOMがある(こっちもPlugin2をインストールする必要あり)。

他の人に渡すときには.docx:.mdからの変換方法いろいろ

さて、話を戻す。Notepad++でメモを付けること自体に慣れたら、次はアウトプットの形式について考える時期がやってくる。普段からマークダウンに慣れている人が相手なら、メモをそのまま渡せばいいけれど、残念なことに私の同僚でマークダウンでメモを取っている人はいない。もちろん、プレーンテキストのまま渡す、というのも却下だ。

編集が不要な場合には、PDFにエクスポートして渡したりしていたのだけど、議事録などは修正が入ったりして、ほとんどの文書はWordで渡すのが望ましい、というある意味わかりきっていた結論。

【1】Wordの置換機能で地道に整形

今まで以下に自分がモノグサな人間かとつらつらと告白してきたが、モノグサらしからぬ行動をしていました、結構最近まで。

他人にメモを渡すことになったときのフロー

  1. メモを開く。
  2. メモを全選択。
  3. メモをコピー。
  4. Wordを開く。
  5. Wordに貼り付ける。
  6. 置換機能で、スタイルを設定。(#のたくさん付いたものから順に置換。。。)
  7. スタイルの調整。
  8. 文書を保存する。(了)

赤面。何が恥ずかしいって、6.のWordの置換機能を使えてることを密かにドヤってた自分。しかし、このフローでも最初からWordで文書を作っていたときと比較すると時間短縮出来ている(一体どれだけスタイルに気を取られてしまってるんだ、という話でもあるのだけれど)。

【2】Pandocで変換:基本

今はどうしているかというと、Pandocを使っている。

手順は下記のリンクのとおりなのだけど、上記のフローとの比較のために、こっちのフローも箇条書きにしてみる。

  1. コマンドプロンプトを起動させる。
  2. マークダウンファイルが保存されているディレクトリに移動。(デスクトップなら、cd desktop (enter)
  3. マークダウンの文書をWordに変更するよう命令する。(例:Before.mdというファイルを、After.docxというファイルに変更する→pandoc Before.md -t docx -o After.docx
  4. 作成されたWordファイルを開く。
  5. スタイルの調整。
  6. 文書を保存する。(了)

ステップが1つ減っただけだった。とはいえ、各ステップにかかる時間を考えると時短になっている。

【3】Pandocで変換:ATOMのPlugin活用

Notepad++推しなのだけど、実はATOMを使うともっと速くてラクチンという・・・。

ATOMのPlugin【pandoc-convert】をインストール。

  1. ATOMでメモを開く。
  2. 【Shift】+【Command】+【p】3押下後、docと入力すると、ドロップダウンリストに【Pandoc Convert:docx】が表示されるのでそれを選択。
  3. ファイル名を設定4して、【Enter】。
  4. 作成されたWordファイルを開く。5
  5. スタイルの調整。
  6. 文書を保存する。(了)

Pandocは便利だけど完璧というわけではないので、どうしても最後に「スタイルの調整」というステップが必要となる。どんなアプリを使って文書を作成しようが、最後に微調整はするものなので、Pandocが使えない、というわけでは決してない。
Pandocの存在を知ったときも、マークダウン同様、その凄さが全く理解できていなかった私。どうやって使い始めたかについては、別の機会にまとめたい。


  1. 今ならこの記事『Why Markdown? A two-minute explanation』に書いてあることが理解できる。 ↩︎
  2. markdown-preview-plusとかmarkdown-preview-enhancedとか。 ↩︎
  3. Macの場合。MacでしかATOMを使ったことがないので。 ↩︎
  4. デフォルトでは、(元のファイル名).md.docxとなっている ↩︎
  5. 元のファイルと同じディレクトリに作成されている。 ↩︎
Advertisements

テキストエディタでタスク管理:私の使い方(2017年10月)

アナログBuJoが崩壊して、テキストエディタで管理をすることを決めた私。次の課題は、Windows標準搭載のメモ帳アプリの保存方法だった。これまでも業務の引継ぎ用に簡単なメモを残しておく場合、メモ帳を使っていた。英語ならば問題ないのだけれど、日本語メモを単にキーボードショートカットで保存して後悔した経験は嫌となるほど。いい加減に学習しろ、と思うのだけれど、これまで保存の失敗をゼロにすることはできていない。
今回、テキストエディタでの管理を決めたのを機に、メモ帳もUTF-8で保存できるアプリを使うことにした。プログラマではないので、エディタの機能にあーだこーだというのは不要。とりあえず、保存が簡単で軽いことだけが条件。

調べたところ、私の希望はNotepad++ というアプリで十分満たされるようだった。日本語化されているのもあるらしかったのだけど、なぜか上手くダウンロードできなかったので本家のサイトからダウンロードして、日本語で使うときの設定方法というのを参考にして完了。

高機能エディタNotepad のインストールとプログラミングに役立つ設定

評判通り軽い!日本語メモの保存も私の希望通り。

運用ルールを決める|シンプルにシンプルにシンプルに

基本のルールは、↓にまとめてあるものを採用。

そして、ちょこっと↓のやり方も加える。

具体的な運用方法(1)日付を入力、行を変えてタスクリストを作る
(2)新規タスクに□を付ける
(3)優先度の高いタスクの場合には【!】を付ける
(4)タスク追加日を入力
(5)タスク完了日を入力(終わってなければ空けておく)
(6)タスク内容を簡潔に書く。

タスクが終了したら、(2)の□を■に変更して(5)に日付を入力。
(2)〜(6)はデータを入力→タブで移動。
気分に応じて行をソートし、重要な未完了タスクを見落とさないようにする。

[code language=”text” title=”【例】”]—– Tue. 03 October 2017 —–
□ ! 2017-09-29 月次レポートドラフト版作成
■ 2017-09-28 2017-10-03 10月用為替レートアップデート[/code]
GTDでいつも躓くのは、優先順位の設定。A、B、Cといった定性的な分類方法が理解できない。だから、2列目の設定方法は単純。今日が期限のタスク、もしくは、期限は明日以降だけど完了させられなかったらクビになっちゃうかもしれないタスクにだけ【!】を入力。

翌朝、行をソートをし、□のついた行だけカット。前日のリスト上に日付を入力後、その下にペースト。下にどんどんこれまで完了させたタスクが残っていく。

タスク管理にBuJo要素を追加するなら、日付とタスクリストの間に行を挿入。(2)の列に○を付けてその日のイベント(○ ☓☓☓出張)を書いてみたり、+を付けてその日の振り返りを書いてみたりするのもあり。

ルールをシンプルにしてもまだ足りない!|PhraseExpressで入力を更に簡単に

テキストでのタスク管理は、すごくシンプルですぐにおぼえられる。だけど、面倒くさがりの私には【□】や【■】、【○】の変換や日付入力が億劫。この解決策はスニペット登録。PhraseExpressでこれらの登録をしておくと、敷居がぐっと下がる。

日付の設定方法

[code language=”javascript” gutter=”false”]//1行目用:
—– {#DATETIME -F ddd. dd mmm yyyy} —–

//タスクリスト用:
{#DATETIME -F yyyy-mm-dd}[/code]
PhraseExpressは手放せないツールなので有料版を使用している。購入をするかどうか悩んだけれど、使用頻度や生産性を考えると後悔は全くない。

その他テキストエディタでのタスク管理関連のブログ記事