limarka 0.7.2 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
[](https://travis-ci.org/abntex/limarka) [](https://badge.fury.io/rb/limarka) [](https://gitter.im/abntex/limarka?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
|
4
4
|
|
|
5
|
-

|
|
6
|
+

|
|
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
|
-
|