2013年12月6日金曜日

Tikzとplatexで図画間結合

zrbabblerさんのblog「マクロツイーター」の記事「TikZはdvipdfmxをどこまでサポートするか?(1)」同(2)を真似て図画間結合なるものを試してみました.


このように,図画間結合を使えばtikzpicture環境の外にあるノードを参照して矢印でつなぐことが出来ます.ソースのサンプルはzrさんのblogに詳しいので省略します.文章をまたいでノードを繋げることも出来ます.


Tikzは色々なことが出来て楽しいです。

2013年11月22日金曜日

Tikzで鉄心に巻いたコイルの作図

TeX Stack ExchangeのModify Tikz coil decorationに,芯に巻いたコイルの作図の仕方が載っています.coil decorationを使って実現してあるのですが,以前に書いたようにcoil decorationではパラメータの選び方によって端に直線的な部分が残ってしまい使い勝手がよくありません.

以前の記事でcoil decorationを修正したgluon decorationを紹介しましたが,今回はこれを流用して端に直線部分が残らないものを作ってみます.

まず,上記のModify Tikz coil decorationの記事にあるように以下の内容をpgflibrarydecorations.mypathmorphing.code.texという名前で保存します.

\def\pgfpoint@oncoil#1#2#3{%
  \pgf@x=#1\pgfdecorationsegmentamplitude%
  \pgf@x=\pgfdecorationsegmentaspect\pgf@x%
  \pgf@y=#2\pgfdecorationsegmentamplitude%
  \pgf@xa=0.083333333333\pgfdecorationsegmentlength%
  \advance\pgf@x by#3\pgf@xa%
}

% gluonup decoration
%
% Parameters: \pgfdecorationsegmentamplitude, \pgfdecorationsegmentlength,

\pgfdeclaredecoration{gluonup}{initial}
{
  \state{initial}[
    width=+0pt,
    next state=coil,
    persistent precomputation={
      \pgfmathsetmacro\matchinglength{
        (ceil(\pgfdecoratedinputsegmentlength / \pgfdecorationsegmentlength) - \pgfdecoratedinputsegmentlength / \pgfdecorationsegmentlength) > 0.5
        ? (\pgfdecoratedinputsegmentlength - 2 * \pgfdecorationsegmentaspect * \pgfdecorationsegmentamplitude) / (floor(\pgfdecoratedinputsegmentlength / \pgfdecorationsegmentlength) + 0.499)
        : (\pgfdecoratedinputsegmentlength - 2 * \pgfdecorationsegmentaspect * \pgfdecorationsegmentamplitude) / (ceil(\pgfdecoratedinputsegmentlength / \pgfdecorationsegmentlength) + 0.499)
      }
      \setlength{\pgfdecorationsegmentlength}{\matchinglength pt}
    },
  ]{}
  \state{coil}[switch if less than=%
    0.5\pgfdecorationsegmentlength+%
    \pgfdecorationsegmentaspect\pgfdecorationsegmentamplitude+%
    \pgfdecorationsegmentaspect\pgfdecorationsegmentamplitude to last,
               width=+\pgfdecorationsegmentlength]
  {
    \pgfpathcurveto
    {\pgfpoint@oncoil{0    }{ 0.555}{1}}
    {\pgfpoint@oncoil{0.445}{ 1    }{2}}
    {\pgfpoint@oncoil{1    }{ 1    }{3}}
    \pgfpathmoveto{\pgfpoint@oncoil{1    }{-1    }{9}}
    \pgfpathcurveto
    {\pgfpoint@oncoil{0.445}{-1    }{10}}
    {\pgfpoint@oncoil{0    }{-0.555}{11}}
    {\pgfpoint@oncoil{0    }{ 0    }{12}}
  }
  \state{last}[next state=final]
  {
    \pgfpathcurveto
    {\pgfpoint@oncoil{0    }{ 0.555}{1}}
    {\pgfpoint@oncoil{0.445}{ 1    }{2}}
    {\pgfpoint@oncoil{1    }{ 1    }{3}}
    \pgfpathmoveto{\pgfpoint@oncoil{2    }{ 0    }{6}}
  }
  \state{final}{}
}



% gluondown decoration
%
% Parameters: \pgfdecorationsegmentamplitude, \pgfdecorationsegmentlength,

\pgfdeclaredecoration{gluondown}{initial}
{
  \state{initial}[
    width=+0pt,
    next state=coil,
    persistent precomputation={
      \pgfmathsetmacro\matchinglength{
        (ceil(\pgfdecoratedinputsegmentlength / \pgfdecorationsegmentlength) - \pgfdecoratedinputsegmentlength / \pgfdecorationsegmentlength) > 0.5
        ? (\pgfdecoratedinputsegmentlength - 2 * \pgfdecorationsegmentaspect * \pgfdecorationsegmentamplitude) / (floor(\pgfdecoratedinputsegmentlength / \pgfdecorationsegmentlength) + 0.499)
        : (\pgfdecoratedinputsegmentlength - 2 * \pgfdecorationsegmentaspect * \pgfdecorationsegmentamplitude) / (ceil(\pgfdecoratedinputsegmentlength / \pgfdecorationsegmentlength) + 0.499)
      }
      \setlength{\pgfdecorationsegmentlength}{\matchinglength pt}
    },
  ]{}
  \state{coil}[switch if less than=%
    0.5\pgfdecorationsegmentlength+%
    \pgfdecorationsegmentaspect\pgfdecorationsegmentamplitude+%
    \pgfdecorationsegmentaspect\pgfdecorationsegmentamplitude to last,
               width=+\pgfdecorationsegmentlength]
  {
    \pgfpathmoveto{\pgfpoint@oncoil{1    }{1    }{3}}
    \pgfpathcurveto
    {\pgfpoint@oncoil{1.555}{ 1    }{4}}
    {\pgfpoint@oncoil{2    }{ 0.555}{5}}
    {\pgfpoint@oncoil{2    }{ 0    }{6}}
    \pgfpathcurveto
    {\pgfpoint@oncoil{2    }{-0.555}{7}}
    {\pgfpoint@oncoil{1.555}{-1    }{8}}
    {\pgfpoint@oncoil{1    }{-1    }{9}}
  }
  \state{last}[next state=final]
  {
    \pgfpathmoveto{\pgfpoint@oncoil{1    }{ 1    }{3}}
    \pgfpathcurveto
    {\pgfpoint@oncoil{1.555}{ 1    }{4}}
    {\pgfpoint@oncoil{2    }{ 0.555}{5}}
    {\pgfpoint@oncoil{2    }{ 0    }{6}}
  }
  \state{final}{}
}

\endinput

これは以前記事にしたgluon decorationをgluonup, gluondowの2つに分割して描画するというものです.
書いてある内容はあまり理解していませんが,いじくっていたらそれっぽい出力が得られたのでよしとします.

実際に次のようなファイルを作成してみます.

\documentclass[a4paper]{article}
\usepackage[dvipdfmx]{graphicx} 
\PassOptionsToPackage{svgnames}{xcolor}
\usepackage{tikz}
\usetikzlibrary{decorations}
\usepgflibrary{decorations.mypathmorphing}

\begin{document}
\begin{tikzpicture}
\draw [decorate, decoration={gluon, aspect=0.4, amplitude=4mm,  segment length=4mm},gray!50,very thick] (0,0) -- (5,0);
  \draw [decorate, decoration={gluonup, aspect=0.4, amplitude=4mm,  segment length=4mm},blue] (0,0) -- (5,0);
\node[anchor=west] at (5.1,0){gluonup};
\end{tikzpicture}

\bigskip
\begin{tikzpicture}
\draw [decorate, decoration={gluon, aspect=0.4, amplitude=4mm,  segment length=4mm},gray!50,very thick] (0,0) -- (5,0);
  \draw [decorate, decoration={gluondown, aspect=0.4, amplitude=4mm,  segment length=4mm},red] (0,0) -- (5,0);
\node[anchor=west] at (5.1,0){gluondown};
\end{tikzpicture}

\bigskip
 \begin{tikzpicture}
 \pgfmathsetmacro{\w}{3.5}
 \pgfmathsetmacro{\h}{.8}
 \pgfmathsetmacro{\r}{0.5*\h}
 \pgfmathsetmacro{\rx}{0.35*\r}
 \pgfmathsetmacro{\ry}{\r-0.0005}
 \pgfmathsetmacro{\amp}{5mm}
 \pgfmathsetmacro{\sgl}{3.2mm}

 %コイル1 (鉄心に隠れる方)
  \draw [decorate, decoration={gluonup,   aspect=0.4, amplitude=\amp,  segment length=\sgl}] (0,0) -- (\w,0);

 %鉄心1
  \filldraw[fill=white] (0,\r) -- (\w,\r) 
  arc [start angle=90, end angle = -90, x radius=\rx, y radius=\ry]
  -- (0, -\r) 
  arc [start angle=-90, end angle = 90, x radius=\rx, y radius=\ry];

 %導線
  \draw[very thick,draw=white] (0,0) |- (\w,-1.8*\h) -- (\w,0);
  \draw (0,0) |- (\w,-1.8*\h) -- (\w,0);

 %鉄心2
  \draw[fill=white](0,0) circle [x radius=\rx, y radius=\ry];

 %コイル2 (鉄心の前面)
  \draw [very thick,draw=white,decorate, decoration={gluondown, aspect=0.4, amplitude=\amp, segment length=\sgl}] (0,0) -- (\w,0);

  \draw [decorate, decoration={gluondown,   aspect=0.4, amplitude=\amp,  segment length=\sgl}] (0,0) -- (\w,0);
\end{tikzpicture}

\end{document}


これをタイプセットすると次の図が得られます.

直線的なパスに沿ってのコイルはこれでうまくいくのですが,円に沿ったコイルを描こうとするとうまくいきません.
これは元のcoil decorationでも同様で,コイル一巻きを反復して描画していることが原因のようです.

2013年10月23日水曜日

Tikzでばねを描く

随分前にinkscapeを使って高校物理の問題集に出てくるようなばねの描き方についてのエントリを書きましたが,あれはinkscapeの使い方をあまりよくわかっていない時期に書いたので必要以上に手順が面倒になっています.

Tikzではばねが簡単に描けるので,今回はその紹介をします.
TeX - LaTeX Stack Exchangeというサイトの
Coil path decoration without straight segmentというページを参考にしました.
Tikzでばねを描く際にはパスの装飾を行うdecorationsというライブラリのcoil decorationを使用すればよいのですが,segment lengthの値がうまく設定出来ていない場合には直線的なセグメントが出来てしまいます.上記のページにその不具合を修正したgluon decorationが紹介されていたので,それを拝借してcoil decorationと比較してみました.gluonは勿論QCDのファインマン・ダイアグラムに出てくるgluonです.


通常のcoil decorationでは右端部分に直線的なセグメントが残っています.
gluon decorationではそれが解消されているのが見て取れます.

\documentclass[10pt]{jsarticle}
\usepackage[dvipdfmx]{graphicx}
\PassOptionsToPackage{svgnames}{xcolor}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{decorations.markings,decorations.pathmorphing}

%修正されたコイル gluonとして使う
\makeatletter
\pgfdeclaredecoration{gluon}{initial}
{
  \state{initial}[
    width=+0pt,
    next state=coil,
    persistent precomputation={
      \pgfmathsetmacro\matchinglength{
        (ceil(\pgfdecoratedinputsegmentlength / \pgfdecorationsegmentlength) - \pgfdecoratedinputsegmentlength / \pgfdecorationsegmentlength) > 0.5
        ? (\pgfdecoratedinputsegmentlength - 2 * \pgfdecorationsegmentaspect * \pgfdecorationsegmentamplitude) / (floor(\pgfdecoratedinputsegmentlength / \pgfdecorationsegmentlength) + 0.499)
        : (\pgfdecoratedinputsegmentlength - 2 * \pgfdecorationsegmentaspect * \pgfdecorationsegmentamplitude) / (ceil(\pgfdecoratedinputsegmentlength / \pgfdecorationsegmentlength) + 0.499)
      }
      \setlength{\pgfdecorationsegmentlength}{\matchinglength pt}
    },
  ]{}
  \state{coil}[
    switch if less than=%
      0.5\pgfdecorationsegmentlength%
      +\pgfdecorationsegmentaspect\pgfdecorationsegmentamplitude%
      +\pgfdecorationsegmentaspect\pgfdecorationsegmentamplitude to last,
    width=+\pgfdecorationsegmentlength,
  ]
  {
    \pgfpathcurveto
    {\pgfpoint@oncoil{0    }{ 0.555}{ 1}}
    {\pgfpoint@oncoil{0.445}{ 1    }{ 2}}
    {\pgfpoint@oncoil{1    }{ 1    }{ 3}}
    \pgfpathcurveto
    {\pgfpoint@oncoil{1.555}{ 1    }{ 4}}
    {\pgfpoint@oncoil{2    }{ 0.555}{ 5}}
    {\pgfpoint@oncoil{2    }{ 0    }{ 6}}
    \pgfpathcurveto
    {\pgfpoint@oncoil{2    }{-0.555}{ 7}}
    {\pgfpoint@oncoil{1.555}{-1    }{ 8}}
    {\pgfpoint@oncoil{1    }{-1    }{ 9}}
    \pgfpathcurveto
    {\pgfpoint@oncoil{0.445}{-1    }{10}}
    {\pgfpoint@oncoil{0    }{-0.555}{11}}
    {\pgfpoint@oncoil{0    }{ 0    }{12}}
  }
  \state{last}[next state=final]
  {
    \pgfpathcurveto
    {\pgfpoint@oncoil{0    }{ 0.555}{1}}
    {\pgfpoint@oncoil{0.445}{ 1    }{2}}
    {\pgfpoint@oncoil{1    }{ 1    }{3}}
    \pgfpathcurveto
    {\pgfpoint@oncoil{1.555}{ 1    }{4}}
    {\pgfpoint@oncoil{2    }{ 0.555}{5}}
    {\pgfpoint@oncoil{2    }{ 0    }{6}}
  }
  \state{final}{}
}


\begin{document}
\begin{tikzpicture}
%coil
 \begin{scope}
  \coordinate (sprright) at (0,0);
  \coordinate (sprleft) at ($(sprright)+(-2.5,0)$);
  \draw[decoration={coil,aspect=0.3,amplitude=0.3cm,segment length=1.75mm,}]
  decorate {(sprleft)-- (sprright)}; %ばね   
  \node[right=3] at (sprright){通常のcoil decoration};
  \end{scope}

%gluon
 \begin{scope}[shift={(0,-1)}]
  \coordinate (sprright) at (0,0);
  \coordinate (sprleft) at ($(sprright)+(-2.5,0)$);
  \draw[decoration={gluon,aspect=0.3,amplitude=0.3cm,segment length=1.75mm,}]
  decorate {(sprleft)-- (sprright)}; %ばね   
 \node[right=3] at (sprright){gluon decoration};
  \end{scope}

 \begin{scope}[shift={(0,-2)}]
  \coordinate (sprright) at (0,0);
  \coordinate (sprleft) at ($(sprright)+(-2.5,0)$);
  \draw[decoration={gluon,aspect=0.3,amplitude=0.3cm,segment length=1.75mm,}]
  (sprleft) -- +(-0.2,0) decorate {(sprleft)-- (sprright)}-- (sprright)-- ++(0.2,0); %ばね   
 \draw ($(sprleft)+(-0.2,0.2)$)--($(sprleft)+(-0.2,-0.2)$);
  \node[right=3] at (sprright){gluon decorationに端を付け加えたもの};
  \end{scope}
\end{tikzpicture}
\end{document}

Tikzの練習 電圧計

最近Tikzの練習をしています.
TeXのマクロなどを書いたことがないので,悪戦苦闘中です.
今回は電圧計の目盛りを作図してみました.

\documentclass[10pt]{article}
\usepackage[dvipdfmx]{graphicx}
\PassOptionsToPackage{svgnames}{xcolor}
\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}

\begin{tikzpicture}
\draw (0,0)--(3,0)-- ++(70:2.5)-- ++(-3,0)--cycle; %外枠
\coordinate (p) at ($(1.5,0)+(70:0.7)$);
\draw[thick] (p)--($(p)+(0,1)$);
\node (V) at ($(p)+(70:0.3)$){\scriptsize $\underline{\mathrm{V}}$};
\fill ($(p)+(-0.17,0)$) -- ($(p)+(0.17,0)$) -- ($(p)+(0,0.13)$)--cycle;

\coordinate (q) at ($(70:0.4)+(0.65,0)$);
\begin{scope}[shift=(q),scale=1.2]
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%% 電圧計の目盛り
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \renewcommand*{\r}{0.7}%円の半径
 \renewcommand*{\l}{0.3}%長い目盛りの長さ
 \renewcommand*{\t}{0.15}%短い目盛りの長さ

 \pgfmathparse{cos(70)}
 \let\c\pgfmathresult

 \pgfmathparse{sin(70)}
 \let\d\pgfmathresult

 \pgftransformcm{1}{0}{\c}{\d}{}%座標軸の回転とシフト
%x軸とy軸の成す角が70度の斜交座標系に座標系を変更する

 \foreach \i in {0,1,2,..., 20}
 {
 \pgfmathparse{30+6*\i}
 \let\th\pgfmathresult

 % 変数\iが5の倍数のときのみ長い目盛りを使う.
 \pgfmathparse{int(mod(\i,5))}
 \let\imod\pgfmathresult
 \ifnum\imod=0
 \pgfmathparse{\r+\l}
 \let\length\pgfmathresult
 \draw[thin] (\th:\r)--(\th:\length);
 \else
 \pgfmathparse{\r+\t}
 \let\length\pgfmathresult
 \draw[thin] (\th:\r)--(\th:\length);
 \fi
 }
\end{scope}
\end{tikzpicture}
\end{document}


使い回しをしない変数をあまり多く定義したくないのですが,座標に直接\pgfmathparseを使って記述したりするとエラーが頻出するので,エラーを避けつつようやく望みの出力に漕ぎ着けたような状況です.電圧計の目盛りはscope環境で括って,後でshiftさせているのですが望みの位置に出力されず,微調整をしているのが気になるところです.
変数を\renewcommandや\letで定義していますが,何を使うのが推奨されるのか,また再定義してしまうとtikzpicture環境外で問題が生じないのかが気になっています.


2013年9月24日火曜日

CD衝動買い

先日3ヶ月ぶりくらいにCDを買いに行きました.
最近は音楽雑誌を読んだり,Webで情報を集めたりしなくなってしまったので,片っ端から視聴して気になるものを購入して行くのですが,今回は当たりが多かったです.

TravisやPlaceboの新作に始まり,Black Joe LewisやSilver Screen, Superhumanoidsなど15枚程購入しました.まだ全体像を把握出来ていないものが多いのですが,気になった曲をピックアップしてみます.

Superhumanoidsの"Exhibitionists"を買いました.1stアルバムらしいです.気に入っているのは4曲目の"So Strange"です.ギターの音が80年代っぽい.こういうのをドリームポップというらしいです.





Black Joe Lewisは"Electric Slave"を購入しました.
これは3rdアルバムになるそうで,ファンク色が交代してブルースが全面に出ているそうです.格好良いので過去作品もチェックしたいと思います.1曲目の"Skulldiggin"が良いです.

ファンクっぽい曲よりも,こっち方面のほうが個人的には好きかもです.ブリブリした音がたまりません.


Travisの新作"Where You Stand"はタイトル曲が良いですね.

Music Videoは何度か見ていたので新鮮味には欠けますが,いつも良い作品を作ってくれるバンドです.

Silver Screenは"When You and I Were Very Young"を買いました.派手な曲はないけれどもその分飽きがこなそうです.どの曲もクォリティーが高く,経験上こういうアルバムは長い間お世話になれると思います.調べてみると,2005年にもアルバムを出しているようなので,こちらもチェックしたいと思います.
"Really No Wonder", "Only Ever Yours", "Mercy"などが良いですね.




残りはまだ聴き込んでいないのでまだなんともいえない状態です.

ちなみに今年一番聴いているのはThis Centuryの"Biography of Heartbreak"です.
6月には25枚ほどCDを購入したのですが,こいつのおかげで他のCDをきちんと聴けていません(汗)

ボーカルの髪型がエモくて若干気持ち悪く,Music Videoのおねーさんのクオリティが微妙なラインですが,名曲です.どの収録曲も耳に残る楽曲ばかりでおすすめです.

後はTurnoverというバンドの"Magnolia"が昔ながらのエモっぽい音楽性をしていて懐かしい気持ちになりました.



またZAZEN BOYSの"すとーりーず"をようやく購入しました.NUMBER GIRLファンの私は,最近のZAZEN BOYSには正直ついていけなくなりつつありましたが,今回は歌ものの割合が増えており,とっつきやすかったです.向井さんは希代のメロディーメーカーだと思うので,もっと歌を全面に出した曲を書いて欲しいなと思ったりします.


それにしても,CD屋のオッサン率が高かったのが気になりました.若い人はCDを買わなくなってしまったのかなあ.いつも近所のタワーレコーズでCDを購入しているのですが,ここが閉店になってしまったりすると衝動買いの楽しみが無くなってしまうのでかなり困ったことになってしまいます.CDを買わないと所有した気になれないのはオッサンの証拠なのかもしれません.

2013年8月30日金曜日

LuaTeX-jaでギリシャ文字のイタリック体を表示する.


先日LuaTeX-jaでギリシャ文字のイタリック体が表示されないと書きましたが,
本日LuaTeX-jaの使い方を参考にフォントのプリセット設定を変更したところ無事ギリシャ文字のイタリック体も表示されました.

fontspec パッケージによる数式フォント置換が不都合な場合は,
\usepackage[no-math]{fontspec}
\usepackage[...]{luatexja-preset}
 のようにしてください.

という記述があったので,次のようなファイルをタイプセットしてみました.


\documentclass{ltjsarticle}
\usepackage{luatexja}
\usepackage{amsmath,amssymb,mathrsfs}

\usepackage[no-math]{fontspec}
\usepackage[hiragino-pro]{luatexja-preset}


\begin{document}
あいうえお

$\mathit{\Delta}$, $\Delta$
$\mathit{\Psi}$, $\Psi$,
$A$, $\mathit{A}$, $I$, $\mathit{I}$,
$B$, $\mathit{B}$
\end{document}


ギリシャ文字のイタリック体もきちんと表示されています.

2013年8月25日日曜日

LuaTeX-jaではギリシャ文字のイタリック体が表示されない件

表題の通りです.LuaTeX-jaの使い方を参照してフォントのプリセット設定を行うと生じる現象のようです.フォントの設定を行っていない場合はきちんと表示されます.
使っている環境はMacTeX2013です.

  • まずは欧文のみ,クラスファイルはarticleの場合
\documentclass{article}
\usepackage{amsmath,amssymb,mathrsfs}

\begin{document}
$\mathit{\Delta}$, $\Delta$
$\mathit{\Psi}$, $\Psi$,
$A$, $\mathit{A}$, $I$, $\mathit{I}$,
$B$, $\mathit{B}$
\end{document}

ギリシャ文字のイタリック体もきちんと表示されています.アルファベットはイタリック体との違いが微妙ですね.


  • 次に日本語+欧文で,クラスファイルはltjsarticleの場合
\documentclass{ltjsarticle}
\usepackage{luatexja}
\usepackage{amsmath,amssymb,mathrsfs}

\begin{document}
あいうえお

$\mathit{\Delta}$, $\Delta$
$\mathit{\Psi}$, $\Psi$,
$A$, $\mathit{A}$, $I$, $\mathit{I}$,
$B$, $\mathit{B}$
\end{document}

ギリシャ文字のイタリック体は表示されていますが,埋め込まれていない和文フォントがゴシック体で表示されてしまいます.



  • 最後にフォントの埋め込み設定を行った場合.クラスファイルはltjsarticleです.
\documentclass{ltjsarticle}
\usepackage{luatexja}
\usepackage{amsmath,amssymb,mathrsfs}
\usepackage[hiragino-pro]{luatexja-preset}


\begin{document}
あいうえお

$\mathit{\Delta}$, $\Delta$
$\mathit{\Psi}$, $\Psi$,
$A$, $\mathit{A}$, $I$, $\mathit{I}$,
$B$, $\mathit{B}$
\end{document}

日本語のフォントはきちんと明朝体が表示されますが,ギリシャ文字のイタリック体が消えました.

この他にも,フォントのプリセット設定を行うと,文字の上にアクセント記号を付けるスタイルファイルであるaccents.styとアクセント記号の命令の幾つかが重複していてエラーが出ます(\acute, \grave, \check, \breve, \bar, \hat, \dot, \tilde, \ddot, \vec).

また,いつもはplatexでタイプセットしている原稿をLuaTeX-jaでタイプセットしてみたときに,bxjacalcuxパッケージを使ってもzwに関連したエラーが出てしまいました.こちらについては原因がよくわかりませんでした.

2013年8月23日金曜日

定理環境の修飾 mdframed.sty

追記:2016/04/19 定理環境をmdframedからtcolorboxを使ったものに変更しました。

LaTeXの話です.定理環境の見栄えを変更するために,mdframed.styを用いています.mdframed.styの機能はpdfTeXなどでタイプセットすることを前提にしているようで,platexではマニュアルにある機能を十分に活かすことが出来ません.

2014/05/01追記:tikzパッケージを読み込む前に,graphicxパッケージをdvipdfmxのオプションを付けて読み込むことで,platex+dvipdfmxでも以下のような例は再現出来ました。こちらを参照。

LuaTeXはpdfTeXの後継であり,この日本語対応LuaTeX-jaが開発されています.これを使えばmdframed.styの機能を十分に使えるのではないかと思い試してみました.LuaTeX-jaはTeXLive2013には標準で含まれており,lualatexコマンドを使ってタイプセットします.

mdframed.styのマニュアルにあるものを借用して,次のようなファイルををタイプセットしてみました.

\documentclass[a4paper]{ltjsarticle}
\usepackage{luatexja}
\usepackage{amsmath,amssymb,mathrsfs}
\usepackage{etoolbox}
\usepackage{tikz}
\usepackage{mdframed}

\usepackage{luatexja-fontspec}

\defaultjfontfeatures{Scale=0.92487}
  % この行がない場合,luatexja-fontspec は
  % 和文フォントの大きさを欧文フォントの 0.962212 倍
  % ([lt]jclasses でのデフォルト設定と同じ)で定義する.
  % 上の指定は,[lt]jsclasses における欧文 10pt: 和文 13Q
  % という比率に合わせるためのもの.

\setmainfont[Ligatures=TeX]{TeXGyreTermes}
\setsansfont[Ligatures=TeX]{TeXGyreHeros}

\setmainjfont[BoldFont=IPAexGothic]{IPAexMincho}
\setsansjfont{IPAexGothic}

\newjfontfamily\jisninety[CJKShape=JIS1990]{IPAexMincho}


\begin{document}
\newcounter{theo}[section]
\newenvironment{theo}[1][]{%
\stepcounter{theo}%
\ifstrempty{#1}%
{\mdfsetup{%
frametitle={%
\tikz[baseline=(current bounding box.east),outer sep=0pt]
\node[anchor=east,rectangle,fill=blue!20]
{\strut Theorem~\thetheo};}}}%
{\mdfsetup{%
frametitle={%
\tikz[baseline=(current bounding box.east),outer sep=0pt]
\node[anchor=east,rectangle,fill=blue!20]
{\strut Theorem~\thetheo:~#1};}}%
}%
\mdfsetup{innertopmargin=10pt,linecolor=blue!20,%
linewidth=2pt,topline=true,
frametitleaboveskip=\dimexpr-\ht\strutbox\relax,}
\begin{mdframed}[]\relax%
}{\end{mdframed}} 

\begin{theo}[Riemann積分の線型性]
$\mathscr{R}(I)$を$\mathbb{R}^n$の有界閉区間$I$上でRiemann可積分な実数値関数全体
 の集合とする.$\mathscr{R}(I)$は実ベクトル空間であり,$I$上の積分は
$\mathscr{R}(I)$から$\mathbb{R}$への線型写像である.即ち
\begin{equation}
 f, g\in \mathscr{R}(I),\ c\in \mathbb{R}\text{ならば}
f+g\in \mathscr{R}(I),\ cf\in \mathscr{R}(I)
\end{equation}
であり,なおかつ
  \begin{gather}
  \int_I (f+g)(x)\, dx
 =\int_I f(x)\, dx + \int_I g(x)\, dx, \\
  \int_I cf(x)\, dx 
 = c\int_I f(x)\, dx
 \end{gather}
が成り立つ.
\end{theo}
\end{document}


いい感じです.Tikzを使いこなせるようになると色々出来そうです.また,日本語の設定はLuaTeX-jaの使い方をそのまま貼付けました.そちらにあるスタイルファイルの誤記は修正してみたものの,フォントの設定を何も書かないでタイプセットすると,フォントの埋め込みをしていないファイルは日本語が全てゴシック体で表示されてしまいました.

また,LuaTeX-jaの実行速度は現時点ではかなり遅いです.数ページ程度のファイルならばあまり気になりませんが,数百ページのファイルになるとplatex+dvipdfmxの方が大分速いです.また全角幅や全角高さを表すzw, zhが使えなくなり,\zw, \zhに変更しなければならないので,platexと併用するために,ZRさんの「LuaTeX-jaでzwを使う件について」を参考にBxjatoolバンドルを導入しました(Bxtoolboxにも依存するのでこちらも導入しました).これでタイプセットコマンドとtexファイルのプリアンブルを少し変更することで使い分けが出来るようになりました.

マクロは使いこなせないので,個人的にはまだまだplatexを使う機会のほうが多そうです.

2013年8月17日土曜日

array環境でのエラー


これまで全く気がつかなかったのですが,次のような数式をLaTeXでタイプセットすると
"missing number, treated as zero."というエラーメッセージがでてしまいます.

\begin{equation}
\begin{array}{l}
  [a_1, b_1]\times \dotsb \times [a_{i-1}, b_{i-1}]\times
 \{a_i\}\times[a_{i+1}, b_{i+1}]\times \dotsb \times [a_n, b_n]\\
  [a_1, b_1]\times \dotsb \times [a_{i-1}, b_{i-1}]\times
 \{b_i\}\times[a_{i+1}, b_{i+1}]\times \dotsb \times [a_n, b_n]
\end{array}
\end{equation}

これは1行目で\\を用いて改行した直後に[]で囲まれた文字列を持ってくると,改行後のスペースと勘違いしてエラーを起こすようです(例えば\\[3pt]と記述すると3pt行間が空く).エラーの回避方法としては,\\の直後に括弧を入れて\\{}とし,区切りを明確にしてやることだそうです.

これまでこういう数式を打ったことが無いことに軽く衝撃を受けました.

2013年6月26日水曜日

jsarticle.clsでappendixの数式番号が変

LaTeXの話です.仕様しているのはMacTeX2013です.
普段はjsbook.clsを使っているので気づかなかったのですが,久々に昔書いた原稿をタイプセットしてみると,appendixの数式番号がおかしいことに気づきました.どうやらjsarticle.clsを使う生じる症状のようです.

具体的には,appendixでの数式番号を(A.1)の形で出力してほしいのですが,これが(付録 A.1)のようになります.これはかなりウザいです.解決方法はTeX Q&Aの4396943989のやり取りにありました.

\makeatletter
%%
%% \appendix 定義を修正
%% \thesection に \presectionname(\appendixname) を追加するのではなく
%% 以降の \section に \presectionname(\appendixname) を追加してみた
%%
%% 元と違うところ
%%   (1) 目次で「付録A」とならず「A」となる
%%   (2) \label \ref の参照で「付録」が出なくなる
%%
\renewcommand{\appendix}{\par
  \setcounter{section}{0}%
  \setcounter{subsection}{0}%
  \gdef\presectionname{\appendixname}%
%  \gdef\presectionname{}%
  \gdef\postsectionname{}%
%  \gdef\thesection{\presectionname\@Alph\c@section\postsectionname}%
  \gdef\thesection{\@Alph\c@section}%
%  \gdef\thesubsection{\@Alph\c@section.\@arabic\c@subsection}%}
  \gdef\thesubsection{\thesection.\@arabic\c@subsection}%}
% 以下,追加
  \if@twocolumn
    \renewcommand{\section}{%
      \@startsection{section}{1}{\z@}%
      {0.6\Cvs}{0.4\Cvs}%
%      {\normalfont\large\headfont\raggedright}}
      {\normalfont\large\headfont\raggedright\presectionname}}
%
  \else
    \renewcommand{\section}{%
      \if@slide\clearpage\fi
      \@startsection{section}{1}{\z@}%
      {\Cvs \@plus.5\Cdp \@minus.2\Cdp}% 前アキ
      {.5\Cvs \@plus.3\Cdp}% 後アキ
%      {\normalfont\Large\headfont\raggedright}}
      {\normalfont\Large\headfont\raggedright\presectionname}}
  \fi
}
\makeatother
をプリアンブルに書いておけばよいようです.

2013年6月20日木曜日

Black Sabbath "13"を購入しました.

Black Sabbathは好きなバンドですが,"Never Say Die"と"Sabotage"は持っておらず,一番好きなアルバムは"Headless Cross"という人間です."Headless Cross"は高校生時代に1日2回をほぼ毎日1年近く聴いていた記憶があるので,少なくともこれまでに500回以上聴いた作品だと思います.自分が聴いたCDの中で最も再生回数が多いかもしれません.

勿論初期Sabbathも好きで,一時期Doom, Storner, Sludge関連の音楽をよく聞いていました.そんな私が新作"13"について言えることは,"スタジオアルバムを16枚以上持っている人にはオススメ"ということです.

"Black Sabbath"を彷彿とさせる1曲目から始まり,"N.I.B"とリフがそっくりな3曲目の"Loner"があるなど,過去のイメージを体現しようとしているアルバムだと思います.個人的に一番気に入ったのはブルース色の強い7曲目の"Damaged Soul"です.デラックスエディションを購入したのですが,Web上で他のどなたかが書かれていたように,Bonus Trackのほうがのびのびと演奏している感があります.

肝心のギターリフはあまり印象に残るものがありませんでした.正直,Heaven and Hellの"The Devil You Know"のほうが良いアルバムだと思います.ライナーノーツにあるように,Heavy Metalになる以前のBlack Sabbathを意識して作られているのが原因かもしれません.Ozzy時代の曲調に戻るにはアイディア不足な感が否めません.Black SabbathのHeavy Metalは曲に何故か気品や威厳のようなものが漂っていて,それが他のバンドには真似のしようがない特徴でもあり,その音も好きなのでこのような印象を持ってしまうのかもしれません.

Black Sabbathの前作"Forbidden"から18年も経っているそうです.Forbiddenはあまり良い評判を聞かないのですが,あれは非常に良いアルバムです.名盤です.今作に入っているギターリフよりも遥かによいリフが詰まっています."13"よりは100倍はよいアルバムです.Tony Iommiは気に入っていないようですが."13"を手にする前に,"Dehumanizer"や"Forbidden"を購入していない人はそちらから聞くべきだと思います."Cross Purposes"あたりはどっこいどっこいかも.Black Sabbathの過去の作品を全て聴いていないので偉そうなことは言えませんが,"13"を聴くなら過去の作品とHeaven and Hell名義のアルバムを聴いてからでもいいんでないの?ということです.

考えてみると,Black Sabbathのアルバムをリアルタイムで購入したのは"Reunion"と今作だけです."Headless Cross"や"Tyr"は入手当時廃盤になっていて手に入れるのに非常に苦労した記憶があります.

2013年6月18日火曜日

Agua e Vinho ギター独奏(Daniel Wolf 編曲)

YouTubeで動画を見ていたらギターが弾きたくなってしまい,
先日サイレントギターを購入しました.
10年ぶりくらいに弾くので,昔弾いていた曲も完全に忘れてしまいました.
タルレガのラグリマくらいは弾けていたと思うのですが,楽譜が読めず体で覚えていただけだったので,全く思い出せません.

GismontiのAgua e Vinhoの動画を見ていたら,Daniel Wolfという人が編曲したバージョンがよく,しかも本人のサイトで楽譜データを販売していたので勢い余って購入してしまいました.いつかは弾きたいと思うので,その動画を貼付けておきます.



2013年6月11日火曜日

Revolvo "Fireworks"

先日Revolvoの記事を書いたばかりですが,2ndアルバム"The End Starts Here"からの曲"Fireworks"のPVを見つけたので貼付けておきます.



この曲はアルバムの3曲目で,続く4曲目の"Gone Away"も中々の佳曲だと思います.興味を持たれた方は購入してみてはいかがでしょうか.
しかし再生回数が300回ちょっとというのがなんとも残念な気がしてなりません.1stはAmazonなどで中古がかなり安く手に入ります.
最初に聴くべきは1stですが,1stが気に入れば損はしないと思います.ここまで注目されていないと応援したくなってきます.

それ以外にも1stアルバム収録曲"Moscow Mule"のPVも見つけたので貼っておきます.

2013年6月8日土曜日

ニュー・シネマ・パラダイス ギター独奏

ニュー・シネマ・パラダイスのギター独奏動画で気になったものを集めてみました.
ニュー・シネマ・パラダイスは大好きな映画で,完全版を含めてこれまで25回は見ています.
久しぶりにギターが弾きたくなってきました.

YouTubeで最初にギター独奏の動画を探していたときに,プロの方と思しき動画はアレンジ過多で原曲の良さを損なっている感じのものが多かったのですが,次の動画はシンプルでよいと思います.どうやらギター教本の販促動画のようです.










次の動画はここに挙げた動画の中で原曲の雰囲気を最も反映していて決定版だと思います.他の編曲は運指に無理がありたどたどしくなっているところがありますが,この編曲・演奏ではそういった部分が感じられません.

2013年6月5日水曜日

Greenmachine "Black Summer", "Hammer and Burner"

Greenmachineは金沢のバンドで,表題の曲が収録されているアルバム"The Archives of Rotten Blues"は再結成時に2004年に発表されたものです.
Greenmachineを知ったきっかけは,当時大学の近所の中古CD屋のワゴンセールにミニアルバム(?)の"D.A.M.N"が100円で投げ売りされており,100円なら買ってもいいかというノリで購入したことを覚えています.当時はドゥーム・ストーナーロックといったジャンルはほとんど知らず,Cathedralの2ndと3rdを持っていたくらいだったと思いますが,何曲か気になる曲があり,その後フルアルバムの"The Earth Beater"を買ってスゲエと思った記憶があります.

個人的には"The Earth Beater"が音的にも最も好みで一番気に入っているのですが,"The Archives of Rotten Blues"の音塊がぶつかってくるような感じも良いです.購入当時は"The Earth Beater"路線を期待していたので,タイトでメタリックになった音質と,うねりやグルーヴ感が後退したように感じて少しガッカリした記憶があります.改めて聴くと非常に良いのでオススメですが,CDは廃盤になっているようです.

アルバムの最初の曲である"Black Summer"のPVと"Hammer and Burner"の動画を貼付けておきます.



2013年6月4日火曜日

Revolvo "Silver Streak"

Revolvoはスウェーデンのインディーロックバンドで,2002年にアルバム"Revolvo"でデビューし,当時は日本版も発売されました.これがなかなか良いアルバムだったのですが,その後音沙汰がなく解散したものと思っていました.

ところが改めて調べてみたところ,2012年に10年ぶりのアルバム"The End Starts Here"を発表しており,現在でも活動を続けているようです.しかしレーベルがOvlover Recordsになっているので,自主制作っぽいです.CDで販売しておらず,iTunesやAmazonでmp3音源のみが購入可能な模様です.早速購入してみたのですが,前作には及ばないものの良作です.もう少し聴き込んでみたいと思います.

表題は1stアルバムからの曲です.動画を貼付けておきます.

2013年5月31日金曜日

Subarbomg "Hello"

ここ2〜3週間,散らかりまくった部屋の整頓をしています.ベッドや机をゴミに出したり,IKEAに行って新たな机や本棚を買いそろえたりで結構楽しいものです.

そんな中,これまでCDを収納するスペースが無かったため段ボール箱に入れていたのですが,これが4箱ほどあって邪魔でしょうがないので,省スペースのケースに入れ替える作業を進めています.ついでにiTunesに取り込む作業も平行して行っています.ここ10年程で買ったCDは懐かしいと思えるのですが,それ以前のものは趣味が悪いなーとか思いつつ未だに聴き直したくなるものも多いのでなかなか処分出来ません.

表題のSugarbombの"Hello"という曲は,2001年に発売されたアルバム"Bully"に収録されている名曲です.ジェリーフィッシュなどが好きな人はチェックしていたのではないでしょうか.Wikiを見ると"Bully"は2ndアルバムで,1stはもはや手に入らない状況のようです.同じくWikiによると2009年まで活動していた様子なのですが,残り8年間は何をしていたのか気になります.とにかく"Hello"は名曲なので多くのpop好きの人に聴いて欲しい1曲です.歌詞もシンプルで好きなのですが,最後の"Would you do the same for me"はいらないかな.



もしかしたらしばらく懐かしい曲シリーズの紹介をするかもしれません.
Student Rickなんかもよかったなあ.

2013年5月17日金曜日

It's a musical "Summer Break EP"

TowerRecordsの視聴コーナーで視聴して即買いしました.
今日来日公演があるらしいですが,知るのが遅すぎた…
現在アルバムは"Music Makes Me Sick"と"For Years and Years"の2枚が出ている模様."For Years and Years"は手に入れましたが,これも良作品です.最近は表題のEPとこればっかり聴いています.

Further Seems Forever "So Cold"

Further Seems Foreverが初代のボーカルであるクリス・カラバを迎えて再結成されていたことを最近知りました.個人的には1stのthe moon is downを聴き込み,クリスが脱退後はDashboard Confessionalを買ってみたもののFurther Seems Foreverを期待しすぎていて馴染めず,2ndのhow to start a fireを買ってみたものの1stには及ばないなと思い,それ以降チェックしていませんでした.

"So Cold"のMVがよかったので貼付けておきます.


クリス以外は巨漢ぞろいなんですね.この人たちからこんなエモい楽曲が生まれるのか…

2013年4月29日月曜日

Camera Obscuraの新アルバム"Desire Lines"は6月3日発売

最近あまり熱心に音楽を聴いていないのですが,Camera Obscuraは新作を楽しみにしている数少ないバンドです.

公式HPで新作"Desire Lines"が6月3日発売であることのお知らせがあり,新曲"Do It Again"の視聴ができるようになっていたので新曲の動画(静止画?)を貼付けておきます.



そこまでインパクトがある曲ではないような気もしますが,あと一ヶ月楽しみに待ちましょう.


2013年4月14日日曜日

LaTeXのenumerate環境

使ってはいけない LaTeX のコマンド・パッケージ・作法という記事を拝見しました。enumerate.styパッケージは古いのでenumitem.styパッケージに切り替えるのがおすすめだそうです。かといって
\begin{enumerate}[(i)]
\item ほげほげ
\end{enumerate}
というような記述をしていると、単純にスタイルファイルをenumitem.styに切り替えるだけではエラーメッセージが出ます。このあたりは対策も用意されているようで、
\usepackage[shortlabels]{enumitem}
のようにオプションとしてshortlabelsを指定しておくと上記のような記述でもエラーがでなくなります。ソースを徐々に書き換えていかなければいけないなあ…。

Times系のフォントもnewtx.styという新しいものが出ていたらしいです。後半は知らないことが多かったので勉強になりました。

2013年3月30日土曜日

mdframed.styで定理環境を装飾する

追記:2016/05/21 定理環境をmdframed.styからtcolorbox.styに変更しました

LaTeXにおいて定理環境を枠で囲む方法は色々あるようですが、最近はthmtools.styを使っていました。ただ、枠線が通常の定理環境の外側に引かれるらしく、overfull \hboxの警告が大量に出ることや、定理環境がページを跨ぐことが出来ずレイアウトが大きく崩れることがあるのが気になっていました。

最近mdframed.styなるパッケージがあることを知り、少しずつ試していたものの、pstrickやtikzを使って描画するオプションをつけるとエラーが発生して使い物にならないためしばらく放置していました。どうやらpdftexを使ってタイプセットすることを前提としている節があり、日本語platex環境ではdefaultのオプション以外は使えないようです。

今現在試している自分の設定を晒しておきます。mdframed.styはMacTeX2012やTeXLive2012には標準で含まれているはずです。プリアンブルに以下を記述しておきます。

\usepackage{amsthm}
\usepackage{xcolor}
\usepackage{mdframed} %複数ページをまたぐフレーム
\theoremstyle{definition}
\mdfdefinestyle{theoremstyle}{%
linecolor=gray!40,linewidth=.5pt,%
backgroundcolor=gray!10,
skipabove=8pt,
skipbelow=5pt,
innerleftmargin=7pt,
innerrightmargin=7pt,
frametitlerule=true,%
frametitlerulewidth=.5pt,
frametitlebackgroundcolor=gray!15,
frametitleaboveskip=0pt,
frametitlebelowskip=0pt,
innertopmargin=.4\baselineskip,
innerbottommargin=.4\baselineskip,
shadow=true,shadowsize=3pt,shadowcolor=black!20,
theoremseparator={.},
}
\mdtheorem[style=theoremstyle]{defi}{$\blacklozenge$定義}[chapter]
\mdtheorem[style=theoremstyle]{prop}[defi]{$\blacklozenge$命題}
\mdtheorem[style=theoremstyle]{theo}[defi]{$\blacklozenge$定理}
\mdtheorem[style=theoremstyle]{lem}[defi]{$\blacklozenge$補題}
\mdtheorem[style=theoremstyle]{coro}[defi]{$\blacklozenge$系}
\mdtheorem[style=theoremstyle]{axiom}[defi]{$\blacklozenge$公理}

見た目は次のようになります。陰が無いと少し寂しい感じになるのでつけてみました。
しかしページを跨ぐときにも陰がついてしまうのが困り者です。


うーん。これじゃない感が払拭出来ませんが、thmtoolsのときよりはマシになったかも。ちなみにoverfull \hboxの警告は少なくなったものの、bad breakというmdframedの警告が大量に出るようになりました。

2013年3月8日金曜日

Astor Piazzolla タンゴ組曲その他の動画


ピアソラのタンゴ組曲といえば、アサド兄弟のために作曲され、演奏も決定版はアサド兄弟によるものですが、他にもいくつか良いものを見つけたので貼付けておきます。





結局アサド兄弟の演奏に似たのが良いと感じてしまうようです。


AA印の悲しみも大好きな曲の1つですが、個人的には原曲に近いほうが好みです。


モサリーニさんのバンドの演奏もよいです。8:00辺りのパートで胸を抉られるような気分になります。
自分の葬式とかでかけて欲しい曲ですね。

1997年にピアソラ没後5周年企画で、ピアソラの全てという番組がNHKで放送されました。
私は当時ピアソラのことを全く知らず、メタラーだったのですが、この番組を見て魅了されてしまった記憶があります。

トロイロ組曲からzitaという曲です。トロイロ組曲ではescolasoという曲が好きなのですが、アサド兄弟以外の演奏で好みのものが見つからなかったのでこの辺で。


2013年2月8日金曜日

Macでdjvuファイルのしおりの編集

djvuは画像圧縮方式であり、その圧縮方式を用いた文書形式のことです。djvu方式はスキャンした文書の圧縮に特化されていて、pdfと比べて同程度の解像度に見えるファイルでもファイルサイズがかなり小さくてすむことが特徴です。

最近、TrevesのTopological Vector Spaces, Dstributions and KernelsのDover版が出ていたので購入して読んでいたのですが、やはり英語は疲れるので訳書の「位相ベクトル空間・超関数・核」を購入して読み進めています。大昔に70ページ程読んで挫折した経験があり、今は過去に作ったノートを参考に50ページあたりまで読み進めてきました。

このトレーブの本を自炊してpdf化したのですが、上巻で50MB程あり、iPadで読むにも動作がもっさりしているのでdjvu文書に変換してみました。djvudigitalコマンドを使ってみると若干視認性は落ちたものの、サイズは13MBほどになりました。

pdfファイルをdjvuファイル化するには、他にpdf2djvuを使う方法もありますが、こちらはファイルサイズの低下があまり大きくないので見送りました。

pdf2djvuではpdfファイルのしおりが引き継がれますが、djvudigitalではしおりが引き継がれません。UbuntuではdjvusmoothというGUIでしおりが編集出来るソフトがあるのですが、macportsにはこれがなく、自分でビルドすることも出来なかったので別の方法を探していました。

結果的に、djvulibreのコマンドラインツール群に含まれているdjvusedを使えばしおりを付け加えることが出来ました。具体的には、例えばbookmarks.txtというテキストファイルに以下の形式でしおりの内容を保存しておきます。

(bookmarks
("Title" "#1")
("My Chapter 1" "#5"
("Sub Chapter 1" "#5")
("Sub Chapter 2" "#15"))
)

次にターミナルで

djvused file.djvu -e 'set-outline bookmarks.txt' -s
と打てば、file.djvuというdjvuファイルにしおりが追加されます。しおりは元のファイルのものを上書きしてしまうので注意が必要です。ファイルからしおりを抜き出すには
djvused file.djvu -e print-outline file.djvu > output.txt
とします。これでfile.djvuのしおりがoutput.txtというテキストファイルに書き出されます。

他にも、djvuファイルの特定のページを削除したければdjvmコマンドを使って
djvm -d file.djvu 1
のように、djvm -d [filename] [pagenumber]のような記述をすればよいようです。