• 検索結果がありません。

目次

4.2 記号

4

言語 何 実現

LATEX 実現 基本的 部 分 紹介

4.1 言語

今 昔,文書 対 入 子型 論理構造 与 事 汎用性 持 ,人 間 機械 理解 簡単 文書 記述 関 研究 *1

中 記述 言語 HTML: Hyper Text Markup Language

出現 . Tim Berners-Lee氏 開発 ,今 W3C 管

理 記述言語 *2.現在 XHTML: Extended Hyper Text Markup

Language 進化 ,統一化 図 .LATEX HTML XHTML 同

方式 採用 記述言語 .

型 言語 利点 . 章 少

考 思 . 考 LATEX (命令・環境・宣言 含 )

観察 事 糸口 見 思 , 関 話 中心

進 .

「 辺 太字 ?」

対応 事 .皆無 ,基本的

命令 何 性格 . 原稿 呼 特別 記号

綴 使 , 記号 特別 意味 持 使用 . LATEX

記号 意味 役割 知 .

H 4.2.1 記号 分類

TEX/LATEX 記号 分類 考 ,普段使用 日本語 英語

記号 言語 考 .私 理解 難 言語 使

.特 日本語 理解 . 私

人間 文脈 道筋 , 意味 読 取 .

今日 1,000円 持 ,佐藤 商店 塩 買 行 .

1文 考 ,人間 「1,000円」 ‘,’ 「 金 3桁目 入 区切 」,最後 句点「.」 「文 終 」 理解 .私 複 雑 日常文 理解 理由 ,文 中 必 文法 存在 事 挙

人間 程度曖昧 表現 見 柔軟 理解 ,

‘1’ ‘0’ 分 融通 利 機械 ,人間 日常的 用 自然言語 正確 文法 持 , 理解 形式言語 記

述 必要性 .TEX/LATEX 生成文法 基礎 形式言語

理解 , 入力 記号 全 明確 意味 持 必要

.現在 TEX/LATEX 曖昧 意味 持 文章 執筆

事 .

LATEX 出力 意味 理解 全 記号 LATEX 意 味 割 当 .人間 ‘<’ 記号 入力 数学 比較 演算子 理解 .‘$<$’ 「 数式 ,‘<’

比較演算子 使 」 意味 理解 . LATEX 入力 与

LATEX 文法 覚 必要 .詳 覚 必要

\ { } $ & # ^ _ ~ %

4 10個 記号 特別 意味 事 覚 . 記号 使 方 時々 説明 ,今 10個 記号 特別 意味 持 ,英文 字 漢字, 平仮名 片仮名 普通 単語 作 文字 認識

解釈 頂 構 .

 TEX/LATEX 標準的 JIS X 0208JIS1水準・第2水準) 文字集合 扱 事 ,機種依存文字 半角 文字 出力 拡張 .近年 齋藤修三郎氏 Adobe-Japan-1-6

文字集合 扱 OTF .機種依存 文字

,例 検索

H 4.2.2

入力 ‘<’ 入力 ‘ ¡’ .

一体 事 .考 ‘<’ 入力 ‘<’ 記号 出力

命令 別 命令,‘ ¡’ 出力 命令 割 当 考

. \% (円) 次 記号 来

存在 . LATEX 「 文字列」 形式

事 分 .正確 「 記号 綴 」

呼 ,特殊記号1文字 呼 .LATEX 大 分 三 分類 .

‘\’(‘Y=’) 記号 綴 .制御綴 訳

事 . 本書 狭義 表現 .

英字 綴 .例 ‘\section’ . 英文字以外 綴 .例 ‘\3’

‘\#’ .

一 綴 .‘\␣’ 事.

特殊記号 特別 意味 持 記号.予約文字 呼 事 .例 ‘{’,

‘$’ .

英数字 付 普通 文字列.

現段階 大 分

• 文字列 綴 .

• 特殊 記号.

• 普通 文字列.

三 事 理解 .本書 制御綴 ( )

事 呼 命令,宣言,環境 三 分類 .

命令 特定 処理 実行 .他 参考書 命令 事 呼 事 多 .引数 取 事 , 引数 事 要素

呼 , 呼 .例 \maketitle \section

宣言 特定 処理 以降継続 行 .処理 適用 範囲 限

定 ( )事 .引数 事 稀. 宣言 事

命令 宣言方命令 宣言型 呼 .例 \ttfamily等

.宣言型 命令 比 少 ,本書 断 書 宣言型 呼 事 多 .

環境 \begin{h何々i} \end{h何々i} 要素 囲 , 囲 領域 事.引数 取 事 .例 document環境

H 4.2.3 定義

LATEX 原稿 新 命令 定義 事 .

\newcommand{h命令i}[h整数i][h標準値i]{h定義i}

\renewcommand{h命令i}[h整数i][h標準値i]{h定義i}

\newcommand , 命令 , 定義 h命令i

新規 定義 事 .

\newcommand{\example}{ }

本文中 ‘\example’ 記述 ‘ 例 .’ 出力 .

\newcommand{\example}[2]{#1 #2 }

続 上記 記述 基 本文中 ‘\example{ }{背 高 }’ 記述 ,

‘ 背 高 .’ 出力 . \example命令 任意引

4

数 良 事 宣言 次 ,任意引数 引数 総和

勘定 .

\newcommand{\example}[2][未来]{%

#1#2 }

\example{大学} \example{出版}\par

\example[]{大学} \example[函館]{ }

私 未来大学 . 私 未来出版

私 大学 . 私 函館出版

任意引数 必須引数 定義 ,\newcommand命令 使 事 実 現 .定義 中 引数 ‘#’hni 扱 ,1 9 整数 使 .

定義 数式 記述 威力 発揮 .

\newcommand{\seq}[2][n]{%

\{#2_{0},#2_{1},\ldots,#2_{#1}\}}

数式 集合 使 $\seq{a}$

$\seq[k]{x}$

数 式 集 合 使

{a0, a1, . . . , an} {x0, x1, . . . , xk}

\newcommand 任意引数 一 設 ,引数 合計9個

使 事 .\renewcommand 一度定義 命令 再度定義 事

通常LATEX 見 環境型 定義 関 以下 四 命令 使 .

\newenvironment{h環境名i}[h引数 個数i][h標準値i]{hi}{hi}

\renewenvironment{h環境名i}[h引数 個数i][h標準値i]{hi}{hi}

\newenvironment 環 境 始 部 分 終 部 分 定 義 ,新

環境型 命令 作成 .引数 関 扱 \newcommand 同 .

\renewenvironment 一度定義 環境型 再度定義 機能

\newcommand/\newenvironment以外 便利 .

\providecommand{h命令i}[h整数i][h標準値i]{h定義i}

\DeclareRobustCommand{h命令i}[h数値i][h標準i]{h設定i}

\providecommand 命 令 定 義 済 何 , 定

義 指 定 内 容 通 命 令 定 義 事 .

\DeclareRobustCommand 使 場合 頑丈 命令 作成 .

x問題4.1 次 付 定義 付与 場合

違 考察 .

\newcommand\testargs[1]{[#1]}

\newcommand*\testArgs[1]{[#1]}

\testArgs{1行目 入力\par 2行目 入力}.

\testargs{1行目 段落\par 2行目 段落}.

実際 表示 . 付 定義

場合 複数行 段落 引数 受 考 .

.例題4.2 中央揃 行 文章 強調 cemph 環境 次 定義

\newenvironment{cemph}%

{\begin{center}\begin{em}}%

{\end{em}\end{center}}

文章 通常通 出力

\begin{cemph}

中 文章 中央揃 強調表示

\end{cemph}

文章 通常通 出力 中 文章 中央揃 強調表示

x問題4.3 \DeclareRobustCommand 使 例 示 .次

, 結果 吟味 .

\documentclass{jarticle}

\DeclareRobustCommand{\joubuyen}{{\ooalign{Y\crcr\hss=\hss}}}

\newcommand{\moroiyen}{{\ooalign{Y\crcr\hss=\hss}}}

\begin{document}

\tableofcontents

\section{ {\moroiyen} }

\section{丈夫 {\joubuyen} } 大丈夫

\end{document}

例 1回目 表示 .

! Illegal parameter number in definition of \reserved@a.

<to be read again> \crcr

l.6 \section{ {\moroiyen} }

?

4

2回目 目次 hfilei.toc 作成 , 読 込

hfilei.toc hfilei.aux 何 記述 吟味 .hfilei.aux 次 出力 ,凄 事

\relax

\@writefile{toc}{\contentsline{section}{\numberline{1}

{{\lineskiplimit -\maxdimen \unhbox \voidb@x \vtop {\baselineskip

\z@skip \lineskip .25ex\everycr{}\tabskip \z@skip \halign {##\crcr Y\crcr \hss =\hss \crcr }}}} }{1}}

\@writefile{toc}{\contentsline{section}{\numberline{2}丈夫 {\joubuyen} }{1}}

hfilei.toc 次 出力 .

\contentsline{section}{\numberline{1} {{\lineskiplimit -\maxdimen \unhbox\voidb@x \vtop {\baselineskip \z@skip

\lineskip .25ex\everycr{}\tabskip \z@skip \halign {####\crcr Y\crcr \hss =\hss \crcr}}}} }{1}

\contentsline{section}{\numberline{2}丈夫 {\joubuyen}

}{1}

\DeclareRobustCommand \moroiyen命令 定義 結果

.LATEX 命令 何 別 書 出 場合 丈夫 命令 定義

方 無難 . ,次 \protect命令 使 場合 行

事 確認 .

\section{ {\protect\moroiyen} }

\protect 使 \moroiyen 壊 hfilei.toc hfilei.aux 出力

事 確認 .

H 4.2.4 文字 区切

私 人間 文 節 区切 判断 .一 文

文 単語 単語 挿入 空白 .空白 文字列 区切

示 , 空白 意味 区切 . 節 .例 日本語

「公園 中 」

名詞 ,

「公園」「 」「中」「 」「 」「 」「 」

分 文 解釈 ,名詞 助動詞 品詞 分 事 .

一 例 場合 考 見 .

上 手紙 取 住所 分

表現 ,人間 分 表記 .仮

name@server.co.jp

‘name’ ‘@’ ‘server’ ‘.’ ‘co’ ‘.’ ‘jp’

分 .

name 使 人 「名前」.

@ ‘@’ ‘at’ 意味 , 以降 文字 「住所」 表 事 示 . jp 人 「国」 表 .

co 人 「地域(組織)」 所属 表 .

server 地域 中 住所.

. 住所 区切 使 .

意味合 持 .住所 区切 空白 仕方

事 . 世界 文字列 空白 含 処理

行 . , 区切 見 .

例 ‘@’ ‘.’ 文字 区切 住所 判定 .LATEX

同 事 .

文字列 LATEX 解釈 考

. 引数 取 命令 考 . 次 入力 出力 予想

\newcommand{\OneArg}[1]{ #1 }

\OneArg

結果 「 , .」 . 結果 LATEX 引数 何 指定

1文字 受 取 事 分 .

続 次 .

\newcommand{\OneArg}[1]{ #1 }

4

\OneArg { }

結果 「 , , .」 . 引数 波括弧‘{ }’

文字 塊 受 取 .

次 二 引数 取 命令 定義 .

\newcommand{\twoArgs}[2]{ #1 #2}

\twoArgs { }

場合 結果 「 , , .」 . 分 .

LATEX 引数 複数 文字列 渡 括弧 良 . 今度 (TEX 世界 通常 )文字 ‘@’ 含 命令 定義

\newcommand{\two@args}[2]{ #1 #2}

\two@args { }

Enter 4回 押 表

示 .

! Missing number, treated as zero.

<to be read again>

g

l.7 \newcommand{\two@args}[2]{ #1 #2}

?

! You already have nine parameters.

\reserved@a ...def \expandafter \h \reserved@b #10 g{

l.7 \newcommand{\two@args}[2]{ #1 #2}

?

! You can’t use ‘macro parameter character #’ in horizontal mode.

<argument> ##

1 ##2

l.7 \newcommand{\two@args}[2]{ #1 #2}

?

! You can’t use ‘macro parameter character #’ in horizontal mode.

<argument> ##1 ##

2

l.7 \newcommand{\two@args}[2]{ #1 #2}

?

一体 事 . 例 思 出 ,

LATEX ‘@’ 区切 解釈 .

\newcommand{\h}[2]{ #1 #2}

\two@args { }

引数 受 取 方 考 場合 結果 「 ,@ , ge .」

事 .

事 LATEX 命令 定義 英字 事 求

. 英字以外 文字列 , 区切 英字以外 文字列 引 数 受 取 事 .

文字 分類 利用 LATEX 中 特別 処理 .

容易 変更 困 簡単 変更

. 方法 一 中 ‘@’ 英字 同

分類 扱 .‘@’ 英字 同 分類 , 区切

次 \two@args 定義 .

\newcommand{\two@args}[2]{ #1 #2}

\two@args 定義 中 可能 , \twoArgs命

令 実態 隠 事 .

\newcommand{\two@args}[2]{ #1 #2}

\newcommand{\twoArgs}{\two@args}

開発者 使用者 分離 行 仕方 ,逆 使用者 自分

思 通 命令 等,様々 不満 .

実際 自分流 命令 ‘@’

含 変更 , 事態 陥 . 行 事,‘@’

英字 同 分類 定義

\makeatletter(‘@’ 英字 同 分類 .)

\makeatother(‘@’ 違 分類 .)

‘@’ 含 関 上記 二 命令 使 . 命令 中身 見

実 次 .

\def\makeatletter{\catcode‘\@11\relax}

\def\makeatother{\catcode‘\@12\relax}

‘@’ 11 英字 同 ,12

違 分類 . 記号 分類 呼

(表4.1参照).

4

4.1 一覧

意味 標準 割 当

0 文字 \Y=

1 開始 {

2 }

3 数式 制御 $

4 配列 要素 区切 &

5 行末文字 h改行i0x0D

6 文字 #

7 上付 文字 ^

8 下付 文字 _

9 無視 文字 ∗1

10 空白

11 英文字 A· · ·Z a· · ·z

12 文字 ( ! ? 1 2 @

13 文字 ~

14 文字 %

15 無効文字 h i0x7E

以下三 日本語TEX 16 1・第2水準 漢字 亜,丼

17 ,全角 , ,a,A

18 他 全角記号 ┼,

1標準 割 当

何 中 自分 変更 加 ‘@’ 含 箇所

\makeatletter \makeatother 囲 .

\documentclass{jsarticle}

\makeatletter

\newcommand{\two@args}[2]{ #1 #2}

\newcommand{\twoArgs}{\two@args}

\makeatother

\begin{document}

\twoArgs{ }{ }

\end{document}

.例題4.4 \@ifstar ‘@’ 含 命令 ,引数 始 (星)‘*’

判定 .次 例 実行結果 吟味 .

\newcommand\checkstar{\@ifstar{星付 }{ }}

\checkstar, \checkstar*, \checkstar!.

上記 例 実行 次 表示 .

! You can’t use ‘\spacefactor’ in vertical mode.

‘@’ 含 命令 用 \makeatletter \makeatother 囲 必要

.以下 修正 , 実行結果 吟味 .

\makeatletter

\newcommand\checkstar{\@ifstar{星付 }{ }}

\checkstar, \checkstar*, \checkstar!.

\makeatother

H 4.2.5 引数

引数 取 対 文字列 渡 場合 挙動 予想 思 .

対 渡 場合 .

\newcommand{\twoarg}[2]{#1! #2? }

\twoarg a b \twoarg{ } {未来} \twoarg{\LaTeX}

{\LaTeXe}

a! b? ! 未来?

LATEX! LATEX 2ε?

引数 取 対 引数 与 良 .

次 場合 .

\newcommand{\twoarg}[2]{#1! #2? }

\twoarg\LaTeX\LaTeXe

\twoarg\LaTeX2\LaTeX3

LATEX! LATEX 2ε? LATEX! 2? LATEX3

4.2.4節 行 内容 含 .‘LATEX’ ‘2’ 語 区切

解釈 二 目 引数 ‘2’ 渡 .

4.3 ・入 子構造

TEX/LATEX 変数 (有効範囲) 当 前 機

能 持 . 事 人 馴染 薄

詳 説明 .

4 変数 「限 範囲 有効」 局所変数 「全 範囲 」有効 域変数 2通 .LATEX 重要 話 , 有効範囲(

) 決 波括弧 .

方言 地方 言葉 違 事 ,LATEX 地方

(範囲) 分 言葉(定義) 使 分 .以下 例題 自分 試

\newcount\test% 新規 変数 調達

\the\test% 変数 値 表示

{% 1 開始

\test=3 \the\test% \test 3 代入 値 表示

{% 2 開始

\test=5 \the\test% \test 5 代入 値 表示

}% 2 終了

\the\test% 2 test 5 代入

}% 終了

\the\test% 値 ?

\test=6 \the\test% \test ?

\newcount 新規 ( ) 用意 ,\the 値 表

示 命令 . ,以上 入力 「035306」 値 得 事

. 事 考 「内側 括弧 代入 値 外側 括弧 領域 影響 .」

事 ,「外側 値 変更 内側 括弧 値 変更 」

事 . 「 」 作 中 好 勝手 .

次 書体変更 宣言 書体 変更 見 .今回

変 \ttfamily 変 \itshape, 普通 書体 戻

\normalfont 三 宣言 使 .

roman {\ttfamily tt {\itshape it}

tt \normalfont it} roman romantt it tt it roman

気 \ttfamily 宣言 二 括弧 中

影響 点 .先 変数 代入

. 書体 宣言 , 宣言 場所 内側 括弧 有効範囲

. 現在 LATEX 仕様 .宣言 命令 結果

同 .

roman \texttt{ tt \textit{it}

tt \normalfont it} roman roman tt it tt it roman

\normalfont 命令 使 体 有効範囲 通常

書体 戻 . 考 影響 与 括弧 内側 領域

\normalfont 使 良 事 .

roman {\ttfamily tt {\normalfont

\itshape it} tt} roman\par roman \texttt{tt {\normalfont

\textit{it}} tt} roman

romantt it ttroman romantt it ttroman

命令 宣言型 括弧 内側 影響 , 属性

受 工夫 必要 .

H 4.3.1 大域化

書体 属性 変更 宣言型 変更 特殊

. 最初 大域変数 局所変数 二 一度見直 .

括弧 内側 定義 内容 外側 有効 良 .

括弧 外側 定義 内側 有効 方法 不便 .「用紙

」 簡単 変 変数 括弧 内側 有効

. 括弧 内側 有効 事 大域化( 化) 言

.TEX/LATEX 大域化 \global 命令 用意 .

\newcount\test \the\test

{% 1

\global\test=3 \the\test% 大域 代入

{% 2

\the\test

\test=5 \the\test }

\the\test }

\the\test

\test=6 \the\test

場合 ‘0 3 35 3 36’ .3行目 大域的 ‘3’ 代入

内側 括弧 有効 , 2 出 後 数値 ‘3’ .

1 抜 後 ‘3’ 代入 .以上 \global 使

内側 外側 全 処理 影響 (LATEX , 数 値 操作 命令 、 大域化 定義 ).

4