AfonsoPortuga / abntex2

Automatically exported from code.google.com/p/abntex2
1 stars 0 forks source link

Template para pandoc #111

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Which component is your suggestion addressed to?
[ ] class
[ ] packages
[ ] bibliography style
[ ] documentation
[ ] examples
[x] other: template

What is you suggestion?
Template tex para utilizar junto ao pandoc ao converter ou criar um novo 
arquivo.

Additional information:
Com este template seria fácil de se criar conteúdo por exemplo utilizando 
markdown ficaria simples a leitura do texto e usando o template aplicar e criar 
pdf, tex ou outro formato que o pandoc ofereça suporte a conversão e 
criação com os padrões abnt.

Original issue reported on code.google.com by lamarcwa...@gmail.com on 10 Apr 2014 at 8:10

GoogleCodeExporter commented 9 years ago
Olá lamarcwalker

Obrigado pela sugestão. Porém, você poderia detalhar mais como deveria ser 
esse template para pandoc? Você já tem algo pronto?

Para referência: http://johnmacfarlane.net/pandoc/

Original comment by laurocesar on 12 Apr 2014 at 2:05

GoogleCodeExporter commented 9 years ago
Aqui existe alguns templates, incluindo um em latex. Ainda não tentei criar um 
template com base no abntex2 estava pensando em criar, mas meu conhecimento em 
latex é um bocado fraco. No caso seria utilizar o template da seguinte forma:
pandoc --template=default.tex --toc texto.md -o arquivo.pdf

Não sei se seria considerado --toc em um arquivo tex mais completo mas o toc 
gera o índice. o arquivo com o texto pode ser qualquer um suportado pelo 
pandoc.
Sobre criação de templates existe este documento: 
http://johnmacfarlane.net/pandoc/README.html#templates.

Original comment by lamarcwa...@gmail.com on 12 Apr 2014 at 3:21

GoogleCodeExporter commented 9 years ago
Façamos assim, lamarcwalker: tente criar o modelo que você indicou. As 
dúvidas que você tiver, poste no fórum de desenvolvedores, que assim iremos 
te ajudando. Você topa o desafio? Se topar, marco você como proprietário 
desta tarefa. 

Dessa forma, quando disser que o modelo está pronto, discutimos se incluímos 
seu arquivo na distribuição do abnTeX2. Algo como fizemos para o modelo do 
LyX (https://code.google.com/p/abntex2/wiki/LyX), por exemplo. Abraços!

Original comment by laurocesar on 12 Apr 2014 at 4:11

GoogleCodeExporter commented 9 years ago
Tudo bem, sem problemas, posso tentar criar o arquivo de template.

Original comment by lamarcwa...@gmail.com on 12 Apr 2014 at 7:50

GoogleCodeExporter commented 9 years ago
Ok. Já lhe adicione às pessoas do projeto. A issue já foi alterada para 
aceita.

Veja estas instruções sobre como contribuir com o projeto: 
https://code.google.com/p/abntex2/wiki/FerramentasDesenv

Mas, se tiver problemas com o controle de versão, não se preocupe. Você pode 
postar no fórum que resolvemos para você.

Abraços!

Original comment by laurocesar on 12 Apr 2014 at 7:55

GoogleCodeExporter commented 9 years ago
Galera, tenho interesse nesta issue. Como anda? Como posso contribuir?

Original comment by dudekt...@gmail.com on 22 Jun 2014 at 9:28

GoogleCodeExporter commented 9 years ago
Em anexo alguma coisa que fiz hoje, talvez valha algo. Está muito ruim, mas 
mostra ser possível fazer isso.

Tentei fazer o Pandoc se comportar o mais natural possível.

Os tipos de conversão que tentei estão abaixo:

1. pandoc --filter=pandoc-citeproc 
--template=/home/dudektria/Templates/Latex/abntex2.latex -V 
documentclass=abntex2 artigo.md -o artigo.pdf

2. pandoc -f markdown -SRs --normalize --filter=pandoc-citeproc 
--template=/home/dudektria/Templates/Latex/abntex2.latex -V lang=english,brazil 
-V papersize=a4paper -V fontsize=12pt -V classoption=twoside -V 
classoption=openright -V classoption=article -V linkcolor=blue -V 
documentclass=abntex2 -t latex artigo.md -o artigo.pdf

Também testei a ufsc-thesis 
(https://github.com/mateusduboli/ufsc-thesis-latex/) e funciona legal.

A única coisa foi o uso do pandoc-citeproc para as citações. Observem no 
artigo.md que há link para um artigo .bib e um .csl (por isso o artigo termina 
com um cabeçalho para as referências um pouco artificial).

O template funciona com metadados YAML no arquivo .md. Acho que os arquivos 
são autoexplicativos, embora o template não esteja bem comentado.

Em anexo também o output em .pdf e .latex do comando #2 acima.

Original comment by dudekt...@gmail.com on 23 Jun 2014 at 2:41

Attachments:

GoogleCodeExporter commented 9 years ago
Olá dudektria,

Parabéns pelo trabalho! Está ficando excelente!

Acredito que deveríamos incluir o material que você produziu na pasta contrib 
do controle de versões (https://code.google.com/p/abntex2/source/browse/). 

Você toparia fazer isso, ou prefere que eu faça por aqui? Se topar incluir o 
código-fonte, você poderia continuar a atualizar as ferramentas por 
diretamente pelo controle de versões, o que é mais indicado. No caso, não 
precisa inserir o arquivo ufsc-thesis.cls, nem o artigo.pdf, apenas os arquivos 
fontes e as condigurações, cokmo o .bib, .md, .latex e o .csl.

Usar o controle de versões é bem simples, basta seguir as instruções da 
WIki: https://code.google.com/p/abntex2/wiki/FerramentasDesenv

De toda forma, já incluí seu nome na lista de colaboradores do projeto 
(https://code.google.com/p/abntex2/people/detail?u=116447605057611966767).

Original comment by laurocesar on 23 Jun 2014 at 12:27

GoogleCodeExporter commented 9 years ago
Ok. Vou adicionar o arquivo e comentá-lo, para explicar a utilização. Do 
jeito que implementei ele funciona em tese com qualquer .bib e .csl, então 
creio não precisar subir estes arquivos (desculpa a pergunta talvez besta, mas 
o abntex2 tem um arquivo .csl próprio? Retirei o que usei daqui: 
https://zotero.org/styles).

Original comment by dudekt...@gmail.com on 23 Jun 2014 at 2:41

GoogleCodeExporter commented 9 years ago
Não, o abntex2 não tem um arquivo .csl Na verdade, nem sei para que ele 
serve. Se for algo específico do Zotero, merecia um trabalho para isso, de 
modo a criar uma customização própria. Isso seria ótimo!

Original comment by laurocesar on 23 Jun 2014 at 2:47

GoogleCodeExporter commented 9 years ago
Mmm interessante. Não sei bem como funciona o abntex2 por dentro, mas o pandoc 
(já que prevê tranformar texto não só pra Latex) tem um filtro interno (o 
tal do pandoc-citeproc). Ele pega o texto e gera citações (no Markdown do 
tipo [@Schneider2014; @LauroCesar2014]) de acordo com um .bib para o tipo de 
arquivo final (.html, .latex, etc). Dessa forma o Latex nem fica sabendo que 
algo foi citado. E pra saber o formato das citações ele usa um .csl (citation 
style language).
Isso significa que as citações são postas no fim de qualquer código (logo 
depois de $body$ no template) e por isso é necessário criar um cabeçalho 
precedendo elas (#Referências em Markdown, que geraria \section{Referências} 
em .latex ou <h1>Referências</h1> em .html).
Existem vários .csl interessantes disponíveis: 
https://zotero.org/styles?q=brasil

Original comment by dudekt...@gmail.com on 23 Jun 2014 at 3:04

GoogleCodeExporter commented 9 years ago
Entendi. Então, será necessário criar uma issue com o objetivo específico 
de criar um .csl para as entradas .bib padronizadas do abnTeX2. No caso, essas 
entradas estão listadas no manual do pacote abntex2cite: 
http://mirrors.ctan.org/macros/latex/contrib/abntex2/doc/abntex2cite.pdf

Sugiro fazer o seguinte: 

1) renomear o arquivo .csl atual para algo como abntex2.csl;
2) adaptar o material que você já tem para usar o novo arquivo e incluir os 
comentários que você sugeriu;
3) colocar o material no controle de versão;
4) encerrar esta issue;
5) abrir uma nova issue especificamente para melhorar o arquivo .csl.

Dessa forma sabemos exatamente o que deve ser feito.

Novas melhorias ao formato pandoc que você criou podem ser feitas com issues 
separadas. O que acha?

Original comment by laurocesar on 23 Jun 2014 at 3:33

GoogleCodeExporter commented 9 years ago
"Terminei" o material. Criei as pastas contrib/pandoc e 
contrib/pandoc/exemplos, além de mexer em algumas coisas no template e 
comentá-lo. Melhorou bastante.
Mas estou com dificuldades em dar hg push, me aparece ou erro 403, 404 ou 
"Connection reset by peer". Como faço?

Original comment by dudekt...@gmail.com on 23 Jun 2014 at 5:49

GoogleCodeExporter commented 9 years ago
Ops... desculpa. Faltava a permissão de commit. Agora está pronto! Tente 
novamente. Não se esqueça de usar a senha do GoogleCode: 
https://code.google.com/hosting/settings

Depois disso, seria interessante criar uma página na Wiki 
(https://code.google.com/p/abntex2/wiki/TOC?tm=6) explicando como usar o 
material. Talvez algo parecido com o que fizemos com o Lyx: 
https://code.google.com/p/abntex2/wiki/LyX

Abraços!

Original comment by laurocesar on 23 Jun 2014 at 6:04

GoogleCodeExporter commented 9 years ago
Consegui!
Legal, farei isso!

No mais, preciso de feedback sobre a qualidade do material. Acredito que o 
template deve reproduzir no mínimo as capacidades dos modelos que o abntex2 
carrega na distribuição. Vamos fazendo issues.

Original comment by dudekt...@gmail.com on 23 Jun 2014 at 6:54

GoogleCodeExporter commented 9 years ago
Excelente! Só um detalhe: é extremamente importante que você anote a 
licença de uso do material no cabeçalho dos arquivos. Assim, sugiro você 
usar algo assim:

(veja que substituí "laurocesar" por "dudektria". O nome do arquivo deve estar 
logo na primeira linha. Você pode substituir meu nome pelo seu no rodapé da 
licença, ok?)

%% abntex2.latex, v<VERSION> dudektria
%% Copyright 2012-2014 by abnTeX2 group at http://abntex2.googlecode.com/ 
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%%   http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
%% 
%% The Current Maintainer of this work is the abnTeX2 team, led
%% by Lauro César Araujo. Further information are available on 
%% http://abntex2.googlecode.com/
%%

Original comment by laurocesar on 23 Jun 2014 at 7:05

GoogleCodeExporter commented 9 years ago
Ok! Informei uma versão _do arquivo_, como imaginei. Troquei seu nome pelo 
meu. Obrigado pelas dicas!

Agora estou pensando em quais devem ser as funcionalidades mínimas do template 
(pensando em metadados YAML). Até agora foi implementado: título, data, 
autor(es), local, instituição, preâmbulo, resumo, palavras-chaves (e um nome 
alternativo para "Palavras-chaves" caso necessário: foi um estudo de caso para 
futuros resumos múltiplos em idiomas diferentes) e "tipotrabalho" (que 
acredito não aparecer em nenhuma situação ainda, preciso executar algo do 
qual não tenho conhecimento).

Também informei duas flags que possibilitam ao usuário pedir uma capa e, caso 
sim, se deve haver folha de rosto também ou não (não imagino que haja um 
caso para folha de rosto sem capa, há?).

Não sei qual deveria ser a implementação mínima, uma vez que não existe 
tipo de documento típico (ou há?). Quero tornar o template flexível para o 
feitio tanto de artigos quanto de teses. Em outras palavras, tão flexível 
quando o Pandoc e o abntex2 permitirem.

Original comment by dudekt...@gmail.com on 23 Jun 2014 at 9:10

GoogleCodeExporter commented 9 years ago
Olá

Sobre a versão, não inclua o número. Deixe como variável, ou seja, assim:

%% abntex2.latex, v<VERSION> dudektria

Isso é usado no processo automático de build (veja o arquivo 
https://code.google.com/p/abntex2/source/browse/build.sh).

Sobre o exemplo mínimo, ele é aquele que contém exclusivamente os elementos 
obrigatórios definidos pela norma cujo modelo pretende atender. Veja essa 
questão no manual da classe abntex2.cls 
(http://mirrors.ctan.org/macros/latex/contrib/abntex2/doc/abntex2.pdf).  Se 
preferir, pode consultar diretamente as normas. Digamos que esteja interessado 
no modelo de trabalho acadêmico. Então, consulte a norma ABNT NBR 14724:2011. 
** Você encontra facilmente na internet, por exemplo, em: 
http://www.oabce.org.br/arquivos/2011-05-03_20-36-06-ABNT-2011.pdf 

Original comment by laurocesar on 23 Jun 2014 at 9:21

GoogleCodeExporter commented 9 years ago
Ok. Corrigido.

Vou me focar por enquanto no modelo de trabalho acadêmico então, com 
perspectiva de ampliar as possibilidades, ok? Acredito ser possível inserir 
qualquer opção do abntex2 no Pandoc.

Original comment by dudekt...@gmail.com on 23 Jun 2014 at 9:35

GoogleCodeExporter commented 9 years ago
Adicionei uma página à wiki: https://code.google.com/p/abntex2/wiki/Pandoc 
referente ao andamento das coisas.

Original comment by dudekt...@gmail.com on 23 Jun 2014 at 10:32

GoogleCodeExporter commented 9 years ago
A página está excelente! Parabéns!

Quando quiser, avise-nos para que fechemos esta issue, ok?

Abraços!

Original comment by laurocesar on 23 Jun 2014 at 11:59

GoogleCodeExporter commented 9 years ago
Acredito que ela já possa ser fechada. Agora é melhorar o template, coisa que 
acho melhor fazer sob demanda.

Original comment by dudekt...@gmail.com on 24 Jun 2014 at 12:30

GoogleCodeExporter commented 9 years ago
Feito!

Original comment by laurocesar on 24 Jun 2014 at 1:22