limarka 0.7.2 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +3 -0
- data/.gitmodules +3 -0
- data/.travis.yml +3 -1
- data/CHANGELOG.md +15 -1
- data/CONTRIBUTING.md +8 -7
- data/README.md +2 -1
- data/Rakefile +5 -2
- data/containers/Dockerfile-ruby-latex-full.production +15 -0
- data/containers/Dockerfile.production +48 -0
- data/lib/limarka.rb +1 -0
- data/lib/limarka/check.rb +46 -0
- data/lib/limarka/cli.rb +45 -34
- data/lib/limarka/version.rb +1 -1
- data/limarka.gemspec +2 -0
- metadata +35 -29
- data/anexos.md +0 -9
- data/apendices.md +0 -9
- data/configuracao.odt +0 -0
- data/errata.md +0 -6
- data/templates/README.md +0 -17
- data/templates/configuracao-tecnica.yaml +0 -10
- data/templates/postextual1-referencias.latex +0 -10
- data/templates/postextual2-glossario.latex +0 -7
- data/templates/postextual3-apendices.latex +0 -22
- data/templates/postextual4-anexos.latex +0 -16
- data/templates/postextual5-indice.latex +0 -8
- data/templates/pretextual1-folha_de_rosto.latex +0 -24
- data/templates/pretextual10-lista_tabelas.latex +0 -14
- data/templates/pretextual11-lista_siglas.latex +0 -14
- data/templates/pretextual12-lista_simbolos.latex +0 -15
- data/templates/pretextual13-sumario.latex +0 -8
- data/templates/pretextual2-errata.latex +0 -17
- data/templates/pretextual3-folha_de_aprovacao.latex +0 -68
- data/templates/pretextual4-dedicatoria.latex +0 -15
- data/templates/pretextual5-agradecimentos.latex +0 -11
- data/templates/pretextual6-epigrafe.latex +0 -15
- data/templates/pretextual7-resumo.latex +0 -17
- data/templates/pretextual8-abstract.latex +0 -41
- data/templates/pretextual9-lista_ilustracoes.latex +0 -12
- data/templates/trabalho-academico.latex +0 -266
- data/trabalho-academico.md +0 -79
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 80b7ab1b4b79e61e0ce24216bd77ecb6843e173cf0f1aafd2a52b650cf403825
|
4
|
+
data.tar.gz: 7ab5f7ed12d2c3098ea431da1f3b9bc16c5f93006abfd4cc2f7726f493ee8485
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b0f4c1dc23f24a578cea102a405d63318dbc136bced4c85cd09198e87bff9196c1d68b4124fe6cc18e1922aa4770fd147c7aceabdceb7e4fad94c341e4d86387
|
7
|
+
data.tar.gz: 7de7eae3c866112aad2e17203c4830e75fa4459bd5966ceca012b040c37767541d34cf28873285230c5a5aa62290b8915ae4c832235ca49fdf446321bd2cbb28
|
data/.gitignore
CHANGED
data/.gitmodules
ADDED
data/.travis.yml
CHANGED
@@ -8,7 +8,8 @@ before_install:
|
|
8
8
|
- sudo apt-get install -y -qq ruby-full pdftk xclip poppler-utils language-pack-pt libreoffice
|
9
9
|
- wget https://github.com/jgm/pandoc/releases/download/1.19.2.1/pandoc-1.19.2.1-1-amd64.deb && sudo dpkg -i pandoc-*.deb
|
10
10
|
- wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz && tar -xf install-tl-unx.tar.gz && cd install-tl-* && sudo ./install-tl -no-gui -profile ../spec/dependencias/texlive-abntex2.profile -no-verify-downloads && cd ..
|
11
|
-
- export PATH=$PATH:/usr/local/texlive/
|
11
|
+
- export PATH=$PATH:/usr/local/texlive/2018/bin/x86_64-linux
|
12
|
+
|
12
13
|
script:
|
13
14
|
- latexmk -v
|
14
15
|
- xelatex -v
|
@@ -19,3 +20,4 @@ script:
|
|
19
20
|
- bundle exec rake spec:latex
|
20
21
|
after_failure:
|
21
22
|
- cd /usr/local/texlive && find . -iname latexmk
|
23
|
+
- cat /usr/local/texlive/2017/install-tl.log
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,20 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
-
## [v0.
|
3
|
+
## [v0.8.0](https://github.com/abntex/limarka/tree/v0.8.0) (2018-10-20)
|
4
|
+
[Full Changelog](https://github.com/abntex/limarka/compare/v0.7.2...v0.8.0)
|
5
|
+
|
6
|
+
**Melhorias implementadas:**
|
7
|
+
|
8
|
+
- Possibilita checar e notificar problemas de dependências no sistema [\#165](https://github.com/abntex/limarka/issues/165)
|
9
|
+
- limarka --version inclui versões das dependências [\#149](https://github.com/abntex/limarka/issues/149)
|
10
|
+
- Limarka dependende de guard-shell possibilitando geração automática [\#141](https://github.com/abntex/limarka/issues/141)
|
11
|
+
- Template extraído para submódulo modelo-oficial [\#79](https://github.com/abntex/limarka/issues/79)
|
12
|
+
|
13
|
+
**Issues fechados:**
|
14
|
+
|
15
|
+
- Distribuição do limarka através de imagem Docker [\#155](https://github.com/abntex/limarka/issues/155)
|
16
|
+
|
17
|
+
## [v0.7.2](https://github.com/abntex/limarka/tree/v0.7.2) (2017-04-09)
|
4
18
|
[Full Changelog](https://github.com/abntex/limarka/compare/v0.7.1...v0.7.2)
|
5
19
|
|
6
20
|
**Melhorias implementadas:**
|
data/CONTRIBUTING.md
CHANGED
@@ -5,7 +5,7 @@ e [divulgá-la](https://github.com/abntex/limarka/wiki/Imprensa).
|
|
5
5
|
|
6
6
|
[realizar o experimento]: https://github.com/abntex/limarka/wiki/Experimentos
|
7
7
|
|
8
|
-
Pull requests são sempre bem vindos. Ao participar desse projeto você está de
|
8
|
+
Pull requests são sempre bem vindos. Ao participar desse projeto você está de
|
9
9
|
acordo com o [código de conduda].
|
10
10
|
|
11
11
|
O projeto tem como origem uma pesquisa científica (em andamento) sobre utilização de linguagem de marcação de texto para elaboração de monografias.
|
@@ -16,9 +16,9 @@ Acesse o [chat no gitter](http://gitter.im/abntex/limarka) e fale conosco, indep
|
|
16
16
|
|
17
17
|
# Professor
|
18
18
|
|
19
|
-
Como professor você pode contribuir com o limarka divulgando-o e ofertando o limarka como uma opção para seus alunos realizarem tarefas.
|
19
|
+
Como professor você pode contribuir com o limarka divulgando-o e ofertando o limarka como uma opção para seus alunos realizarem tarefas.
|
20
20
|
|
21
|
-
- Ao solicitar relatórios de atividades aos alunos, sugira a utilização do limarka. Embora o limarka tenha o propósito de produzir trabalhos de conclusão de curso, ele pode ser facilmente utilizado para elaboração de relatórios.
|
21
|
+
- Ao solicitar relatórios de atividades aos alunos, sugira a utilização do limarka. Embora o limarka tenha o propósito de produzir trabalhos de conclusão de curso, ele pode ser facilmente utilizado para elaboração de relatórios.
|
22
22
|
|
23
23
|
- Sugira seus orientandos experimentarem o limarka. O limarka é gratuito e livre, pode ser utilizado no Linux, OS X e Windows. Não recomendamos utilizar o limarka em trabalhos de conclusão que exigam bastante fórmulas, teoremas ou provas. Os editores Latex oferecem melhor suporte para isso.
|
24
24
|
|
@@ -56,11 +56,11 @@ Ao participar desse projeto você está de acordo com o [código de conduda].
|
|
56
56
|
|
57
57
|
# Desenvolvedor WEB
|
58
58
|
|
59
|
-
Nós desejamos melhorar a experiência de utilização da ferramenta implementando
|
59
|
+
Nós desejamos melhorar a experiência de utilização da ferramenta implementando
|
60
60
|
um site que gere conteúdos dinâmicos.
|
61
61
|
|
62
62
|
Suponha que um usuário deseja adicionar uma referência de um artigo, gostaria
|
63
|
-
que o usuário clicasse em "Artigo" e um formulário fosse apresentado para
|
63
|
+
que o usuário clicasse em "Artigo" e um formulário fosse apresentado para
|
64
64
|
preenchimento e acordo com os campos bib desse tipo de entrada. Quando o usuário
|
65
65
|
vai preenchendo o código bib é gerado automaticamente para inserção no arquivo
|
66
66
|
de referências.
|
@@ -75,6 +75,8 @@ Para compreender a funcionalidade veja o site [http://shields.io](http://shields
|
|
75
75
|
Realize um fork no projeto, depois faça o clone do seu fork:
|
76
76
|
|
77
77
|
git clone git@github.com:your-username/limarka.git
|
78
|
+
git submodule init
|
79
|
+
git submodule update
|
78
80
|
|
79
81
|
Configure sua máquina:
|
80
82
|
|
@@ -93,7 +95,7 @@ Realize as alterações. Adicione testes (opicional, mas desejado) para as suas
|
|
93
95
|
rake
|
94
96
|
git add arquivo-modificado1 arquivo-modificado2
|
95
97
|
git commit
|
96
|
-
|
98
|
+
|
97
99
|
Se existir um Issue referente a funcionalidade implementada [utilize o número do issue na mensagem de commit](https://help.github.com/articles/closing-issues-via-commit-messages/) para manter rastreabilidade.
|
98
100
|
|
99
101
|
Faça um Push para o seu fork:
|
@@ -105,4 +107,3 @@ Faça um Push para o seu fork:
|
|
105
107
|
## Desenvolvimento
|
106
108
|
|
107
109
|
Talvez você deseje consulta a página sobre o [desenvolvimento da ferramenta](https://github.com/abntex/limarka/wiki/Desenvolvimento).
|
108
|
-
|
data/README.md
CHANGED
@@ -2,7 +2,8 @@
|
|
2
2
|
|
3
3
|
[![Build Status](https://travis-ci.org/abntex/limarka.svg?branch=master)](https://travis-ci.org/abntex/limarka) [![Gem Version](https://badge.fury.io/rb/limarka.svg)](https://badge.fury.io/rb/limarka) [![Join the chat at https://gitter.im/abntex/limarka](https://badges.gitter.im/abntex/limarka.svg)](https://gitter.im/abntex/limarka?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
4
4
|
|
5
|
-
![Normas da ABNT em 2017: Atualizadas](https://img.shields.io/badge/Normas
|
5
|
+
![Normas da ABNT em 2017: Atualizadas](https://img.shields.io/badge/Normas%20da%20ABNT%20em%202017-Atualizadas-brightgreen.svg)
|
6
|
+
![NBR 14724:2011 100%](https://img.shields.io/badge/NBR%202014724%3A2011-100%25-brightgreen.svg)
|
6
7
|
|
7
8
|
Olá! Bem vindo ao limarka!
|
8
9
|
|
data/Rakefile
CHANGED
@@ -48,8 +48,11 @@ end
|
|
48
48
|
|
49
49
|
desc 'Cria configuração padrão para execução dos testes, o libreoffice precisa está fechado!'
|
50
50
|
task :configuracao_padrao do
|
51
|
-
|
52
|
-
|
51
|
+
Dir.chdir('modelo-oficial') do
|
52
|
+
system "libreoffice --headless --convert-to pdf configuracao.odt"
|
53
|
+
end
|
54
|
+
configuracao_padrao_spec_dir = File.absolute_path('spec/configuracao_padrao')
|
55
|
+
system 'bundle', 'exec', 'limarka', 'configuracao', 'exporta', '-o', configuracao_padrao_spec_dir,'-i','modelo-oficial'
|
53
56
|
end
|
54
57
|
|
55
58
|
directory 'dissertacao-limarka/output'
|
@@ -0,0 +1,15 @@
|
|
1
|
+
FROM ruby:2.3
|
2
|
+
|
3
|
+
LABEL maintainer="eduardo.ufpb@gmail.com"
|
4
|
+
|
5
|
+
COPY spec/dependencias/texlive-abntex2.profile /tmp
|
6
|
+
WORKDIR /tmp
|
7
|
+
|
8
|
+
# Instala texlive
|
9
|
+
ADD http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz /tmp/
|
10
|
+
RUN tar -xf install-tl-unx.tar.gz && cd install-tl-* && ./install-tl -no-gui -profile ../texlive-abntex2.profile -no-verify-downloads
|
11
|
+
# adiciona latex ao caminho
|
12
|
+
ENV PATH $PATH:/usr/local/texlive/2017/bin/x86_64-linux
|
13
|
+
RUN rm -rf /tmp/install-tl-*
|
14
|
+
|
15
|
+
ENTRYPOINT /bin/bash
|
@@ -0,0 +1,48 @@
|
|
1
|
+
FROM edusantana/ruby-latex-full
|
2
|
+
|
3
|
+
LABEL maintainer="eduardo.ufpb@gmail.com"
|
4
|
+
LABEL limarka.version="v0.7.2"
|
5
|
+
|
6
|
+
WORKDIR /tmp
|
7
|
+
|
8
|
+
#FROM latex_base as runtime
|
9
|
+
# Instala pandoc
|
10
|
+
ADD https://github.com/jgm/pandoc/releases/download/1.19.2.1/pandoc-1.19.2.1-1-amd64.deb /tmp/
|
11
|
+
RUN dpkg -i pandoc-*.deb && rm pandoc-*.deb
|
12
|
+
|
13
|
+
# Instalando dependências de teste
|
14
|
+
#FROM runtime as teste
|
15
|
+
#COPY . /app/
|
16
|
+
#RUN apt-get update && apt-get install -y -qq libreoffice-writer
|
17
|
+
RUN gem install limarka guard guard-shell
|
18
|
+
|
19
|
+
# Instalando dependências de runtime
|
20
|
+
RUN apt-get update && apt-get install -y -qq \
|
21
|
+
locales \
|
22
|
+
pdfgrep \
|
23
|
+
pdftk \
|
24
|
+
poppler-utils \
|
25
|
+
unzip \
|
26
|
+
xclip
|
27
|
+
|
28
|
+
VOLUME ["/trabalho"]
|
29
|
+
WORKDIR /trabalho
|
30
|
+
|
31
|
+
#RUN locale-gen pt_BR && locale-gen pt_BR.UTF-8 && dpkg-reconfigure locales && update-locale
|
32
|
+
|
33
|
+
|
34
|
+
#ENV LANG=pt_BR.UTF-8
|
35
|
+
|
36
|
+
# Set the locale
|
37
|
+
#RUN apt-get update && apt-get install -y locales && locale-gen pt_BR.UTF-8
|
38
|
+
|
39
|
+
#RUN locale-gen --no-purge pt_BR.UTF-8
|
40
|
+
#update-locale LANG=pt_BR.UTF-8
|
41
|
+
#echo locales locales/locales_to_be_generated multiselect pt_BR.UTF-8 UTF-8 | DEBIAN_FRONTEND=noninteractive debconf-set-selections
|
42
|
+
#echo locales locales/default_environment_locale select pt_BR.UTF-8 | DEBIAN_FRONTEND=noninteractive debconf-set-selections
|
43
|
+
#DEBIAN_FRONTEND=noninteractive dpkg-reconfigure locales
|
44
|
+
|
45
|
+
# Instalando dependências de teste
|
46
|
+
CMD ["--help"]
|
47
|
+
ENTRYPOINT ["/usr/local/bundle/bin/limarka"]
|
48
|
+
|
data/lib/limarka.rb
CHANGED
@@ -0,0 +1,46 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
module Limarka
|
4
|
+
|
5
|
+
# Possibilita checar dependencias: pandoc
|
6
|
+
# Ver https://github.com/abntex/limarka/issues/165
|
7
|
+
# @see Cli
|
8
|
+
class Check
|
9
|
+
attr_accessor :pandoc
|
10
|
+
attr_accessor :sistema
|
11
|
+
PANDOC_VERSAO_MINIMA = '1.19.1'
|
12
|
+
PANDOC_VERSAO_MAXIMA = '2.0.0'
|
13
|
+
|
14
|
+
def initialize(pandoc: nil, sistema: true)
|
15
|
+
self.pandoc = pandoc
|
16
|
+
self.sistema = sistema
|
17
|
+
end
|
18
|
+
|
19
|
+
def check
|
20
|
+
if sistema
|
21
|
+
ler_pandoc
|
22
|
+
end
|
23
|
+
verifica_compatibilidade
|
24
|
+
puts "OK."
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
def verifica_compatibilidade
|
31
|
+
#byebug
|
32
|
+
if Gem::Version.new(pandoc) < Gem::Version.new(Check::PANDOC_VERSAO_MINIMA) || Gem::Version.new(pandoc) >= Gem::Version.new(Check::PANDOC_VERSAO_MAXIMA)
|
33
|
+
raise VersaoIncompativelError, "Versão incompatível do pandoc. Versão compatível: #{PANDOC_VERSAO_MINIMA} <= Versão < #{PANDOC_VERSAO_MAXIMA}"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def ler_pandoc
|
38
|
+
self.pandoc = `pandoc --version`.split("\n")[0].split(" ")[1]
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
class VersaoIncompativelError < StandardError
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
data/lib/limarka/cli.rb
CHANGED
@@ -18,11 +18,18 @@ module Limarka
|
|
18
18
|
# documentação do [thor](http://whatisthor.com).
|
19
19
|
#
|
20
20
|
# @author Eduardo de Santana Medeiros Alexandre
|
21
|
-
#
|
21
|
+
#
|
22
22
|
class Cli < Thor
|
23
23
|
include Thor::Actions
|
24
|
-
|
25
|
-
default_command :exec
|
24
|
+
|
25
|
+
default_command :exec
|
26
|
+
|
27
|
+
desc "check", "Verifica se o sistema está utilizando as dependências compatíveis"
|
28
|
+
def check
|
29
|
+
c = Limarka::Check.new()
|
30
|
+
c.check()
|
31
|
+
end
|
32
|
+
|
26
33
|
|
27
34
|
method_option :configuracao_yaml, :aliases => '-y', :type => :boolean, :desc => 'Ler configuração exportada (configuracao.yaml) em vez de configuracao.pdf', :default => false
|
28
35
|
method_option :input_dir, :aliases => '-i', :desc => 'Diretório onde será executado a ferramenta', :default => '.'
|
@@ -32,16 +39,22 @@ module Limarka
|
|
32
39
|
method_option :rascunho, :aliases => '-r', :desc => 'Ler de um arquivo de rascunho em vez de "trabalho-academico.md"', :banner => "RASCUNHO_FILE"
|
33
40
|
method_option :verbose, :aliases => '-v', :desc => 'Imprime mais detalhes da execução', :default => false, :type => :boolean
|
34
41
|
method_option :version, :desc => 'Imprime a versão do limarka', :default => false, :type => :boolean
|
35
|
-
|
42
|
+
|
36
43
|
desc "exec", "Executa o sistema para geração do documento latex e compilação"
|
37
44
|
def exec
|
38
45
|
|
39
46
|
if (options[:version]) then
|
40
47
|
puts "limarka "+Limarka::VERSION
|
48
|
+
s = `pandoc --version`
|
49
|
+
s << `ruby --version`
|
50
|
+
s << `pdftk --version`
|
51
|
+
s <<`latexmk --version`
|
52
|
+
s << `xelatex --version `
|
53
|
+
puts s
|
41
54
|
return
|
42
55
|
end
|
43
|
-
|
44
|
-
#options[:output_dir] = File.absolute_path(options[:output_dir])
|
56
|
+
|
57
|
+
#options[:output_dir] = File.absolute_path(options[:output_dir])
|
45
58
|
Dir.chdir(options[:input_dir]) do
|
46
59
|
t = Limarka::Trabalho.new
|
47
60
|
t.atualiza_de_arquivos(options)
|
@@ -52,7 +65,7 @@ module Limarka
|
|
52
65
|
end
|
53
66
|
end
|
54
67
|
|
55
|
-
|
68
|
+
|
56
69
|
desc "importa ARQUIVO", "Cria um arquivo trabalho-academico.md com o conteúdo convertido de ARQUIVO"
|
57
70
|
long_desc "Converte documento do Word (ou similar) para trabalho-academico.md. O arquivo será criado no mesmo diretório que contém ARQUIVO. Útil quando possuímos um arquivo já digitado no word e desejamos utilizar o limarka. Mantém, por exemplo, as marcações de itálico, negrito e notas de rodapé."
|
58
71
|
def importa(arquivo)
|
@@ -63,7 +76,7 @@ module Limarka
|
|
63
76
|
method_option :interativo, :aliases => '-i', :desc => 'Solicita os parâmetros de forma interativa.', :type => :boolean, :default => false
|
64
77
|
method_option :clipboard, :aliases => '-c', :desc => 'Utiliza o conteúdo da área de transferência como o nome do arquivo.', :type => :boolean, :default => false
|
65
78
|
|
66
|
-
# method_option :arquivo, :aliases => '-a', :desc => 'Caminho completo ou apenas o nome do arquivo na pasta imagens. Somente arquivos existêntes são válidos. Se não for especificado e o nome do arquivo esteja copiado (na área de transferência), e o arquivo existir, ele será utilizado.'
|
79
|
+
# method_option :arquivo, :aliases => '-a', :desc => 'Caminho completo ou apenas o nome do arquivo na pasta imagens. Somente arquivos existêntes são válidos. Se não for especificado e o nome do arquivo esteja copiado (na área de transferência), e o arquivo existir, ele será utilizado.'
|
67
80
|
method_option :legenda, :aliases => '-l', :desc => 'Legenda da figura.', :default => "Legenda da figura."
|
68
81
|
method_option :fonte, :aliases => '-f', :desc => 'Fonte da imagem.', :default => "Autor."
|
69
82
|
method_option :rotulo, :aliases => '-r', :desc => 'Rótulo para ser utilizado na referenciação da figura, caso não especificado um será proposto.'
|
@@ -74,7 +87,7 @@ Esse comando imprime (1) o código para inclusão de uma figura (2) e como refer
|
|
74
87
|
DESC
|
75
88
|
desc "fig ARQUIVO", "Imprime códigos para inclusão de imagens em conformidade com ABNT (em LaTeX)"
|
76
89
|
def fig(arquivo=nil)
|
77
|
-
|
90
|
+
|
78
91
|
if (options[:clipboard]) then
|
79
92
|
arquivo = Clipboard.paste # Ler do clipboard, requer xclip: sudo apt-get install xclip
|
80
93
|
end
|
@@ -83,9 +96,9 @@ DESC
|
|
83
96
|
if arquivo.start_with?("file://") then
|
84
97
|
arquivo = arquivo[7,-1]
|
85
98
|
end
|
86
|
-
end
|
99
|
+
end
|
100
|
+
|
87
101
|
|
88
|
-
|
89
102
|
if (options[:interativo]) then
|
90
103
|
arquivo = ask_figura_arquivo(arquivo)
|
91
104
|
valida_figura_arquivo(arquivo) # antecipando validação issue #78
|
@@ -100,20 +113,20 @@ DESC
|
|
100
113
|
rotulo = options[:rotulo]
|
101
114
|
if (not arquivo) then
|
102
115
|
arquivo = ask_figura_arquivo(nil)
|
103
|
-
end
|
116
|
+
end
|
104
117
|
valida_figura_arquivo(arquivo) # antecipando validação issue #78
|
105
118
|
rotulo = "fig:" + propoe_rotulo(File.basename arquivo, ".*") if rotulo.nil?
|
106
119
|
valida_figura_rotulo(rotulo) # antecipando validação issue #78
|
107
120
|
dimensoes = options[:dimensoes]
|
108
121
|
end
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
|
113
126
|
dimensoes.each do |dim|
|
114
127
|
|
115
128
|
escala = (dim.to_f)/100
|
116
|
-
|
129
|
+
|
117
130
|
figura_tex = <<TEX
|
118
131
|
|
119
132
|
\\begin{figure}[htbp]
|
@@ -148,14 +161,14 @@ DESC
|
|
148
161
|
else
|
149
162
|
rotulo = "tab:"+(Time.now.to_i % 100000).to_s
|
150
163
|
end
|
151
|
-
|
164
|
+
|
152
165
|
nota = options[:nota]
|
153
166
|
if nota then
|
154
167
|
nota_linha = " \\nota{#{nota}}%\n"
|
155
168
|
else
|
156
169
|
nota_linha = ""
|
157
170
|
end
|
158
|
-
|
171
|
+
|
159
172
|
valida_tabela_rotulo(rotulo)
|
160
173
|
|
161
174
|
say <<TEX
|
@@ -190,9 +203,9 @@ DESC
|
|
190
203
|
Nome & Nascimento & Documento \\\\
|
191
204
|
\\midrule \\midrule
|
192
205
|
Maria da Silva & 11/11/1111 & 111.111.111-11 \\\\
|
193
|
-
\\midrule
|
206
|
+
\\midrule
|
194
207
|
João Souza & 11/11/2111 & 211.111.111-11 \\\\
|
195
|
-
\\midrule
|
208
|
+
\\midrule
|
196
209
|
Laura Vicuña & 05/04/1891 & 3111.111.111-11 \\\\
|
197
210
|
\\bottomrule
|
198
211
|
\\end{tabular}%
|
@@ -267,7 +280,7 @@ TEX
|
|
267
280
|
t << ["sair","Termina o menu interativo."]
|
268
281
|
end
|
269
282
|
puts table
|
270
|
-
puts "Pressione TAB para completar o comando ao digitar: 'sa'+TAB completa para 'sair'"
|
283
|
+
puts "Pressione TAB para completar o comando ao digitar: 'sa'+TAB completa para 'sair'"
|
271
284
|
sair = false
|
272
285
|
until sair do
|
273
286
|
cmd = ask("Qual comando deseja executar?", :limited_to => ["exec", "figura", "tabela", "cronograma","rascunho","web","menu","sair"])
|
@@ -280,7 +293,7 @@ TEX
|
|
280
293
|
system "limarka","exec"
|
281
294
|
when "web"
|
282
295
|
puts "https://github.com/abntex/limarka/wiki"
|
283
|
-
puts ""
|
296
|
+
puts ""
|
284
297
|
when "figura"
|
285
298
|
system "limarka", "fig","-i"
|
286
299
|
when "tabela"
|
@@ -295,7 +308,7 @@ TEX
|
|
295
308
|
end
|
296
309
|
end
|
297
310
|
|
298
|
-
|
311
|
+
|
299
312
|
end
|
300
313
|
|
301
314
|
|
@@ -314,8 +327,8 @@ TEX
|
|
314
327
|
def valida_figura_arquivo(arquivo)
|
315
328
|
raise RuntimeError, "Arquivo especificado para a figura não existe: '#{arquivo}'." unless File.file?(arquivo)
|
316
329
|
end
|
317
|
-
|
318
|
-
def ask_figura_arquivo(arquivo = nil)
|
330
|
+
|
331
|
+
def ask_figura_arquivo(arquivo = nil)
|
319
332
|
if arquivo.nil? then
|
320
333
|
arquivos = Dir["imagens/*"].select{ |f| File.file? f }.sort
|
321
334
|
print_table arquivos.map.with_index{ |a, i| [i+1, *a]}
|
@@ -332,9 +345,9 @@ TEX
|
|
332
345
|
legenda = legenda_padrao
|
333
346
|
else
|
334
347
|
legenda = legenda_lida
|
335
|
-
end
|
348
|
+
end
|
336
349
|
end
|
337
|
-
|
350
|
+
|
338
351
|
def ask_figura_fonte
|
339
352
|
fonte_padrao = "Autor."
|
340
353
|
fonte_lida = ask("Insira o texto da fonte [#{fonte_padrao}]):")
|
@@ -342,11 +355,11 @@ TEX
|
|
342
355
|
fonte = fonte_padrao
|
343
356
|
else
|
344
357
|
fonte = fonte_lida
|
345
|
-
end
|
358
|
+
end
|
346
359
|
end
|
347
360
|
def ask_figura_rotulo(rotulo, arquivo)
|
348
361
|
# http://stackoverflow.com/questions/1268289/how-to-get-rid-of-non-ascii-characters-in-ruby
|
349
|
-
|
362
|
+
|
350
363
|
if (not rotulo) then
|
351
364
|
rotulo_proposto = "fig:" + propoe_rotulo(File.basename arquivo, ".*")
|
352
365
|
rotulo_lido = ask("Rótulo para referenciar a figura [#{rotulo_proposto}]. fig:" )
|
@@ -355,7 +368,7 @@ TEX
|
|
355
368
|
else
|
356
369
|
rotulo = "fig:"+rotulo_lido
|
357
370
|
end
|
358
|
-
end
|
371
|
+
end
|
359
372
|
rotulo
|
360
373
|
end
|
361
374
|
|
@@ -380,7 +393,7 @@ TEX
|
|
380
393
|
end
|
381
394
|
|
382
395
|
|
383
|
-
|
396
|
+
|
384
397
|
|
385
398
|
desc "configuracao help", "Exporta e atualiza configurações"
|
386
399
|
subcommand "configuracao", Limarka::Configuracao
|
@@ -390,5 +403,3 @@ TEX
|
|
390
403
|
|
391
404
|
end
|
392
405
|
end
|
393
|
-
|
394
|
-
|