web-dev-qa-db-ja.com

Pandocを使用した文字通りの絵文字を含むMarkdownファイルからのレンダリングPDF

次のようなマークダウンテキストを変換したいのですが。

This is a smile ????

PDFに絵文字が付いています。明確にするために、:smile:のようなものではなく、絵文字自体をソーステキストに挿入できるようにしたいです。

Pandocでこれを行うにはどうすればよいですか?

2

:smile:を次のようにHTMLに置き換えてみてください。

This is a smile <img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f604.png"/>
1
Adam J Limbert

最初にOPを表面的に読みすぎた後(彼の必要性を見落としている[〜#〜] not [〜#〜]使用:smile:&彼のソースMarkdownの友達)、ここにもっと良い答えがあります。次のいずれかを試してください。

pandoc my.markdown -o emoji.pdf --pdf-engine=lualatex -V mainfonts="DejaVu Sans"
pandoc my.markdown -o emoji.pdf --pdf-engine=xelatex  -V mainfonts="DejaVu Sans"

デフォルトのpdfエンジン(pdflatex)を使用すると、成功しませんが、次のようなエラーが発生します。

 ! Package inputenc Error: Unicode character ???? (U+1F600)
 (inputenc)                not set up for use with LaTeX.

mainfontsパラメータを指定しない場合、次の警告メッセージが表示されます。

 [WARNING] Missing character: There is no ???? (U+1F604) in font [lmroman10-regular]:+tlig;

xeLaTeXおよび

 [WARNING] Missing character: There is no ???? in font [lmroman10-regular]:mapping=tex-text;!

luaLaTeX用。どちらもPDFを作成しますが、必要な場所に絵文字はありません。


更新

私の答えのタイプミスに気づいてくれた@jpnadasに感謝します。パラメータは-V mainfont=...である必要があります(-V mainfonts!ではありません)。

正しいコマンドをテストし、その結果を確認するのは読者に任せます。

pandoc -o emoji.pdf --pdf-engine=lualatex -V mainfont="DejaVu Sans"
pandoc -o emoji.pdf --pdf-engine=xelatex  -V mainfont="DejaVu Sans"
0
Kurt Pfeifle