是否可以在一个文档内有条件地切换语言?

是否可以在一个文档内有条件地切换语言?

我对 还很陌生biblatex。我正在排版一本包含英文和俄文论文的合集,并在书的末尾制作一个参考书目。

为了使书目看起来漂亮,条目应该单独“本地化”。也就是说,我希望一本英文书能以

Smith and Smith (eds.)

但俄罗斯人却

Иванов и Иванов (ред.) [not "eds."!]

我有一个非常模糊的想法,即可以通过某个宏中的条件来实现,该条件会检查language每个给定条目的字段并相应地选择内容。但我不知道该怎么做 --- 只是浏览一下,biblatex.def结果却找不到别的地方,只能到这里。我正为此使用lualatex,以防万一。

感谢您的任何想法!

答案1

这绝对不是一个完整的答案,但您可以尝试babel=other在加载biblatex和提供俄语条目时添加选项,例如hyphenation = russian。是否有办法自动执行后一个操作仍是一个悬而未决的问题。

答案2

langid除了设置之外,您还可以为字段指定autolang合理的值。

不幸的是,对语言的映射有点挑剔,不能与开箱即用的 XeLaTeX(一个支持 utf8 的引擎)一起使用。

ivanBiblatexLocale

\begin{filecontents}{\jobname.bib}
    @online{someotherentry,
        url={texwelt.de},
        urldate={2015-05-11},
        author={a guy},
        translator={a guy},
        editor={a guy},
        langid={ngerman}
    }
    @online{onlineentry,
        url={some},
        urldate={2015-05-11},
        langid={russian},
    }
    @book{bookentry,
        editor={smith and Wesson},
        langid={russian}
    }
\end{filecontents}
\documentclass[ngerman,russian,english]{article}
\usepackage[autolang=other,maxcitenames=1]{biblatex}
\usepackage{babel}
\usepackage{lmodern}
\addbibresource{\jobname.bib}
\usepackage{citeall}
%\DefineBibliographyStrings{russian}{urlseen={Priviet},
%andothers={and some other guys}}
\usepackage[utf8]{inputenc}
\begin{document}
\citeall[\fullcite]
\end{document}

相关内容