我尝试使用 UTF8 排版并使用答案包。但是,编译在 上停止\begin{sol}
,并且
Kapitola 1.
! Missing \endcsname inserted.
<to be read again>
\IeC
l.20 \begin{sol}
如果我切换到 utf8x,编译会更快停止 \Newassociation{sol}{Riešenie}{ans}
如果我删除该\usepackage{inputenc}
行,文档可以编译,但当然我的某些字符将显示不正确。
这是导致所有问题的代码:
\documentclass[12pt]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[slovak]{babel}
\usepackage[a4paper]{geometry}
\usepackage[nosolutionfiles]{answers}
\Newassociation{sol}{Riešenie}{ans}
\newtheorem{ex}{Príklad}
\begin{document}
\Opensolutionfile{ans}[ans1]
\chapter{ľščťžýáí}
\begin{ex}
Hmm?\\
\begin{sol}
Tri.
\end{sol}
\end{ex}
Naucili sme sa ze odpoved je tri.
\begin{ex}
1+1?
\begin{sol}
Tiez tri.
\end{sol}
\end{ex}
\Closesolutionfile{ans}
%\section{Solutions}
%\input{ans1}
\end{document}
答案1
该命令\Newassociation
接收三个必须仅为字母的参数:
之后,应该有几个如下形式的声明
\Newassociation{xxx}{yyy}{zzz}
其中
xxx
是文档中的环境,是将 的内容写入符号文件句柄 时yyy
将 的内容包围的环境。名称、和应仅由字母组成,而不能由数字、标点符号或空格组成。xxx
zzz
xxx
yyy
zzz
这里的“字母”更准确地说应该是 ASCII 字母。第二个参数是包含解决方案的环境的名称,如果需要,可以重新定义,但其名称并不重要,只要它是新的即可。实际上,数字、标点符号和空格是允许;但不包括重音字符。
使用\Newassociation{sol}{solution}{ans}
后一切都会顺利。