pdflatex / lualatex chamado de script de desligamento não pode encontrar pacotes instalados

2

No trabalho, configurei um pequeno script de backup na minha máquina Ubuntu 14.04.1. O script faz o backup da minha máquina em um disco rígido externo. Depois disso, copia um projeto LaTeX para o meu Dropbox e o compila. Este projeto é uma espécie de diário de bordo do meu trabalho.

Eu sei que este é um caso de uso bastante não convencional e eu poderia simplesmente copiar a fonte ou empurrá-lo para um repositório git mas primeiro git seria um pouco exagerado e segundo de tudo já havia duas instâncias em que eu estava feliz por tê-lo em formato pdf no meu celular quando eu tive que iniciar um shell tty porque o gnome não iria iniciar.

O problema agora é que, por alguma razão, tanto o pdflatex quanto o lualatex me dizem que não conseguem encontrar os arquivos .sty . O script de backup é o seguinte:

#!/bin/bash

# .... some system backup code ....

## sync linux setup document to Dropbox
# remove .pdf in order to guarantee that project is compiled
rm /home/user/Documents/LaTeX/logBook/logBook.pdf
# compile project in origin 
make -C /home/user/Documents/LaTeX/logBook/ >> /home/user/Documents/LaTeX/logBook/makeLog
# copy files to destination
cp -rp /home/user/Documents/LaTeX/logBook/ /home/wright/Dropbox

E meu Makefile contém as seguintes linhas:

SHELL=bash
TARGET=linuxSetup.pdf
FLAGS= --shell-escape
SRC= ./*.tex ./header/*.tex  ./chapters/*.tex ./references/*.bib ./titlepage/*.tex 
TIKZ= ./tikz/*.tex
LL= pdflatex


all: $(TARGET)

$(TARGET): $(TARGET:%.pdf=%.tex) $(SRC) $(TIKZ)
    @$(LL) $(FLAGS) $<
#   makeglossaries $(TARGET:%.pdf=%"")
#   makeindex -s headingsStyle.ist $(TARGET:%.pdf=%.idx)
#   bibtex $(TARGET:%.pdf=%"")
    @$(LL) $(FLAGS) $<
    @$(LL) $(FLAGS) $<

O script de backup é colocado em /etc/init.d/backup e contém um link simbólico para /etc/rc0.d/S01Backup .

Os scripts são simples o suficiente, mas eles ainda não encontrarão os arquivos .sty . Eu tentei excluir os arquivos .sty para descobrir se o problema foi causado por alguns específicos, mas independentemente de quantos eu excluo, há sempre mais que o compilador não encontrará. Eu mudei o compilador ainda que não parece ser o problema também. E também executei o script de backup completo via sudo ou como usuário root, ambos funcionaram perfeitamente bem sem erros.

O que estou perdendo?

EDITAR: Aqui está o último bit da saída:

(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty))
(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty)
(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty))
(/usr/share/texlive/texmf-dist/tex/latex/cite/cite.sty)
(/usr/share/texlive/texmf-dist/tex/latex/mh/empheq.sty
(/usr/share/texlive/texmf-dist/tex/latex/mh/mhsetup.sty)
(/usr/share/texlive/texmf-dist/tex/latex/mh/mathtools.sty
(/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty)))
(/usr/share/texlive/texmf-dist/tex/latex/etex-pkg/etex.sty)
(/usr/share/texlive/texmf-dist/tex/latex/fancybox/fancybox.sty
Style option: 'fancybox' v1.4 <2010/05/15> (tvz)
) (/usr/share/texlive/texmf-dist/tex/latex/float/float.sty)

! LaTeX Error: File 'floatflt.sty' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)

Enter file name: 

O arquivo floatflt.sty em questão está localizado no diretório de instalação texlive /usr/local/texlive/2015/texmf-dist/tex/latex/floatflt . Os outros pacotes encontrados acima, no entanto, estão localizados em /usr/share/texlive/texmf-dist/tex/latex/<packagename> .

    
por David Wright 13.05.2016 / 11:11

1 resposta

2

Você tem duas instalações texlive. Um pelo sistema (Ubuntu) em /usr/share/texlive/ e instalado pelo usuário em /usr/local/texlive/2015/texmf-dist/tex/latex .

No seu script de desligamento, as variáveis de ambiente não são adaptadas, de forma que a instalação errada do texlive seja usada.

Tente chamar /usr/local/texlive/2015/bin/x86_64-linux/pdflatex diretamente ou adapte a variável de ambiente PATH adequadamente.

Houve alguns problemas de licença com floatflt.sty no passado. Esta pode ser a razão pela qual não está incluída na instalação texlive do Ubuntu. Você poderia tentar mudar para wrapfig .

    
por 13.05.2016 / 11:53