Markdown Preview Enhancedの設定

エディタをAtomからVisual Studio CodeVS code)に移行してしばらくたった。環境はそれなりに整ってきた気がする。

私の場合,プログラマーではないので,原稿を書くのにエディタを使っている。Wordを使うのがふつうなのだろうが,Wordにはどうしても馴染めない。それに,前世紀からTeXにあこがれていて,数式を記述するならTeXでと思っている。

VS codeにも,LaTeX Workshopという拡張機能で,TeXの環境をつくってある。でも,文書全体をTeXで書くよりも,MarkdownTeXの方が手っ取り早い。Markdown Preview Enhancedという拡張機能は,TeXの記述も,MathJaxまたはKaTeXでプレビューしてくれるので便利だ。数式メインではない原稿は,これを使って書くのがマイブームになっている。

そこで本題,Markdown Preview EnhancedのKaTeX設定の記録。設定ファイルは,~/.mume/katex_config.jsで,次のようにしている。

module.exports = {
	delimiters: [
		{left: "$$", right: "$$", display: true},
		{left: "\\[", right: "\\]", display: true},
		{left: "$", right: "$", display: false},
		{left: "\\(", right: "\\)", display: false},
	],
	fleqn: true,
	macros: {
		"\\unit": "\\,\\mathrm{#1}",
		"\\unitbf": "\\,\\mathbf{#1}",
		"\\chemf": "\\mathsf{#1}",
		"\\chemfbf": "\\mathbf{#1}",
		},
}

これは,ウェブ用のKaTeX設定とほぼ同じ。数式の太字についても加えたいと思っている。

また,~/.mume/style.less ファイルを次のようにして,やや大きく感じる数式のサイズを調節し,タイトルまわりを好みに合わせてくっきりさせた。

.markdown-preview.markdown-preview {
  color: black;
  h1 {
    margin: 0.5em 0em;
    color: white;
    text-align: center;
    padding: 0.25em;
    background-color: #0099ff;
    border-radius: 0.25em;
  }
  h2 {
    margin: 0.5em 0em;
    color: #007ac6;
    border-bottom: medium dotted;
    border-color: #007ac6;
    padding: 0.15em;
    padding-left: 1em;
  }
  h3 {
    margin: 0.5em 0em;
    padding: 0.3em;
    padding-left: 0.5em;
    /*border-left: 20px solid;*/
    color: #007ac6;
    border-color: #007ac6;
    background-color: #ccebff;
    border-radius: 0.25em;
  }
  h3:before {
    content: '▶';
    color: white;
    margin-right: 4px;
  }
  h4 {
    padding: 0.3em;
    padding-left: 1em;
    background-color: #ccebff;
    border-radius: 0.25em;
  }
  h5 {
    border-left: 8px solid;
    padding: 0em;
    padding-left: 0.3em;
  }
  h6 {
    text-decoration: underline;
  }
  .katex {
    font-size: 1.1em !important;
  }
}


なお,TeXで書いた原稿はPDF,Markdownで書いた原稿はHTMLにし,プリントアウトして組み上がりイメージを固定。その組み上がりイメージとともに,組版先に合わせた文字データに変換して渡す。実際には,素のテキストに変換するのがほとんどで,何だかもったいない気がする。

そう言えば,ワープロ専用機で原稿を書き始めたとき,組版先に文字テキストも渡せるのに,プリントアウトだけでよいと言われたときがあった。プリントアウトをもとに,タグ付きテキストで打ち直すらしい。文字テキストにタグを追加する方が面倒だと。ワークフローを変えるのは大変なのだろう。でも,これはすぐに変わった。いくら何でも,全部打ち直す方が無駄だ。しかも,タグだって単純なものなら,正規表現を使った置換などで機械的にも追加できる。実際に追加して渡したら,驚くほど組版速度が上がった。

TeXMarkdownファイルを組版につなげられるようにしたい。でも,これは事前の打ち合わせをしっかりとしないといけないし,それなりのボリュームがないとメリットが生かせないだろう。私もそろそろ引退なので,やっても意味がないとあきらめている。

そもそもDTPシステムで組版をする必要があるのか。TeX経由PDFにできるし,HTMLへの変換も簡単にできる。ウェブでのコンテンツ作成がいつかはメインになるだろうから,TeXMarkdownのしっかりとした書式をつくっておけば,なんにでも生かせるように思う。