2

I have a rather complicated set of referencing requirements for my thesis. I have references in a variety of languages (Russian, Japanese, Chinese), where the transliteration of author names, translation of titles etc. needs to be placed alongside the original. I need to use footnote referencing, where the first use of the reference shows the full reference in the footnote and following uses on the same page show Ibid. A shorter reference is used for the first use on subsequent pages. I also want to customise the ordering of names:

Western - Last Name, First Name order in the final reference list; First Name, Last Name order in footnotes.

Oriental - Last Name, First Name order in both the final reference list and the footnotes.

I have set up an extra field in the .bib file specifying which entries are western and which entries are oriental (field name is oriental).

The style verbose-inote within biblatex can get me part of the way there, but I am going to have to make modifications. I have recently discovered Bibulous, which looks very attractive as it enables me to specify exactly how I want things to work quite easily. Can Bibulous be used to produce footnote referencing like that provided by verbose-inote? If so, is it possible to specify different styles for the footnote referencing and the final reference list?

Although I would love to see a Bibulous solution, it is probably going to be easier to modify a biblatex solution than to try and implement footnote referencing in Bibulous if it doesn't already exist. I am using XeLaTeX. The name (author/editor) issue is the problem - titles and publishers work fine as is. Sample .bib references are:

@Book{Sofronov:Grammar,
title = {{Grammar of the Tangut Language, 2 volumes }{\russian Грамматика Тангутского Языка}},
author = {\noopsort{Sofronov}Sofronov, {\russian М.В. Софронов}, M.V.},
publisher = {Scientific Publishing House {\russian Издательство ``наука''}},
address = {Moscow},
year = {1968}
}

@Book{LiFanwen:1997,
editor = {\noopsort{Li}Li, {\chinese 李范文}, Fanwen},
title = {Tangut-Chinese Dictionary {\chinese 夏漢字典}},
publisher = {China Social Science Press {\chinese 中国社会科学出版社}},
address = {Beijing, China},
year = 1997,
oriental = 1
}

I am planning on using the oriental field to determine how first/last names are ordered.

At the moment I have the author's original name appearing as the middle entry in a three-element name, so I can access it using #7.

I read somewhere that I need to map the oriental field to one of the pre-existing field names, which I am doing at the top of my .tex file:

\usepackage[backend=biber, style=verbose-inote]{biblatex}
\addbibresource{xixia.bib}
\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map[overwrite]{
      \step[fieldset=oriental, fieldvalue=0]
      \step[fieldsource=oriental]
      \step[fieldset=usera, origfieldval, append]
    }
  }
}

\usepackage{fontspec}
\newfontface\russian{Times New Roman}
\newfontface\chinese{AR PL UMing CN}

Not sure what to do from here. I have been playing with adding \DeclareNameFormat in verbose-inote.cbx - something like below (this code doesn't work):

\DeclareNameFormat{author-with-orig}{%
  \ifnumcomp{\thefield{usera}}{=}{1}
    {#1%
     \ifblank{#3}{}{\addcomma\space #3 \space #7}}
    {\ifblank{#3}{}{#3\space}%
     #1 \space #7}%
  \ifthenelse{\value{listcount}<\value{liststop}}
    {\addcomma\space}
    {}}

and then modifying the following two entries in verbose-inote.cbx to refer to author-with-orig:

\newbibmacro*{cite:full}{%
  \usebibmacro{cite:full:citepages}%
  \printtext[bibhypertarget]{%
    \usedriver
      {\DeclareNameAlias{sortname}{author-with-orig}}
      {\thefield{entrytype}}}%
  \usebibmacro{shorthandintro}}

\newbibmacro*{footcite:full}{%
  \usebibmacro{cite:full:citepages}%
  \printtext[bibhypertarget]{%
    \usedriver
      {\DeclareNameAlias{sortname}{author-with-orig}}
      {\thefield{entrytype}}}%
  \usebibmacro{shorthandintro}}

A MWE is as follows (in the interests of simplicity, I have left out foreign language titles, publishers, etc. as they work fine):

\documentclass[a4paper]{report}

\usepackage{fontspec}
\newfontface\russian{Times New Roman}
\newfontface\chinese{AR PL UMing CN}

\usepackage{filecontents}

\begin{filecontents*}{xixia.bib}
@Book{NonOrientalBook,
title = {Non-Oriental Book},
author = {NonOrientalLast, {\russian Имя}, NonOrientalFirst},
publisher = {Non-Oriental Book Publisher},
address = {Moscow},
year = 1968
}

@Book{OrientalBook,
editor = {OrientalLast, {\chinese 名字}, OrientalFirst},
title = {Oriental Book},
publisher = {Oriental Book Publisher},
address = {Beijing},
year = 1997,
oriental = 1
}
\end{filecontents*}

\usepackage[backend=biber, style=verbose-inote]{biblatex}
\addbibresource{xixia.bib}
\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map[overwrite]{
        \step[fieldset=oriental, fieldvalue=0]
        \step[fieldsource=oriental]
        \step[fieldset=usera, origfieldval, append]
    }
  }
}


\begin{document}
A book by a non-oriental author\footcite{NonOrientalBook}.  A document by an oriental author\footcite{OrientalBook}.

\newpage
\printbibliography
\end{document}

The footnotes should then be:

1. NonOrientalFirst NonOrientalLast Имя ... (title, publisher, etc.)
2. OrientalLast OrientalFirst 名字 ...

The bibliography should contain:

NonOrientalLast NonOrientalFirst Имя ...
OrientalLast OrientalFirst 名字 ...
  • 1
    If you are interested in a bibulous solution you should probably drop the specific biblatex tag. If you are interested in a biblatex solution a short example .bib entry of how you plan to make western and oriental names known would be appreciated. What are you missing from verbose-inote except for the name handling? – moewe Dec 28 '15 at 13:39
1

I haven't managed to use the oriental field that I was planning on using (I can't work out how to access this information within \DeclareNameFormat code), but I have managed to come up with a solution by prepending a code XXXORI to the surname of the oriental authors and using the xstring package. I have also added extra authors to the code below to test how multiple authors work.

\documentclass[a4paper]{report}

\usepackage{fontspec}
\newfontface\russian{Times New Roman}
\newfontface\chinese{AR PL UMing CN}

\usepackage{filecontents}
\usepackage{xstring}
\usepackage{intcalc}

\begin{filecontents*}{xixia.bib}
@Book{NonOrientalBook,
title = {Non-Oriental Book},
author = {NonOrientalLast, {\russian Имя}, NonOrientalFirst and NonOrientalLast2, {\russian Имя2}, NonOrientalFirst2},
publisher = {Non-Oriental Book Publisher},
address = {Moscow},
year = 1968
}

@Book{OrientalBook,
editor = {XXXORIOrientalLast, {\chinese 名字}, OrientalFirst and XXXORIOrientalLast2, {\chinese 名字2}, OrientalFirst2 and XXXORIOrientalLast3, {\chinese 名字3}, OrientalFirst3},
title = {Oriental Book},
publisher = {Oriental Book Publisher},
address = {Beijing},
year = 1997
}
\end{filecontents*}

\usepackage[backend=biber, style=verbose-inote]{biblatex}
\addbibresource{xixia.bib}

\DeclareNameFormat{author-with-orig}{%
  \IfSubStr{#1}{XXXORI}
    {\StrGobbleLeft{#1}{6}\space#3#7}
    {#3\space#1#7}
  \ifthenelse{\value{listcount}=\intcalcDec{\value{liststop}}}
    {and\space}
    {\ifthenelse{\value{listcount}<\value{liststop}}
      {\addcomma\space}
      {}}}

\DeclareNameFormat{sortname}{%
  \IfSubStr{#1}{XXXORI}
    {\StrGobbleLeft{#1}{6}\space#3#7}
    {\ifthenelse{\value{listcount}=1}
      {#1\addcomma\space#3#7}
      {#3\space#1#7}}
  \ifthenelse{\value{listcount}=\intcalcDec{\value{liststop}}}
    {and\space}
    {\ifthenelse{\value{listcount}<\value{liststop}}
      {\addcomma\space}
      {}}}

\renewbibmacro*{footcite:full}{%
  \usebibmacro{cite:full:citepages}%
  \printtext[bibhypertarget]{%
    \usedriver
      {\DeclareNameAlias{sortname}{author-with-orig}}
      {\thefield{entrytype}}}%
  \usebibmacro{shorthandintro}}


\begin{document}
A book by a non-oriental author\footcite{NonOrientalBook}.  A document by an oriental author\footcite{OrientalBook}.

\newpage
\printbibliography
\end{document}
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.