質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
Pandoc

Pandocとは、Haskell製のライブラリおよびコマンドラインツールです。フリー且つオープンソースで、あるフォーマットで書かれた文書を別の形式へ変換することができます。対応フォーマットがとても多いことが特徴です。

Haskell

Haskellは高い機能性をもった関数型プログラミング言語で、他の手続き型プログラミング言語では難しいとされている関数でも容易に行うことができます。強い静的型付け、遅延評価などに対応しています。

TeX

フリーの組版システムで、字や図版などの要素を紙面に配置するという作業をコンピュータで行います

解決済

Pandocで「--citeprocし直接pdfにした」ときのみ !Missing } inserted

george6493
george6493

総合スコア25

Pandoc

Pandocとは、Haskell製のライブラリおよびコマンドラインツールです。フリー且つオープンソースで、あるフォーマットで書かれた文書を別の形式へ変換することができます。対応フォーマットがとても多いことが特徴です。

Haskell

Haskellは高い機能性をもった関数型プログラミング言語で、他の手続き型プログラミング言語では難しいとされている関数でも容易に行うことができます。強い静的型付け、遅延評価などに対応しています。

TeX

フリーの組版システムで、字や図版などの要素を紙面に配置するという作業をコンピュータで行います

1回答

0リアクション

0クリップ

752閲覧

投稿2021/12/13 11:38

編集2021/12/15 15:41

Pandocを使いmarkdownファイルからpdfを作成したいと考えております。

図や参考文献の多い資料ですので、pandoc-crossrefや--citeprocオプション、bibファイルの使用は欠かせません。

これらを使用してpdfを吐くとき、コマンド

pandoc -F pandoc-crossref -s note.md -o note.pdf --pdf-engine=lualatex --citeproc -V documentclass=ltjsarticle -V classoption=twocolumn -N

を用いて直接.mdから.pdfにしようとすると

Error producing PDF. ! Missing } inserted. <inserted text> } l.512 \end{CSLReferences}

となってしまいます。英語ふくめ調べたところ、解決策として

  • doiの頭にdoi:をつける
  • \usepackage{url}などを入れたテンプレートtexファイルを用意する

がありましたがうまく行かず、さらには引用タグを除いた.bibの中身をすべて削除した状態でも結果は同じでした。
他に、

texファイルに変換してからpdfにした場合
参考文献まわりはうまくいきますがpandoc-crossrefの図表まわりの組版が壊れてしまいます。また2段組等にはなりません。

docsからpdfにした場合
pandoc-crossref、--citeprocはうまくいっていますが数式が汚い、スタイルが異様にダサいという感じになってしまいます。また2段組等にはなりません。

htmlからpdfにした場合
pandoc-crossref、--citeprocはうまくいっていますが数式が汚い、スタイルが異様にダサいにくわえ、数式がレンダリングできません。また2段組等にはなりません。

.bibを使わない場合
すべてうまくいきますが、(当然)bibが使えません。

と、代替手段もそれぞれ少しずつ問題がでてしまったため、解決策をご教授くださる方を求めて質問させていただきます。

また、(htmlやdocx出力、図周りの出力はうまくいっているため関係ないとは思いつつ)関連した問題点として、毎度

WARNING: pandoc-crossref was compiled with pandoc 2.16.2 but is being run through 2.12. This is not supported. Strange things may (and likely will) happen silently.

と言われるのですが、cabal new-updateしてもUp to date, cabal install pandoc-2.16.2 --overwrite-policy=alwaysしてビルド後にpandoc -vしてもバージョンが変わっていない、という状況で完全に手詰まりとなってしまいました。

何卒お助けいただけませんでしょうか。よろしくお願いいたします。

追記
どうも本文に日本語が含まれない場合、素直に変換してうまくいくようです。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Pandoc

Pandocとは、Haskell製のライブラリおよびコマンドラインツールです。フリー且つオープンソースで、あるフォーマットで書かれた文書を別の形式へ変換することができます。対応フォーマットがとても多いことが特徴です。

Haskell

Haskellは高い機能性をもった関数型プログラミング言語で、他の手続き型プログラミング言語では難しいとされている関数でも容易に行うことができます。強い静的型付け、遅延評価などに対応しています。

TeX

フリーの組版システムで、字や図版などの要素を紙面に配置するという作業をコンピュータで行います