我正在排版一本数学教科书的一段非常简单的摘录,使用 MIKTeX 上的 pdfLaTeX。我只做到了这一点:
\documentclass[openany,draft]{tagiis}
\begin{document}
%Стр. 112-115 номера на първата и последната от дадените стр.
\[ \int\limits_{\overline{a}}^b f(x)\,dx \geqq 0 \], \\
\[ \int\limits_a^{\overline{b}} f(x)\,dx \geqq 0 \].
Специално, ако функцията f(x) е интегруема, то
\[ \int\limits_a^b f(x)\,dx \geqq 0 \].
\end{document}
这会导致以下错误:
Underfull \hbox (badness 10000) in paragraph at lines 24--25
! Missing $ inserted.
<inserted text>
$
l.26 Спе
циално, ако функцията f(x) е интегруе�...
?
如果我删除西里尔文的句子,它就可以正常工作。有什么建议可以解决这个问题吗?
PS我尝试添加:
\usepackage[cp1251]{inputenc}
\usepackage[bulgarian]{babel}
这似乎没什么区别。
另外,我已经安装了语言支持 -> 西里尔文。
编辑:
我不知道这是否有帮助,但我加载了老师给我的一个文件,MIKTeX 将其解释为以下内容:
\documentclass[openany,draft]{tagiis}
\begin{document}
���. ���-��� ������ �� ������� � ���������� �� �������� ���.
\end{document}
这编译得很完美...
如果我在文本编辑器中打开文件,它看起来就像一个普通的文本文件,就像我正在编写的一样。如果它有帮助 - 我选择的文本编辑器是 Notepad++。
答案1
您使用了错误的编码。如果您的文本采用 UTF-8 编码,并且tagiis
加载了未知类\usepackage[ansinew]{inputenc}
,那么第三个西里尔字母处的错误可以解释为:
Спе
由 Unicode 字符 U+0421、U+043F 和 U+0435 按此顺序组成。如果以 UTF-8 编码,则以下显示字节(十六进制值,括号中为十进制值):
U+0421: 0xD0 (208), 0xA1 (161)
U+043F: 0xD0 (208), 0xBF (191)
U+0435: 0xD0 (208), 0xB5 (181)
查找后ansinew.def
我们得到:
\DeclareInputText{208}{\DH}
\DeclareInputText{161}{\textexclamdown}
\DeclareInputText{191}{\textquestiondown}
\DeclareInputMath{181}{\mu}
后者是数学字符,并且 TeX 抱怨缺少数学模式(Missing $ inserted
)。
使用类article
和正确的编码可以进行以下工作:
\documentclass[openany,draft]{article}
\usepackage[utf8]{inputenc}
\usepackage[bulgarian]{babel}
\begin{document}
%Стр. 112-115 номера на първата и последната от дадените стр.
\[ \int\limits_{\overline{a}}^b f(x)\,dx \geq 0\,, \] \\
\[ \int\limits_a^{\overline{b}} f(x)\,dx \geq 0\,. \]
Специално, ако функцията f(x) е интегруема, то
\[ \int\limits_a^b f(x)\,dx \geq 0\,. \]
\end{document}
评论:
- 我把标点符号移到了等式中。如果标点符号在等式后面单独一行,那对我来说看起来太奇怪了。