CoAlTI, Hotel Premier Maceió, 28 Outubro 2017
pandoc: conversor entre linguagens de marcaçãoUma linguagem de marcação é uma linguagem para formatar o texto e as imagens de uma página. Por exemplo, para formatar uma página visualizada pelo navegador, tal como o Firefox,
HTML e a sua sintaxe, por exemplo: "É <strong>Importante!<\strong>"Markdown compila a HTML e usa uma sintaxe mais intuitiva, por exemplo: "É **Importante!**"O resultado da formatação ⤳ “É Importante!”
pandoc ?pandoc é um programa (de linha de comando) que converte um arquivo de uma linguagem de marcação a outra: De (entre outras)
markdown, HTML, LaTeX, Microsoft Word docx, reStructuredText, textile, OPML, Emacs Org-Mode, Txt2Tags, DocBook, EPUB ou Haddock markupa (entre outras)
XHTML, HTML5, e eslaides por Slidy, reveal.js, S5 …Microsoft Word docx, LibreOffice e OpenOffice ODT, OpenDocument XMLPDF via LaTeXEPUB version 2 or 3, FictionBook2DocBook, GNU TexInfo, Groff manLaTeX, ConTeXt, eslaides LaTeX Beamer pandoc para mim ?Converte arquivos do formato
markdownao formato
HTML5Microsoft Word docx , LibreOffice ODT, OpenDocument XMLLaTeX Beamer eslaidesPDF via LaTeXPandoc versus Programas Especializados: O bem.Código markdown é texto de fácil leitura.
markdown é mais simples do que a sintaxe (La)TeX (O inventor de TeX, Donald Knuth, espanta-se por quê demorou tanto para substituir LaTeX por outra linguagem de marcação leve que se compila a TeX).Markdown é muito mais simples do que a sintaxe de LaTeX Beamer.Markdown que em Microsft Word ou LibreOffice,HTML, como postagens de blog.Pandoc versus Programas Especializados: O mal.pandoc,
markdown é tão reduzida quanto a base comum entre as linguagens de marcação.) pandoc, tais como editores, é ainda incompleto: Por exemplo, comparando a TeX:
TeX à posição correspondente no arquivo pdf compilado , e vice-versa. Não há para pandoc: markdown compila a TeX e depois a pdf.Vim para markdown é recente e básico em comparação àquele para LaTeX que é estável e potente.markdown: documentação = cola# Itens alistados enfatizados:
- *peso*
- *altura*
# Itens enumerados negritos:
1. **mãe**
0. **pai**
# Tabela
| | mãe | pai |
|--------|--------|--------|
| peso | 100 kg | 200 kg |
| altura | 1,20 m | 2,10 m || mãe | pai | |
|---|---|---|
| peso | 100 kg | 200 kg |
| altura | 1,20 m | 2,10 m |
pandoc: Makefile e MainfilePandocGeneral options:
--from=FORMAT
Specify input FORMAT such as markdown, rst, ..
--to=FORMAT
Specify output FORMAT such as html, LaTeX, ..
--output=FILE
Write output to FILE instead of stdout.
General writer options:
--standalone
Produce output with header and footer.
--table-of-contents
Include a generated table of contents in output.
--self-contained
Produce standalone HTML file without external dep.O Makefile serve para:
make pdf gera o documento pdf,make docx gera o documento docx,make html gera o documento HTML.make run_pdf mostra o documento pdf, e.g. em Zathura,make run_docx mostra o documento docx, e.g. em LibreOffice,make run_html mostra o documento HTML, e.g. em Firefox.NAME=palestra
FILES=$(NAME).pandoc intro.md conteudo.md resumo.md
PANDOC_OPTIONS=--stand-alone --filter pandoc-citeproc
PANDOC_LATEX_OPTIONS=--include-in-header header.tex
all: latex pdf
latex: $(FILES)
pandoc $(PANDOC_OPTIONS) $(PANDOC_LATEX_OPTIONS) \
--from markdown --to latex \
$(NAME).pandoc $(FILES) --output $(NAME).tex
pdf: latex
latexrun $(NAME).tex
run: run_pdf
run_pdf: pdf
$(PDFVIEWER) $(NAME).pdf >/dev/null 2>&1 &O main file, o arquivo principal, estabelece
Além disso,
lang que controla por exemplo o nome do résumo e das referências, evarias opções de TeX, tal como:
% Pandoc é bem massa!
% [Enno Nagel](mailto:epn@fsfe.org)
% CoAlTI, Hotel Premier Maceió, 28 Outubro 2017
---
lang: pt
# latex:
documentclass: scrartcl
classoption: final,DIV=calc,bibliography=totoc
fontsize: 12pt
bibliography: pandoc.bib
...Para o editor Vim compilar após guardar o arquivo, acrescente ao arquivo ~/.vim/after/ftplugin/markdown.vim a linha:
autocmd BufWrite <buffer> silent make!
Por exemplo, se o output é
pdf (via TeX), então o amostrador zathura automaticamente recarrega o arquivo modificado,html, então a extensão autoreload do navegador Firefox automaticamente recarrega o arquivo modificado.Estão disponíveis
em https://konfekt.bitbucket.io/talks/pandoc,
e
Makefile eno repositório https://www.bitbucket.org/konfekt/talks/pandoc