Рендеринг PDF из файла Markdown с использованием букв эмодзи с помощью Pandoc

Я хотел бы преобразовать текст уценки как:

This is a smile 

В PDF с Emoji на нем. Чтобы было ясно, я хочу иметь возможность вставлять сам символ эмодзи в исходный текст, а не что-то вроде :smile:,

Как я могу сделать это с Pandoc?

2 ответа

После первоначального прочтения ОП слишком поверхностно (упускать из виду его необходимость НЕ использовать :smile: Друзья в его источнике Markdown), вот лучший ответ. Попробуйте один из них:

pandoc -o emoji.pdf --pdf-engine=lualatex -V mainfonts="DejaVu Sans"
pandoc -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 param, вы получите предупреждение

 [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, у них не будет смайликов там, где вы этого хотели.

Попробуйте заменить :smile: с HTML вот так:

This is a smile <img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f604.png"/>
Другие вопросы по тегам