ナルミヤの備忘録(仮)

ナルミヤが学んだことなどを書き記していくブログ(方向性模索中。)

Pandocを用いてMacで数式混じりのmarkdownをpdfやTeXに変換する

動機

最近、ノートをデジタル化したかったので、Markdownでノートを取り始めたのだが、Atommarkdown-pdfでは数式混じりのMarkdownの数式部分が数式になってくれない。
で、「atom markdown 数式 pdf」で検索して出てきたPackage、"markdown preview enhanced"を用いてpdf化しようと思ってもなんか、

Error: Command failed: pandoc -f markdown+tex_math_single_backslash -o /Users/m-narumiya/Desktop/dev/lesson/Computing_system/2018-04-13.pdf --pdf-engine=pdflatex pandoc: unrecognized option `--pdf-engine=pdflatex' Try pandoc --help for more information.

というエラーを吐き出して、pdfになってくれない。ので、terminalで直接pandocをいじってやろうと思いたった。 エラー画面↓
f:id:buddasls54:20180420072601p:plain

環境

macOS 10.13.3 (17D47)

実際の手順

  1. インストールする *事前に、HomebrewとXCodeが必要

brew install lua pandoc pandoc-crossref

  1. Markdownファイルの頭の方に、ヘッダーっぽいものを書き込む(TeX化する人はしなくて良い)
    例、

```

---
title: "計算システム論第一"
author: "narumiya"
date: 2018/04/13
output: pdf_document
---

```

  1. pdf化もしくはtex化したいファイルのあるディレクトリまで移動して、
  2. pdf化したい人は以下のコマンドを実行

    pandoc -F pandoc-crossref 2018-04-13.md -o 2018-04-13.pdf -V documentclass=ltjsarticle --latex-engine=lualatex --template=mytemplate.tex --highlight-style zenburn --toc -N

  3. TeX化したい人は以下のコマンドを実行。

    pandoc 2018-04-13.md -o 2018-04-13a.tex

    なおこれで生成されるのは \begin{document}\end{document}の中身のみなので、以下のmanuscript.texファイルを作ってそれにinputする形の対応を取る。

\documentclass[11pt,a4paper]{jarticle}
\usepackage{amsmath,amssymb}
\usepackage{bm}
\usepackage{graphicx}
\usepackage{ascmac}

\title {計算システム論第一}
\author {narumiya}
\date{2018/04/13}

\begin {document}
\maketitle
\input {2018-04-13a}
\end{document}

以上!pandocのオプションの意味?知らん!ググれ!!!()

参考にしたページ

追記 2018/12/04

上記の設定だけだと、html記法も含んだmarkdownがPDF化できなかったので、html記法も含んだmarkdownがPDF化についてここにまとめる。
こちらは、ちょっとしたmarkdownをPDFに直すときに使える。

参考にしたページ

PDFにするmarkdownファイルの例

次のようなplan.mdというmarkdownファイルをpdfにしたいとする。(これは、実際に自分たちの実験で用いた計画書)

# 知覚の計測と解析 『色と重さの知覚』
## 目的
視覚刺激に寄って重さの知覚にどのような影響が及ぼされるかを測定,解析する.
人は色に対して重さのイメージを持つことがあるため,同じ形状の物体を持ってもその物体の色が異なると知覚する重さは異なってくるかもしれない.

今回の実験では明度が重さの知覚に与える影響を測定することに焦点を絞って,グレースケールで色を変化させる.明度が低くなればなるほど(黒に近づくほど),実際の重さより重く感じると仮説を立てる.

## 実験方法
### 準備
同一の形状のペットボトルを5本用意し,少しずつ異なる水の量を入れそれぞれで重さを変える.ペットボトル外側に中身が見えないように紙を巻きつける.5枚の紙はそれぞれ白から黒までグレースケールで明度を変えたものとする.

---
<div style="background: #000000;">
a
</div>
<div style="background: #444444;">
a
</div>
<div style="background: #888888;">
a
</div>
<div style="background: #BBBBBB;">
a
</div>
<div style="background: #FFFFFFF;">
a
</div>
---

↑グレースケールのイメージ

5本のペットボトルはをランダムにあらかじめ配置しておく。

### 実験
被験者に配置された5本のペットボトルを、左か順にそれぞれ持たせ,ペットボトルの知覚した重さで順位をつけさせる.


### 解析
実際の重さより軽く知覚される色と、重く知覚される色との分類をする.手法としては、知覚された順位から実際の順位を引いて得られたデータの正負によって分類を行う.  
色によって、重さ知覚が、実際の重さよりも軽く感じるのか、もしくは重く感じるのかを解析する.

実際の手順

では、これをPDFにしていく。(ちなみに今までのようになると、エラーは出ないが、グレースケールの図が出てこない)

  1. homebrewでwkhtmltopdfのインストール。(デフォルトで数式交じりじゃなければこうするらしい。)

brew cask install wkhtmltopdf

  1. そして、次を実行

pandoc plan.md -f markdown -t html5 -o plan.pdf --from markdown-yaml_metadata_block

なぜか、

pandoc plan.md -f markdown -t html5 -o plan.pdf

とやっても

[pandoc warning] Could not parse YAML header: could not find expected ':' "source" (line 16, column 1)

とワーニングが出るだけで、変換できなかった。オプションの意味なぞ知らん!!()