LaTeXパッケージ自動追加.sh
#!/bin/bash
set -u
if [ ${EUID:-${UID}} -ne 0 ]; then
echo 'You need to run this script as root.'
exit
fi
#texmf のパス
texmf_dist=/usr/share/texmf
script_dir_path=$(dirname $(readlink -f $0))
temp_dir=$(mktemp -d)
cd $temp_dir
#algorithms
kpsewhich algorithm.sty
if [ $? -eq 1 ] ; then
mkdir algorithms
cd algorithms
x=http://mirrors.ctan.org/macros/latex/contrib/algorithms/algorithms
echo ${x}".dtx" > list.txt
echo ${x}".ins" >> list.txt
wget -i list.txt
tex algorithms.ins
mkdir ${texmf_dist}/tex/generic/algorithms
cp *.sty ${texmf_dist}/tex/generic/algorithms
cd ../
fi
#arydshln
kpsewhich arydshln.sty
if [ $? -eq 1 ] ; then
mkdir arydshln
cd arydshln
x=http://mirrors.ctan.org/macros/latex/contrib/arydshln/arydshln
echo ${x}".dtx" > list.txt
echo ${x}".ins" >> list.txt
wget -i list.txt
tex arydshln.ins
mkdir ${texmf_dist}/tex/generic/arydshln
cp *.sty ${texmf_dist}/tex/generic/arydshln
cd ../
fi
#bbm
kpsewhich bbm.sty
if [ $? -eq 1 ] ; then
mkdir bbm
cd bbm
wget http://mirrors.ctan.org/macros/latex/contrib/bbm.zip
unzip bbm.zip
cd bbm
tex bbm.ins
mkdir ${texmf_dist}/tex/generic/bbm
cp *.sty *.fd ${texmf_dist}/tex/generic/bbm/
mkdir -p ${texmf_dist}/fonts/source/public/bbm
cp bbm/*.mf ${texmf_dist}/fonts/source/public/bbm
cd ../../
fi
#cases
kpsewhich cases.sty
if [ $? -eq 1 ] ; then
wget http://mirrors.ctan.org/macros/latex/contrib/cases/cases.sty -P ${texmf_dist}/tex/generic/cases/
fi
#comment
kpsewhich comment.sty
if [ $? -eq 1 ] ; then
wget http://mirrors.ctan.org/macros/latex/contrib/comment/comment.sty -P ${texmf_dist}/tex/generic/comment/
fi
#float
kpsewhich float.sty
if [ $? -eq 1 ] ; then
mkdir float
cd float
x=http://mirrors.ctan.org/macros/latex/contrib/float/float
echo ${x}".dtx" > list.txt
echo ${x}".ins" >> list.txt
wget -i list.txt
tex float.ins
mkdir ${texmf_dist}/tex/generic/float
cp *.sty ${texmf_dist}/tex/generic/float
cd ../
fi
#here.sty
kpsewhich here.sty
if [ $? -eq 1 ] ; then
wget http://mirrors.ctan.org/macros/latex/contrib/here/here.sty -P ${texmf_dist}/tex/generic/here/
fi
#ifplatform
kpsewhich ifplatform.sty
if [ $? -eq 1 ] ; then
x=http://mirrors.ctan.org/macros/latex/contrib/ifplatform/ifplatform
echo ${x}".dtx" > list.txt
echo ${x}".ins" >> list.txt
wget -i list.txt
tex ifplatform.ins
mkdir ${texmf_dist}/tex/generic/ifplatform
cp ifplatform.sty ${texmf_dist}/tex/generic/ifplatform/
fi
#indent
kpsewhich indent.sty
if [ $? -eq 1 ] ; then
wget http://ftp.jaist.ac.jp/pub/CTAN/macros/latex209/contrib/misc/indent.sty -P ${texmf_dist}/tex/generic/indent/
fi
#multirow
kpsewhich multirow.sty
if [ $? -eq 1 ] ; then
mkdir multirow
cd multirow
x=http://mirrors.ctan.org/macros/latex/contrib/multirow/multirow
echo ${x}".dtx" > list.txt
echo ${x}".ins" >> list.txt
wget -i list.txt
tex multirow.ins
mkdir ${texmf_dist}/tex/generic/multirow
cp *.sty ${texmf_dist}/tex/generic/multirow/
cd ../
fi
#nag
kpsewhich nag.sty
if [ $? -eq 1 ] ; then
mkdir nag
cd nag
x=ftp://ftp.u-aizu.ac.jp/pub/tex/CTAN/macros/latex/contrib/nag/nag
echo ${x}".dtx" > list.txt
echo ${x}".ins" >> list.txt
wget -i list.txt
tex nag.ins
mkdir ${texmf_dist}/tex/generic/nag
cp nag.sty *.cfg ${texmf_dist}/tex/generic/nag/
cd ../
fi
#siunitx
kpsewhich siunitx.sty
if [ $? -eq 1 ] ; then
mkdir siunitx
cd siunitx
wget http://ftp.jaist.ac.jp/pub/CTAN/macros/latex/contrib/siunitx/siunitx.dtx
wget http://www.tug.org/texlive//devsrc/Master/texmf-dist/tex/latex/l3kernel/l3docstrip.tex
tex siunitx.dtx
mkdir ${texmf_dist}/tex/generic/siunitx
cp siunitx.sty siunitx-abbreviations.cfg ${texmf_dist}/tex/generic/siunitx/
cd ../
fi
#udline
kpsewhich udline.sty
if [ $? -eq 1 ] ; then
wget https://raw.githubusercontent.com/ychubachi/kakenhi-2013-kiban-c/master/udline.sty
mkdir ${texmf_dist}/tex/generic/udline
cp udline.sty ${texmf_dist}/tex/generic/udline/
fi
#以上のファイルを認識させる
mktexlsr
#後始末
trap "
cd $script_dir_path
rm -rf $temp_dir
" 0