2010年9月18日土曜日

LaTeX2e 入門教室-2.3 LaTeX2e文書の書き方-2.3.3 プリアンブル

2.3.3 プリアンブル

documentclassコマンドと\begin{document}の間の部分を「プリアンブル」と呼びます。プリアンブルでは,文書クラスで定義されている機能の変更や調整をしたり,ユーザー独自のコマンド定義したりする場合に,この部分にコマンドを記述します。なお,最初に作成したtest.texでは,何も記述していませんが,特に必要がなければ何も記述しないこともできます。

ここで新しいコマンド「\maketitle」を利用して文書にタイトルを付けてみましょう。最初に作成したtest.texを次のように修正します。
\documentclass{jarticle}
\title{文書のタイトル}
\author{著者名}
\date{2010年9月9日}
\begin{document}
\maketitle
ただいまテスト中。

\LaTeX
\end{document}
修正後,test.texをタイプセットすると以下のようなPDFが表示されます。

このようにmaketitleコマンドは,文書のタイトル,著者名,年月日を文書に付加します。このときtitleコマンドに文書タイトル,authorコマンドに著者名,dateコマンドに年月日を,それぞれプリアンブルに記述します(実際には,maketitleコマンドより前であれば,どこに記述しても良い。一般的には,プリアンブルに記述することが多い)。

なお、maketitleコマンドは,必ずdocument環境の中に記述しなければなりません。

2010年9月17日金曜日

ホームページを作ろう-1.5 DTDを意識しよう

ホームページを作ろう-1.5 DTDを意識しよう

PDF版あるいはWeb版(http://poem.kagebo-shi.com/html/c05.html)の「1.5 DTDを意識しよう」の部分に関する説明です。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<title>とにかく作ろう</title>
</head>
<body>
<p>初めてのWebページ</p>
</body>
</html>
次の部分は,XML宣言と呼ばれる部分で,XHTMLを始めとするXML文書の先頭に記述します。
<?xml version="1.0" encoding="UTF-8"?>
すべて半角文字で入力し,versionは「1.0」,encodingには,文字エンコーディング方式を記述します。なお,このXML宣言は省略可能であり,事実XHTMLでは,省略することが一般的です(なぜ省略するのかは,後述します)。

このXML宣言を省略した場合に,注意しなければならないことは、文字エンコーディングをUTF-8あるいはUTF-16としなければならないことです。通常は,UTF-8を使用します。

次に以下の部分ですが,これは1行で記述することも可能です。
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
この部分がDTDを指定している部分でDOCTYPE宣言といいます。

<!DOCTYPE に続く「html」がルート要素になります。また,PUBLIC に続く引用符で囲まれた部分を公開識別子と呼び,ここで「XHTML 1.0 Strict」という名前が付けられたDTDを指定しています。次の引用符で囲まれた部分をシステム識別子と呼び,ここにDTDの実際の場所,つまり URL を指定します。

このDOCTYPE宣言により,このXHTML文書は,「XHTML 1.0 Strict」と呼ばれる文書型定義に従って記述されていることを宣言しています。

ところで,この2つのXML宣言とDOCTYPE宣言は,タグに似ていますが,タグではありません。この部分は,XMLの文法に従った記述です。すなわち,この2つの宣言に続く部分がXHTMLの本体になります。これをXMLでは,文書インスタンス(実体)といいます。

この「1.5 DTDを意識しよう」の部分は,重要な部分ですので,納得がいくまで繰り返し読んでみてください。なお,実際のDTDは,システム識別子で指定されているURL(http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd)からダウンロードすることができます。

2010年9月16日木曜日

LaTeX2e 入門教室-2.3 LaTeX2e文書の書き方-2.3.2 document 環境

LaTeX2e 入門教室-2.3 LaTeX2e文書の書き方-2.3.2 document 環境

\begin {document} \end{document} で囲まれた部分を「document 環境」と呼び,ここに記述 された部分を本文として認識します。

つまり,もっとも小さな LaTeX2e文書の構成は以下のようになります。
\documentclass{文書クラス}
\begin{document}
ここに本文を記述します。
\end{document}
次回は,最初のサンプルには出てこなかった「プリアンブル」について説明します。

2010年9月15日水曜日

ホームページを作ろう-1.4 少し勉強しよう(その3)-DTDとは何か?

ホームページを作ろう-1.4 少し勉強しよう(その3)-DTDとは何か?

PDF版あるいはWeb版(http://poem.kagebo-shi.com/html/c04.html)の「1.4 少し勉強しよう」の部分に初めて登場するDTD(文書型定義)に関する説明です。

HTMLの歴史は Wikipedia などを参考にすれば詳しく書かれていますが,ユーザー側から見れば,前に説明した「要素」が新しく追加されたり,廃止されたり,といった歴史になります。

つまり,HTMLあるいはXHTMLのバージョンが異なれば,使用できる要素も異なる訳です。ところで,この「使用できる要素」はどこで規定されているのでしょうか?
最初に少し説明しましたが,HTML は SGML をメタ言語として策定された言語であり,XHTML は XML をメタ言語として策定された言語でした。

このメタ言語による言語(ここでは,HTMLおよびXHTML)規定が「文書型定義(DTD)」と呼ばれるものです。

すなわち,ホームページの記述するためのHTMLやXHTMLのコンピュータ言語としての具体的なルールは,この「文書型定義」によって規定されていることになります。

ホームページ作成の話を難しくしている一因でもあるわけですが,このDTDは1種類ではありません。バージョンごとに存在もしますが,同一バージョンにおいても,文書をどのように扱うかの視点の違いにより複数存在することがあります。

これkらさらに具体的な内容に話を進める XHTML においても例外ではありません。実は,3種類の DTD が存在します。

しかし,心配はいりません。
なぜなら,3種類は説明しないからです。1種類のみを説明します。
「なぜ、1種類しか?」と思われるかもしれませんが,今後,説明する1種類で十分なのです。また,その1種類が,これから先の電子書籍やHTML5を勉強する上での基本になっています。

さあ、次回からは,この DTD を意識した,XHTML 1.0 の核心に迫っていきたいと思います。

2010年9月13日月曜日

LaTeX2e入門教室-2.3 LaTeX2e 文書の書き方-2.3.1 文書クラス

2.3 LaTeX2e 文書の書き方

2.3.1 文書クラス

LaTeX2e 文書の先頭は「documentclassコマンド」から始まります。documentclassコマンドでは,使用する「文書クラス」を指定します。

\documentclass{文書クラス}
文書クラスは,文書の種類に応じた書式(クラス)の定義です。基本となる文書クラスには,以下のようなものがあります。
article
章を含まないような,記事とか論文などの短い文書用
report
章を含むような,報告書などの比較的長い文書用
book
両面印刷を前提とした書籍などの文書用
上記の文書クラスは,欧文用に最適化されているため,和文の文書では,あまり体裁がよくありません。そこで,それぞれの文書クラスの先頭に「j」を付けたものが,和文用の文書クラスとして用意されています。
jarticle
章を含まないような,記事とか論文などの短い和文横書き文書用
jreport
章を含むような,報告書などの比較的長い和文横書き文書用
jbook
両面印刷を前提とした書籍などの和文横書き文書用
また,「jarticle」と「jbook」は,さらに改良された新しい文書クラスが定義されています。
jsarticle
jarticle相当の新しい文書クラス
jsbook
jbook相当の新しい文書クラス
また,和文には横書きと縦書きがありますが,上記の和文用文書クラスは横書きを前提とした文書クラスで,それぞれの縦書き用文書クラスには,以下のものが用意されています。
tarticle>
jarticle相当の和文縦書き文書用
treport
相当の和文縦書き文書用
tbook
jbook相当の和文縦書き文書用
documentclassコマンドでは,引数に文書クラスを指定しますが,それ以外にオプションとして文字サイズ,用紙サイズ,用紙向きなどが指定できます。これらのオプションについては,また後で詳しく説明します。

次回は「document環境」について説明します。

2010年9月12日日曜日

ホームページを作ろう-1.4 少し勉強しよう(その2)-要素の階層構造

ホームページを作ろう-1.4 少し勉強しよう(その2)-要素の階層構造

PDF版(http://hitp.konjiki.jp/pdf/pBookHP1.pdf)の5ページ,あるいはWeb版(http://poem.kagebo-shi.com/html/c04.html)の「1.4 少し勉強しよう」の部分にある「要素は入れ子構造(階層構造)になる。」と「html要素をルート(根)要素と言う。」に関する説明です。

例えば,a1とa2という2つの要素があり,次のように記述したとします。
<a1>..........<a2>..........</a1>..........</a2>
このときそれぞれの要素関係は次のようになります。
<a1>..........<a2>..........</a1>..........</a2>
| | | |
+----------------------------+ |
| |
+-----------------------------+
この場合,a2要素が一見するとa1要素の内側にあるように見えますが,終了タグの位置から見るとa1要素がa2要素の内側にあるように見えます。つまり,どちらが外側か内側か確定できない状況にあります。

このような記述は,ホームページ作成ではできません。

もし,a2要素がa1要素の内側になるとすれば,次のように記述します。
<a1>..........<a2>..........</a2>..........</a1>
| | | |
| +--------------+ |
+-------------------------------------------+
このように記述すれば,a2要素はa1要素に完全に内包されることになります。このような記述の方法を「完全入れ子構造」と呼びます。また,要素の関係からは「階層構造」あるいは「木構造」と呼ばれるものになります。

これを図解すると次のように表現することができます。
a1要素
|
+-- a2要素
同様に,サンプルを木構造で表現すれば,次のようになります。
html要素
|
+-- head要素
| |
| +-- title要素
| |
| +-- 文字列
+-- body要素
|
+-- p要素
|
+-- 文字列
ホームページ作成において,タグを記述する場合,完全入れ子構造で記述した形式を「整形式」と呼びます。そして,HTMLファイルは,必ずこの整形式でなければなりません(このルールは,実際には,XMLのルールです)。

そして,木構造の先頭の要素,ここでは「html要素」ですが,この最初の要素のことを「ルート要素」といいます。

なお,テキスト中では,記述していませんけど,このような要素によって表現される文書の構造をモデル化したものを「文書オブジェクトモデル(DOM)」ともいいます。

次回は,DTD(文書型宣言)について説明します。

ホームページを作ろう-1.4 少し勉強しよう-タグと要素

ホームページを作ろう-1.4 少し勉強しよう-タグと要素

PDF版(http://hitp.konjiki.jp/pdf/pBookHP1.pdf)の5ページ,あるいはWeb版(http://poem.kagebo-shi.com/html/c04.html)の「1.4 少し勉強しよう」の部分に関する説明です。

最初のサンプルは,以下のとおりでした。
<html>
<head>
<title>とにかく作ろう</title>
</head>
<body>
<p>初めてのWebページ</p>
</body>
</html>
この中で,<html>,<head>,<title>,</title>,</head>,<body>,<p>,</p>,</body>を「タグ」と呼びます。タグとは,文書にいろいろな意味を持たせるための目印で,この印を付けることを「マークアップ」といいます。

次に,サンプルのタグは英単語部分が共通しているものがあると思います。
  • <html> と </html>
  • <head> と </head>
  • <title> と </title>
  • <body> と </body>
  • <p> と </p>
これらのタグの形式を一般化すれば,次のようになるでしょう。
<名前> と </名前>
このとき<名前>の形式のタグを「開始タグ」,</名前>の形式のタグを「終了タグ」と呼び,ペアで使用します(タグの書き方には,もう1種類在りますが,これについては後述します)。

次にサンプル中の以下の2カ所について見てみましょう。
<title>とにかく作ろう</title>

<p>初めてのWebページ</p>
どちらの記述も開始タグと終了タグの間は単純な文字列のみです。この例では,タグによって文字列に文書としての意味付けを行っています。すなわち,「とにかく作ろう」は「タイトル」,「初めてのWebページ」は「段落」となります。

このように意味付けされた全体を「要素」と呼びます。つまり、<title>から</title>までが「title要素」,<p>から</p>までが「p要素」となります。このとき「title」,「p」を「要素名」といいます。

次にtitle要素,p要素をそれぞれ塊と考えると,
<head>title要素</head>

<body>p要素</body>
となり,head要素とbody要素は要素を内包している,すなわちグループ化する要素となります。

さらに,html要素は,
<html>
head要素
body要素
</html>>/code>
のようにhead要素とbody要素を内包しています。

ところで,「要素」という言葉が出て来たので,この用語を使ってタグの書き方を一般化すれば,次のようになります。
開始タグ:<要素名>

終了タグ:</要素名>
このとき「<」と要素名,「</」と要素名の間に空白を記述してはいけません。注意してください。

次回は,要素同士の関係について説明します。