我正在尝试排版一本包含英语、俄语和日语书目条目的书。让书目正常工作让我抓狂。通过拼凑来自 tex.se 的各种答案,我已经非常接近目标了(我认为),但距离目标还有一点距离。
我认为我必须使用biblatex
。biblatex
不支持polyglossia
,所以我必须使用babel
。没问题。Babel 中有一些对日语的支持,如下所示http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Babel
这是我目前得到的信息:
\documentclass{article}
\usepackage{xltxtra}
\usepackage[strict,autostyle]{csquotes}
\usepackage[russian,japanese,english]{babel}
\usepackage[babel=other,backend=biber,style=authoryear-icomp]{biblatex}
\usepackage{xeCJK}
\usepackage{fontspec,xunicode}
\defaultfontfeatures{Mapping=tex-text}
\newfontinstance\greekfont{Gentium Plus}
\xeCJKsetup{CJKglue=\hspace{0pt}}
\setCJKmainfont[Scale=MatchUppercase]{Hiragino Mincho Pro}
\setromanfont{Gentium Plus}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Bohan1928,
Author = { ボハン, デ},
Title = { 過去及び現在に於ける英国教会と正教会 },
Journal = { 正教時報 },
Volume = { 17 },
Edition = { 9 },
Year = { 1928 },
Pages = { 5-9 },
Keywords = {primary},
Hyphenation = { japanese },
Language = { japanese }
}
@article{Dubrovin1906,
Author = { Дубровин, А. И },
Title = { Открытое письмо Председателя Главного Совета Союза Русского Народа А. И. Дубровина от 2 декабря 1906 года митрополиту Санкт-Петербургскому Антонию, Первенствующему члену Священного Синода },
Journal = { Вече },
Volume = { },
Edition = { 97 },
Year = { 1906 },
Month = { 7 дек. 1906 },
Pages = { 1-3 },
Keywords = {primary},
Hyphenation = { russian },
Language = { russian }
}
@article{Brumbaugh1947,
Author = { Brumbaugh, Thoburn T },
Title = { The Protestant Handicap in Japan. },
Journal = { Christian Century },
Volume = 64,
Edition = 23,
Year = { 1947 },
Month = { 4 June 1947 },
Pages = { 708-709 },
Keywords = {primary},
Hyphenation = { english },
Language = { english }
}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
输出
References
Brumbaugh, Thoburn T (Apr. 1947). “The Protestant Handicap in Japan.” In: Christian Century 64, pp. 708–709.
Дубровин, А. И (июл. 1906). «Открытое письмо Председателя Главного Совета Союза Русского Народа А. И. Дубровина от 2 декабря 1906 года митрополиту Санкт-Петербургскому Антонию, Первенствующему члену Священного Си- нода». Русский. В: Вече, с. 1—3.
ボハン, デ (1928). ?過去及び現在に於ける英国教会と正教会? japanese. In: 正教時報 17, pp. 5– 9.
csquotes 不支持日语,所以我的引文不起作用。似乎还biblatex
想把language
标签放入引文正文中,而我并不想这样做,而且日语条目中的辅助文本(“In:”、“pp.”)仍然是英文。
我能得到比这更好的吗?
答案1
我猜楼主现在已经写完了他的书,但我找到了一个解决方案,无论如何我还是想分享一下。使用该csquotes
包,可以使用 声明自定义引用样式\DeclareQuoteStyle
。可以使用 删除所有引文中不需要的“In: ” \renewbibmacro{in:}{}
,并且只能使用以下命令省略日文条目的页码:
\AtEveryBibitem{%
\iffieldequalstr{langid}{japanese}
{\DeclareFieldFormat{pages}{#1}} % if true
{} % if false
}
输出和完整代码如下。
% !TEX TS-program = xelatex
% !BIB TS-program = biber
\documentclass{article}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguages{russian}
\usepackage{xeCJK}
\xeCJKsetup{CJKglue=\hspace{0pt}}
\setCJKmainfont[Scale=MatchUppercase]{Hiragino Mincho Pro}
\newfontfamily{\cyrillicfont}{Minion Pro}
\usepackage[strict,autostyle=true]{csquotes}
\DeclareQuoteStyle{japanese}
{「}
{」}
{『}
{』}
\setquotestyle{japanese}
\usepackage[
backend=biber,
language=auto,
autolang=langname,
style=authoryear-icomp,
]{biblatex}
\renewbibmacro{in:}{} % removes "In:"
\AtEveryBibitem{%
\iffieldequalstr{langid}{japanese}
{\DeclareFieldFormat{pages}{#1}} % if true
{} % if false
}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Bohan1928,
Author = { ボハン, デ},
Title = { 過去及び現在に於ける英国教会と正教会 },
Journal = { 正教時報 },
Volume = { 17 },
Edition = { 9 },
Year = { 1928 },
Pages = { 5-9 },
Keywords = {primary},
langid = { japanese },
% Language = { japanese }
}
@article{Dubrovin1906,
Author = { Дубровин, А. И },
Title = { Открытое письмо Председателя Главного Совета Союза Русского Народа А. И. Дубровина от 2 декабря 1906 года митрополиту Санкт-Петербургскому Антонию, Первенствующему члену Священного Синода },
Journal = { Вече },
% Volume = { },
Edition = { 97 },
Year = { 1906 },
Month = { 7 дек. 1906 },
Pages = { 1-3 },
Keywords = {primary},
langid = { russian },
% Language = { russian }
}
@article{Brumbaugh1947,
Author = { Brumbaugh, Thoburn T },
Title = { The Protestant Handicap in Japan. },
Journal = { Christian Century },
Volume = 64,
Edition = 23,
Year = { 1947 },
Month = { 4 June 1947 },
Pages = { 708-709 },
Keywords = {primary},
langid = { english },
% Language = { english }
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}