无法从类文件中获取西里尔符号。以下是一个最小示例。
.cls
\ProvidesClass{class}
\renewcommand{\normalsize}{\fontsize{9}{10}\selectfont}
\RequirePackage{tempora}
\AtBeginDocument{}
\AtEndDocument{}
\def\thepage{1}
\newenvironment{proof}{%
\subparagraph{Доведення}%
}{%
}
\def\subparagraph{\@startsection
{subparagraph}{4}{0pt}{16pt}{-1em}{}}
.tex
\documentclass{class}
\usepackage[T1, T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english, ukrainian]{babel}
\begin{document}
\begin{proof}
proof goes here
\end{proof}
А тут працює!
\end{document}
答案1
当 LaTeX 读取类文件时,inputenc
包尚未加载,除非您在课堂中执行此操作。
因此解决方案可能是(抱歉更改了类名,这是为了避免破坏我的文件):
\ProvidesClass{yola}
\renewcommand{\normalsize}{\fontsize{9}{10}\selectfont}
\RequirePackage[utf8]{inputenc}
\RequirePackage{tempora}
\AtBeginDocument{}
\AtEndDocument{}
\def\thepage{1}
\newenvironment{proof}{%
\subparagraph{Доведення}%
}{%
}
\def\subparagraph{\@startsection
{subparagraph}{4}{0pt}{16pt}{-1em}{}}
但是,这会强制您的班级用户使用 UTF-8。
一个独立于编码的解决方案是
\ProvidesClass{yola}
\renewcommand{\normalsize}{\fontsize{9}{10}\selectfont}
\RequirePackage{tempora}
\AtBeginDocument{}
\AtEndDocument{}
\def\thepage{1}
\newenvironment{proof}{%
\subparagraph{\CYRD\cyro\cyrv\cyre\cyrd\cyre\cyrn\cyrn\cyrya}%
}{%
}
\def\subparagraph{\@startsection
{subparagraph}{4}{0pt}{16pt}{-1em}{}}