在章节标题中使用俄文字母

在章节标题中使用俄文字母

我尝试用 ascii 字母排版俄文字符,因此我参考了latex_cyrillic。可以运行,但部分标题失败。如何解决?

\documentclass{article}

\usepackage[OT2,OT1]{fontenc}
\newcommand\cyr{%
\renewcommand\rmdefault{wncyr}%
\renewcommand\sfdefault{wncyss}%
\renewcommand\encodingdefault{OT2}%
\normalfont
\selectfont}
\DeclareTextFontCommand{\textcyr}{\cyr}
\def\Eob{\char3}
\def\eob{\char11}
\def\cpr{\char126}
\def\cdpr{\char127}
\def\Cpr{\char94}
\def\Cdpr{\char95}  

\begin{document}

\section{{\cyr L{ya}punov} theorem}
{\cyr Poslednee dokazatel\cpr stvo mozhno obobshchit\cpr
sleduyushchim zamechaniem, kotoroe nam eshche prigodit\mbox{}sya.}

\end{document}

答案1

定义\cyr为强健的命令:

\DeclareRobustCommand\cyr{%
  \renewcommand\rmdefault{wncyr}%
  \renewcommand\sfdefault{wncyss}%
  \renewcommand\encodingdefault{OT2}%
  \normalfont
  \selectfont}

顺便说一句,你的定义如

\def\Eob{\char3}

是错误的。使用

\chardef\Eob=3

(更有效率)或

\newcommand\Eob{\symbol{3}}

无论如何,它们都不是必需的:输入e1(小写) 或E1(大写) 即可得到“e oborotnoye”。同样,软符号是p1P1,硬符号是p2或。和P2之间的分隔符更方便的方法是。ts\/

\documentclass{article}

\usepackage[OT2,OT1]{fontenc}

\DeclareRobustCommand\cyr{%
  \renewcommand\rmdefault{wncyr}%
  \renewcommand\sfdefault{wncyss}%
  \renewcommand\encodingdefault{OT2}%
  \normalfont
  \selectfont}
\DeclareTextFontCommand{\textcyr}{\cyr}

\newcommand\Eob{\symbol{3}} % or \chardef\Eob=3
\newcommand\eob{\symbol{11}}
\newcommand\cpr{\symbol{126}}
\newcommand\cdpr{\symbol{127}}
\newcommand\Cpr{\symbol{94}}
\newcommand\Cdpr{\symbol{95}}

\begin{document}

\section{{\cyr Lyapunov} theorem}
{\cyr Poslednee dokazatelp1stvo mozhno obobshchitp1sleduyushchim 
zamechaniem, kotoroe nam eshche prigodit\/sya.}

{\cyr \Eob\eob\Cpr\cpr\Cdpr\cdpr}

{\cyr E1e1P1p1P2p2}

\end{document}

在此处输入图片描述

有什么问题?由于 ,粗体属性不被认可\normalfont

您可以使用以下方法解决此问题

\makeatletter
\DeclareRobustCommand\cyr{%
  \fontfamily{wncy\ifnum\pdfstrcmp{\f@family}{\sfdefault}=0 ss\else r\fi}%
  \fontencoding{OT2}%
  \selectfont}
\makeatother

在此处输入图片描述


一个更为强大的解决方案是将华盛顿大学字体定义为属于OT2 编码中的字体系列cmrcmss

\documentclass{article}

\usepackage[OT2,OT1]{fontenc}

\DeclareFontFamily{OT2}{cmr}{\hyphenchar\font45 }
\DeclareFontShape{OT2}{cmr}{m}{n}{<->wncyr10}{}
\DeclareFontShape{OT2}{cmr}{m}{it}{<->wncyi10}{}
\DeclareFontShape{OT2}{cmr}{m}{sc}{<->wncysc10}{}
\DeclareFontShape{OT2}{cmr}{b}{n}{<->wncyb10}{}
\DeclareFontShape{OT2}{cmr}{bx}{n}{<->ssub*wncyr/b/n}{}

\DeclareFontFamily{OT2}{cmss}{\hyphenchar\font45 }
\DeclareFontShape{OT2}{cmss}{m}{n}{<->wncyss10}{}

\DeclareRobustCommand\cyr{\fontencoding{OT2}\selectfont}
\DeclareTextFontCommand{\textcyr}{\cyr}

\newcommand\Eob{\symbol{3}} % or \chardef\Eob=3
\newcommand\eob{\symbol{11}}
\newcommand\cpr{\symbol{126}}
\newcommand\cdpr{\symbol{127}}
\newcommand\Cpr{\symbol{94}}
\newcommand\Cdpr{\symbol{95}}

\begin{document}

\section{{\cyr Lyapunov} theorem}
{\cyr Poslednee dokazatelp1stvo mozhno obobshchitp1sleduyushchim 
zamechaniem, kotoroe nam eshche prigodit\/sya.}

{\cyr \Eob\eob\Cpr\cpr\Cdpr\cdpr}

{\cyr E1e1P1p1P2p2}

{\sffamily Abcdef\cyr Abcdef}

\end{document}

在此处输入图片描述

如您所见,所有字体属性均受尊重(只要 OT2 编码中的相应字体可用)。

相关内容