markdown2pdf latex error

3

Eu criei um documento markdown no emacs. O documento é em ucraniano, então tem algumas letras cirílicas. Estou tentando convertê-lo para pdf usando o modo pandoc. Mas falha com:

markdown2pdf: ! LaTeX Error: Command \CYRP unavailable in encoding OT1.
! LaTeX Error: Command \cyrl unavailable in encoding OT1.
! LaTeX Error: Command \cyra unavailable in encoding OT1.
! LaTeX Error: Command \cyrn unavailable in encoding OT1.
! LaTeX Error: Command \CYRV unavailable in encoding OT1.
! LaTeX Error: Command \cyrs unavailable in encoding OT1.
! LaTeX Error: Command \cyrt unavailable in encoding OT1.
! LaTeX Error: Command \cyru unavailable in encoding OT1.
! LaTeX Error: Command \cyrp unavailable in encoding OT1.
! LaTeX Error: Command \CYRN unavailable in encoding OT1.
! LaTeX Error: Command \cyre unavailable in encoding OT1.
! LaTeX Error: Command \cyrv unavailable in encoding OT1.
! LaTeX Error: Command \cyre unavailable in encoding OT1.
! LaTeX Error: Command \cyrl unavailable in encoding OT1.
! LaTeX Error: Command \cyri unavailable in encoding OT1.
! LaTeX Error: Command \cyrk unavailable in encoding OT1.
! LaTeX Error: Command \cyri unavailable in encoding OT1.
! LaTeX Error: Command \cyrishrt unavailable in encoding OT1.
! LaTeX Error: Command \cyrv unavailable in encoding OT1.
! LaTeX Error: Command \cyrs unavailable in encoding OT1.
! LaTeX Error: Command \cyrt unavailable in encoding OT1.
! LaTeX Error: Command \cyru unavailable in encoding OT1.
! LaTeX Error: Command \cyrp unavailable in encoding OT1.
! LaTeX Error: Command \cyrd unavailable in encoding OT1.
! LaTeX Error: Command \cyro unavailable in encoding OT1.
! LaTeX Error: Command \CYRO unavailable in encoding OT1.
! LaTeX Error: Command \CYRO unavailable in encoding OT1.
! LaTeX Error: Command \cyrp unavailable in encoding OT1.
! LaTeX Error: Command \cyrr unavailable in encoding OT1.
! LaTeX Error: Command \cyro unavailable in encoding OT1.
! LaTeX Error: Command \cyrg unavailable in encoding OT1.
! LaTeX Error: Command \cyrr unavailable in encoding OT1.
! LaTeX Error: Command \cyra unavailable in encoding OT1.
! LaTeX Error: Command \cyrm unavailable in encoding OT1.
! LaTeX Error: Command \cyru unavailable in encoding OT1.
! LaTeX Error: Command \cyrv unavailable in encoding OT1.
! LaTeX Error: Command \cyra unavailable in encoding OT1.
! LaTeX Error: Command \cyrn unavailable in encoding OT1.
markdown2pdf: /tmp/pandoc/Thesis-outline-ukr.log: hGetContents: invalid argument (Invalid or incomplete multibyte or wide character)

Como faço para usar a codificação correta? Devo especificar algo no meu documento de desconto? Ou há alguma configuração para o próprio markdown2pdf?

UPD : adicionei isso a .emacs, mas isso não ajudou:

;; set up unicode
(prefer-coding-system       'utf-8)
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
;; This from a japanese individual.  I hope it works.
(setq default-buffer-file-coding-system 'utf-8)
;; From Emacs wiki
(setq x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING))

UPD2 : o arquivo de remarcação é aqui . Checksums:

gleontiev@gleontiev-laptop:~$ sum Documents/Thesis-outline-ukr.markdown 
17120     4
gleontiev@gleontiev-laptop:~$ cksum Documents/Thesis-outline-ukr.markdown 
2128209357 4078 Documents/Thesis-outline-ukr.markdown
gleontiev@gleontiev-laptop:~$ openssl dgst -sha1 Documents/Thesis-outline-ukr.markdown 
SHA1(Documents/Thesis-outline-ukr.markdown)= d36a0b4fb051e6928751eba152a5555768d1cb13
    
por folone 14.11.2010 / 19:37

3 respostas

1

Eu acredito que o markdown espera o Unicode. talvez você possa tentar usar o recode para alterar a codificação de sua codificação padrão para UTF8.

De acordo com o manual markdown2pdf da Pandoc

Input is assumed to be in the UTF–8 character encoding. If your local character encoding is not UTF–8, you should pipe input through iconv:

iconv -t utf-8 input.txt | markdown2pdf

markdown2pdf assumes that the unicode, array, fancyvrb, graphicx, and ulem packages are in latex’s search path. If these packages are not included in your latex setup, they can be obtained from http://ctan.org.

Admito que, apesar de eu usar indiretamente o LaTeX, muitas vezes eu acho que é difícil entender e usar as mensagens de erro e de aviso. Assim, embora o acima pareça um caminho promissor, pode ser um beco sem saída.

Outra possibilidade é testar o markdown em conjunto com o htmldoc de Markdown2pdf do Pandoc - Eu não sei se vai resolver o problema, mas pode valer a pena tentar.

Eu não estou recebendo as mesmas verificações que você

$ wget -O Cyrillic2.markdown.txt http://paste.ideaslabs.com/download/J58n5B6cGp
11:06:08 (20.53 KB/s) - 'Cyrillic2.markdown.txt' saved [4078/4078]

$ sum Cyrillic2.markdown.txt
40224     4 Cyrillic2.markdown.txt

$ cksum Cyrillic2.markdown.txt
3250703884 4078 Cyrillic2.markdown.txt

$ openssl dgst -sha1 Cyrillic2.markdown.txt
SHA1(Cyrillic2.markdown.txt)= e1d6d92b5c7a3c8673ab5dff4bfe01628b17d77a
    
por 14.11.2010 / 20:54
0
  1. Gere o TeX a partir do markdown usando pandoc.
  2. Edite o arquivo tex. Localize o comando

    \usepackage[T1]{fontenc}
    

    e mude para

    \usepackage[T2A]{fontenc}
    
  3. Adicione o seguinte comando também:

    \usepackage[ukrainian]{babel}
    
  4. Compile o arquivo tex usando pdflatex .

por 13.12.2012 / 12:21
0

Um pouco atrasado no jogo, aqui está como eu resolvi isso.

  • Use --latex-engine=xelatex para o padrão UTF-8 em todos os lugares.
  • Use fontes com os glifos necessários.

A linha de comando que funciona para mim é

pandoc --latex-engine=xelatex -V mainfont:"Linux Libertine O" -V monofont="Ubuntu" -o out.pdf in.md

Ainda estou para descobrir um monofont adequado que suporte o cirílico, que na verdade é de largura fixa.

    
por 17.09.2014 / 17:03