環境構築基本
apt install
で入るTeXLiveは1,2年分くらい古かったりするので注意が必要.以下,Ubuntu18.04,TeXLive2019で成功.
(2020/4追記: TeXLive2020で成功)
(2021/4追記: TeXLive2021で成功)
(2020/4 追記)また、Windows Subsydtem for Linux 2 (WSL2)でもTexLive 2020の導入ができることを確認しています。
参考ページ: http://www.tug.org/texlive/doc/texlive-ja/texlive-ja.pdf#c
1: http://ftp.jaist.ac.jp/pub/CTAN/systems/texlive/tlnet/install-tl-unx.tar.gz からダウンロード.
2: 展開してインストール
# インターネット・インストーラのダウンロード
$ wget http://ftp.jaist.ac.jp/pub/CTAN/systems/texlive/tlnet/install-tl-unx.tar.gz
$ tar xzf install-tl-unx.tar.gz
$ cd install-tl-20YYMMDD
$ sudo ./install-tl
3: 途中でどうやってインストールするか聞かれるが,そのままでも大丈夫。
======================> TeX Live installation procedure <=====================
======> Letters/digits in <angle brackets> indicate <=======
======> menu items for actions or customizations <=======
Detected platform: GNU/Linux on x86_64
<B> set binary platforms: 1 out of 16
<S> set installation scheme: scheme-full
<C> set installation collections:
40 collections out of 41, disk space required: 6955 MB
<D> set directories:
TEXDIR (the main TeX directory):
/usr/local/texlive/2020
TEXMFLOCAL (directory for site-wide local files):
/usr/local/texlive/texmf-local
TEXMFSYSVAR (directory for variable and automatically generated data):
/usr/local/texlive/2020/texmf-var
TEXMFSYSCONFIG (directory for local config):
/usr/local/texlive/2020/texmf-config
TEXMFVAR (personal directory for variable and automatically generated data):
~/.texlive2020/texmf-var
TEXMFCONFIG (personal directory for local config):
~/.texlive2020/texmf-config
TEXMFHOME (directory for user-specific files):
~/texmf
<O> options:
[ ] use letter size instead of A4 by default
[X] allow execution of restricted list of programs via \write18
[X] create all format files
[X] install macro/font doc tree
[X] install macro/font source tree
[ ] create symlinks to standard directories
<V> set up for portable installation
Actions:
<I> start installation to hard disk
<P> save installation profile to 'texlive.profile' and exit
<H> help
<Q> quit
Enter command: I
4: 数十分待機
5: こんなことを言われるのでパスを通す.
Welcome to TeX Live!
See /usr/local/texlive/2019/index.html for links to documentation.
The TeX Live web site (https://tug.org/texlive/) contains any updates and
corrections. TeX Live is a joint project of the TeX user groups around the
world; please consider supporting it by joining the group best for you. The
list of groups is available on the web at https://tug.org/usergroups.html.
Add /usr/local/texlive/2020/texmf-dist/doc/man to MANPATH.
Add /usr/local/texlive/2020/texmf-dist/doc/info to INFOPATH.
Most importantly, add /usr/local/texlive/2020/bin/x86_64-linux
to your PATH for current and future sessions.
Logfile: /usr/local/texlive/2020/install-tl.log
年(2020)は入ったバージョンにより異なります.
6: パスを通す
手っ取り早いのは ~/.bashrc
に下記を追記。
export PATH="$PATH:/usr/local/texlive/2020/bin/x86_64-linux"
export MANPATH="$MANPATH:/usr/local/texlive/2020/texmf-dist/doc/man"
export INFOPATH="$INFOPATH:/usr/local/texlive/2020/texmf-dist/doc/info"
最低限はこれでOK.コマンドでやるなら
$ echo 'export PATH="$PATH:/usr/local/texlive/2021/bin/x86_64-linux"' >> ~/.bashrc
$ echo 'export MANPATH="$MANPATH:/usr/local/texlive/2021/texmf-dist/doc/man"' >> ~/.bashrc
$ echo 'export INFOPATH="$INFOPATH:/usr/local/texlive/2021/texmf-dist/doc/info"' >> ~/.bashrc
source ~/.bashrc
は忘れないで下さい.このとき,.bashrcなどに書き,スーパーユーザーが認識できない状態にしてしまうと,この先 mktexlsr
などができなくなるので,sudo mktexlsrの注意事項などの処理が必要になる.
emath導入(したいなら)
- emathのインストール: http://emath.s40.xrea.com/ydir/Wiki/index.php?emath%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB
- emathの置き場所: http://emath.s40.xrea.com/ydir/Wiki/index.php?emath.sty%A4%CE%C3%D6%A4%AD%BE%EC%BD%EA
- 自分の置き場所は
/usr/local/texlive/texmf-local/tex/platex/misc/emath
だった. - パスを通すのに
sudo mktexlsr
が必要 - sudo mktexlsrの注意事項は下記.
フォント導入
TexLive2020以降、デフォルトのフォントが原ノ味フォントになっていて結構きれいです。このままでもいいとは思います。
Ubuntu18.04ではNotoSansCJK-Regular.ttc: "Noto Sans CJK JP" "Regular"などといったNoto系のフォントがデフォルトで入っていてデフォルトのフォントになっている.pxchfonで簡単に埋め込むことができ,源ノ明朝、源ノ角ゴシックとほぼ同じらしいので,これを使ってみる.
-
/usr/share/fonts/
にフォントがある./usr/share/fonts/opentype/noto/
の中にNoto系のものが入っている. -
/usr/local/texlive/texmf-local/fonts/
がTeXのフォント置き場.ここにシンボリックリンクを張りたい - NotoSansCJK-*は
/usr/local/texlive/texmf-local/fonts/opentype/google/notosanscjk/
,NotoSerifCJKは/usr/local/texlive/texmf-local/fonts/opentype/google/notoserifcjk/
にないといけない(pxchfonの関係) - シンボリックリンクを張ったら,
mktexlsr
で更新(下記).
やったこと
ここでの処理は ~/.bashrc
にパスを書いたときの処理.ちゃんと環境変数にすれば,最初の2行と sudo mktexlsr
でOK.
sudo ln -s /usr/share/fonts/opentype/noto/NotoSansCJK-* /usr/local/texlive/texmf-local/fonts/opentype/google/notosanscjk/
sudo ln -s /usr/share/fonts/opentype/noto/NotoSerifCJK-* /usr/local/texlive/texmf-local/fonts/opentype/google/notoserifcjk/
sudo su
source .bashrc
mktexlsr
- 参考: (pLaTeXでも利用可能)upLaTeX文書で源ノ明朝/Noto Serif CJKを簡単に使う方法(最新のdvipdfmxとpxchfonを使用): https://qiita.com/zr_tex8r/items/9dfeafecca2d091abd02
##WSL2を用いていてWindows側のフォントを用いたい場合
例えば游明朝・游ゴシックなら
sudo mkdir /usr/local/texlive/texmf-local/fonts/truetype/windows/YuWin
sudo ln -s /mnt/c/Windows/Fonts/yumin* /usr/local/texlive/texmf-local/fonts/truetype/windows/YuWin/
sudo ln -s /mnt/c/Windows/Fonts/YuGoth* /usr/local/texlive/texmf-local/fonts/truetype/windows/YuWin/
sudo su
source .bashrc
mktexlsr
ここまでできれば
\documentclass[dvipdfmx, class=jsarticle]{standalone}
\usepackage{graphicx}
\usepackage{emath}
\usepackage[deluxe]{otf}
\usepackage[noto-otc]{pxchfon}
が動く.
sudo mktexlsrの注意事項
- 適当に入れ,パスを.bashercに書いてexportする感じにすると,あくまでユーザーの中にある
- TeXLiveは普通
/usr
以下に入れるが,ということはsudo
が必要
このとき,sudoしても~/.bashrcはユーザーのものであってスーパーユーザーのものではないのでパスが読み込まれない.(sudoが読めるように環境変数にしてもいいが…)このときは
sudo su
source .bashrc
mktexlsr
のような手順を踏む必要があることを覚えておかないといけない.
一番単純なコンパイルのためのシェルスクリプト?
filepath=$1
base=`basename ${filepath}`
dir=`dirname ${filepath}`
filename=${base%.*}
platex -shell-escape --synctex=1 -jobname=${dir}/${filename} ${filepath}
dvipdfmx -o ${dir}/${filename}.pdf ${dir}/${filename}
ls ${dir}/${filename}* | grep -v -e ${dir}/${filename}.tex -e ${dir}/${filename}.pdf | xargs rm
.texファイルを引数に指定すると,texからpdfを生成(bibtexなどは考えていない).また,中間ファイルを全て削除している.
実行時には
sh pdfplatex.sh /path/to/target_file.tex
で実行できます。
Ubuntuでのapt利用時のTeXLiveアンインストール方法
質問
TeXLive2019利用時?にstandaloneクラス利用で,
\documentclass[dvipdfmx,tikz]{standalone}
ではなく,
\documentclass{standalone}
\usepackage{tikz}
とするとなぜか同じサイズの空白ページが1ページ出力されてしまいます.バグ修正の方法をご存じの方がいらっしゃいましたらコメント等で教えていただけると幸いです.
答え
@Yarakashi_Kikohshi 様よりコメントをいただき、解決しましたので載せておきます。 \documentclass[tikz]{standalone}
は
\documentclass[multi=tikzpicture,varwidth=false,dvipdfmx]{standalone}
\usepackage{tikz}
と同義のためこうなるとのことでした。dvipdfmx以外のオプションについては以下のことをしているようです。
-
multi=tikzpicture
でそれぞれのtikzpicture環境を独立したページになるように処理 -
varwidth=false
でstandaloneパッケージの横幅の制約を解除
standaloneパッケージのマニュアルのtikzオプション部にたしかに説明がありました。ありがとうございました。