Home > Archives > 2005年02月

2005年02月

Ghostscript と Prosper のインストール

ノートPCの再インストールの一過程を記録.

ちょっとバージョンは古いが,日本語をうまく扱う GNU Ghostscript 7.07 Windows 版をインストールする.

とりあえず以下のファイルをダウンロードする.

そしたらまず,gs707w32full.zip を適当なところに解凍して,展開された setupgs.exe を実行してインストールを行う.もしインストールディレクトリが C:\gs でないときは, gs_res.ps を編集する必要がある.例えばインストール先が c:\ptex\gs ならば,C:\ptex\gs\gs7.07\lib\gs_res.ps の 252行目あたりで

  /FontResourceDir (c:/ptex/gs/gs7.07/Resource/Font/) readonly .forcedef % pssys
  /GenericResourceDir (c:/ptex/gs/gs7.07/Resource/) readonly .forcedef % pssys'p

と変更する.そして,c:\ptex\gs\gs7.07\lib;c:\ptex\gs\gs7.07\bin; を path に追加しておく.

次に,フォント回りの設定をするため,以下のディレクトリを作成する.

c:\ptex\gs\gs7.07\Resource\
c:\ptex\gs\gs7.07\Resource\Font
c:\ptex\gs\gs7.07\Resource\CMap
c:\ptex\gs\gs7.07\Resource\CIDFont

そして,適当なディレクトリでダウンロードした acro5-cmaps-2001.zip と adobe-cmaps-200204.zip を解凍し, それぞれの CMap というディレクトリを c:\ptex\gs\gs7.07\Resource\ に順にコピーする.最終的に CMap ディレクトリに 217個のファイルが入っていればよい.ここまででとりあえずの設定は終了で,c:\ptex\gs\gs7.07\examples\cjk に移って,

gswin32c gscjk_aj.ps

と実行して正しく日本語が表示されていればよい.

さらに, PDF 作成時にフォントを埋め込まないようにするために,c:\ptex\gs\gs7.07\lib\ps2pdfxx.bat の26行目あたりを

echo -c .setpdfwrite -f %1 >>_.at2

から

echo -c .setpdfwrite ^<^</NeverEmbed [/Courier /Courier-Bold /Courier-Oblique /Courier-BoldOblique /Helvetica /Helvetica-Bold /Helvetica-Oblique /Helvetica-BoldOblique /Times-Roman /Times-Bold /Times-Italic /Times-BoldItalic /Symbol /ZapfDingbats /Ryumin-Light /GothicBBB-Medium]^>^> setdistillerparams -f %1 >>_.at2

に変変更する.(長いけど一行で).確認として c:\ptex\gs\gs7.07\examples\cjk に移って,

ps2pdf14 gscjk_aj.ps gscjk_aj.pdf

でうまく PDF が作成されれば良い.

以上で Ghostscript のインストールは終了したので,次に Prosper のインストールをする.とりあえず http://prosper.sourceforge.net/ から, prosper-1.00.4.tar.gz をダウンロードする.そして,latex のスタイルファイルの置いてあるディレクトリ,例えば C:\usr\local\share\texmf\tex\latex\misc に prosper-1.00.4.tar.gz を展開する.追加のテーマを使うならば,contrib-prosper-1.0.0.tar.gz もダウンロードして prosper/contrib ディレクトリに展開する.

これで Prosper を使うことができるのだが,dvi -> ps -> pdf という変換の際に用紙サイズの指定をきちんとやらないと端が切れることがある.また,しおりが文字化けする可能性もある.そのため,変換は以下のようなコマンドで行う必要がある.

dvipsk -t a4 -Ppdf -z -f test.dvi | bkmk2uni > test.ps
ps2pdf test.ps test.pdf

(ひょっとしたら ps2pdf でもサイズ指定がいるのかも...)

C#-mode (csharp-mode)

Meadow/Emacs の C#-mode (csharp-mode) を発見.http://www.davh.dk/script/ で公開されている.csharp-mode.el を site-lisp ディレクトリに入れて,.emacs に

 (autoload 'csharp-mode "csharp-mode" 
   "Major mode for editing C# code." t)
 (setq auto-mode-alist (cons '( "\\.cs\\'" . csharp-mode ) auto-mode-alist ))

のエントリを追加すると使用可能.

Visual Studio.NET2003 を持っているにもかかわらず,Meadow で書いてコマンドラインでコンパイルするというあほなことをやっている.

ちなみに,コマンドラインでコンパイルするには

C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\vcvars32.bat

を実行して環境変数を適当に設定させるらしい.

GNUPlot Tips - eps オプション

EPS 出力の際のオプションで solid をつけると実線のみになる.dashed で通常通り点線がでる.dashlength で点線の長さ指定.lw 3 とかでデフォルトの線の太さを変えられる.などなど.

set terminal postscript eps color solid lw 3

GNUPlot Tips - key

グラフの線のタイトルは通常グラフの右上部に出力されるが,これを左側に移動することができる.

set key left

右上がりのグラフの描画時にはありがたい.

GNUPlot Tips - boxes

Box で棒グラフを描くときに,棒の幅を指定できる.こんな感じで.

set boxwidth 0.3 relative

通常に比べて幅が 0.3 倍になる.これで幅を縮めておいて棒グラフの中心をずれしておけば,複数の棒グラフをうまく並べてきれいに描くことができる.

GNUPlot Tips - データのフォーマット

x 軸を時間で指定するには,xdata, timefmt, format をいじる.

例えば,"HH:MM"という時間を使いたいときは,

set xdata time
set timefmt "%H:%M"
set format x "%H:%M"
set xrange 00:00":"23:10
set xtics "00:00", 10800, "24:00"

みたいに書く.%H は時間(0-23),%Mは分(0-59)を表す.timefmt は入力のフォーマットを指定していて,ファイルに書かれているデータやレンジ指定のところのフォーマットになっている.なので,入力データは例えば

00:17 37
00:18 38
00:18 39
00:20 40
00:20 41
00:21 42
00:21 43

みたいになっている.で,format は出力(xtics)のフォーマットを指定している.注意としては, xtics のインクリメントの指定などは秒単位となる.

LaTeX の無理やり Tips - フォント指定(2)

前に書いたようなフォントの直接指定をやると,たとえば本文ではフォントが指定したとおりだが,theorem 環境(newtheoremで作った環境)ではフォントがデフォルトに戻ってしまう.これは,新しい環境などのはじめにデフォルトフォントへのフォント設定が記述されているからだ.

これらのデフォルトのフォントを指定のためのコマンドは

\encodingdefault  % encode の指定(良くわからない.普通はいじらない)
\familydefault      % family の指定(Times Romanとか)
\seriesdefault     % series の指定(Boldとか)
\shapedefault     % shape の指定(Italicとか)

などがあり,これらを再定義することでデフォルトを変えることができる.

\renewcommand{\familydefault}{ptm} % Adobe Times
\renewcommand{\seriesdefault}{b}    % Bold
\renewcommand{\shapedefault}{sc}   % Small Caps

より詳しくは The LaTeX コンパニオン とかを見ましょう.

LaTeX の無理やり Tips - フォント指定

参考は http://www.biwako.shiga-u.ac.jp/sensei/kumazawa/tex.html

\fontfamily{ptm}\fontseries{bx}\fontshape{sc}\selectfont

などでフォント指定できるらしい.以下の組み合わせの最後に \selectfont をおくらしい.より詳しくは The LaTeX コンパニオン とかを見ましょう.

Family:
 \fontfamily{cmr} Computer Modern Roman
 \fontfamily{cmtt} Computer Modern Typewriter
 \fontfamily{pcr} Adobe Courier
 \fontfamily{phv} Adobe Helvetia
 \fontfamily{ptm} Adobe Times
 \fontfamily{txr} Times Roman
 \fontfamily{pxr} Palaino
Series:
 \fontseries{bx} Bold(?)
 \fontseries{b} Bold
 \fontseries{m} Medium
Shape:
 \fontshape{it} Italic Shape
 \fontshape{sl} Slanted Shape
 \fontshape{sc} Small Caps Shape

LaTeX の無理やり Tips - セクションタイトルのまわりの空白制御

とりあえず,article.cls を読んてみると,section などの空白は以下の定義の@startsection に渡している数字部分で指定されているとわかる.4つ目の引数がタイトルの上,5つ目がタイトルのしたの空白である.これをいじれば空白を小さくできる.

\renewcommand\section{\@startsection {section}{1}{\z@}%
            {-2.0ex \@plus -1ex \@minus -.2ex}%
            {0.3ex \@plus.2ex}%
            {\fontfamily{ptm}\fontseries{bx}\fontshape{sc}\selectfont\Large}}

@startsection はセクションの本体で latex/base/latex.ltx に定義されている.一つ目の引数が環境名,二つ目がレベルである.star(*)付は @ssect に分岐,普通のは @sect に分岐する.@sect のなかでは \@seccntformat でセクション番号のフォーマットをするらしい.ただし,引数は section とかの環境の名前のみなので注意.レベルが1のときだけピリオドを出力するには, @sect もハックしなければならない.

\def\@seccntformat#1#2{%
\csname the#1\endcsname%
\ifnum #2=1\relax .\fi
\quad}
\def\@sect#1#2#3#4#5#6[#7]#8{%
  \ifnum #2>\c@secnumdepth
    \let\@svsec\@empty
  \else
    \refstepcounter{#1}%
    \protected@edef\@svsec{\@seccntformat{#1}{#2}\relax}%
  \fi
...

Meadow で Ispell

論文のスペルチェックに ispell を Meadow から呼ぶ.TeX のマクロとかを無視してくれるので楽.使い方は以下のとおり?

C:\Meadow\pkginfo\ispell\dot.emacs の中身を自分の .emacs へ.これやらないと辞書が見つからんと怒られる.

これで,M-x ispell や M-x ispell-buffer で ispell がかかる.あとは,間違いのところで候補の番号を押すか, i で登録とかする.

ちなみに,改行なしの長すぎる文章を ispell に渡すと帰ってこなくなるので,

C-x h
M-x fill-region

で適当に折り返しておいてから ispell をかけるべし.

Home > Archives > 2005年02月

Search
Feeds

Page Top