pandoc_abnt 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +19 -0
- data/Rakefile +1 -1
- data/lib/pandoc_abnt/quadro_filter.rb +15 -11
- data/lib/pandoc_abnt/version.rb +1 -1
- data/pandoc_abnt.gemspec +9 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0ee4f6291131b32e386366988d0b0781ef4585d6
|
4
|
+
data.tar.gz: 6aecc2e4a7cf71f62d6e7a413e7d7017ff905fab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0af0aa7ff620780ca387b96911d074976dc168f461c323c197416069136440b024e080b91a6561eb945e1a2a87fa0ef430c34d7d02f04918608cf42f213418ac
|
7
|
+
data.tar.gz: 162329435ef7d002f7759e23558b16471ccfa6531cf81e212c152ec278a64d56f9606f32756c0ab9bcb526a08fbb40707102145f2a43dbe2c17405046e8a734b
|
data/README.md
CHANGED
@@ -61,6 +61,25 @@ Você pode utilizar [qualquer uma das sintaxes de tabela suportadas pelo pandoc]
|
|
61
61
|
|
62
62
|
**OBS**: O comando `\label{}` é necessário para permitir refenciar a tabela no Latex.
|
63
63
|
|
64
|
+
### Quadros
|
65
|
+
|
66
|
+
Exemplo de sintaxe para criar Quadros:
|
67
|
+
|
68
|
+
```markdown
|
69
|
+
Quadro perfil: Perfil dos voluntários do experimento
|
70
|
+
|
71
|
+
|Vol.|Formação acadêmica |Experiência c/ Latex| Expeiência c/ Markdown|
|
72
|
+
|:-:|:----------------------------:|:------------------:|:---------------------:|
|
73
|
+
|1 |Ciência da Computação |ShareLatex | Readme/Github |
|
74
|
+
|2 |Engenharia da Computação |Viu prof. utilizando| - |
|
75
|
+
|3 |Engenheiro elétrico (mestrando)|Utiliza para tudo | - |
|
76
|
+
|
77
|
+
Fonte: Autor.
|
78
|
+
|
79
|
+
```
|
80
|
+
|
81
|
+
**OBS**: Esse Quadro deve ser referencia no texto com `\autoref{perfil}`.
|
82
|
+
|
64
83
|
### Alíneas
|
65
84
|
|
66
85
|
A ABNT especifica que o texto das seções podem ser divididos em *Alíneas*, na prática você PODE utilizar uma lista ordenada por letras para separar o conteúdo de uma seção:
|
data/Rakefile
CHANGED
@@ -75,7 +75,7 @@ task :fixtures do
|
|
75
75
|
Dir.chdir("spec/fixtures/files/quadros") do
|
76
76
|
original = "quadro-com-id-titulo-e-fonte.md"
|
77
77
|
system "pandoc -f markdown+raw_tex --wrap=none #{original} -o #{original.ext('.pandoc.json')}"
|
78
|
-
system "pandoc -f markdown+raw_tex --wrap=none #{original.ext('.transformacao-esperada.md')} -o #{original.ext('.transformacao-esperada.json')}"
|
78
|
+
#system "pandoc -f markdown+raw_tex --wrap=none #{original.ext('.transformacao-esperada.md')} -o #{original.ext('.transformacao-esperada.json')}" # removido pq não funciona mais o parse com código fore do begin e and longtable.
|
79
79
|
|
80
80
|
system "pandoc -f markdown+raw_tex --wrap=none #{original.ext('.apenas-tabela.md')} -o #{original.ext('.apenas-tabela.json')}"
|
81
81
|
system "pandoc -f markdown+raw_tex --wrap=none #{original.ext('.apenas-tabela.md')} -o #{original.ext('.apenas-tabela.tex')}"
|
@@ -8,12 +8,16 @@ module PandocAbnt
|
|
8
8
|
|
9
9
|
def transforma_em_quadro(latex_code, id, titulo, fonte)
|
10
10
|
#inicio = latex_code.lines[0..-2].join ""
|
11
|
+
begin_longtable = latex_code.lines[0].strip
|
12
|
+
tabela_codigo_interno_begin = latex_code.lines[1..-2].join("").strip
|
11
13
|
abntex_code = <<LATEX
|
12
|
-
\\
|
13
|
-
|
14
|
-
#{
|
15
|
-
|
16
|
-
\\
|
14
|
+
\\renewcommand\\LTcaptype{quadro}
|
15
|
+
#{begin_longtable}
|
16
|
+
\\caption{#{titulo.strip}\\label{#{id}}}\\tabularnewline
|
17
|
+
#{tabela_codigo_interno_begin}
|
18
|
+
\\caption*{#{fonte.strip}}
|
19
|
+
\\end{longtable}
|
20
|
+
\\renewcommand\\LTcaptype{table}
|
17
21
|
LATEX
|
18
22
|
abntex_code.strip
|
19
23
|
end
|
@@ -40,11 +44,11 @@ LATEX
|
|
40
44
|
# Verifica se node é um parágrafo que inicia com "Quadro #id: título"
|
41
45
|
def quadro?(node)
|
42
46
|
# Texto original:
|
43
|
-
# Quadro
|
47
|
+
# Quadro perfil: Perfil dos voluntários do experimento
|
44
48
|
#
|
45
49
|
# Depois do parse:
|
46
50
|
#
|
47
|
-
# {"t"=>"Para","c"=>[{"t"=>"Str","c"=>"Quadro"},{"t"=>"Space"},{"t"=>"Str","c"=>"
|
51
|
+
# {"t"=>"Para","c"=>[{"t"=>"Str","c"=>"Quadro"},{"t"=>"Space"},{"t"=>"Str","c"=>"perfil:"},{"t"=>"Space"},{"t"=>"Str","c"=>"Perfil"},{"t"=>"Space"},{"t"=>"Str","c"=>"dos"},{"t"=>"Space"},{"t"=>"Str","c"=>"voluntários"},{"t"=>"Space"},{"t"=>"Str","c"=>"do"},{"t"=>"Space"},{"t"=>"Str","c"=>"experimento"}]}
|
48
52
|
para = node["c"]
|
49
53
|
|
50
54
|
node["t"] == "Para" and node["c"].length>=5 and string_contendo?("Quadro",para[0]) and space?(para[1]) and quadro_id?(para[2]) and space?(para[3]) and string?(para[4])
|
@@ -56,17 +60,17 @@ LATEX
|
|
56
60
|
|
57
61
|
# Verifica se o node_p contém um string que poderia representar o id de um quadro
|
58
62
|
#
|
59
|
-
# Ex: {"t"=>"Str","c"=>"
|
63
|
+
# Ex: {"t"=>"Str","c"=>"perfil2:"}
|
60
64
|
def quadro_id?(node)
|
61
|
-
node["t"] == "Str" and node["c"].match(
|
65
|
+
node["t"] == "Str" and node["c"].match(/[[:alpha:]]+\w*\:/)
|
62
66
|
end
|
63
67
|
|
64
68
|
# Verifica se o node (parágrafo) contém uma descrição de Quadro, e extrai o id e título.
|
65
69
|
def extrai_id_titulo_do_quadro(node, apimeta)
|
66
|
-
# {"t"=>"Para","c"=>[{"t"=>"Str","c"=>"Quadro"},{"t"=>"Space"},{"t"=>"Str","c"=>"
|
70
|
+
# {"t"=>"Para","c"=>[{"t"=>"Str","c"=>"Quadro"},{"t"=>"Space"},{"t"=>"Str","c"=>"perfil:"},{"t"=>"Space"},{"t"=>"Str","c"=>"Perfil"},{"t"=>"Space"},{"t"=>"Str","c"=>"dos"},{"t"=>"Space"},{"t"=>"Str","c"=>"voluntários"},{"t"=>"Space"},{"t"=>"Str","c"=>"do"},{"t"=>"Space"},{"t"=>"Str","c"=>"experimento"}]}
|
67
71
|
return nil unless quadro?(node)
|
68
72
|
|
69
|
-
id = node["c"][2]["c"][
|
73
|
+
id = node["c"][2]["c"][0..-2]
|
70
74
|
titulo_nodes = node["c"][4..-1]
|
71
75
|
para = {"t" => "Para", "c" => titulo_nodes}
|
72
76
|
|
data/lib/pandoc_abnt/version.rb
CHANGED
data/pandoc_abnt.gemspec
CHANGED
@@ -19,7 +19,15 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.bindir = "exe"
|
20
20
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
21
21
|
spec.require_paths = ["lib"]
|
22
|
-
spec.post_install_message =
|
22
|
+
spec.post_install_message = <<-MSG
|
23
|
+
---------------------------------------------------------------------
|
24
|
+
ATENÇÃO:
|
25
|
+
Para utilização de Quadros é necessário que o modelo utilizado seja versão >= 0.4.1.
|
26
|
+
|
27
|
+
A última versão do modelo pode ser baixada em:
|
28
|
+
https://github.com/abntex/trabalho-academico-limarka/releases/latest
|
29
|
+
---------------------------------------------------------------------
|
30
|
+
MSG
|
23
31
|
|
24
32
|
spec.add_development_dependency "bundler", "~> 1.13"
|
25
33
|
spec.add_development_dependency "rake", "~> 11.0"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pandoc_abnt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eduardo de Santana Medeiros Alexandre
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-03-
|
11
|
+
date: 2017-03-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -109,8 +109,9 @@ homepage: https://github.com/edusantana/pandoc_abnt
|
|
109
109
|
licenses:
|
110
110
|
- MIT
|
111
111
|
metadata: {}
|
112
|
-
post_install_message:
|
113
|
-
seja versão >= 0.4.
|
112
|
+
post_install_message: "---------------------------------------------------------------------\nATENÇÃO:\nPara
|
113
|
+
utilização de Quadros é necessário que o modelo utilizado seja versão >= 0.4.1.\n\nA
|
114
|
+
última versão do modelo pode ser baixada em: \nhttps://github.com/abntex/trabalho-academico-limarka/releases/latest\n---------------------------------------------------------------------\n"
|
114
115
|
rdoc_options: []
|
115
116
|
require_paths:
|
116
117
|
- lib
|