LaTeX、DVI、PostScript、PDF、図表作成に関するHOWTO集
目次
数式番号が余白部分に大きくはみでる場合に自動的に下に移動する
通常のequationやeqnarray環境でなく,AMS-LaTeXのequationやalign環境を使う。
\usepackage{amsmath}
%... (中略) ...
\begin{align}
1 + 2 + 3 + 4 + 5 + 6 + 7
\end{align}
スタイルファイルを生成する
入手した.insファイルをlatexで処理する.
例えば
tools.insだったら次の通り.
latex tools.ins
セクション番号が挿入されない問題を解決する
ありうる原因
- クラスファイル中で\sectionが定義されていない
- カウンタsecnumdepthが設定されていない,またはその値が0
寸法変数(dimension)を使う[マクロ]
クラスファイル/スタイルファイル内のみで有効な記法
定義
\newdimen <name>
代入
<name> = <value>
<name> <value>
加算
\advance <name> <value>
減算
\advance <name> -<value>
乗算
<name1> = <multiplier> <name2>
<name1> <multiplier> <name2>
例:
\newdimen \narrow_margin 10mm
\advance \narrow_margin 5mm
\total_margin = 2 \narrow
表の列幅が自動調整されるようにする
tabularx環境を使う
\usepackage{tabularx}
% ... 中略 ...
\begin{tabularx}{250pt}{|c|X|c|X|}
1 & この列の幅は自動調整される & 2 & この列の幅は自動調整される
\end{tabularx}
dvipdfmxで生成するPDFにフォントを埋め込む
1. gs_pdfwr.psを変換対象のDVIファイルがあるディレクトリにコピーする.
gs_pdfwr.psへのパスは次の通り.
Debian/GNU Linuxの場合:
/usr/share/gs-esp/8.15/lib/gs_pdfwr.ps
Windowsの場合:
GhostScriptのインストール先をC:\gs\とすると,
C:\gs\gs8.54\lib\gs_pdfwr.ps
2.gs_pdfwr.psを編集する
下記の部分を
/.standardfonts [
/Courier /Courier-Bold /Courier-Oblique /Courier-BoldOblique
/Helvetica /Helvetica-Bold /Helvetica-Oblique /Helvetica-BoldOblique
/Times-Roman /Times-Bold /Times-Italic /Times-BoldItalic
/Symbol /ZapfDingbats
] readonly def
次のように編集(コメントアウト)する.
/.standardfonts [
% /Courier /Courier-Bold /Courier-Oblique /Courier-BoldOblique
% /Helvetica /Helvetica-Bold /Helvetica-Oblique /Helvetica-BoldOblique
% /Times-Roman /Times-Bold /Times-Italic /Times-BoldItalic
% /Symbol /ZapfDingbats
] readonly def
3. 欧文基本フォント用のマップファイルを変換対象のDVIファイルがあるディレクトリにコピーする
欧文基本フォント用のマップファイルへのパスは次の通り.
Debian/GNU Linuxの場合:
/var/lib/texmf/fonts/map/dvipdfm/updmap/dvipdfm_dl14.map
Windowsの場合:
TeXのインストール先をC:\texとすると
C:\tex\usr\local\share\texmf\fonts\map\dvipdfm\base\dlbase14.map
4. 以下のようにdvipdfmxを実行する.
変換対象のDVIファイルをtest.dviとすると,
Debian/GNU Linuxの場合:
dvipdfmx -f dvipdfm_dl14.map test
Windowsの場合:
dvipdfmx -f dlbase14.map test
Inkscapeでギリシャ文字を挿入する
Unicodeスカラ値による文字入力機能を利用する.
- テキストオブジェクトを追加する
- ギリシャ文字に対応しているフォントを選ぶ(例:WindowsならTimes New Roman)
- テキストオブジェクトの編集状態でCtrlキーを押しながらUキーを押す.
- ギリシャ文字に対応するUnicode文字コード(unicode.org)をキー入力する.
- Enterキーを押す
- 結果として対応する文字が表示される
Postscriptファイルをテキストエディタで編集してギリシャ文字を書き込む
標準フォントのSymbolを指定して,showコマンドを使う.このとき文字に対応する8進コードを使う.
例えばsigmaは\163で表わされる.
/Symbol findfont
10 scalefont
setfont
(\163) show
Gnuplotなどで生成したepsファイルは,そのファイル中で定義したオペレータを使っているので,
その書式に従って文字列の箇所に所望のギリシャ文字に対応する8進コードを記述する.
[ [(Symbol) 250.0 0.0 true true 0 (\163)]
] -58.3 MLshow
この例では,"MLshow"というオペレータを用いている.
後置記法(= postscript)でオペレータ"MLshow"が指定されている.
ImageMagickのconvertでEPSファイルの変換ができない問題を解決する[Windows]
問題: 次のようなメッセージが表示され,EPSから別のファイルへの変換が行えない.
$ convert test.eps test.png
covert.exe: unable to create temporary file `test.eps': Permission denied
convert.exe: missing an image filename `test.png'.
原因: 管理者権限がないユーザには書き込み不可の領域がデフォルトの一時ファイルの作成場所として指定されていること.
解決策: 一時ファイル作成場所を指定する環境変数 MAGICK_TMPDIRで,カレントディレクトリを指定する.
Cygwinを使っていて,.bashrcなどに設定を書くなら,次のようにする.
export MAGICK_TMPDIR="./"
(パスの記述はUnix式でよい)
[システムのプロパティ]→[詳細]→[環境変数]でも同様.
複数の画像の指定部分を切り取って別ファイルに保存する(ImageMagick convert)
問題: ウィンドウのスクリーンショットからタイトルバーや縁を取り除きたい
解決策: ImageMagick convert の -crop オプション(上書きの場合は ImageMagick mogrify を使用)
convert -crop 640x480+4+49 raw.png cropped.png
640x480はサイズ, +4+49はx, y座標オフセット(原点:画像左上角,x軸正方向:右向き, y軸正方向: 下向き)
複数のファイルに対して処理する(Bash使用)
for f in *_raw.png; do convert -crop 640x480+4+49 $f ${f%_raw.png}_cropped.png; done
最終更新:2010年11月28日 19:29