同时使用 utf8 inputenc 包和 answers 包

同时使用 utf8 inputenc 包和 answers 包

我尝试使用 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将 的内容包围的环境。名称、和应仅由字母组成,而不能由数字、标点符号或空格组成。xxxzzzxxxyyyzzz

这里的“字母”更准确地说应该是 ASCII 字母。第二个参数是包含解决方案的环境的名称,如果需要,可以重新定义,但其名称并不重要,只要它是新的即可。实际上,数字、标点符号和空格允许;但不包括重音字符。

使用\Newassociation{sol}{solution}{ans}后一切都会顺利。

相关内容