Найти тему
Вадим Белоус

Создаем стильные PDF из мануалов в Linux

Если вы устали от привычных мануалов в Linux, то представляю вашему вниманию команду, которая преобразует их в документы в формате PDF с хакерским шрифтом!

Установите все необходимые зависимости

sudo apt install texlive-full pandoc fonts-jetbrains-mono
  1. texlive-full - полный пакет TeX Live, который предоставляет все необходимые компоненты для работы с LaTeX
  2. pandoc - универсальный конвертер документов. На официальной странице можно ознакомиться с диаграммой, которая отображает поддерживаемые форматы файлов
  3. fonts-jetbrains-mono - хакерский шрифт


Выполните скрипт в оболочке командной строки

zcat /usr/share/man/man1/cat.1.gz | nroff -man | col -b | pandoc -f markdown -t pdf -V geometry:margin=0.5in -V 'mainfont=JetBrains Mono' -V 'sansfont=JetBrains Mono' -V 'monofont=JetBrains Mono' -V fontsize=16pt --pdf-engine=lualatex -o cat.pdf

Разберём эту команду по этапам

  1. zcat /usr/share/man/man1/cat.1.gz - чтение сжатого мануала cat
  2. nroff -man - форматирование текста мануала cat, полученного на предыдущем этапе, согласно указанным макросам для страниц man (-man)
  3. col -b - удаление управляющих символов для корректного отображения текста
  4. pandoc -f markdown -t pdf -V geometry:margin=0.5in -V 'mainfont=JetBrains Mono' -V 'sansfont=JetBrains Mono' -V 'monofont=JetBrains Mono' -V fontsize=16pt --pdf-engine=lualatex -o cat.pdf - преобразование Markdown в PDF с применением указанных стилей (хакерский шрифт, отступ)

На выходе в качестве артефакта получится отформатированный файл в формате PDF с содержимым мануала cat

Итоговый артефакт в формате PDF
Итоговый артефакт в формате PDF

Также этот пост можно посмотреть в Telegram канале Bash Days и на моём сайте