我已将 lyx 文档中的语言设置更改为丹麦语,但文内引用仍然为例如 ( Jones and Jones, 2013
) 而不是 ( Jones og Jones, 2013
),后者是丹麦语的对应词。
可以改变这一点吗?或者and
改成&
?
答案1
我假设您正在使用包natbib
。然后在文档的序言中尝试:
\renewcommand\betweenauthors{og}
\providecommand\harvardand{}
\renewcommand\harvardand{og}
答案2
如果您使用依赖于样式的包.bst
,则必须.bst
自己手动编辑文件。
例如,如果你使用\bibliographystyle{plain}
,我们需要修改plain.bst
(你可以在 中找到样式texmf/bibtex/bst
),相关的功能是FUNCTION {format.names}
FUNCTION {format.names}
{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
nameptr #1 >
{ namesleft #1 >
{ ", " * t * }
{ numnames #2 >
{ "," * }
'skip$
if$
t "others" =
{ " et~al." * }% change this if you like
{ " og " * t * }% <----- change this from " and " to " og "
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
以不同的名称保存此文件,例如plaindan.bst
,LaTeX 可以找到它并将行更改\bibliographystyle{plain}
为\bibliographystyle{plaindan}
。
答案3
嗯,就我而言,Herbert 和 moewe 的建议没有帮助。我不得不改变FUNCTION {format.lab.names}
% There are three apalike cases: one person (Jones),
% two (Jones and de~Bruijn), and more (Jones et~al.).
% This function is much like format.crossref.editors.
%
FUNCTION {format.lab.names}
{ 's :=
s #1 "{vv~}{ll}" format.name$
s num.names$ duplicate$
#2 >
{ pop$ " et~al." * }
{ #2 <
'skip$
{ s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
{ " et~al." * }
{ " and " * s #2 "{vv~}{ll}" format.name$ * } <-- Change here
if$
}
if$
}
if$
}