mathモードエラー

mathモードエラー

- 岡田 哲夫 の投稿
返信数: 9

奥村先生の美文書4版のCD-ROMを 使っています。ラべルつきの定理の

証明の中で、math modeを使おうとすると、エラーになったり、ならなかったりで

動作が不安定です。Windows XPの環境で、当然\usepackage(amsmath)などは定義し、マクロも使っていますが、必ず\ensuremathも定義しています。math mode

を使うときの注意点はその他に何かあるでしょうか?それともLaTexを再ロード

したほうがよいでしょうか。ちなみにエラーメッセージは以下の通りです。

/^^90^^94^^8aw^^83m^^81[^^83g^^81i^^82p^^81j.tex(578): エラー: ! LaTeX Error: Bad math environment delimiter.

単独では使えますが定理の中ではだめなのでしょうか?何か使う環境の制限が

あるのでしょうか?お教え下さい。

岡田 哲夫 への返信

Re: mathモードエラー

- TONE Kozaburo の投稿
日本語のファイル名を使うのは止めましょう。
ディレクトリ(フォルダ)名やファイル名は,英数字にしておいた方が無難です。

[追加]
実際にどのように「定理の証明」を記述しているのか書いた方が,より適切なアドバイスを受けることが出来ると思いますよ。

\documentclass から \end{document} まで,そのままタイプセット(コンパイル)出来るように,かつ不必要な部分は取り除いて,書き込むと良いでしょう。
TONE Kozaburo への返信

Re: mathモードエラー

- 岡田 哲夫 の投稿

御示唆有難うございます。定理の意味はこの際関係ありませんが、長いレポートの一部なので、エラーになった部分だけソースを示します。この最後の\begin{math}

\end{math}でエラーになります。なおMymacro ¥rmをつかっているので、

これをお手数ですが\mathrmと書き替えて下さい。すみません。

\documentclass[10pt]{jsarticle}
\usepackage{amsmath}
\usepackage{latexsym}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{okumacro}%ルビをつくるためのMacro
\usepackage{amsfonts}
\usepackage{amscd}
\usepackage{mymacros}
\usepackage[noreplace]{otf}
\usepackage{pifont}
\usepackage{txfonts}%ユーロ記号をきれいに出すため、Latin ModernでなくTxfontにした。
%\usepackage[T1]{fontenc} これを使うとPDFで暴走する。DVIはOKなので、原因がはっきりするまで使わないほうがよい。しかしTextcompだけでも何故かOKなのでこれを入れないことにする。
\usepackage{textcomp}
\usepackage{layout}
\usepackage[mathscr]{eucal}
%\usepackage{otf}
%数学記号を使うときは以下のライブラリ-をすべて定義しておいたほうが無難である
%\usepackage{amsmath}
%\usepackage{latexsym}
%\usepackage{amssymb}
\begin{document}

\theorem{Aをネーター整域とする。このとき以下は同値である。}
\begin{quote}
1)aをAの任意の非単元(0ではないとする)とすれば、イデアル(a)の素因子はすべて高さが1である。 \\
2)$\rm{A=\cap A_{\mathfrak{p}}}$である。ただし右辺の$\mathfrak{p}$は高さが1に等しいAの素イデアルすべてを動くものとする。

\end{quote}
\proofname \\
1)$\Rightarrow $2)の証明 \,一般に$\rm{A\subset A_\mathfrak{p}}$%だから$\rm{A\subset\cap A_{\mathfrak{p}}}$(ただしheight $\mathfrak{p}=1$)である。ゆえに逆の包含関係をいえばよい。いま
 $a/b$ただし$a,b\in A ,\,\,b\ne 0$ をAの商体の元、かつ$\rm{a/b\in \cap_{height\,\mathfrak{p}=1}A_{\mathfrak{p}}}$とする。いまイデアル(b)の準素分解を$\rm{(b)=\mathfrak{q}_1\cap \mathfrak{q}_2 \cap ,\cdots ,\cap \mathfrak{q}_s\,\,\text{ただし}\,\mathfrak{,p}_i=rad \,\mathfrak{q}_i,\,heght\,\mathfrak{ p}_i=1}$とする。商環$\rm{A_{\mathfrak{p}_i}}$ ただし$(1\leq i\leq s )$を考える。 仮定により$a/b\in A_
{\mathfrak{p}_i}$したがって$a/b=a_i/b_i$ただし$b_i\notin \mathfrak{p}_i$なるごときAの元$a_i,b_i\text{が各}i(i=1,2,\cdots ,s)$について存在する。ゆえに明らかに$ab_i=a_ib\in \mathfrak{q}_i$が成り立つ。
一方$b_i\notin \mathfrak{p}_i$なるゆえ$a\in \mathfrak{q}_i$を得る。. したがって$a\in \mathfrak{q}_1\cap\mathfrak{q}_2\cap\cdots \cap\mathfrak{q}_s=(b)$を得る。すなわち$a/b\in A$を得る。
故に$A\supset \cap_{height\,\mathfrak{p}=1}A_{\mathfrak{p}}$が証明された。 \\

\begin{math}

2)\Rightarrow 1)の証明

\end{math}

\end{document}

岡田 哲夫 への返信

Re: mathモードエラー

- 奥村 晴彦 の投稿
こんなに話を複雑にされなくても,

\documentclass{jsarticle}
\begin{document}

\begin{math}

2)\Rightarrow 1)の証明

\end{math}

\end{document}

だけで生じるエラーですよね。math 環境というのは $ でサンドイッチするのと同じで,$ は本文中の短い数式のためのものでその中に改行を入れたりはできないものです。

正しい書き方は

2) $\Rightarrow$ 1) の証明

ではないでしょうか。
奥村 晴彦 への返信

Re: mathモードエラー

- 岡田 哲夫 の投稿

先生、ご多忙のところ、申し訳ありません。

御指摘の$で囲むのは十分承知なのですが、試しにmath

環境を使ってみたらエラーになって、その理由が分からないというのがポイントです。使わないほうがよいのでしょうか?御教授おねがいします。

岡田 哲夫 への返信

Re: mathモードエラー

- 奥村 晴彦 の投稿
そうではなくって,


\documentclass{jsarticle}
\begin{document}

$

2)\Rightarrow 1)の証明

$

\end{document}


でもエラーになります。その理由は上に書いた通りです。
奥村 晴彦 への返信

Re: mathモードエラー

- 奥村 晴彦 の投稿
予備知識として,空行はTeXでは段落の区切りの意味で,そこで改行されることを意味します。でも,$...$ の中では改行できないのです。だから

$

2)\Rightarrow 1)の証明

$

がエラーになるのです。

奥村 晴彦 への返信

Re: mathモードエラー

- 岡田 哲夫 の投稿

先生、しつこくて申し訳ありません。

わからないのは$ $の使い方ではなくて、たとえば以下のものはエラーが出ませんが、何故最初に書いた長いものではmathの中は短いのにエラーになるか知りたかったのです。

\documentclass{jsarticle}
\usepackage{amsmath}
\begin{document}
\begin{math}
1)\Rightarrow 2)
\end{math}
\end{document}

math環境では$のように長いコマンドは書けないということでしょうか?エラー

にならなかった場合もあったのですが。

岡田 哲夫 への返信

Re: mathモードエラー

- 奥村 晴彦 の投稿
\begin{math} と $ は同じ
\end{math} と $ は同じ

です。

$

2)\Rightarrow 1)の証明

$

はエラーになりますが

$
2)\Rightarrow 1)の証明
$

はエラーになりません。なぜかといえば,空行は……(以下同)