<次頁><前頁><最下行><目次>  <ホーム>

0. 新しいパッケージ"xxx.sty"を導入したい。

tex ファイルを作っている内、既存の便利なパッケージを見つけて、組み込みたいことはよくあります。例えば "foo.sty"を導入したい場合、CATANなりどこかから見つけてきてダウンロードし、texの中に組み込めばよいわけですが(組み込み方法はここ)、通常は"foo.sty"ではなく、"foo.dtx"と"foo.ins" の形で供給されます。"foo.dtx"には"foo.sty"の他にコメントが入っています。手続きとしては、"foo.ins"を使って、"foo.dtx"から"foo.sty"を作り、それを組み込んだ後、"foo.dtx"を処理すればコメントが読めます。例えば"bbm.sty"を使いたい場合、

1) "bbm.ins"と"bbm.dtx"をCTANサイト("bbm.dtx"の場合はCTAN home / tex-archive/ macros/ latex/ contrib/ bbm)からダウンロードして、同じディレクトリー(例えばdirbbm)に入れます。

2)"dirbbm"ディレクトリーから

platex bbm.ins

を実行すると、同じディレクトリー内に"bbm.sty"が作成されます。

3)"bbm.sty"の組み込み方法

"bbm.sty"を例えば、

\texmf\tex\latex\misc

に入れ、"mktexlsr"を実行します。後はtexファイルのプリアンブル部分に"\usepackage{bbm.sty}"を記述すれば、"bbm.sty"が使えるようになります。

4)"dirbbm"ディレクトリ-内で

platex bbm.dtx

を実行すれば、dtxファイルがdviファイルとなって読めるようになります。

"熊沢氏のサイト"には、スタイルファイルが載っていますし、またいろいろな使い方があって重宝します。

1. 見出しを変えたい

1.1 目次を変えたい

1.1.1 目次に載せる見出しのレベルを変えたい

見出しのレベルは、

"section""subsection""subsubsection""paragraph""subparagraph"の順序で小分けされてゆきますが、目次に現れるのは"subsection"迄です。これを例えば、"subsubsection" まで出したいときは、プリアンブルに

\setcounter{tocdepth}(3) :ドキュメントクラスが、article の場合

\setcounter{tocdepth}(4) :ドキュメントクラスが、その他の場合

を挿入します。

1.1.2 図や表の目次を作りたい

次のコマンドを使います。

\listoffigures

\listoftables

1.2 部・節などの見出しを変えたい

1.2.1 見出し文の定型部分(第x部など)を変えたい。

次のような命令をpreambleに置き、最後の{ }の中身を書き換えればOKです。

例えば、「第1部」を「校正1稿」に変えたいとき

\renewcommand{\prepartname}{校正}
\renewcommand{\postpartname}{稿}

と宣言します。

各種見出しの変更例

\renewcommand{\prepartname}{第}
\renewcommand{\postpartname}{部}
\renewcommand{\contentsname}{目 次 } %article では Contents
\renewcommand{\listfigurename}{図 目 次} %article では List of Figures
\renewcommand{\listtablename}{表 目 次 %article では List of Tables
\renewcommand{\refname}{参考文献} %article では References
\renewcommand{\indexname}{索 引} %article では Index
\renewcommand{\figurename}{図} %article では Figure
\renewcommand{\tablename}{表} %article では Table
\renewcommand{\appendixname}{付 録} %article では Appendix
\renewcommand{\abstractname}{概 要} %article では Abstract

1.2.2 見出し数字の書体を変更したい

節(section)、小節(subsection) 番号は"section" や"subsection" という名のカウンターに保存されています。thesection はそのカウンターのスタイルを決める変数ですので、

\renewcommand{\thesection}{\Roman{section}}

とすれば、節番号をローマ数字にかえられます。他の数字の書体は次の通りです。

カウンタの書体
引数
書体
\arabic アラビア数字(1,2,3,? ? ? )
\roman ローマ数字(i,ii,iii,? ? ? )
\Roman ローマ数字(I,II,III,? ? ? )
\alph アルファベット(a,b,c,? ? ? )
\Alph アルファベット(A,B,C,? ? ? )
\fnsymbol 記号(?, †, ‡, ? ? ? )

また、見出し番号はデフォルトでは subsection までしか付きませんが、

\setcounter{secnumdepth}{4}

と設定することによりレベル4の paragraph まで番号を付けられます。

例:

\begin{document}

\renewcommand{\thesection}{\S\;\Roman{section}}
\renewcommand{\thesubsection}{\thesection-\Alph{subsection}}
\renewcommand{\thesubsubsection}{\textless\alph{subsubsection}\textgreater}

\section{はじめに}
\subsection{ゲージ理論}
\subsubsection{Electroweak Theory}
\paragraph{QCD}

\setcounter{secnumdepth}{4}

\section{はじめに}
\subsection{ゲージ理論}
\subsubsection{Electroweak Theory}
\paragraph{QCD}

\end{document}

出力:

1.2.3  見出しの装飾を変えたい

設定はコマンド @startsection のオプション指定によりいろいろ変えられます。以下はsection (節)の変更例です。subsection も基本的に手順は同じです.まず,使用するクラスファイルの section が定義されている部分を取り出します。 article と jarticle で少し違いますが、ここでは jarticle に例をとります。ファイルを置いてある場所は

D:\usr\local\share\texmf\tex\latex\base\article.cls
D:\usr\local\share\texmf\ptex\platex\base\jarticle.cls

手順としてはまず上記 jarticle.cls から @startsection コマンドの引数を指定している部分を取り出します。

\newcommand{\section}{\@startsection{section}{1}{\z@}%
{1.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}%
{.5\Cvs \@plus.3\Cdp}%
{\reset@font\Large\bfseries}}

引数の指定は

第1引数:カウンタ名(sectionやsubsectionなど)
第2引数:レベル(深さ)。 section は1、subsection は2。
第3引数:見出し前に付加するインデント量。 \z@ は 0pt の省略形でインデント無しを指定する。
第4引数:絶対値が見出し前に付けられる空白量。負の場合見出しに続くテキストのインデントを抑制する。
第5引数:見出し後に付けられる垂直方向の空白量(負値の場合、見出し後に改行されず絶対値分だけ水平方向の空白がつくられる)
第6引数:見出しのスタイル

引数の中にある\Cvs, \Cdpは日本語用の長さの変数で \baselineskip, \dp0 を意味します。 \@plus, \@minus は、plus, minus と同じです。

こうした変数の解説は jclasses.dtx に出ています(usr/local/share/texmf/ptex/platex/base にある)。コマンドプロンプトで、 platex jclasses.dtx を実行すれば jclasses.dvi が作られ読み易くなります。また、このサイトなどをも参考にしてください。

ちなみに article では

\newcommand\section{\@startsection {section}{1}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\normalfont\Large\bfseries}}

となっています。

大きさを指定している部分は第6引数、すなわち最後の行の \Large\bfseries ですから,ここの部分を書き換えるとフォントの種類, 大きさを変更することができます。そのためにはプリアンブルで renewcommand コマンドを使ってで再定義し、フォントおよびその大きさを指定します. この記述には@ を含んでいますので,この宣言の前後を \makeatletter と \makeatother で囲み @ をちゃんと文字として読めるように指定してやります。

以下に大きさを \large に書き直し中央に置く例を示します。節番号もローマ数字に変えています。

(例1)。

\makeatletter
\renewcommand{\section}{%
\@startsection{section}{1}{\z@}%
{1.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}%
{.5\Cvs \@plus.3\Cdp}%
{\reset@font\centering\large\bfseries}}
\renewcommand{\thesection}{\@Roman\c@section}
\makeatother

\renewcommand{\thesection}{\@Roman\c@section} は、 \renewcommand{\thesection}{\Roman{section}} と同じものです。

書体のオプションを下の表に掲げておきます。

半角英数記号文字の書体
命令1
命令2
出力例
{\mdseries ABCDabcd} \textmd{ABCDabcd} ABCDabcd
{\bfseries ABCDabcd} \textbf{ABCDabcd} ABCDabcd

○なお、この命令は次に続く文章を見出しとして出す命令ですので、最後に引数を1個とるコマンドのコマンド名のみ、例えば fbox を付加すると見出しを枠に入れてくれます。例2では、Large の大きさとし、fbox の代わりに、上下に線を引き、引数を一つとるマクロ命令を入れてみました。上下の空白間隙も変えています。

使用例:

\begin{document}

\makeatletter
\renewcommand{\section}{%
\@startsection{section}{1}{\z@}%
{1.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}%
{.5\Cvs \@plus.3\Cdp}%
{\reset@font\centering\large\bfseries}}
\renewcommand{\thesection}{\@Roman\c@section}
\makeatother

例1:
\fbox{
\begin{minipage}{15zw}
でありました。
\section{はじめに}
そこで
\end{minipage}}
\bigskip

\makeatletter
\renewcommand{\section}{%
\@startsection{section}{1}{0pt}%
{0ex}%
{-1ex plus 1ex minus 1ex}%
{\reset@font\Large\bfseries\paraline}}
\renewcommand{\thesection}{\@Alph\c@section}
\newcommand{\paraline}[1]{%
\begin{center}\underline{$\overline{\text{#1}}$}\end{center}}
\makeatother

例2:
\fbox{
\begin{minipage}{15zw}
でありました。
\section{はじめに}
そこで
\end{minipage}}

\end{document}

出力

1.2.4 見出し文中に特殊文字を入れたい。

特殊文字の詳細については、第6節を参照してください。ここでは、\verb{・・・}コマンドが見出しなど他のコマンドの引数として使えないことを考慮して、キーボードにあるが、そのままでは使えない特殊文字の出力法のみを示します。
<表1 \ を前に置いて出力できるキーボード文字>

<表2 その他のキーボード文字の出力方法>

*1) \texttt{ } で括らないと変形する場合がある。(例:\char`\> -->¿
*2) ams もしくは ascmac パッケージが必要。
*3) textcomp パッケージが必要。
*4) * は上にずれる。

★ 特殊文字を見出し文など他のコマンドの中に入れる例

例文: \section{ 特殊文字\$ \& \textbackslash を入れた見出し}

という tex 文を作ると と出力されます。

1.2.5 見出しに脚注を付けたい。

\section{Introduction} のような節の見出し「Introduction」に脚注を入れたい場合、 \section{Introduction\footnote{foobah}}としてもうまくゆきがません。このような場合は \section{Introduction\protect\footnote{foobah}} のように、 \protect を挿入します。 ただし、この場合目次にも脚注が付いてしまいます。 \section[Introduction]{Introduction\protect\footnote{foobah}} のように、目次に入れる見出しと、実際の見出しをわけてやればうまくいきますが、より安全なのは、"footmisc" パッケージを使う方法です。これは脚注のスタイルをお好みに応じて変更するパッケージですが(用法はここを参照)、"stable" オプションを使うと、見出しに入れた脚注が他の場所(目次やページヘッダー)に使われることを防いでくれます。使い方はプリアンブルに

\usepackage[stable]{footmisc}

を入れておくだけです。

1.3 ヘッダー・フッター出力

◎ ヘッダーを付ける。

\pagestyle{<ページスタイル>} 

をプリアンブルで宣言して使います。 文書の途中で用いると、そこから先に適用されます。 1 ページだけ一時的にページスタイルを変更したい場合には、

\thispagestyle{<ページスタイル>}

を使います。 LaTeX では,次の 4 種のスタイルを用意しています。なお出力は、文書クラス毎に違います。

★ plain: フッタのみに、中央にページ番号を出力します。
★ empty: ヘッダ,フッタともに何も出力しません。
★ headings: ヘッダには \section(または \chapter など) の見出しとページ番号が出力されます.フッタには何も出力されません。
★ myheadings: ヘッダにページ番号とお好みの文字列 が出力されます。 フッタには何も出力されません。

myheadings を用いたときにヘッダに出力する文字列は, \markright,\markboth コマンドを用いて指定します。

\markright{odd-head}
\markboth{even-head}{odd-head}

ただし,odd-head,even-head はそれぞれ奇数ページのヘッダで用いる文字列、偶数ページのヘッダで用いる文字列)です。奇数ページと偶数ページを区別しない場合(例えば,文書クラスとして article を twoside オプションを指定せずに用いているような場合)には,ヘッダには常に奇数ページ用の文字列が用いられます。例えば

\markright{マイヘッダー}

とすると、各頁の上部に "マイヘッダー"とページ数が出力されます。

○ 頁番号のスタイルを変更する。

\pagenumbering{roman} : roman の所は、arabic, Roman, alph, Alph も使えます。


◎ パッケージ fancyhdr (標準で組み込み)を使う

fancyhdr を使えば、簡単にヘッダーフッターを天地左端、中央、右端に好みの文字を出せます。

作者のURLはここ http://www.tug.org/tex-archive/help/Catalogue/entries/fancyhdr.html

プリアンブルに次のように入れます。fancyhdrスタイルの詳細は,スタイルファイル付属のfancyhdr.pdf (\share\texmf\doc\latex\misc)で見ることができます。

使い方:

\usepackage{fancyhdr}
\pagestyle{fancy}

ヘッダ・フッターの定義

\lhead[偶数ページ]{奇数ページ}  :天左側ヘッダの定義
\chead[偶数ページ]{奇数ページ}  :天中央ヘッダの定義
\rhead[偶数ページ]{奇数ページ}  :天右側ヘッダの定義
\lfoot[偶数ページ]{奇数ページ}  :地左側フッターの定義
\cfoot[偶数ページ]{奇数ページ}  :地中央フッターの定義
\rfoot[偶数ページ]{奇数ページ}  :地右側フッターの定義
\renewcommand{\headrulewidth}{値} ヘッダの線の太さ
\renewcommand{\footrulewidth}{値} フッターの線の太さ。線の横幅は文章幅(\textwidth)です。

[ ]を省略すると,{ }で指定された内容が偶数ページ・奇数ページの両ページに適用されます。引数としては、多分あらかじめ定義された次のマクロを使うことが多いでしょう。

★\thepage 当該ページの出力
★\leftmark \markbothの引数が収められる.デフォルトは節見出し
★\rightmark \rightmarkか\markbothの引数が収められている.デフォルトは章見出し.

使用例:

\usepackage{msc} % 時刻を"\timeofday" で出力する組み込みパッケージ
\usepackage{fancyhdr}
\pagestyle{fancy}

\lhead{\slshape \leftmark} % \slshape は斜体文字の指定 \leftmark のデフォルトは sectionhead
\chead{}
\rhead{\slshape \rightmark} % \rightmark のデフォルトは chapter head
\lfoot{\jobname} % このファイル自身の名前を出力
\cfoot{\thepage} % 頁番号
\rfoot{\time \; \timeofday}  % 日付と時刻を出力
\renewcommand{\headrulewidth}{0pt} % ヘッダーラインは打ち出さない
\renewcommand{\footrulewidth}{1pt} % フッターラインの線幅の変更。デフォルトは0.4pt

注: 最初のページには section ヘッダーは出ず、次のページから出力されます。

出力:

1.4 文献・脚注番号のスタイル変更

◎ 参考文献の参照を [1]-->上付きの"1)"にする(参照)。

次の文章をプリアンブルに入れます。

\makeatletter
\def\@cite#1#2{$^{\hbox{\scriptsize{#1\if@tempswa , #2\fi})}}$}
\makeatother

別法1: エディターで 

\def\@cite#1#2{$^{\hbox{\scriptsize{#1\if@tempswa , #2\fi})}}$}

という文章を入れた mystyle.sty 作ります。 このスタイルファイルを登録して

D:/usr/local/share/texmf/tex/latex/misc/

に入れ、コマンドプロンプト窓からD:\>mktexlsrを実行する),プリアンブルに

\usepackage{mystyle}

と書きます。

別法2: 参考文献参照を上付きの"1)"とし、文献リスト注の番号を"(1)"のようにする。

\makeatletter
\renewcommand{\@cite}[1]{\textsuperscript{#1)}}
\renewcommand{\@biblabel}[1]{(#1)}
\makeatother

◎ 脚注番号を"*2) "のように表示しかつ"*2) "の後ろに余白を入れたい

\renewcommand\thefootnote{*\kern1pt\arabic{footnote})\;\;}

とします.*の代わりに全角文字"注"を入れるときは

\renewcommand\thefootnote{注\kern1pt\arabic{footnote})\quad}

のようにkern1を入れて間隔を調整します。

オプションを指定することで,任意の脚注番号"n"をつけることが可能です.

\footnote[n]{ 脚注文 }

ただし,脚注番号はアラビア数字のみです.

例: \footnote[8]{ ただし脚注マークをアルファベットなどに変更することはできません.}

◎ 表の中に脚注を入れる。

tabular 環境の中では、 \footnote を使って脚注を出せませんが、

代わりに \footnotemark と\footnotetext{ } を使います。

\begin{tabular}{|l|r|r|}
\hline
ABC\footnotemark & DEFG & HIJK \\
\hline
123 & 4567 & xyzw \\
\end{tabular}
・・・・・・・・・・
\footnotetext{表の脚注はページ下に出されます。}

◎見出しの中に脚注を入れる。\footnote{・・・}の前に \protect を付けます。

1.5 行番号を付ける

lineno パッケージを使います。ここ

http://www.tex.ac.uk/tex-archive/macros/latex/contrib/lineno/

から、lineno.sty をダウンロードしてきて、 "TEXMF"\tex\latex\base (article の場合)、 "TEXMF"\ptex\platex\base (jarticle の場合)に入れた後、 コマンドプロンプトで

 >mktexlsr

を実行します。プリアンブルに次のコマンドを入れます。

\usepackage[<オプション>]{lineno}
\linenumbers

これで、各行に連続番号が付きます。 \linenumbers をドキュメントの中に入れれば、そのコマンドの属するパラグラフの先頭位置から有効になります。オプション例は

[right]               :行番号を文章の右側に付けます。
[pagewise]            :ページ毎に行番号を新しくします。
[mathlines]           :数式にも行番号を付けます。

特定部分だけに番号を付けたいときは、

\begin{linenumbers}
・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・
\end{linenumbers}

で括ります。

使える他のコマンド。プリアンブルにも文中にも置けます。

★ \linenumbers        :このコマンドを置いたパラグラフから以降、行番号を付ける。
★ \nolinenumbers      : 〃 行番号を付けるのを止める。
★ \pagewiselinenumbers  : 〃 ページごとの行番号を付ける。
★ \modulolinenumbers[n]  : 〃 n で割り切れる行番号のみ表示。

以下は、\linenumbers を出力した後の操作を示します。

★ \linelabel{...}         :行にラベルを付ける。\ref{...}で行番号参照。
★ \thelinenumber       :このコマンドを置いたパラグラフの先頭行番号を出力。
★ \resetlinenumber[n]   :このコマンドを置いたパラグラフの先頭行番号を n にリセットします。デフォルトは1。

などです。

また、行番号スタイルのデフォルトはアラビア数字で、フォントは \normalfont\tiny\sffamily です。これを変えるには

\renewcommand\thelinenumber{\roman{linenumber}}
\renewcommand\linenumberfont}{\normalfont\bfseries\small}

とします。詳しい使い方は、同じ所から ulineno.pdf、  lineno.pdf をダウンロードして開いてみてください。

<次頁><前頁><節頭><目次>  <ホーム>