gnuplotのsvg出力でフォントを設定し,inkscapeで編集する

2013/05/16未分類import
svgのグラフでローマン体を使って出力したい場合は次のように設定を行う.
set term svg enhanced mouse size 600,400 fname "Times New Roman"
注意しなければならないのは,inkscapeに登録されいるフォント名を指定しなければならないということ.
Times New Romanを指定したい場合は素直に"Times New Roman"とする.
(gnuplotのEPS出力等では"Times-Roman"など別の名前にする必要がある.)
inkscapeではフォントは(半角スペースを含んだ)半角英数で登録されている.
文字入力モードで選択できるフォント名をそのまま指定する形になる.

dviout abort automatic font generation

2013/04/30未分類import
これまでWindowsでTeX環境を整えるときは専ら
TeXインストーラー3というプログラムを利用させていただいていた.
これは非常に簡単にTeX環境構築ができるのでオススメである.

今回ThinkPadのOSの再インストールを行った関係で久しぶりにこのプログラムを使わせていただいたのだが,
珍しくエラーが出たのでメモしておく.

dvioutでフォントがうまく生成されず,
"dviout abort automatic font generation"というようなエラーが出た.

エラー表示を見たり,TeX環境の再インストールを何度か行ったりしたが,
結局dvioutのTEXROOTの値に"C:\w32tex\share\texmf-dist\fonts"というパスを追加することで解決した.
設定する場所はdvioutを起動して,[Option]→[Setup Parameters ...]の[Font]タブである.
該当箇所を追記し,変更を適用してSaveする.

TeXWikiのdvioutのページを見て修正した.
ここによれば,2013年4月8日以降のW32TeXではこの対策をしないとダメらしい.
dviout側で対策がされるまではこの手動設定が必要みたいである.

vimで行頭に一括で記号を挿入・削除

2012/11/27未分類import
調べたらありました.
コメントアウトの設定・解除や,タブの挿入・削除に便利だと思う.

記号を挿入

  1. 挿入したい行の先頭で"Ctrl + v"(ビジュアル 矩形モード)
  2. jやk(あるいは方向キーの↑↓)で範囲選択
  3. 大文字のIで("Shift + I"で)挿入モードへ
  4. 挿入したい文字列を入れる.
  5. "Esc"(あるいはCtrl + [でもよい)を押すと選択したすべての行に文字列が挿入される.

記号を削除

  1. 削除したい行の先頭で"Ctrl + v"(ビジュアル 矩形モード)
  2. jやk(あるいは方向キーの↑↓)で範囲選択
  3. d
これによって行頭の1文字が削除されます.

矩形モードのため,行頭でない場所で上記それぞれの1を実施するとそこに文字列が挿入されます.
応用範囲は広いでしょう.矩形モードの詳細は検索するとたくさん見つかりますのでそちらをご参照ください.

vimでdiffを使う

2012/10/29未分類import
編集ファイルを開いた上で,コマンドモードで次のコマンドを入力する."filename"が比較したいファイルの名前だ.
:vertical diffsplit filename
そうすると,色付けされた差分が縦(左右)分割で表示される.
"vertical"オプションをつけないと横(上下)で分割されて表示される.
おそらくverticalをつけた方が見やすいだろう(特に16:9のディスプレイを使っている場合は).

TeXで図をコード記述位置に強制的に出力する

2012/07/04未分類import

pLaTex(w32tex角藤版)での場合(2012年7月記載)

platexでは普通,図の位置はコンパイラ任せである.
複数の図を続けて記述してしまったときなどは,
		\begin{figure}[htbp] %位置指定のオプション.here, top, bottom, page(フロートで章の最後へまとめて表示)
		\begin{center}
		\includegraphics[width=30zw,bb=0 0 1280 1024]{figure/}
		\captionsetup{margin=90pt}	
		\caption{説明文}
		\label{fig}
		\end{center}
		\end{figure}	
というような書式で書いた場合,章や節の最後にまとめて図が吐き出されるということが仕様である.
位置指定のオプションで[h]とだけ指定しても失敗することが多いのである.
論文ならこれでも許容できるが,もう少しくだけた技術文書では読みづらくなり不便である.
今までは\clearpageで対応してきたのだが,もっとうまい手があるようだ.
プリアンブルで
\usepackage{here}
というパッケージを読み込み,
		\begin{figure}[H] %Hで強制的に記述した場所に図を出力できる.
		\begin{center}
		\includegraphics[width=30zw,bb=0 0 1280 1024]{figure/}
		\captionsetup{margin=90pt}	
		\caption{説明文}
		\label{fig}
		\end{center}
		\end{figure}	
というように「H」と位置指定のオプションを記述することで強制的にhereで図を出力できる.
このhereパッケージは最近のplatexのインストールパッケージ(少なくともWindows版には)に標準で入っているようだ.
ならば,使わない手はない.

LuaLaTeX(LuaTeX-ja)+jlreqクラスでの場合(2022年4月記載)

2022年4月時点では,TeX Live 2021等でパッケージをフルインストール(scheme-fullオプションでインストール)していれば,hereパッケージは導入済みである.

LuaLaTeX(LuaTeX-ja)とjlreqクラスを使って文書を作成する場合,プリアンブルに以下のような記載を最低限追加し*1
\documentclass[11pt,report]{jlreq}
\usepackage{graphicx}
\usepackage{here}
\usepackage[hang,small,bf]{caption}
\usepackage{layout}
document環境内の本文中に次のような書式で図を挿入すれば,コード記述位置に図が強制的に出力される.
	\begin{figure}[H]
		\begin{center}
			\includegraphics[width=300pt]{figure/filename.pdf}
			\captionsetup{margin=60pt}	
			\caption{説明文}
			\label{fig-label-name}
		\end{center}
	\end{figure}	
なお,図の大きさを決定するのには,同じくdocument環境内の終わりに\clearpage\layout というコマンドを記述し,
現在設定されている本文の幅・高さなどの情報を把握しておくと便利である.

挿入する画像のファイル形式について

過去のpLaTeXではEPSファイルがトラブルの起こりづらく,かつ取り扱いやすい画像ファイルとして重宝されたが,時代は変わった.
画像や図のソースはPDFさえ用意していればトラブルは起こらない*2
JPEGやPNGファイルも基本問題なく取り扱える.
煩雑だったPNGやJPEGのアスペクト比の指定*3も必要が(たぶん)なくなった.
開発されている方々には唯々感謝するばかりである.

*1 : 2012年7月記載のところにはcaptionパッケージの指定はしていなかったので,サンプルの書式をそのままコピペしてもエラーが出る場合があったと思いますが,ご容赦ください.本節追記時に気がつきました.

*2 : 品質を追い求めるなら,PDFファイルを生成するプログラムや設定に注意しなければならないが,それはEPSも同じである.

*3 : 2012年7月記載の例における『bb=0 0 1280 1024』のオプション部分.厳密にいうとバウンディングボックスという値の設定オプション.TeXを始めた頃はこれを指定しないと,JPEGファイル等の画像の縦横比が崩れるので,それら画像ファイルは画素数をいちいち調べて手入力していた…….EPSはこの操作が不要だった.