毎日もくもく

毎日もくもく

日記,そして備忘録

Ubuntu 16.04 に TeX Live を入れる

$ sudo apt-get install texlive-full

で OK だが,今回は TeX Live のパッケージ管理システムである tlmgr を使いたいので,TeX Live のインストーラを使って環境構築する.

私の環境

手順

 まずは

$ wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz

ミラーサイトから install-tl-unx.tar.gz を取得する. 別にミラーサイトjaist あたりから直接 DL しても良い.

 次に取得したファイルを展開し,インストーラディレクトリに移動する.

$ tar xvf install-tl-unx.tar.gz
$ cd install-tl20161227

install-tl20161227 の数字はいつこの作業をしているのかで変わるので ls などで確認する.

 インストーラディレクトリに install-tl があるので,これを実行する. オプションで DL するリポジトリを指定できる.

$ sudo ./install-tl --repository http://mirror.ctan.org/systems/texlive/tlnet/

これで TeX Live のインストールは終わる. 私は何もしなくても tlmgr が使えたので次のことはしなかったが,もし tlmgr が使えなかったら以下のコマンドを実行する.

$ sudo /usr/local/texlive/2016/bin/x86_64-linux/tlmgr path add

途中の 2016 や x86_64-linux は環境によって異なると思うので,各自で確認されたい.

 一応 TeX Live がちゃんとインストールされたか試験する.

\documentclass{jsarticle}
\begin{document}
Hello World.
私は人間です.
\begin{equation}
  \int_{a}^{b} f(x) dx = F(b) - F(a)
\end{equation}
\end{document}

という内容のファイルを ex.tex という名前で保存し,次のコマンドを実行する.

$ platex ex.tex
$ dvipdfmx ex.dvi

正常ならこれで ex.pdf が生成されるので,ちゃんと文字が出力されているか見てみる.

f:id:xartaky:20161227173100p:plain

TeX Live のアップデート

 次のコマンドを実行する.一行目は初回だけでOK.

$ sudo tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet
$ sudo tlmgr update --self --all

フォントの埋め込み

 例えば IPAex フォントを埋め込む場合は

$ sudo kanji-config-updmap-sys ipaex

を実行すれば良い.

latexmk を使う

2017/2/18 追記: 最近は Atom で編集して同じく Atom の PDF ビューアで見ているのでいちいち別のビューアを開かれると鬱陶しい. そのため .latexmkrc をちょっといじった.内容は TeX Wiki 参照.

 最初に TeX の試験をしたときには platexdvipdfmx というコマンドを使用した. 次の ~/.latexmkrc というファイルを作成することで latexmk というコマンドを打てば自動的に pdf が作成され,tex ファイルやそれが依存するファイルに変更があるたびに pdf を作り直してくれる.

#!/usr/bin/perl
$latex = 'platex -guess-input-enc -src-specials -interaction=nonstopmode -synctex=1';
$latex_silent = 'platex -interaction=batchmode';
$dvips = 'dvips';
$bibtex = 'pbibtex';
$makeindex = 'mendex -r -c -s jind.ist';
$dvi_previewer = 'start dviout';
$dvipdf = 'dvipdfmx %O -o %D %S';
$pdf_previewer = 'xdg-open';
$preview_continuous_mode = 1;
$pdf_mode = 3;
$pdf_update_method = 4;

新しいパッケージの追加

2017/3/29 追記: 普通に sudo tlmgr install package でいけるっぽい

 TeX を使っているとデフォルトでは入っていないパッケージを使いたくなるときがある. そのようなときは自分で sty ファイルなどを DL して適当な場所に置く必要がある. sty ファイルを置く場所は他の sty ファイルの場所にならう.

$ kpsewhich hoge.sty

これで hoge.sty がどこに置かれているか分かる. 上記のコマンドでおそらく /x/xx/xxx/xxxx/hoge/hoge.sty みたいな出力を得るので,新しく DL した sty ファイルを例えば /x/xx/xxx/xxxx/new/new.sty に置く.

 これだけでは新しいパッケージを使えないので

$ sudo mktexlsr

を実行して,LaTeX が参照するファイルの一覧表みたいなものを更新する必要がある.

参考

 基本的には TeXWiki を,.latexmkrc についてはこちらのブログを参考にした.

腹痛の話

私は腹痛がひどい. 電車に乗ると腹痛との戦いが始まる. 駅のトイレはあまりきれいなところがなく,また空いていないことが多いので不安との勝負にもなる.
前に大学の友人とトイレビジネスについて語ったことがある. 例えば駅とかにトイレを設置して,利用者には月に何円か払ってもらって貸すというものだ. 公共のトイレと違うのは,そのトイレが完全に自分専用になり,自分が使っていないときでも他人に使用されないというところだ. 私はこの案を素晴らしいと思っていたが,友人が言うには「その空間がトイレ以外にも使用される可能性があって,事業者にとっては面倒」とのことだった.
誰かこのビジネスを改良して始めてください.

メリークリスマス (2)

それだけ.
今日は 12 月 25 日です.
皆に幸あれ.

メリークリスマス (1)

それだけ.
今日は 12 月 24 日です.

Ubuntu 16.04 LTS を VirtualBox で使う

同じ PC で WindowsLinux を使おうとするとデュアルブートか仮想環境の 2 通りが考えられる.今回は WindowsLinux を気軽に切り替えられ,かつ Linux 環境のサイズを可変にできる仮想環境を試してみた.Windows の上に VirtualBoxUbuntu を入れる.

用意するもの

手順

64bit 版の OS を使えるようにする

BIOS の設定のどこかにある [Intel Virtualization Technology] を [Enable] に変更する.

VirtualBox の Extension Pack のインストール

VirtualBox を起動し,[ファイル]→[環境設定] の [機能拡張] 画面で,右側上部のボタン(下図の逆三角形の方)をクリックし,DL した Extension Pack を選択してインストールする.

仮想マシンの作成

  1. VirtualBox の [新規] をクリックし,名前とタイプバージョンを選択する.名前は任意のもので,タイプは [Linux],バージョンは [Ubuntu (64-bit)] とする.
  2. 仮想ハードディスクを作成する.私は [仮想ハードディスクを作成する] を選択した
  3. ハードディスクのファイルタイプを選択する.私は [VDI (VirtualBox Disk Image)] を選択した.
  4. 物理ハードディスクにあるストレージを可変サイズにするか固定サイズにするか決める.可変サイズは実際に使用している分だけストレージを消費するので,使用している PC のストレージに余裕がなければこっちの方が良いと考えられる.固定サイズの方が高速である.私は [可変サイズ] を選択した.
  5. ファイルの場所とサイズを決める.仮想ハードディスクファイルの名前はデフォルトで,サイズは使いたい分だけ指定する.ストレージが可変サイズならここで指定した値が上限になる.
  6. 細かい設定を行う.先ほど作った仮想マシンを選択したまま [設定] をクリックし,いろいろ設定する.例えば [一般]→[高度] からホスト OS(PC 本体に入っている OS)とゲスト OS(VirtualBox で入れる OS)の間でのクリップボードの共有やドラッグ&ドロップの設定などを行う.私の追加設定は以下の通り.別にいつでも編集できるのでそんなに悩む必要はない.
  • [一般]→[高度] の [クリップボードの共有] と [ドラッグ&ドロップ] を [双方向] に
  • [システム]→[マザーボード] の [拡張機能] で [EFI を有効化] をオン
  • [システム]→[プロセッサー] の [プロセッサー数] を全体の半分に
  • [ディスプレイ]→[スクリーン] の [ビデオメモリー] を最大に,[アクセラレーション] で [3D アクセラレーションを有効化] をオン.ビデオメモリーを最大にするときに,ディスプレイ数を最大にするとビデオメモリーを大きくすることができる.
  • [ストレージ]→[ストレージツリー] に [コントローラー SATA] を追加する(あれば既存のものを使う).最初に Ubuntu をインストールするときは [光学ドライブを追加] し,DL した Ubuntu の iso ファイルをセット,それ以外では[空]にする.[Ubuntu.dvi] はいじらない.

Ubuntu のインストール

先程作成した仮想マシンを起動する.GRUB の画面が出てくるので [Install Ubuntu] を選択する.あとは普通に Ubuntu をインストールすれば良い.言語を日本語にし,[Ubuntu のインストール中にアップデートをダウンロードする] や [必要なサードパーティーソフトウェアをインストールする] をオンにしておくと後々楽になるかもしれない.

Guest Additions のインストール

快適に WindowsUbuntu を使うために,VirtualBox の Guest Additions というものをインストールする.これをインストールすると

などが可能になる.
VirtualBoxUbuntu を起動し,VirtualBox のメニューバーの [デバイス]→[Guest Additions CD イメージの挿入] をクリックする.あとは画面に従って操作すれば良い.再起動すれば前述の機能が使えるようになっているはずだ.

WindowsUbuntu の共有フォルダの作成

WindowsUbuntu 間でのファイルのやりとりを楽にするために共有フォルダを作る.

  1. Windows で何かしらフォルダを作る.例えばパスは C:\Share_Ubuntu とする.
  2. VirtualBox のメニューバーの [デバイス]→[共有フォルダー]→[共有フォルダーの設定] で右側上部のボタンをクリックする
  3. [パス] に先程作成したフォルダのパス(ここでは C:\Share_Ubuntu)を入力し,[自動マウント] と [永続化する] をオンにする.
  4. Ubuntu を再起動し,/media/sf_<先ほど作成したフォルダ>(ここでは /media/sf_Share_Ubuntu)というディレクトリがあることを確認する.
  5. このままだとこのディレクトリに入れないので,ターミナルで次のコマンドを実行してユーザに権限を与える.
$ sudo gpasswd -a <ユーザ名> vboxsf

これで共有フォルダが作れたので適当に試験して確かめてみる.例えば Ubuntu でテキストファイルを作って,それが Windows でも確認できるか試してみると良い.

Ubuntu の起動に失敗するとき

Ubuntu を起動しようとすると UEFI の対話シェルがでてくることがあるので,そのとき何をすれば良いかまとめる.http://www.sssg.org/blogs/hiro345/archives/18049.html を参考にした.
まずは Ubuntu を起動したいので UEFI の対話シェルで次のコマンドを実行する.

Shell> fs0:\EFI\ubuntu\shimx64.efi

これで Ubuntu が起動する.
次に Ubuntu のターミナルで次のコマンドを実行する.

$ sudo cp -a /boot/efi/EFI/ubuntu /boot/efi/EFI/boot
$ sudo mv /boot/efi/EFI/boot/shimx64.efi /boot/efi/EFI/boot/bootx64.efi

これで UEFI の対話シェルではなく Ubuntu が起動するはずだ.

所感

Windows 機に Linuxデュアルブートすると OS を切り替えるときにいちいち再起動せねばならず,めんどうである.その点,仮想環境を用いると楽である.ただ,当たり前の話だがバッテリーの消費が早くなっている気がする.画面を暗くしたりしないとすぐにバッテリーが切れてしまう.
しばらくはこのまま試してみて,もし何か不具合があったり気に入らないことがあったらデュアルブートに切り替えようと思っている.