类文件中的西里尔符号

类文件中的西里尔符号

无法从类文件中获取西里尔符号。以下是一个最小示例。

.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}{}}

在此处输入图片描述

相关内容