8月 2015アーカイブ

LuaTaTeXでギリシア文字のボールド体を出力する

経緯

普段はLuaLaTeXで講義資料を作成しています。フォントとして TeX Gyre Termis などを好んで使用しています。

texlive2015のパッケージのアップデートをしていたらいつの間にかギリシア文字のボールド体が出力されないようになっていました。解決したのでその時のメモを残しておきます。ただし、otfフォントを指定している場合の話です。

方法

これまでの方法

まず先にLaTeX文章を示します。

\documentclass[a4paper, 11pt]{ltjsarticle}

% mathematical font
\usepackage{amsmath}
\usepackage{fontspec}
\usepackage{unicode-math}
\unimathsetup{math-style=TeX,bold-style=TeX,vargreek-shape=TeX}
\setmathfont{texgyretermes-math}

% Serif, Sans, Monospace
\setmainfont[ItalicFont=texgyretermes-italic, Ligatures=TeX, Scale=0.95]{texgyretermes-regular}
\setsansfont[Ligatures=TeX, Scale=0.95]{texgyreheros-bold}
\setmonofont[BoldFont=Inconsolatazi4-Bold, Ligatures=TeX, Scale=1]{Inconsolatazi4-Regular}

% other setting
\renewcommand{\bfdefault}{bx}
\renewcommand{\bf}{\gtfamily\sffamily\bfseries}

\begin{document}

\begin{itemize}
 \item $\alpha_\text{1}$
 \item {\bf $\mathbf{\alpha_\text{1}}$}
\end{itemize}

\end{document}

これまではこのように \mathbf を使用してギリシア文字をボールド体にしていました。これが、ある時点からうまく行かなくなりました。

改善策

色々とネット上で調べていると、 unicode-mathパッケージの説明書(英語)や このページ\symbf を使う例が載っていました。

そこで

\begin{itemize}
 \item {\bf $\symbf{\alpha_\text{1}}$}
\end{itemize}

のように変更することでボールド体が出力されるようになりました。

その他

ちなみに \text{1}としているのは数式フォントではなく、通常のフォントを使用するためです(\usepackage{amsmath}が必要)。また、このようにすることで全体を{\bf }で囲ったときにボールド体になるようにするためです。

本来は\textbf{}で囲む方がいいのでしょうが、欧文フォントと日本語フォントの両方をゴシック体にするように設定しているためです(\section{}などと同じ挙動になるように)。

追記(2015/8/30)

ギリシア文字だけをボールド体にするのであれば

\begin{itemize}
 \item $\symbf{\alpha}$
\end{itemize}

で十分です。

また、 unicode-mathのバージョンが 0.7e(2014/06/30)から0.8(2015/07/29)に上った際にこのような現象が起きたようです。

Haskell環境およびpandocをVine Linux 6.3(64-bit)に導入する

追記(2016.2.21)

Vine Linux 6 およびVineSeedにrpmパッケージをアップロードしました。したがって以下の記事は過去の記録程度の意味となりました。

現時点では

  • ghc-7.10.3(現時点での最新版)
  • haskell-platform-2015.7.10.3(公式のバージョンは7.10.3)
    • alex, cabal-install, happy, hscolour
  • pandoc, pandoc-citeproc, pandoc-crossref

のパッケージをアップロードしています(ここに至るまでの試行錯誤が大変でした)。

経緯

個人的な興味から pandocをインストールした際のメモです。

pandocについてはこの スライド (73ページ以降)で知りました。

また、るびきち様のこのページ にもpandocを使用した例が載っています。

pandocはHaskell言語で書かれているためまずHaskell処理系のインストールから始めました。 Haskell処理系のインストールは こちらのページ を参考にしました。

インストール手順

今回はバージョンは古いですが、

をインストールしました(私の環境では最新版をインストールしようとすると失敗しました)。

ghcのインストール

tar xzf ghc-7.6.3-x86_64-unknown-linux.tar.bz2
cd ghc-7.6.3
./configure
sudo make install

で /usr/local 以下にインストールされます。 ghc-7.6.3では make は行なわず、いきなり sudo make install を行います。

haskell-platformのインストール

まずhaskell-platformのビルドに必要な gmp-devel、zlib-devel、freeglut-devel をインストールしておきます。

sudo apt-get install gmp-devel zlib-devel freeglut-devel

次に

tar xzf haskell-platform-2013.2.0.0.tar.gz
cd haskell-platform-2013.2.0.0

で展開および移動します。

このままではビルド時にエラーが出るため、 script/build.sh の69行目を

# GHC_PACKAGE_PATH="${ORIG_GHC_PACKAGE_PATH}" \

このようにコメントアウトします。

その後

./configure
make
sudo make install

でインストールします。

これでHaskell処理系がインストールされました。

cabalのアップグレード

次にcabal自体をアップグレードします。

システム全体で使用したいため、以下のようにオプションを付けてインストールします。

su
cabal update
cabal install cabal-install --global

これで現時点での最新版(1.22.6.0)が /usr/local 以下にインストールされます。

pandocのインストール

cabal-installと同様にシステム全体で使用したいため

su
cabal install pandoc --global

でインストールします。

以上です。

余談

pandoc vs. org-mode(Emacs)

ただし現時点でpandocを使用する機会はほとんどありません。 Emacsの org-mode で文章を作成し、(lualatexを使用して)直接PDFファイルに変換することが多いです。

xmonad vs. fluxbox

また、タイル型ウィンドウマネージャーの xmonad

su
cabal install xmonad --global
cabal install xmonad-contrib --global
cabal install xmobar --global

のようにしてインストールしてみました。評判はいいので少し使用してみましたが慣れません。個人的には fluxbox が好きなのでメニューなどをカスタマイズして常用しています。