
私は仕事でUbuntu 14.04.1システムに小さなバックアップスクリプトを設定しました。このスクリプトは、マイコンピュータを外部ハードドライブにバックアップします。これが完了すると、LaTeXプロジェクトはMy Dropboxにコピーされコンパイルされます。このプロジェクトは私の仕事の一種です。
私はこれがかなり変わったユースケースであることを知っています。ソースコードをコピーするか、gitリポジトリにプッシュすることができますが、最初にgitは少し過剰で、2番目に私ができないときに喜んでいる2つのインスタンスがすでにあります. gnomeが起動しないため、ttyシェルを起動しないと、私の携帯電話にPDFとして表示されます。
今問題は、何らかの理由でpdflatexとlualatexの両方がファイルを見つけることができないと言っていることです.sty
。バックアップスクリプトは次のとおりです。
#!/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
鉱山にはMakefile
次の行が含まれています。
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) $<
バックアップスクリプトはに配置され、への/etc/init.d/backup
シンボリックリンクが含まれています/etc/rc0.d/S01Backup
。
スクリプトは単純ですが、まだファイルが見つかりません.sty
。問題が特定のファイルによって引き起こされたかどうかを調べるために、そのファイルを除外してみましたが、いくら多くのファイルを除いても.sty
コンパイラが見つけることができないファイルが常に多かったです。コンパイラを変更しましたが、それも問題にならないようです。また、rootまたはrootを介してフルバックアップスクリプトを実行しましたが、sudo
どちらもエラーなしでうまく機能しました。
私は何を見逃していますか?
編集する: これは出力の最後のビットです。
(/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:
問題のファイルはfloatflt.sty
texliveインストールディレクトリにあります/usr/local/texlive/2015/texmf-dist/tex/latex/floatflt
。しかし、上記で見つけた他のパッケージは/usr/share/texlive/texmf-dist/tex/latex/<packagename>
。
答え1
2つのtexliveインストールがあります。 1つはシステム(Ubuntu)とユーザーによって/usr/share/texlive/
インストールされます/usr/local/texlive/2015/texmf-dist/tex/latex
。
終了スクリプトでは環境変数が調整されないため、誤った texlive インストールが使用されます。
/usr/local/texlive/2015/bin/x86_64-linux/pdflatex
自分で呼び出すか、PATH
それに応じて環境変数を調整してみてください。
floatflt.sty
過去にはいくつかのライセンス問題がありました。これがおそらくUbuntuのtexliveインストールに含まれていない理由です。に変更してみることができますwrapfig
。