我注意到,同一个西里尔文破折号在英语和俄语书目条目中的显示方式不同。如下所示,在俄语中,它按单一规则显示,但在英语中,它使用两个重叠的破折号错误地显示。
如何实现两种语言之间的一致性?
\documentclass{scrreprt}
\usepackage[english, russian]{babel}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@BOOK{Boehm:2000,
author = {Boehm, Barry W.},
title = {Software cost estimation with Cocomo II},
year = 2000,
language = {english}
}
@BOOK{Kelton:2004,
author = {Кельтон, В. Дэвид and Лоу, Аверилл М.},
title = {Имитационное моделирование},
year = 2004,
language = {russian}
}
\end{filecontents}
\begin{document}
\nocite{*}
\bibliographystyle{gost2008s}
\bibliography{\jobname}
\end{document}
答案1
如果你添加合适的定义,你会得到相同的破折号\cyrdash
\documentclass{scrreprt}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc} % change with the actual encoding you're using
\usepackage[english, russian]{babel}
\usepackage{filecontents}
%%% since T2A is loaded we can define \cyrdash to use it
\DeclareTextCommandDefault{\cyrdash}{{\fontencoding{T2A}\selectfont---}}
\begin{filecontents}{\jobname.bib}
@BOOK{Boehm:2000,
author = {Boehm, Barry W.},
title = {Software cost estimation with Cocomo II},
year = 2000,
language = {english}
}
@BOOK{Kelton:2004,
author = {Кельтон, В. Дэвид and Лоу, Аверилл М.},
title = {Имитационное моделирование},
year = 2004,
language = {russian}
}
\end{filecontents}
\begin{document}
\nocite{*}
\bibliographystyle{gost2008s}
\bibliography{\jobname}
\end{document}