Macの下でPandoc、LaTeXを利用してmarkdownをhtmlに変換して、pdf


環境で使用されるプラグインはpandoc,tlmgr,fc-listである
brewを使ってpandocのインストールを行って、pandocの公式サイトに行ってダウンロードすることができますhttp://www.pandoc.org/installing.html
brew install pandoc

mac oxシステムはpdfを生成するため、対応するコードセットを見つける必要があります.すべてLaTeXをダウンロードし、インストールする必要があります.
tlmgrツールを使用して、必要なすべてのパッケージをインストールしてから更新します.プロンプトに必要なフォントが見つからない場合は、インストールします.
sudo tlmgr update --self
tlmgr install collection-fontsrecommended

インストールfontconfig fc-listを使用してmacで使用可能な中国語セットを表示します.os x 10.8以降はx 11がインストールされていないためです.
brew install fontconfig
fc-list :lang=zh-cn

文字セットを/Library/Fontsの下に置くと宋体が例になります. 
/Library/Fents/Songti.ttc:宋体-ジェーン、宋体-ジェーン、Songti SC:style=太字、太字、Bold
pandoc --latex-engine=xelatex -V mainfont='
Songti SC
' --template=./pandoc.template xxx.md -o xxx.pdf

次はmarkdown変換のツールです
makeのインストール
shellファイル名md 2 pdfを作成し、フォントセットの使用を指定できます.
#!/bin/sh
# Wrapper script around pandoc / markdown2pdf
# Provides templates to apply with pdf processing
# Copyright Claes Holmerson 2010, GPL licensed (see COPYING for details)
#Find this directory
# template_home=$(dirname $(readlink -f $0))
template_home=$(cd `dirname $0`; pwd)
paper=a4paper
hmargin=3cm
vmargin=3.5cm
fontsize=12pt
#fontsize=11pt
#fontsize=12pt
# mainfont=SimSun
# sansfont=Corbel
# monofont=Consolas
# mainfont="WenQuanYi Zen Hei Sharp"
# sansfont="WenQuanYi Zen Hei Sharp"
# monofont="WenQuanYi Zen Hei Mono"
language=english
#language=swedish
nohyphenation=false
columns=onecolumn
#columns=twocolumn
geometry=portrait
#geometry=landscape
alignment=flushleft
#alignment=flushright
#alignment=center
toc=3
pandoc --latex-engine=xelatex --template=$template_home/pandoc.template \
-V language=$language -V paper=$paper -V hmargin=$hmargin -V vmargin=$vmargin \
-V mainfont="$mainfont" -V sansfont="$sansfont" -V monofont="$monofont" \
-V geometry=$geometry -V alignment=$alignment -V columns=$columns \
-V fontsize=$fontsize -V nohyphenation=$nohyphenation \
-V toc=$toc \
$@

markdown.cssの作成
@font-face {
	font-family: "AR PL New Sung";
	src: url("/usr/share/fonts/TTF/odosung.ttc");
}

body {
    background-color: #fcfcfc;
    color: #3c3c3c;
}
a {
    color: #308bd8;
    text-decoration:none;
}
a:hover {
    text-decoration: underline;
}
p {
    margin:0 0 24px 0;
}
p:last-child {
    margin:0;
}
hr {
    width: 100%;
    margin: 1em auto;
    border: 0;
    color: #eee;
    background-color: #ccc;
    height: 1px;
    -webkit-box-shadow:0px 1px 0px rgba(255, 255, 255, 0.75);
}
blockquote {
    margin-left: 0;
    margin-right: auto;
    width: 96%;
    padding: 10px 10px;
    border-left: 3px solid #ddd;
    color: #777;
	background-color: #f2f2f2;
}
table {
    margin-left: 0;
    margin-right: auto;
    margin-bottom: 24px;
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd;
    border-spacing: 0;
}
table th {
    padding: 3px 10px;
    background-color: #eee;
    border-top: 1px solid #ddd;
    border-left: 1px solid #ddd;
}
table tr {
}
table td {
    padding: 3px 10px;
    border-top: 1px solid #ddd;
    border-left: 1px solid #ddd;
}
caption {
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 5px;
}

@page {
  size: A4;
  margin: 1cm auto;
}
@media print {
    body {
        font-family: "Arial Black", Arial, sans-serif;
        -webkit-print-color-adjust: exact;
    }
    img, pre, blockquote, table, figure {
        page-break-inside: avoid;
    }
    .footnotes {
        page-break-before: always;
    }
    header.onlyprint, footer.onlyprint{
        display: none;
    }
}

/* fix pandoc default style */
code {
}
code > span.dt {
    text-decoration: none;
}

Makefileファイルを作成する内容は以下の通りです.markdownがファイルモジュールでコンパイルされている場合はcatを使用してhtml、pdfをそれぞれ生成することができます.
main :
# cat 00*.md > xxx.md
pandoc -f markdown_github-autolink_bare_uris -s --highlight-style espresso -t html5 -c "./markdown.css" -o xxx.html xxx.md
# cat 00*.md > xxx.md
./md2pdf xxx.md -o xxx.pdf

pdfの生成
./md2pdf xxx.md -o xxx.pdf

htmlとpdfの生成
make