Giter Club home page Giter Club logo

pandoc_abnt's Issues

Inclusão de Quadros

  • A ABNT faz distinção entre Tabela e Quadro.
  • Markdown possui sintaxe apenas para criação de Tabelas.

Este issue é para definir uma sintaxe para criação de Quadros e implementá-la.

Adicionar pontuação final quando alinea termina em ')'

Ver como ficou:

• Identificar linguagem de marcação mais apropriada para escrita de TCCs;
• Analisar requisitos de formatação de TCCs (incluir as normas da ABNT)
• Implementar uma aplicação que possibilite usuários escrever TCCs nacionais utilizando uma linguagem de marcação leve;
• Avaliar o uso da linguagem de marcação leve para a escrita de TCCs nacionais por estudantes.

Incluir opção para usar o formato de citação do Pandoc Markdown

(A partir de sugestão dada no canal do Limarka no gitter).

Eduardo, no último mês fiz uma extensa pesquisa para ferramentas que possam substituir o Word para escrever minha dissertação de mestrado e o Limarka foi uma das mais promissoras que encontrei...
A automatização da formatação da abnt usando a simplicidade do markdown com templates de latex acertou na mosca.

Após a formatação do padrão, acho que o segundo ponto que pode ser facilitado é o uso das citações a partir do arquivo .bib durante a escrita... Nesse ponto alguns editores de texto como o sublime, o brackets e o atom apresentam alguns plugins que tem a intenção de cumprir esse papel para documentos acadêmicos.

Acontece que a maioria desses plugins acadêmicos para editores se utilizam da sintaxe do Pandoc Markdown para as citações [@citekey], o que não é o caso do Limarka (apesar de fazer uso do Pandoc como seu interpretador para markdown, se é que entendi direito)... O que acaba tornando o limarka incompatível com algumas dessas ferramentas de automação da escrita...

Nesse sentido, destaco aqui o plugin autocomplete-bibtex para o atom. Esse plugin pretende mostrar uma lista suspensa abaixo do cursor com base no arquivo .bib após o usuário inserir o código de citação, facilitando a consulta à bibliografia no momento mesmo da escrita. Eu tentei usar o formato de citção do latex na configuração do plugin, mas sem sucesso e o mesmo ocorreu com outras ferramentas do tipo. A única que consegui que funcionasse bem até agora foi Citebibtex para o Sublime, mas só porque essa ferramenta mostra a lista ao pressionar o F10 ao invés de usar o autocomplete.

Resumindo, no fim das contas a falta dessas ferramentas não atrapalha e nem impede o uso do Limarka, mas são recursos extras úteis que podem ser incorporados facilmente no fluxo de trabalho se a compatibilidade total com o Pandoc Markdown for adotada, por isso que penso que uma opção de configuração que permita escolher entre um formato ou outro de citação pode tornar o Limarka mais aberto a diferentes soluções de trabalho e portanto mais completo...

Obrigado!

Problema na execução dos testes do limarka

Erro: /home/travis/.rvm/gems/ruby-2.3.1/gems/pandoc_abnt-0.1.2/lib/pandoc_abnt/figura_filter.rb:60:in `filtra_json': undefined method `each' for nil:NilClass (NoMethodError)
	from /home/travis/.rvm/gems/ruby-2.3.1/gems/pandoc_abnt-0.1.2/exe/pandoc_abnt:12:in `<top (required)>'
	from /home/travis/.rvm/gems/ruby-2.3.1/bin/pandoc_abnt:23:in `load'
	from /home/travis/.rvm/gems/ruby-2.3.1/bin/pandoc_abnt:23:in `<main>'
	from /home/travis/.rvm/gems/ruby-2.3.1/bin/ruby_executable_hooks:15:in `eval'
	from /home/travis/.rvm/gems/ruby-2.3.1/bin/ruby_executable_hooks:15:in `<main>'
pandoc: Error running filter pandoc_abnt

Geração automática de siglas a partir do texto

Segundo as normas da ABNT as siglas devem ser apresentadas antes de utilizadas.

A funcionalidade consiste em ler o texto e procurar por apresentação de siglas, independente de onde são utilizadas:

A ABNT é responsável por...
A Associação Brasileira de Normas Técnicas (ABNT) define que...

Nesse texto acima percebe-se que a sigla foi apresentada na segunda linha. O que estaria errado, deveria ser apresentado na primeira vez que foi utilizada. Essa funcionalidade iria encontrar as siglas, adicionar à lista de siglas e re-organizar o texto para apresentar a sigla na primeira utilização. O texto seria alterado para:

A Associação Brasileira de Normas Técnicas (ABNT) é responsável por...
A ABNT define que...

E a sigla ABNT seria adicionada à lista de siglas.

Problema de execução ou instalação no Windows

@RodrigoDAlmeida relatou o seguinte problema no windows:

Senhores, estou tentando gerar o PDF a partir do modelo "trabalho-academico-limarka-master", segui todos as instruções do tutorial do wiki no github, mas segue apresentando esse erro. A instalação do pandoc_abnt foi feita conforme a imagem 3. Alguém poderia me auxiliar?

Requisito inicial: figuras

$ pandoc -t json
![Título](imagem.png){#id width=30%}                              

Fonte: Autor.

[{"unMeta":{}},[{"t":"Para","c":[{"t":"Image","c":[["id",[],[["width","30%"]]],[{"t":"Str","c":"Título"}],["imagem.png","fig:"]]}]},{"t":"Para","c":[{"t":"Str","c":"Fonte:"},{"t":"Space","c":[]},{"t":"Str","c":"Autor."}]}]]

Transformar o seguinte código:

![Título](imagem.png){#id width=30% fonte="Fonte da *figura*"}

Em:

\begin{figure}[htbp]
\caption{\label{id}Legenda da figura.}
\begin{center}
\includegraphics[width=0.30\textwidth]{imagem.png}
\end{center}
\legend{Fonte da \emph{figura}}
\end{figure}

Referências:

$ pandoc -t json
![Título](imagem.png){#id width=30% fonte="Fonte da *figura*"}

[{"unMeta":{}},[{"t":"Para","c":[{"t":"Image","c":[["id",[],[["width","30%"],["fonte","Fonte da *figura*"]]],[{"t":"Str","c":"Título"}],["imagem.png","fig:"]]}]}]]

$ pandoc -t json
![Título](imagem.png){#id width=30% fonte="Fonte da *figura*"}
dentro do parágrafo.

[{"unMeta":{}},[{"t":"Para","c":[{"t":"Image","c":[["id",[],[["width","30%"],["fonte","Fonte da *figura*"]]],[{"t":"Str","c":"Título"}],["imagem.png",""]]},{"t":"SoftBreak","c":[]},{"t":"Str","c":"dentro"},{"t":"Space","c":[]},{"t":"Str","c":"do"},{"t":"Space","c":[]},{"t":"Str","c":"parágrafo."}]}]]

$ pandoc -t latex
![Título](imagem.png){#id width=30% fonte="Fonte da *figura*"}

\begin{figure}[htbp]
\centering
\includegraphics[width=0.30000\textwidth]{imagem.png}
\caption{Título}\label{id}
\end{figure}

$ pandoc -t json
![Título](imagem.png){#id width=30%}                              

Fonte: Autor.

[{"unMeta":{}},[{"t":"Para","c":[{"t":"Image","c":[["id",[],[["width","30%"]]],[{"t":"Str","c":"Título"}],["imagem.png","fig:"]]}]},{"t":"Para","c":[{"t":"Str","c":"Fonte:"},{"t":"Space","c":[]},{"t":"Str","c":"Autor."}]}]]


$ pandoc -t json
![Título](imagem.png){#id width=30%} Fonte: Autor.

[{"unMeta":{}},[{"t":"Para","c":[{"t":"Image","c":[["id",[],[["width","30%"]]],[{"t":"Str","c":"Título"}],["imagem.png",""]]},{"t":"Space","c":[]},{"t":"Str","c":"Fonte:"},{"t":"Space","c":[]},{"t":"Str","c":"Autor."}]}]]


$ pandoc -t json
![Título](imagem.png){#id width=30%} 
Fonte: Autor.          

[{"unMeta":{}},[{"t":"Para","c":[{"t":"Image","c":[["id",[],[["width","30%"]]],[{"t":"Str","c":"Título"}],["imagem.png",""]]},{"t":"SoftBreak","c":[]},{"t":"Str","c":"Fonte:"},{"t":"Space","c":[]},{"t":"Str","c":"Autor."}]}]]

Aplicando minúsculo no primeiro caracter de listas não ordenadas

Veja o problema:

• aBNT NBR 14724, Informação e documentação - Trabalhos acadêmicos - Apresentação;
• aBNT NBR 6023, Informação e documentação - Referências - Elaboração;
• aBNT NBR 6024, Informação e documentação - Numeração progressiva das seções de um documento escrito - Apresentação;
• aBNT NBR 6027, Informação e documentação - Sumário - Apresentação;
• aBNT NBR 6028, Informação e documentação - Resumo - Procedimento;
(...)

Parágrafo com "XXX." causa erro

Erro: /var/lib/gems/2.3.0/gems/pandoc_abnt-1.0.2/lib/pandoc_abnt/lista_filter.rb:127:in `primeiro_tolken_do_item': undefined method `[]' for nil:NilClass (NoMethodError)
	from /var/lib/gems/2.3.0/gems/pandoc_abnt-1.0.2/lib/pandoc_abnt/lista_filter.rb:80:in `block in processa_items_da_lista'
	from /var/lib/gems/2.3.0/gems/pandoc_abnt-1.0.2/lib/pandoc_abnt/lista_filter.rb:75:in `each'
	from /var/lib/gems/2.3.0/gems/pandoc_abnt-1.0.2/lib/pandoc_abnt/lista_filter.rb:75:in `processa_items_da_lista'
	from /var/lib/gems/2.3.0/gems/pandoc_abnt-1.0.2/lib/pandoc_abnt/lista_filter.rb:56:in `block in filtra_json'
	from /var/lib/gems/2.3.0/gems/pandoc_abnt-1.0.2/lib/pandoc_abnt/lista_filter.rb:54:in `each'
	from /var/lib/gems/2.3.0/gems/pandoc_abnt-1.0.2/lib/pandoc_abnt/lista_filter.rb:54:in `filtra_json'
	from /var/lib/gems/2.3.0/gems/pandoc_abnt-1.0.2/exe/pandoc_abnt:11:in `<top (required)>'
	from /usr/local/bin/pandoc_abnt:23:in `load'
	from /usr/local/bin/pandoc_abnt:23:in `<main>'
pandoc: Error running filter pandoc_abnt
Filter returned error status 1

Quadros devem ter linhas verticais

Os quadros devem ter linhas verticais:

\begin{longtable}[]{@{}clr@{}}

transformar em:

\begin{longtable}[]{|c|l|r|}

https://en.wikibooks.org/wiki/LaTeX/Tables

Ver exemplo de diferença:

Quadro qq: Conteúdo irrelevante

|Outra   | Tabela    |
|--------|-----------|
|Mais    | coisas    |
|Qualquer| coisa mais|

Fonte: demais coisas.

quadro-fechado

\renewcommand\LTcaptype{quadro}
\begin{longtable}[]{@{}ll@{}}
\caption{Conteúdo irrelevante\label{qq}}\tabularnewline
\toprule
Outra & Tabela\tabularnewline
\midrule
\endhead
Mais & coisas\tabularnewline
Qualquer & coisa mais\tabularnewline
\bottomrule
\caption*{Fonte: demais coisas.}
\end{longtable}
\renewcommand\LTcaptype{table}

DEVERIA SER:

\renewcommand\LTcaptype{quadro}
\begin{longtable}[]{|l|l|}
\caption{Conteúdo irrelevante\label{qq}}\tabularnewline
\toprule
Outra & Tabela\tabularnewline
\midrule
\endhead
Mais & coisas\tabularnewline
Qualquer & coisa mais\tabularnewline
\bottomrule
\caption*{Fonte: demais coisas.}
\end{longtable}
\renewcommand\LTcaptype{table}

Erro ao compilar com item vazio de lista

Comportamento esperado: Que o limarka compile mesmo se faltar algum item na lista.

Passos para reprodução:

Lista:

1. exemplo de item 1;
2. exemplo de item 2;
3. exemplo de item 3;
4.

Erro:

╰─$  limarka exec
Erro: /home/yzakius/.rvm/gems/ruby-2.4.0/gems/pandoc_abnt-1.1.2/lib/pandoc_abnt/lista_filter.rb:131:in `primeiro_tolken_do_item': undefined method `[]' for nil:NilClass (NoMethodError)
    from /home/yzakius/.rvm/gems/ruby-2.4.0/gems/pandoc_abnt-1.1.2/lib/pandoc_abnt/lista_filter.rb:85:in `block in processa_items_da_lista'
    from /home/yzakius/.rvm/gems/ruby-2.4.0/gems/pandoc_abnt-1.1.2/lib/pandoc_abnt/lista_filter.rb:80:in `each'
    from /home/yzakius/.rvm/gems/ruby-2.4.0/gems/pandoc_abnt-1.1.2/lib/pandoc_abnt/lista_filter.rb:80:in `processa_items_da_lista'
    from /home/yzakius/.rvm/gems/ruby-2.4.0/gems/pandoc_abnt-1.1.2/lib/pandoc_abnt/lista_filter.rb:62:in `block in filtra_json'
    from /home/yzakius/.rvm/gems/ruby-2.4.0/gems/pandoc_abnt-1.1.2/lib/pandoc_abnt/lista_filter.rb:60:in `each'
    from /home/yzakius/.rvm/gems/ruby-2.4.0/gems/pandoc_abnt-1.1.2/lib/pandoc_abnt/lista_filter.rb:60:in `filtra_json'
    from /home/yzakius/.rvm/gems/ruby-2.4.0/gems/pandoc_abnt-1.1.2/exe/pandoc_abnt:13:in `<top (required)>'
    from /home/yzakius/.rvm/gems/ruby-2.4.0/bin/pandoc_abnt:23:in `load'
    from /home/yzakius/.rvm/gems/ruby-2.4.0/bin/pandoc_abnt:23:in `<main>'
    from /home/yzakius/.rvm/gems/ruby-2.4.0/bin/ruby_executable_hooks:15:in `eval'
    from /home/yzakius/.rvm/gems/ruby-2.4.0/bin/ruby_executable_hooks:15:in `<main>'
pandoc: Error running filter pandoc_abnt
Filter returned error status 1

Especificações do sistema:
limarka 0.7.2

Cadastrado originalmente em abntex/limarka#151 por @yzakius

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.