ページ

title

告発\金沢地方検察庁\最高検察庁\法務省\石川県警察御中
弁護士と裁判官が共同で確定させた傷害・準強姦被告事件判決の再捜査要請に係る石川県警察珠洲警察署提出書面の情報公開

殺人未遂事件幇助の被告訴人: 木梨松嗣弁護士(金沢弁護士会)、岡田進弁護士(金沢弁護士会)、長谷川紘之弁護士(金沢弁護士会)、若杉幸平弁護士(金沢弁護士会)
名誉毀損罪の被告訴人: モトケンこと矢部善朗弁護士(京都弁護士会)、小倉秀夫弁護士(東京弁護士会)
市場急配センター株式会社 石川県金沢市駅西本町5丁目10番20所在
作成管理者: 石川県鳳珠郡能登町字宇出津 廣野秀樹
金沢地方検察庁御中

2020年4月18日土曜日

## pandocコマンドを使ったMarkdownファイルからPDFファイルの生成,目次付き

## pandocコマンドを使ったMarkdownファイルからPDFファイルの生成,目次付き

 pandocコマンドは,これまでorg-modeやMarkdownファイルからWordのdocxファイルの変換に使うことがあったのですが,PDFファイルに返還する場合は,Latexの開発環境が必要になるようです。さらにコマンドの実行時にオプションの指定をする必要がありました。

 Latexは平成21年3月より前,羽咋市に住んでいた頃によく使っていましたが,けっこう痛い目にあった経験もあります。Latexの開発環境も次第に構築が簡単になっていきましたが,ここ数年は全く使うこともなくUbuntuにインストールはしていませんでした。

 Latexの日本語環境のインストールは10年ほど前もいろいろありましたが,まとまったパッケージをインストールすると1G以上のディスク容量を使うという話でした。WordのようなワープロソフトでもPDFファイルの作成は出来るのでLatexの環境は必要ないという考えでもありました。

```
日本語(マルチバイト文字)を含むMarkdown形式のファイルをPDFにするのに苦労したので、そのやり方です。
OSはUbuntu 14.04 LTSです。

まず、必要なパッケージをインストールします。texlive-lang-cjkのサイズが特に大きいのでご注意下さい。
sudo apt-get install pandoc luatex texlive-xetex texlive-fonts-recommended texlive-lang-cjk
以下のコマンドで 、UTF-8で保存したMarkdown形式のファイルfoo.mdをfoo.pdfに変換できます。
pandoc foo.md -o foo.pdf -V documentclass=ltjarticle --latex-engine=lualatex
私は試していませんが、http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Pandoc
によれば、頑張ればltjarticleの代わりにltjsarticleを指定することも出来るようです。

[source:] 自己解体 UbuntuでPandocを使って日本語を含むMarkdownをPDFに変換する。 http://ninegw.blog133.fc2.com/blog-entry-36.html
```

 上記のページを参考にしたのですが,Latexの環境のインストールは,このページを見つける前に終わっていたように思います。助かったのは「 -V documentclass=ltjarticle --latex-engine=lualatex」というオプションの指定方法です。

 検索では,単に「 --pdf-engine=lualatex」とするオプションの指定方法ばかりだったのですが,これだと日本語の問題でエラーが起きていました。

```
pandoc -o sample.pdf \
-N \
-V documentclass=ltjarticle --latex-engine=lualatex \
-f markdown+ignore_line_breaks+footnotes+definition_lists \
-V titlepage=true \
-V toc-own-page=true \
--table-of-contents \
--toc-depth=3 \
--highlight-style tango \
g.md
```

 上記の方法で目次付きのPDFファイルの生成が出来たのですが,先に見つけていた次のページを参考にしたもので,変換にエラーが起きていたので,エラーメッセージを見ながら怪しいオプションを3つほど削りました。余白が広すぎるという問題が残っているのですが,これはどうにかできそうです。

```
pandoc -o sample.pdf \
-N \
-f markdown+ignore_line_breaks+footnotes+definition_lists \
-V CJKmainfont=IPAexGothic \
-V titlepage=true \
-V toc-own-page=true \
-F pandoc-crossref \
--table-of-contents \
--toc-depth=3 \
--pdf-engine=lualatex \
--template eisvogel \
--highlight-style tango \
sample.md

[source:] Markdownで書いたテキストをPDFに変換してドキュメントを作成する方法(テンプレート活用編) - ククログ(2018-09-13) https://www.clear-code.com/blog/2018/9/13.html
```

 今度は,次のページを参考に,「 -V geometry:margin=1in」というオプションを追加して変換をしてみました。これだと上下左右全部が1インチの余白になりそうです。約2.4センチではなかったかと思います。

```
日本語でよく使われている文書クラスjsarticle、jarticleはLuaLateXでは使えないため、ltjarticle、ltjsarticleを使用します。
また、ltjsarticleはmicrotypeパッケージと相性が悪く、パッチをあててやる必要があります。
これについてはPandocを使ってMarkdownからPDFを生成するに解説があります。

わたしはだいたい以下のようなコマンドで変換しています。パッチをあてたltjsarticleを指定し、geometryパッケージで余白を1インチに設定しています。-Nは節に数字をふるオプション、--tocは目次をつけるオプションです。
デフォルト設定は余白が大きすぎるような気がするので何となく1インチにしてます。


$ pandoc -f markdown -o file.pdf -V documentclass=myltjsarticle --latex-engine=lualatex -V geometry:margin=1in -N --toc
これは以下のようなtexと等価です。

\documentclass{ltjsarticle}

\usepackage[margin=1in]{geometry}
2. dvipdfmxを使う
こっちは結構めんどくさいです。ただ、最初にテンプレートだけ用意してやればあとは使い回せると思います。

以下を変換します。

[source:] PandocとPDFのレイアウトの話 - Qiita https://qiita.com/takada-at/items/c807c163bd861bbec7cf
```
 PDFファイルなのでコピペに多少難がなりますが,目次は次のように作成されています。見出しのレベルが1から3まで全て数字ですが,テンプレートを読み込むかたちに出来れば,「第1,1,(1),ア」とWordで指定していたものと同じに出来るかもしれません。

1.1.19 「世界は変えられる。幸運は勇者に味方する。塾長 伊藤真 # がんばれ受験生シリーズ 2 」という伊藤塾のツイート,深澤諭史弁護士のリツイート . . . . . . . . . . . .32

 MySQLの「DEFAULT CHARSET=utf8mb4」のような問題が起きるかと思ったのですが,絵文字など日本語の特殊文字でエラーは出ませんでした。ただ,半角で「¥n」と改行の文字があると,メッセージにコマンドの実行と扱われたようなエラーが出ていました。

0 件のコメント:

コメントを投稿