-
-
Notifications
You must be signed in to change notification settings - Fork 41
Limarka com Docker
A utilização do limarka através do docker possui as seguintes vantagens para o usuário:
- Instalação fácil e rápida.
- Evita conflitos de dependências.
- Possibilita instalação isolada.
- Possibilita fácil remoção.
NOTE: Se você estiver estudando desenvolvimento de aplicações WEB conhecer o Docker possibilitará que você desenvolva aplicações com agilidade e com mais segurança.
- Instale o docker e realize os passos pós-instalação caso esteja no linux
- Execute:
docker pull limarka/limarka
wget https://github.com/abntex/trabalho-academico-limarka/raw/master/Dockerfile -O Dockerfile
docker build -t limarka:customizada - < Dockerfile
- Adicione as seguintes linhas ao arquivo
~/.bash_aliases
:
alias limarka_build='docker build -t limarka:customizada $@ - < Dockerfile'
alias limarka='docker run --mount src=`pwd`,target=/trabalho,type=bind limarka:customizada $@'
alias limarka_guard='docker run -it --entrypoint guard --mount src=`pwd`,target=/trabalho,type=bind limarka:customizada --no-bundler-warning $@'
As seções seguintes explica a instalação que foi resumida acima.
O método de Instalação do Docker depende do seu sistema operacional.
Ubuntu: Para instalar o Docker Community Edition no Ubuntu siga essas instruções. Certifique-se de realizar essas configurações após a instalação.
Digite o comando a seguir para baixar a imagem do limarka e aguarde o download:
docker pull limarka/limarka
Verifique o tamanho da imagem do limarka:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
limarka custom 69df204e77d5 15 hours ago 794MB
limarka/limarka latest dc1454c894c4 15 hours ago 793MB
ruby 2-slim 3adca3f881c0 11 days ago 126MB
Para testar o limarka digite: docker run limarka/limarka --version
$ docker run limarka/limarka --version
limarka 1.0.2
pandoc 2.5
(...)
pdftk 2.02 a Handy Tool for Manipulating PDF Documents
Latexmk, John Collins, 25 October 2018. Version 4.61
XeTeX 3.14159265-2.6-0.99999 (TeX Live 2018)
kpathsea version 6.3.0
Para ter acesso a versão mais recente em desenvolvimento (instável) utilize a imagem com tag dev
:
docker run limarka/limarka:dev --version
Esta imagem contém o código que está na branch master
.
A imagem docker do limarka vem com o TinyTex (uma distribuição mínima do LaTeX) e alguns pacotes básicos para compilação do modelo baseado no abntex2. Esta imagem é suficiente para gerar a maioria dos trabalhos. Para verificar os pacotes disponíveis na imagem do limarka digite:
$ docker run --entrypoint=tlmgr limarka/limarka list --only-installed \
| tr -d ':' | cut -f 2 -d ' ' | column
abntex2 hyperref metafont.x86_64-linux
amscls hyphen-base mfware
amsfonts ifetex mfware.x86_64-linux
amsmath ifluatex microtype
babel iftex natbib
babel-portuges ifxetex oberdiek
(...)
gsftopk.x86_64-linux memoir xunicode
helvetic metafont zapfding
Mas você não está limitado a utilizar apenas esses pacotes. Nossa solução para possibilitar utilização de outros pacotes LaTeX é a geração uma imagem customizada com o Limarka. Por exemplo, o pacote subfig possibilita inserir figuras ao lado da outra (ou em mosaico), como mostrado a seguir:
Verifique que o pacote não está instalado:
$ docker run --entrypoint=tlmgr limarka/limarka list --only-installed | grep fig
i graphics-cfg: Sample configuration files for LaTeX color and graphics
i latexconfig: configuration files for LaTeX-related formats
i xetexconfig: crop.cfg for XeLaTeX
A instalação de novos pacotes, no TinyTeX, é realizada da seguinte forma: tlmgr install pacote1 pacote2 ... pacoteN
. Inspecione esse arquivo Dockerfile e verifique que o comando tlmgr install subfig
está contido dentro dele.
O nosso próximo passo será construir uma nova imagem intitulada limarka:customizada
:
$ wget https://github.com/abntex/trabalho-academico-limarka/raw/master/Dockerfile -O Dockerfile
$ docker build -t limarka:customizada - < Dockerfile
Sending build context to Docker daemon 2.048kB
Step 1/2 : FROM limarka/limarka:latest
---> dc1454c894c4
Step 2/2 : RUN tlmgr install subfig
---> Running in aa8eb6883ceb
tlmgr: package repository http://mirror.las.iastate.edu/tex-archive/systems/texlive/tlnet (verified)
[1/1, ??:??/??:??] install: subfig [7k]
running mktexlsr ...
done running mktexlsr.
tlmgr: package log updated: /root/.TinyTeX/texmf-var/web2c/tlmgr.log
Removing intermediate container aa8eb6883ceb
---> c09e489465ac
Successfully built c09e489465ac
Successfully tagged limarka:customizada
Podemos verificar que a nova imagem foi criada:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
limarka customizada c09e489465ac 2 minutes ago 808MB
limarka/limarka tinytex 3572a0e12522 20 hours ago 793MB
limarka/limarka latest dc1454c894c4 26 hours ago 793MB
ruby 2-slim 3adca3f881c0 11 days ago 126MB
Agora vamos verificar que o pacote está disponível na imagem customizada:
$ docker run --entrypoint=tlmgr limarka:customizada list --only-installed | grep fig
i graphics-cfg: Sample configuration files for LaTeX color and graphics
i latexconfig: configuration files for LaTeX-related formats
i subfig: Figures broken into subfigures
i xetexconfig: crop.cfg for XeLaTeX
Agora vamos remover a imagem customizada:
$ docker rmi limarka:customizada
Untagged: limarka:customizada
Deleted: sha256:97e05471c85a7a18ea668e726364d0f2ed9040b4657b251a004b4e233f8e3554
Deleted: sha256:9f054d6a1ebf1d12930660e700a2829f151c33724a0b45afda59206e74137d79
Agora vamos configurar aliases para facilitar a construção da imagem customizada e a execução do limarka a partir dela. Adicione as seguintes linhas ao arquivo ~/.bash_aliases
:
alias limarka_build='docker build -t limarka:customizada $@ - < Dockerfile'
alias limarka='docker run --mount src=`pwd`,target=/trabalho,type=bind limarka:customizada $@'
alias limarka_guard='docker run -it --entrypoint guard --mount src=`pwd`,target=/trabalho,type=bind limarka:customizada --no-bundler-warning $@'
Feche o terminal e abra novamente. Teste as invocações dos comandos limarka_build
e limarka
.
NOTE: Caso você se deparou com o erro Unable to find image 'limarka:customizada' locally é porque você está invocado a imagem customizada do limarka sem ter criada ela antes. Invoque o limarka_build
.
NOTE: Se você executar limarka_guard
pode ser que apareça um warning (No Guardfile found
), mas pode ser ignorado.
Se você não pretende utilizar uma imagem customizada, adicione as seguintes linhas ao arquivo ~/.bash_aliases
:
alias limarka='docker run --mount src=`pwd`,target=/trabalho,type=bind limarka/limarka $@'
alias limarka_guard='docker run -it --entrypoint guard --mount src=`pwd`,target=/trabalho,type=bind limarka/limarka --no-bundler-warning $@'
Para utilizar a versão mais recente em desenvolvimento (instável) na criação da imagem customizada utilize a tag dev
, altere a seguinte linha no Dockerfile e gere a imagem novamente:
# FROM limarka/limarka:latest
FROM limarka/limarka:dev
- Veja todas as imagens do limarka no docker hub
Mesmo utilizando um container docker, você precisará de um editor de texto para editar os arquivos Markdown. Consulte as demais páginas de instalação (no canto direito) para instalar um editor de texto.
A próxima seção explicará como baixar um modelo, mas lembre-se que a execução do limarka no container será necessário montar o diretório do modelo no volume /trabalho
.
Sintaxes: Capítulos e Seções | Parágrafos | Itálico e Negrito | Listas | Notas de Rodapé | Figuras | Tabelas | Anexos e Apdêncides | Cronograma | Código Latex
Referências: Configuração | Livro | Capítulo de livro | Artigo | Site | Citando
Perfis de contribuição: Professor | Estudante | Desenvolverdor ruby
Introdução
Instalação
- Instalação Visão Geral
- Instalação no Linux
- Instalação no Windows
- Instalação no OS X
- Limarka com Docker
Iniciando utilização
- Baixando um modelo de projeto
- Estrutura de arquivos
- Configuração inicial
- Gerando o PDF
- Chat do limarka
Produção do Texto
Ajuda
Referências e citações
Latex
A Pesquisa
Usuários Avançados
- Configurações avançadas
- Compilação automática
- Ajuda offline
- Comandos
- Esqueleto
- Configuração
- Templates
- Performance
- Edição no emacs
- Elaboração de artigos
- Fora da ABNT
- Gerando releases
Outras linguagens
Vídeos
O Projeto limarka
Desenvolvimento
Recursos externos