西里尔字母和古典论文:冲突错误

西里尔字母和古典论文:冲突错误

我想用 编写的某个文件中添加几行俄语classicthesis。我尝试使用下面描述的包添加西里尔字母,仍然没有问题:

\documentclass{article}
\usepackage[T2A,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}

\begin{document}

English text and 
\begin{otherlanguage*}{russian}
русский текст
\end{otherlanguage*}

\end{document}

但是,当我将允许我用西里尔字母书写的行添加到用 编写的工作示例中时classicthesis,我在编译时得到了Option clash for package inputenc.\usepackage以下Option clash for package babel内容:

\documentclass[ twoside,openright,titlepage,numbers=noenddot,headinclude,%1headlines,% letterpaper a4paper
                footinclude=true,cleardoublepage=empty,abstractoff, % <--- obsolete, remove (todo)
                BCOR=5mm,paper=a4,fontsize=11pt,
                ngerman,american,
                ]{scrreprt}

\usepackage{classicthesis-preamble} 
\usepackage[T2A,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}

\begin{document}
\frenchspacing
\raggedbottom
\selectlanguage{american} 

English text and 
\begin{otherlanguage*}{russian}
русский текст
\end{otherlanguage*}}
\end{document}

有什么提示吗?

答案1

假设classicthesis-preamble.sty类似于文件

/usr/local/texlive/2012/texmf-dist/doc/latex/classicthesis/classicthesis-config.tex

这包含在 ClassicThesis 的最新发行版中,那么您会遇到几个问题。

文件调用

\PassOptionsToPackage{latin9}{inputenc} % latin9 (ISO-8859-9) = latin1+"Euro sign"
 \usepackage{inputenc}

(这是一个非常特殊的处理方式,因为\usepackage[latin9]{inputenc}会做同样的事情)。

所以如果你使用它(或者classicthesis-preamble.sty应该有相同的行),你不能加载后指定另一种输入编码。

所以解决方案是:加载classicthesis-preamble。从 ClassicThesis 项目开始以来,拥有它就是一个错误。现在发行版提供了我指向的文件,但“按原样”包含它又是一个错误:它必须根据您的需求进行定制。

同样的问题也发生在babel;您可以通过在全局选项中指定来解决此问题,但最安全的解决方案是从辅助包中russian,english删除的调用。babelclassicthesis-preamble

不要使用\selectlanguage{american}:最后加载的语言babel是默认语言;此外您还可以english选择(这相当于american但您应该始终在整个文档中使用相同的名称)。

相关内容