biblatex 作者字段,包含罗马化姓名和原始姓名

biblatex 作者字段,包含罗马化姓名和原始姓名

我正在学习日语、法语和英语资料。我正在寻找一种方法,使用 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。我并没有试图使它成为一种干净的风格——只是为了展示机制。我所做的只是稍微修改了打印各种字段的通用宏。真正的解决方案需要一个.lbxbiblatex 的日语文件来定义日期格式和字符串。

\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}

相关内容