我正在使用 编写俄语文档\babel
,文档正文中的所有内容似乎都运行正常。但是,当我尝试使用 制作西里尔文标题时\maketitle
,我收到错误消息,提示俄语尚未定义,因为标题信息位于序言中加载包之前。
我有点新手,所以我尝试只是在下面移动标题信息\usepackage{babel}
。这也不起作用。有办法解决这个问题吗?(我也愿意手动创建环境的合理复制品\maketitle
,在文档主体内,只需将一些大文本居中即可\maketitle
,但我也不知道该怎么做。)
以下是一个例子
\title{\begin{otherlanguage*}{russian}
Текст на русском языке
\end{otherlanguage*}}
\documentclass{article}
\usepackage[T2A,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}
\begin{document}
\maketitle
\begin{otherlanguage*}{russian}
Текст на русском языке
\end{otherlanguage*}
\end{document}
标题符合,但是毫无意义。
答案1
你定义你的\title
前加载babel
其他软件包。不出所料,它不起作用。
\title
调用类后即可移动:
\documentclass{article}
\usepackage[T2A,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}
\title{\begin{otherlanguage*}{russian}
Текст на русском языке
\end{otherlanguage*}}
\begin{document}
\maketitle
\begin{otherlanguage*}{russian}
Текст на русском языке
\end{otherlanguage*}
\end{document}
此外,对于较长的文档来说,声明\selectlanguage{russian}
和\selectlanguage{english}
可能比otherlanguage*
环境更方便。