2017年05月30日
情報科学類 コンピュータリテラシ
                                       筑波大学 システム情報系 情報工学域
                                       新城 靖
                                       <yas@cs.tsukuba.ac.jp>
このページは、次の URL にあります。
	http://www.coins.tsukuba.ac.jp/~yas/coins/literacy-2017/2017-05-30
あるいは、次のページから手繰っていくこともできます。
	http://www.coins.tsukuba.ac.jp/~yas/
	http://www.cs.tsukuba.ac.jp/~yas/
HTML で記述できる文書の構造:
CSS で記述できる表示の方法:
今日の課題では、 練習問題(1001) ことえりのバックスラッシュ入力 を行い、キーボードの「¥(円記号)」でバックスラッシュが入力されるようにす ると楽である。
以下、このページでは、「\」は ASCII 5c で「\(バックスラッシュ)」で表示 されるべきである。ブラウザによっては、円記号で表示されることがある。
TeX (テフ、テック、タオ・イプシロン・カイ) は、D.E.Knuth による文書整形 システム。マークアップ言語によりテキストファイルにTeX の命令を埋め込ん だ文書を作成し、言語処理系(texコマンド)を使うと、印刷に適したものになる。
LaTeX (ラテフ、レイテック)は、TeX を拡張して、論文を簡単に書くために適 した命令を増やしたもの。L.Lamport による。
pTeX (pLaTeX) は、publisher ASCII出版で、TeX, LaTeX で日本語が使えるよ うにしたもの。coins iMac で利用可能な物はこれの漢字コードとして UTF-8 と EUC が使えるものである。 (厳密には、e-TeX。手引き 6章 参照。) その他に、NTT により日本語化されたものもある。
TeX は、マクロプロセッサの一種。マクロとは、文字列の置き換えのこと。一 般的には、短い文字列から長い文字列、簡単な文字列から複雑な文字列に変換 (展開)する。
様々なマクロ定義をまとめたものを「パッケージ」という。 \usepackage により取り込んで使うことができる。 自分でマクロ定義を行うこともできる。
.tex )を作成/編集する。
 
dvi 形式をPostScipt 形式に変換し、GhostScript (gs コマンド, gv コマンド) で表示する方法がある。プレビュー.app(Preview.app)でも、PostScript 形式の ファイルを(一旦PDFに変換して)画面に表示できる。
MacOSX では、dvi のよいプレビューアがないので、PDF に変換してからそれを 画面に表示することが多い。
HTMLで使えない文字 (< > &)と同様に、 LaTeX でも特別扱いする文字がある。 次の文字は、LeTeX が特別扱いする。
#,$,%,&,_,{,},\,<,>,|,^,~   
The Unix Super Text 50.9.4項 参照、
これらの特殊文字を LaTeX 処理系に解釈させる(LaTeX の命令とする) には、 ASCII の範囲の文字を使う。同じ形で、 JIS X 0208 等の漢字と同じように表示される文字を使っても、命令とは見なされなず、単 に他の漢字と同じように解釈され、そのまま表示される。
\section{はじめに}   % 命令として解釈される
\section{はじめに}% そのまま表示される
¥section{はじめに}% そのまま表示される
   1:	%
   2:	% struct.tex
   3:	% 
   4:	\documentclass[a4j]{jarticle}
   5:	\usepackage{graphicx}
   6:	
   7:	\title{ \LaTeX 文書の構造}
   8:	\author{ 新城 靖 }
   9:	\date{\today}
  10:	\西暦
  11:	
  12:	\begin{document}
  13:	
  14:	\maketitle
  15:	
  16:	\begin{abstract}
  17:	  この文書は、\LaTeX 文書の構造を示したものである。
  18:	\end{abstract}
  19:	
  20:	\section{はじめに}
  21:	
  22:	章立てには、section, subsection, subsubsection を用いる。パラグラフとパ
  23:	ラグラフの区切りは、空行を開ける。(paragraph や subparagrap は、普通は
  24:	使わない。)
  25:	
  26:	\ref{sec:list}章では、3種類の箇条書きについて説明している。
  27:	
  28:	\subsection{見出し}
  29:	
  30:	\subsection{見出し}
  31:	
  32:	\section{箇条書き}
  33:	\label{sec:list}
  34:	
  35:	itemizeの例を示す。
  36:	
  37:	\begin{itemize}
  38:	  \item 日本料理
  39:	  \item 中華料理
  40:	  \item 韓国料理
  41:	\end{itemize}
  42:	
  43:	enumerateの例を示す。
  44:	
  45:	\begin{enumerate}
  46:	  \item メールリーダを実行する
  47:	  \item 新着メールを取り込む
  48:	  \item 新しいメールを書く
  49:	  \item 新しいメールを送る
  50:	  \item メールリーダを終了する
  51:	\end{enumerate}
  52:	
  53:	\subsection{図の挿入}
  54:	
  55:	図\ref{fig:latex-struct}に、\LaTeX の文書の構造を示す。
  56:	\LaTeX の文書は、プリアンブルと本文から構成される。
  57:	プリアンブルには、表題、著者、概要を記述する。
  58:	本文は、章、節、項などから構成され、最後に参考文献が付く。
  59:	
  60:	\begin{figure}[t]
  61:	  \begin{center}
  62:	    \includegraphics[width=80mm]{latex-struct.eps}
  63:	  \end{center}
  64:	  \caption{\LaTeX の文書の構造}
  65:	  \label{fig:latex-struct}
  66:	\end{figure}
  67:	
  68:	\subsection{見出し6}
  69:	
  70:	数式を記述することもできる。
  71:	
  72:	$ \displaystyle \sum^{10}_{x=1} \frac{1}{x^{2}} $
  73:	
  74:	\section*{見出し7}
  75:	
  76:	番号がつかない見出しもある。
  77:	
  78:	\end{document}
その他に、\section より大きい単位として\part と \chapter, \subsection より小さい単位として \paragraph, \subparagraph が使われることがある。通 常のパラグラフは、空行で作り、\paragraph は使わない。
手引き 6.10 参照。
<PRE> 相当。
\verb を利用すると、1つの文の中にそのままの形の表示が混ぜられる。
\begin{verbatim}
$ ls -l file1.txt 
-rw-r--r--  1 yas  prof  2  5 24 15:24 file1.txt
$ 
\end{verbatim}
コマンド \verb|ls -l| で、ファイルの属性を表示している。
| HTML | LaTeX | 
|---|---|
| <TITLE> | \title | 
| <body> | \begin{document} | 
| <H1> | \section | 
| <H2> | \subsection | 
| <H3> | \subsubsection | 
| <P> | 空行 | 
| <タグ id=""> | \label | 
| <A href=""> | \ref | 
| <UL><LI> | \begin{itemize} \item | 
| <OL><LI> | \begin{enumerate} \item | 
| <DL> | \begin{description} | 
| <PRE> | \begin{verbatim} | 
| <IMG> | \includegraphics | 
| <TABLE> | \begin{tabular} | 
| <ADDRESS> | \author | 
PostScriptプリンタは一種のコンピュータで、PostScript 言語のプログラムを実行することができる。 実行結果として、印刷が行われる。 PostScript プリンタに対してテキストやワード・プロセッサの文書、ソース・プ ログラムをそのままプリンタに送っても、印刷されない。
PostScript プリンタに印刷するためには、プリンタにファイルを送る前になん らかの手段でPostScript のプログラムに変換する。 coins のプリンタに印刷する時には、PostScript 言語のプログラムを 作成して、プリンタに送っている。
The Unix Super Text 52.2.1 参照。
The Unix Super Text 17.1.2 参照。
図17-1 のプログラムは、括弧{}が消えている。
復活したものを、ここ に置く。
%%BoundingBox: 0 0 512 322この例では、画像は、左下の座標(0,0)から右上の座標(512,322)の間にあるこ とを意味する。
C-SPC または C-@ でマークを設定する。マークは画面に
は表示されない。マークが設定されると、一番下の行に「Mark set」と表示さ
れる。
M-w または Esc w でコピーする。
C-y でペーストする。
M-w の代わりに C-w を使うと、コピーでは
なくカットになる。カットされた内容も、消えたわけでなく、 C-y で
ペーストできる。
C-y でペーストで
きる。
C-x C-x で、カーソルの位置とマークの位置を入れ替えることが
できる。
| キー | 説明 | 
|---|---|
| C-SPC または C-@ | 領域(region)の先頭、または末尾を決める(マークの位置を決める) | 
| C-x C-x | カーソルの位置とマークした位置を入れ替える。 | 
| C-w | リージョン(領域)をカット | 
| ESC w | リージョン(領域)をコピー | 
| C-y | リージョン(領域)をペースト | 
 
図? Emacsのウィンドウとバッファとファイルの関係
C-x C-f。
C-x 2、C-x 3
C-x 1、C-x 0
C-x b
C-x C-b
| キー | 説明 | 
|---|---|
| C-x 2 | ウインドウを2つに分割(現在のバッファを複数ウインドウで表示) | 
| C-x 1 | ウインドウを1つにする(他のウインドウを閉じる) | 
| C-x 0 | 現在のウインドウを閉じる | 
| C-x o | 他の(other)ウインドウにカーソルを移動。 | 
| C-x C-b | バッファのリストを表示 | 
| C-x b | 別のバッファを表示する | 
 ) を使いなさい。
これは、キーボードからファイルの終わりの印(EOF, End of File) を意味する。
) を使いなさい。
これは、キーボードからファイルの終わりの印(EOF, End of File) を意味する。
 $ platex![[←]](../icons/screen-return.gif) This is e-pTeX, Version 3.1415926-p3.4-110825-2.6 (utf8.euc) (TeX Live 2013)
  restricted \write18 enabled.
 **
 This is e-pTeX, Version 3.1415926-p3.4-110825-2.6 (utf8.euc) (TeX Live 2013)
  restricted \write18 enabled.
 ** ! End of file on the terminal... why?
 $
 ! End of file on the terminal... why?
 $ ![[]](../icons/screen-cursor.gif) 
mkdir コマンドで
作成するディレクトリとしては、ASCIIの範囲のものを使うと扱いやすい。以下
の記述でディレクトリの名前 dirname には、各自自
分にとって分かりやすい適切な名前を考えて置き換えなさい。
「dirname」 と入れてはならない。
$ mkdir dirname ![[←]](../icons/screen-return.gif) $ cd dirname
$ cd dirname ![[←]](../icons/screen-return.gif) $ cp ~yas/public_html/htdocs/coins/literacy-2017/2017-05-30/ex/struct.tex .
$ cp ~yas/public_html/htdocs/coins/literacy-2017/2017-05-30/ex/struct.tex . ![[←]](../icons/screen-return.gif) $ cp ~yas/public_html/htdocs/coins/literacy-2017/2017-05-30/ex/latex-struct.eps .
$ cp ~yas/public_html/htdocs/coins/literacy-2017/2017-05-30/ex/latex-struct.eps .  ![[←]](../icons/screen-return.gif) $ ls
$ ls ![[←]](../icons/screen-return.gif) latex-struct.eps        struct.tex
$ platex struct.tex
latex-struct.eps        struct.tex
$ platex struct.tex  ![[←]](../icons/screen-return.gif) <表示省略>
$ platex struct.tex
<表示省略>
$ platex struct.tex ![[←]](../icons/screen-return.gif) <表示省略>
$ ls
<表示省略>
$ ls ![[←]](../icons/screen-return.gif) latex-struct.eps        struct.dvi              struct.tex
struct.aux              struct.log
$
latex-struct.eps        struct.dvi              struct.tex
struct.aux              struct.log
$ ![[]](../icons/screen-cursor.gif) 
platex コマンドを、2回実行する。
この結果、.dvi ファイル、.aux ファイルが作成されていることを確認しなさい。
上の例では、さらに .log ファイルも作成されている。
$ ls ![[←]](../icons/screen-return.gif) latex-struct.eps	struct.dvi		struct.tex
struct.aux		struct.log
$ dvipdfmx struct.dvi
latex-struct.eps	struct.dvi		struct.tex
struct.aux		struct.log
$ dvipdfmx struct.dvi ![[←]](../icons/screen-return.gif) struct.dvi -> struct.pdf
[1][2]
70801 bytes written
$ ls
struct.dvi -> struct.pdf
[1][2]
70801 bytes written
$ ls ![[←]](../icons/screen-return.gif) latex-struct.eps	struct.dvi		struct.pdf
struct.aux		struct.log		struct.tex
$
latex-struct.eps	struct.dvi		struct.pdf
struct.aux		struct.log		struct.tex
$ ![[]](../icons/screen-cursor.gif) 
このように、struct.dviというファイルから
struct.pdfが生成させる。このことを確認しなさい。
$ ls -l struct.pdf  ![[←]](../icons/screen-return.gif) -rw-r--r--  1 yas  prof  80233  5 26 21:42 struct.pdf
$ open struct.pdf
-rw-r--r--  1 yas  prof  80233  5 26 21:42 struct.pdf
$ open struct.pdf  ![[←]](../icons/screen-return.gif) $
$ ![[]](../icons/screen-cursor.gif) 
これにより、標準の PDF を表示するアプリケーションが実行される。
この PDF ファイルを、プリンタに送れば印刷することができる。 印刷のためのウインドウを表示しなさい(実際に印刷しなくてもよい)。
$ cp struct.tex name.tex ![[←]](../icons/screen-return.gif) 
file.pngとうファイルから
file.epsが生成させる。
他の名前のファイルを使う時には、適宜ファイル名を変えること。
$ ls -l file.png  ![[←]](../icons/screen-return.gif) $ convert file.png file.eps
$ convert file.png file.eps ![[←]](../icons/screen-return.gif) $ ls -l file.eps
$ ls -l file.eps ![[←]](../icons/screen-return.gif) 
生成した PostScript ファイルを head コマンドや lv コマンドで表示したり、 gs コマンドやgv コマンドで画面に表示しなさい。
$ head file.eps ![[←]](../icons/screen-return.gif) $ lv file.eps
$ lv file.eps ![[←]](../icons/screen-return.gif) $ gv file.eps
$ gv file.eps ![[←]](../icons/screen-return.gif) 
| キー | 説明 | 
|---|---|
| C-SPC または C-@ | コピーする領域の先頭を決める(マークを設定する) | 
| C-w | マークした部分とカーソルの間の領域をカットする | 
| Esc w または M-w | マークした部分とカーソルの間の領域をコピーする | 
| C-y | コピー、または、カットしたものをペーストする | 
C-SPC または C-@ で、マークを設定する。
もし、C-SPC がうまく動かない時には、
Spotlight のショートカット・キーの解除
を行う。
M-w または Esc w でコピーする。
C-y でペーストする。
M-w の代わりに C-w を使うと、コピーでは
なくカットになる。
C-y でペーストで
きる。
C-x C-x で、カーソルの位置とマークの位置を入れ替えることが
できる。
| キー | 説明 | 
|---|---|
| C-x 2 | ウインドウを2つに分割(現在のバッファを複数ウインドウで表示) | 
| C-x 1 | ウインドウを1つにする(他のウインドウを閉じる) | 
| C-x 0 | 現在のウインドウを閉じる | 
| C-x o | 他の(other)ウインドウにカーソルを移動。 | 
| C-x C-b | バッファのリストを表示 | 
| C-x b | 別のバッファを表示する | 
$ cd /usr/texbin ![[←]](../icons/screen-return.gif) $ ls
$ ls ![[←]](../icons/screen-return.gif) $ ls *dvi
$ ls *dvi ![[←]](../icons/screen-return.gif) $ ls *dvi*
$ ls *dvi* ![[←]](../icons/screen-return.gif) 
tgif を実行するには、コマンドラインから tgif と打つ。
tgif は、X Window System (X11) の機能を利用して動作する。
tgif で作成した図を、EPS 形式で出力し、TeX で利用しなさい。
The Unix Super Text 下巻 第53章 ドローツール 参照。
http://takeno.iee.niit.ac.jp/~foo/tgif-jman/tgif-jman.html参照。
生成した EPS ファイルを lv コマンドで表示したり、gs コマンドや gv コマンドで画面に表示しなさい。
それぞれ実行した後、一番上のメニューバーにある「ファイル」メニューから 「開く」を選び、PDFファイルを指定する。
一番上のメニューバーにある「ファイル」メニューから「プリント」を選ぶと、 印刷することができる。
以下の問題の回答(または確認番号)をテキスト・ファイルに記述し、 レポート提出ページから提出しなさい。
(1) 課題9(1)で作成し た WWW ページと同じような内容(細かい所は異なっていても良い)を含む TeX 文書を作成し、dvi ファイルを作成しなさい。そのdvi ファイルから、PDF ファ イルを作成しなさい。その PDF ファイルを印刷しなさい。WWW ページと TeX 文書で以下の点については、異なっていてもよい。
(2) LaTeX では、dvi ファイルを得るために 2 回 platex コマンドを実行して コンパイルを行う。なぜ 2 回実行する必要があるのか、簡単に説明しなさい。
(3) 筑波大学全学計算機システム の「共通科目「情報」手引き 2017年度電子版」 を読みなさい。 そして次の点について、次の項目について簡単に説明しなさい。
(5) [加点] 次の LaTeX の機能を全て利用してし、PDF ファイルを作成しなさい。