我正在学习日语、法语和英语资料。我正在寻找一种方法,使用 biblatex 来显示日语中的罗马化名称,然后显示原始名称。对于非母语人士,任何需要翻译的内容也是如此。例如:Kishi,Akinori 喜始照宣,« Geijutsukei daigaku shusshinsha to rōdō » 芸術系大学出身者と労働 (Diplômés d'écoles d'art et travail)
在此例子中,“Kishi, Akinori”是喜始照宣的罗马化。 “艺术系大学出身者と労働”的罗马拼音是“Geijutsukei daigaku shusshinsha to rōdō”,“Diplômés d'écoles d'art et travail”是法语翻译。
有一个使用 vform 选项的旧答案,但它不是真正的答案,在 biblatex 的更高版本中无法识别。这是一个像这个旧答案一样设计的条目,具有特殊字段,如 _romanised 或 _translation_french。
@BOOK{itou_seiu_semee_no_onna,
LANGID = {japanese},
AUTHOR = {伊藤晴雨},
AUTHOR_romanised = {Itō, Seiu},
TITLE = {責め絵の女―伊藤晴雨写真帖},
TITLE_romanised = {seme.e no onna~---~itō seiu shashinjō},
TITLE_translated_french = {femmes de peinture de blâme~---~collection photographique de itō seiu},
PUBLISHER = {新潮社},
PUBLISHER_romanised = {Shinchōsha},
DATE = {1996-08},
PAGETOTAL = {141}
}
有人想用 biblatex 插入罗马化和原始名称吗?
答案1
下面是一个粗略的例子,使用了新的 4.0 实验版本biblatex/biber
。我并没有试图使它成为一种干净的风格——只是为了展示机制。我所做的只是稍微修改了打印各种字段的通用宏。真正的解决方案需要一个.lbx
biblatex 的日语文件来定义日期格式和字符串。
\documentclass{article}
\usepackage[fallback]{xeCJK}
\setmainfont[Ligatures={Common, TeX}]{Times New Roman}
\setCJKmainfont[Scale=1]{SimSun}
\usepackage[french,english,japanese]{babel}
\usepackage[style=authoryear,language=auto,autolang=other]{biblatex}
\usepackage{csquotes}
\begin{filecontents}[force]{\jobname.bib}
@BOOK{itou_seiu_semee_no_onna,
LANGID = {ja-jp},
AUTHOR = {伊藤晴雨},
AUTHOR_transcription = {Itō, Seiu},
TITLE = {責め絵の女―伊藤晴雨写真帖},
TITLE_transcription = {seme.e no onna~---~itō seiu shashinjō},
TITLE_translation_fr = {femmes de peinture de blâme~---~collection photographique de itō seiu},
PUBLISHER = {新潮社},
PUBLISHER_transcription = {Shinchōsha},
DATE = {1996-08}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\newbibmacro*{cite}{%
\iffieldundef{shorthand}
{\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
{\usebibmacro{cite:label}%
\setunit{\printdelim{nonameyeardelim}}}
{\printnames{labelname}%
\mkbibparens{\printnames[][][transcription]{author}}%
\setunit{\printdelim{nameyeardelim}}}%
\usebibmacro{cite:labeldate+extradate}}
{\usebibmacro{cite:shorthand}}}
\renewbibmacro*{author}{%
\ifboolexpr{
test \ifuseauthor
and
not test {\ifnameundef{author}}
}
{\printnames{author}%
\mkbibparens{\printnames[][][transcription]{author}}%
\iffieldundef{authortype}
{}
{\setunit{\printdelim{authortypedelim}}%
\usebibmacro{authorstrg}}}
{}}
\newbibmacro*{title}{%
\ifboolexpr{
test {\iffieldundef{title}}
and
test {\iffieldundef{subtitle}}
}
{}
{\printtext[title]{%
\printfield[titlecase]{title}%
\setunit{\subtitlepunct}%
\printfield[titlecase]{subtitle}}%
\printtext[title]{%
\mkbibparens{\printfield[titlecase][transcription]{title}%
\setunit{\subtitlepunct}%
\printfield[titlecase][transcription]{subtitle}}}%
% \printtext[title]{%
% \mkbibparens{\printfield[titlecase][translation][fr]{title}%
% \setunit{\subtitlepunct}%
% \printfield[titlecase][translation][fr]{subtitle}}}%
\newunit}%
\printfield{titleaddon}}
\newbibmacro*{publisher+location+date}{%
\printlist{location}%
\iflistundef{publisher}
{\setunit*{\addcomma\space}}
{\setunit*{\addcolon\space}}%
\printlist{publisher}%
\mkbibparens{\printlist[][][transcription]{publisher}}%
\setunit*{\addcomma\space}%
\usebibmacro{date}%
\newunit}
\begin{document}
\cite{itou_seiu_semee_no_onna}
\printbibliography
\end{document}