2012年6月19日火曜日

UbuntuでLaTeX

台風4号で休講になって時間ができたので備忘録。

UbuntuによるLaTeXのコンパイル法。
やっぱり新しいプログラムとか書くときに一番面倒なのが開発環境の構築なので、
できるだけシンプルに、統合環境とか使わない方向で書いてみる。
インストールの概念がないのでそこで躓かない様になってる気がする。


1.まず、Ubuntuをインストール。これに関しては割愛。

2.端末を開き、以下を実行。エンターキーのあとにパスワード入力。
(入力しても何も変わらないけどEnter押すと入力したことになってる)
sudo apt-get install make

3.実行出来れば、同様に以下を実行。
sudo apt-get install ptex-base

4.同様に。
sudo apt-get install nkf

5.同様に。これでインストール終わり。
sudo apt-get install texlive-base

6.テキストエディタで以下をコピーしてMakefileという名前で保存。
(行はじめの字下げはスペースではなく必ずTABキーで)
.SUFFIXES : .tex .dvi .pdf .ltx

PROG = Title
OBJS = Part1

CC = platex
NKF = nkf
NKFOPS = -d -e
DVIP = dvipdfmx

$(PROG).pdf : $(PROG).dvi
$(DVIP) $< #字下げ

$(PROG).dvi : $(PROG).tex
$(CC) $< #字下げ

$(PROG).tex : $(OBJS:=.tex)

.ltx.tex :
$(NKF) $(NKFOPS) $< > $@ #字下げ

clean :
$(RM) *.tex *.aux *.dvi *.log #字下げ

all :
make -B && make -B && make clean #字下げ

長いので続き。
7.同じく以下をTitle.ltxという名前で保存。
\documentclass[a4paper]{jarticle}
\usepackage{graphicx}
\usepackage{enumerate}

%余白の調整
\addtolength{\topmargin}{-1in}
\addtolength{\textheight}{2in}
\addtolength{\oddsidemargin}{-0.5in}
\addtolength{\evensidemargin}{-0.5in}
\addtolength{\textwidth}{1in}

%ポイントシステムに準拠
\renewcommand{\thesection}{\arabic{section}.}
\renewcommand{\thesubsection}{\arabic{section}.\arabic{subsection}}

%セクションの定義
\makeatletter
\renewcommand{\section}{\leftskip=0em\@startsection {section}{1}{\z@}{1zw}{0.1zw}{\normalsize\bf}}
\makeatother

%サブセクションの定義
\makeatletter
\renewcommand{\subsection}{\leftskip=0em\@startsection {subsection}{2}{\z@}{1zw}{0.1zw}{\normalsize\bf}}
\makeatother

%サブサブセクションの定義
\makeatletter
\renewcommand{\subsubsection}{\leftskip=0em\@startsection {subsubsection}{3}{\z@}{1zw}{0.1zw}{\normalsize\bf}}
\makeatother


\renewenvironment{itemize}%
{%
\begin{list}{\parbox{1zw}{$\bullet$}}% 見出し記号/直後の空白を調節
{%
\setlength{\topsep}{0zh}
\setlength{\itemindent}{0zw}
\setlength{\leftmargin}{2zw}%  左のインデント
\setlength{\rightmargin}{0zw}% 右のインデント
\setlength{\labelsep}{1zw}%    黒丸と説明文の間
\setlength{\labelwidth}{3zw}%  ラベルの幅
\setlength{\itemsep}{0em}%     項目ごとの改行幅
\setlength{\parsep}{0em}%      段落での改行幅
\setlength{\listparindent}{0zw}% 段落での一字下り
}
}{%
\end{list}%
}

%図番号を入れる
\makeatletter
\renewcommand{\thefigure}{%
\thesection\arabic{figure}}
\@addtoreset{figure}{section}
\makeatother

%表番号を入れる
\makeatletter
\renewcommand{\thetable}{%
\thesection\arabic{table}}
\@addtoreset{table}{section}
\makeatother

%\def\ppar{\par{\hspace{1zw}}}
\def\cites#1{$^{\mathrm{\cite{#1}}}$}
\def\eqref#1{(\ref{#1})}
\def\tabref#1{表\ref{#1}}
\def\figref#1{図\ref{#1}}

\begin{document}
\input{Part1.tex}
\end{document}

8.以下をPart1.ltxという名前で保存。
\part*{本文のタイトル}
\setcounter{section}{0}
\section{第一章}
第一章の内容
\section{第二章}
第二章の内容
\[
\sqrt{\frac{a}{b}}
\]

9.Makefile,Title.ltx,Part1.ltxの3ファイルを同一のフォルダに移動する。

10.端末を開き、cdコマンドで保存した場所に移動。
(デスクトップ上に保存したなら以下)
cd ~/Desktop

11.以下のコマンドを実行
make all


以上でpdfが作成できる。
エラーでmake all中に端末が止まった場合は「ctrl+\」で復帰できる。


以下余談。
フォーマットは龍谷大学機械システムの工学実験に適合する。
ポイントシステムはレベル3まで。
citesではciteによる文献番号の引用を指数のように上付きになるように。
eqrefは式番号を小カッコつきで引用。
tabrefは表番号を「表(章番号).(表番号)」で引用。
figrefは図番号を「図(消番号).(図番号)」で引用。

0 件のコメント:

コメントを投稿