TeXメモ

変数定義

画像保存フォルダパス用の変数定義の例.プリアンブルで,

\def\figdir{fig}

などと定義.使うときは,

\includegraphics[width=0.5\linewidth]{\figdir/aaa.eps}

数式フォント

標準

font_mathnormal.gif

\mathrm

font_mathrm.gif

\mathit

font_mathit.gif

\mathbf

font_mathbf.gif

\mathsf

font_mathsf.gif

\mathtt

font_mathtt.gif

\mathcal

font_mathcal.gif

Type 3フォントの埋め込み

TeXからフォントをすべて埋め込んだPDFを作成したいときに, Type 3フォントがうまく埋め込めないことがある. Type 3(正確にはPostscript Type 3)はヒンティング情報や対応しないソフトウェアがあるということで, Adobe Readerなどで埋め込まれていないと扱われるもよう. ただ,実際にType 3を含むPDFをみると埋め込まれていないと文字が汚くなっていることがある. これを回避するためには,TeXファイルで

\usepackage{lmodern}

を記述して,lmodern (Latin Modern)を読み込むようにしたらType 3 は消えるようである (http://www.acm.org/sigs/publications/proceedings-templates のスタイルファイルで確認しただけなので他の場合では解決しないかもしれない).

余白設定

ページの余白を変更するにはプリアンブル(\begin{document}の前)で以下のように\setlengthを用いてそれぞれパラメータを設定する.

\setlength{\oddsidemargin}{0.0cm}
\setlength{\evensidemargin}{0.0cm}
\setlength{\textwidth}{16.1cm}

パラメータについては以下の図を参照.

tex_margin.jpg

\columnsep,\columnwidthは2段組の場合に適用され,\columnwidthは自動的に計算される. 図を見て分かるとおり,あまり直感的な指定ではない. geometry.styを使うともっと簡単に設定できる.

CTANのページ から

geometry.dtx
geometry.ins
geometry.pdf

をダウンロードし,下のstyファイルの作成の項を参考にgeometry.styを生成してtexファイルのあるフォルダにコピーする.

基本的な使い方としては,

\usepackage[margin=1.5cm]{geometry}

のようにusepackageでテキストの幅や余白などを設定する. 上記の例では全ての辺の余白を1.5cmにしている. また,usepackageで指定しない場合は,

\usepackage{geometry}

としておいて,プリアンブルで

\geometry{top=2.5cm,bottom=2.5cm,left=2cm,right=2cm}

と指定する.この例ではそれぞれの余白を個別に設定している. geometry.pdfに使い方が書かれているので参考に.

dtx,insファイルからstyを作成

スタイルファイル(*.sty)をダウンロードしようとしたら,*.dtxや*.insというファイルしかない場合がある. これはソースコードであり,ここからTeXコンパイルすることで*.styが得られる.

コンパイルするためにはコマンドプロンプトから,

platex test.ins

とする.ここでinsファイル名をtest.insとしている. ソースコードはdtxファイルであるが, insファイルにdtxファイルの処理内容が書かれている (makeファイルようなもの).

説明文書(dvi)を作成するにはdtxファイルを直接TeXに通す.

platex test.dtx

番号付き箇条書きのカスタマイズ

番号書き箇条書き(enumerate)環境での番号をカスタマイズする場合は, プリアンブルに以下のように記述する.

\renewcommand{\theenumi}{\arabic{enumi}}
\renewcommand{\labelenumi}{(\theenumi)}

\theenumiは番号の数値のフォーマットを示し, \labelenumiは番号全体のフォーマットである. enumerate環境では箇条書きを入れ子にできる. \theenumi,\labelenumiはそれぞれ第1段目の番号で, 第2段目以降は以下のようになる.

\labelenumii, \labelenumiii, \labelenumiv
\theenumii, \theenumiii, \theenumiv

renewcommandでこれらの再定義を行う. 上記の例だと

(1) ...
(2) ...

とアラビア数字+括弧となる.

数値のフォーマットには以下のものがある.

アラビア数字 \arabic
英子文字 \alph
英大文字 \Alph
ローマ数字(小) \roman
ローマ数字(大) \Roman

?,?としたい場合は,\textcircledを用いる.

\renewcommand{\theenumi}{\arabic{enumi}}
\renewcommand{\labelenumi}{\textcircled{\footnotesize \theenumi}}

TeXの数式をWebページなどで用いる

TeXのDVIを透過PNGに変換し,Webページなどに貼り付けられるようにする.

  1. 数式を作る
    適当なtexファイル(例:fileeq.tex)にTeXで数式を書いて,TeXを通す.
  2. PNGファイル作成
    dvipngを用いてPNGファイルを作成する.
    dvipng eq.dvi -T tight -D 300 -bd 1000 --freetype0 -Q 5 --gamma 1.1
    上記コマンドでは,余白無し,解像度300,背景透過,アンチエイリアスレベル5,ガンマ補正1.1のオプションを付けている.

IllustratorでTeXの数式を読み込む

TeXのDVIをEPSに変換することで,Illustratorなどのベクター系ソフトに数式を読み込ませることができる.

  1. 数式を作る
    適当なtexファイル(例:fileeq.tex)にTeXで数式を書いて,TeXを通す.
  2. EPSファイル作成
    コマンドプロンプトで以下を実行(カレントフォルダにeq.dviがあり,gsへのパスが通っている必要あり)
    dvips -Ppdf -E eq -o eq.eps
    gswin32c -q -sDEVICE=epswrite -sOutputFile=eq_outline.eps -dNOPAUSE -dBATCH -dSAFER eq.eps
    もしくは,上記を記述したバッチファイル(fileeq.bat)をダブルクリック実行するとeq.epsが生成される. 上記では入力ファイル名をeq.dviとしたが,任意のファイルをバッチファイルにドラッグ&ドロップで変換したい場合は,
    @echo off
    setlocal
    for %%F in (%*) do (
     echo %%F to %%~dF%%~pF%%~nF.eps
     dvips -Ppdf -E %%~dF%%~pF%%~nF -o %%~dF%%~pF%%~nF.eps
     gswin32c -q -sDEVICE=epswrite -sOutputFile=%%~dF%%~pF%%~nF_outline.eps -dNOPAUSE -dBATCH -dSAFER %%~dF%%~pF%%~nF.eps
    )
    endlocal
    pause
    と記述したバッチファイル(fileeq_dnd.bat)を用いればよい. バッチファイルのコマンドについては,Windows#n3169db1を参照.
  3. IllustratorからEPS読み込み
    Illustratorのメニューからファイル->配置を選択,2で生成した*.epsを読み込む. このとき,リンクのチェックをはずすこと.これで,数式が読み込まれる. TeXのフォントがIllustratorに入っていなければ,*_outline.epsを読み込めば,アウトライン化された数式が配置される.

読み込まれた数式は全てグループ化されている. 複数の数式を一度に生成したときは,一度グループを解除してから,各数式ごとに再グループ化すればよい.

省略記号

「・・・」など

\ldots
\vdots
\ddots

上から横,縦,斜め向き(dot3.png)

白抜き文字

mathbb_m.jpgのような文字.

  • mathbbを用いる
    \usepackage{amsmath}
    \usepackage{amsfonts}
    でパッケージを読み込み,
    \[
     \mathbb{M}
    \]
  • bbmパッケージを用いる
    \usepackage{amsmath}
    \usepackage{bbm}
    でパッケージを読み込み,
    \[
     \mathbbm{\nabla M}
    \]

文字の大きさ

10pt指定時の大きさ12pt指定時の大きさ
\tiny5pt6pt
\scriptsize7pt8pt
\footnotesize8pt10pt
\small9pt11pt
\normalsize10pt12pt
\large12pt14.4pt
\Large14.4pt17.28pt
\LARGE17.28pt20.74pt
\huge20.74pt24.88pt
\Huge24.88pt24.88pt

フォントを埋め込んだ(embedded)PDFの作成(日本語を含まない)

  1. dvipsでPostScriptファイルに変換(文書内に全角文字がないように."−",",",".",全角スペースなどに注意)
    dvips -Ppdf -t letter -G0 -o paper.ps paper.dvi
  2. ps2pdfでPDFに変換(GhostScript8.x系,gswin32c -versionで確認)
    ps2pdf -dPDFSETTINGS#/prepress -dCompatibilityLevel#1.3 -dEmbedAllFonts#true -dAutoFilterColorImages#false 
     -dAutoFilterGrayImages#false -dColorImageFilter#/FlateEncode -dGrayImageFilter#/FlateEncode 
     -dMonoImageFilter#/FlateEncode -dDownsampleColorImages#false -dDownsampleGrayImages#false paper.ps paper.pdf
    全て1行にして実行.

プログラムコード

listing環境を使う.以下にC言語にC for CUDAのいくつかの修飾子,型を追加したものを示す.

\usepackage{color}
\usepackage{listings,jlisting}

% listing環境の設定
\lstset{%
 language={C}, % 標準言語
 backgroundcolor={ \color[gray]{.96} },%
 basicstyle={ \small \fontfamily{pcr} },%
 identifierstyle={\small},%
 commentstyle={ \small\color{commentcolor} },%
 keywordstyle={ \small\color{blue} },%
 ndkeywordstyle={\small},%
 stringstyle={\small\ttfamily},
 frame={single},
 breaklines=true,
 columns=[l]{fullflexible},%
 numbers=left,%
 xrightmargin=2zw,%
 xleftmargin=2zw,%
 numberstyle={\scriptsize},%
 stepnumber=1,
 numbersep=1zw,%
 lineskip=-0.0ex,%
 morekeywords={__global__, __device__, __constant__, __shared__, %
  threadIdx, blockIdx, blockDim, %
  dim3, float2, float3, float4, int3, }%
}

をプリアンブルなどに定義して,

\begin{lstlisting}
int main(void) 
{ 
    cout << "Hello World!" << endl;
    return 0;
} 
\end{lstlisting}

などのようにする. 表示結果は以下.

code.dvi.jpg

DVIからPDFを作成するときにしおりを作る

DVIからdvipdfm.exeなどでPDFを作成するときに,PDFのしおりを自動で作成したいときは, texファイルのプリアンブルに

\usepackage[dvipdfm,bookmarks=true,%
 bookmarksnumbered=true,bookmarkstype=toc]{hyperref}
 \ifnum 42146=\euc"A4A2 \AtBeginDvi{ \special{pdf:tounicode EUC-UCS2} }\else
 \AtBeginDvi{ \special{pdf:tounicode 90ms-RKSJ-UCS2} }\fi

を追加する.

EPS画像の作り方(bmp,jpg,pngなどからの変換)

Windowsで他の画像形式から変換してEPS画像を作成するフリーソフトとしては,

などがある.まとめて変換できるので便利. ただし,非圧縮のEPSとなるので,ファイルサイズが大きくなりがちである.

圧縮EPSにする場合は,ImageMagickに付属の convert.exeを使うとよい. ImageMagickをこの辺からダウンロードして (ImageMagick-6.5.9-Q16-windows.zipなど),解凍し,その中のconvert.exeをパスの通ったところ,もしくは, 変換したい画像があるフォルダに置く.そして,コマンドプロンプトで,

convert -compress RLE example.jpg EPS2:example.eps

などとする. 圧縮形式には他にLZWやjpegなどがある. また,逆にEPSからpngなどに戻したいときは,

convert example.eps PNG:example.png

とする.

GUI操作で複数ファイルまとめて変換したい場合用に,自作のソフト fileRxEPSCreater.zip を置いておく. 解凍して,解凍したフォルダにconvert.exeを入れる.rx_eps_creater.exeを実行し,ウィンドウに変換したい画像を どんどんD&Dする.追加し終わったらEPSメニュー内から適当なものを選択する. (jpeg2epsはjpeg2ps.exeなどをダウンロードして同じフォルダに置けば使える?)

表の複数項をつなぐ

横にぶち抜く場合はmulticolumnを用いる.

\multicolumn{項目数}{出力形式}{出力したい文字列}

たとえば,

\multicolumn{2}{|c|}{項目}\\ \hline

など.

縦にぶち抜く場合はmultirowを用いる. multicolumnと異なり,multirowはusepackageでスタイルファイルを読み込む必要がある.

\usepackage{multirow}

multirowは

\multirow{項目数}{出力幅}{出力したい文字列}

幅には5mmのように直接数値を指定するか,もしくは,アスタリスク("*")を指定すると自動的に調整される. 標準だと左寄せになる.中心に寄せたい場合は,プリアンブルに以下を書き込む.

\renewcommand{\multirowsetup}{\centering}

ただし,これだとすべてのmultirowがセンタリングになる.個々に設定する場合はmulticolumnを用いればよい.

\multicolumn{1}{|c|}{\multirow{2}{*}{aaa}}

\begin{table}[htbp]
 \begin{center}
  \caption{表テスト}
  \label{tab:test}
  \begin{tabular}{|p{1cm}|c|c|} \hline
   1 & 2 & 3 \\ \hline
   \multicolumn{2}{|c|}{a} & \multirow{2}{5mm}{b} \\ \cline{1-2}
   \multicolumn{1}{|c|}{\multirow{2}{*}{c} } & d &  \\ \cline{2-3}
    & e & f \\ \hline
  \end{tabular}
 \end{center}
\end{table}

この場合の出力は以下.

table_test.jpg

色を付ける

パッケージcolor.sty

\usepackage{color}

{}で囲んだところだけ色が付く

\textcolor[rgb]{0.32,0.11,0.8}{文字}	% RGB
\textcolor[cmyk]{0.32,1.0,0.8,0.0}{文字}% CMYK
\textcolor[hsb]{0.32,0.11,0.8}{文字}	% HSB
\textcolor[gray]{0.4}{文字}		% グレースケール

or

\textcolor{red}

red, blue, cyan, green, yellow, magenta, black, whiteがあらかじめ定義されている.

以降すべて色が付く

\color{blue}
\color[rgb]{1.0, 0.0, 0.0}

°や℃の表現

\newcommand{\Deg}{\char'27\kern-.3em}
 \newcommand{\DegC}{\char'27\kern-.3em\hbox{C} }

図環境のテンプレート

図が1つの場合

\begin{figure}[htbp]
 \begin{center}
  \includegraphics[width=0.5\linewidth]{fig/fig.eps}
  \caption{-}
  \label{fig:}
 \end{center}
\end{figure}

図を2つ以上並べる場合.

\begin{figure}[htbp]
 \begin{center}
  \begin{tabular}{cc}
   \includegraphics[width=0.5\linewidth]{fig/fig1.eps} &
   \includegraphics[width=0.5\linewidth]{fig/fig2.eps} \\
   (a) & (b) \\
   \includegraphics[width=0.5\linewidth]{fig/fig3.eps} &
   \includegraphics[width=0.5\linewidth]{fig/fig4.eps} \\
   (c) & (d) \\
  \end{tabular}
  \caption{-}
  \label{fig:}
 \end{center}
\end{figure}

表環境のテンプレート

\begin{table}[htbp]
 \begin{center}
  \caption{}
  \label{table:1}
  \begin{tabular}{|l|c|r|} \hline
   1 & 2 & 3 \\ \hline
  \end{tabular}
 \end{center}
\end{table}

数式環境のテンプレート

\begin{equation}
 
 \label{eq:}
\end{equation}

Array環境を使って式を縦に並べる.

\begin{equation}
 \begin{array}{rcl}
  & & \\
 \end{array}
 \label{eq:}
\end{equation}

Array環境で式を縦に並べたときのスペース調整版

\begin{equation}
 \begin{array}{rcl}
  y 
  &\hspace*{-2mm}=& \hspace*{-2mm}
   f(x) \vspace*{2mm} \\
  &\hspace*{-2mm}=& \hspace*{-2mm}
   g(x)
 \end{array}
 \label{eq:}
\end{equation}

{つきで数式を並べる

\begin{equation}
 f(x) = \left\{ 
 \begin{array}{lcl}
  1, & & x \geq 0 \\
  0, & & otherwise
 \end{array}
 \right.
 \label{eq:}
\end{equation}

添付ファイル: fileeq.tex 1850件 [詳細] fileeq_dnd.bat 1608件 [詳細] filefont_mathbf.gif 967件 [詳細] filefont_mathcal.gif 1149件 [詳細] filefont_mathit.gif 1105件 [詳細] filefont_mathnormal.gif 980件 [詳細] filefont_mathrm.gif 1016件 [詳細] filefont_mathsf.gif 1034件 [詳細] filefont_mathtt.gif 1186件 [詳細] filemathbb_m.jpg 1996件 [詳細] filetable_test.jpg 4654件 [詳細] filetex_margin.jpg 2807件 [詳細] filedot3.jpg 1005件 [詳細] filedot3.png 2168件 [詳細] fileeq.bat 1683件 [詳細] fileRxEPSCreater.zip 1637件 [詳細] filecode.dvi.jpg 988件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2024-03-08 (金) 18:06:07