IMHO:
(A) the fact that it was not altered does not mean it's not a new edition. I'd definitely enter the year of the physical book (reprint). You may add that information to another field. Misprints, repaginations, etc. may happen. If such thing happens, you're covered. :)
(B) 'Title:Subtitle' is ok. Introductions, notes, annotations, commentaries, etc. are ancillary material (often outside the mainmatter
of a book) and not part of the main work itself. I wouldn't spend much effort on reproducing it, unless it is required or you are actually quoting from two different editions and need to make that obvious.
In the case of
A Translation of TITLE with Introduction and Commentary by XY
the question is rather who is the author? If you choose the actual author of the original work, then I think 'TITLE' is what the title field should contain. Otherwise you would probably need the full 'A Translation of...'
Personally, I don't think the translator should ever be in the author field, regardless whether he/she added any ancillary material.
So these are my thoughts. Any other suggestions? :)
EDIT: Still, on a personal note, but also based on the constructive comments I received, I'd like to add a few suggestions, after looking up the biblatex
documentation (Version 1.7 as of November 13, 2011), I think the original title should be in any of the cases above the value in the corresponding title field. biblatex
is very generous when it comes to field types. :)
So here are a few I picked, where text like 'Translation of...', 'Reprint of...' could go, (provided it's part of the title): booktileaddon
, maintitleaddon
, reprinttitle
, titleaddon
. You have also fields to store the author(s) of a foreword or annotations: annotator
, foreword
, introduction
. In the case of translations, where it's relevant, the origlanguage
field can be useful. Also, original publishing dates can be entered into origdate
. If this is still not enough, and you need to save information like what the original book is, of which you have a reprint, then note
might be your friend. Quoting from the biblatex
documentation - page 20:
note
Miscellaneous bibliographic data which does not fit into any other
field. The note field may be used to record bibliographic data in a
free format. Publication facts such as “Reprint of the edition London
1831” are typical candidates for the note field. See also addendum
.
For the original question, the modification required is:
\renewbibmacro*{title}{%
\ifthenelse{\iffieldundef{title}\AND\iffieldundef{subtitle}}
{}
{\printtext[title]{%
\printfield[apacase]{title}%
\setunit{\subtitlepunct}%
\printfield[apacase]{subtitle}}%
\setunit{\addspace}%
\printfield{titleaddon}%
\iffieldequalstr{entrytype}{book}%
{\setunit{\addspace}\usebibmacro{bookaddinfo}}%
{}%
\ifthenelse{%
\ifnameundef{author}\AND%
\(\ifnameundef{editor}\AND\NOT\boolean{bbx:editorinauthpos}\)\AND%
\ifnameundef{producer}\AND%
\ifnameundef{director}\AND%
\ifnameundef{writer}}
{\newunit\newblock
\usebibmacro{labelyear+extrayear}}
{}}}
\DeclareFieldFormat{origyear}{%
\mkbibparenss{\bibcpstring{origyear}~\thefield{origyear}%
\iffieldundef{origtitle}
{}%
{\addcolon\addspace\printfield{origtitle}}}%
}
\newbibmacro*{origyear}{%
\ifthenelse{
\NOT\iffieldundef{labelyear}
\AND\NOT\iffieldsequal{labelyear}{origyear}
\OR
\NOT\iffieldsequal{title}{origtitle}}
{\printfield{origyear}}
{}%
}
\DefineBibliographyStrings{german}{%
origyear = {Original erschienen}
}
This can be inserted in the preamble of your document.
For the extended version one has either to introduce new fields (this can be done,by modifying the data model, or by using the BibLaTeX facilities for related
).
EDIT 1 and EDIT 2
To accommodate the case where the author of the original publication is different the first step is to modify the data model, this can be done with:
\begin{filecontents}{biblatex-dm.cfg}
\DeclareDatamodelFields[type=list, datatype=name,skipout=false]{origauthor}
\DeclareDatamodelEntryfields{origauthor}
\end{filecontents}
This generates a file called biblatex-dm.cfg
in the current directory with the instruction about how to extend BibLaTeX data model.
Notice that BibLaTeX provides a titleaddon
field and this could be used to the extra information for the title ("Die Liebe" in the OP).
Eventually, one could add a field titletranslation
for the selfmade translation, i.e., one can include the following two lines in the datamodel file.
\DeclareDatamodelField[type=field, datatype=literal,skipout=false]{titletranslation}
\DeclareDatamodelEntryfields{titletranslation}
Another possibility is to use an "unused" field, for example, reprinttitle
. In what follow I'm going to use this option.
The next step is to modify the appropriate bibmacro
s. In this case, title
and origyear
for the formatting of the title (and related information about the original publication)
\renewbibmacro*{title}{%
\ifthenelse{\iffieldundef{title}\AND\iffieldundef{subtitle}}
{}
{\printtext[title]{%
\printfield[apacase]{title}%
\setunit{\subtitlepunct}%
\printfield[apacase]{subtitle}}%
\setunit{\addspace}%
\printfield{titleaddon}%
\setunit{\addspace}%
\printfield{reprinttitle}%
\iffieldequalstr{entrytype}{book}%
{\setunit{\addspace}\usebibmacro{bookaddinfo}}%
{}%
\ifthenelse{%
\ifnameundef{author}\AND%
\(\ifnameundef{editor}\AND\NOT\boolean{bbx:editorinauthpos}\)\AND%
\ifnameundef{producer}\AND%
\ifnameundef{director}\AND%
\ifnameundef{writer}}
{\newunit\newblock
\usebibmacro{labelyear+extrayear}}
{}}}
For originyear
the first thing to do is to define the format. To this we check that originauthor
is defined, and we set the punctuation accordingly:
\DeclareFieldFormat{origyear}{%
\mkbibparens{\bibcpstring{origyear}~\thefield{origyear}%
\ifnameundef{origauthor}
{}
{\addspace\bibstring{as}\addspace\printnames[FirstLast]{origauthor}}%
\iffieldundef{origtitle}
{}%
{\ifnameundef{origauthor}
{\setunit{\addcolon\addspace}}
{\setunit{\addcomma\addspace}}%
\printfield{origtitle}}}%
}
Then we have to consider the cases when we have to output the information about the original publication (here the condition is that either the year, or the title, or the author(s) is different).
\renewbibmacro*{origyear}{%
\ifthenelse{
\NOT\iffieldsequal{labelyear}{origdateyear}
\OR
\NOT\iffieldsequal{title}{origtitle}
\OR
\NOT\ifnamesequal{author}{origauthor}
}
{\printfield{origyear}}
{}%
}
Caveat A problem with the above solution is that not all bib entry types include instructions to format the information about the original publication using the above method. A more robust technique would be to use the facilities provided by BibLaTeX to handle related publications.
The last step is to use the appropriate value for the localisation strings origyear
and as
.
\NewBibliographyString{origyear,as}
\DefineBibliographyStrings{ngerman}{%
origyear = {Original erschienen},
as = {als}
}
\DefineBibliographyStrings{american}{%
as = {as}
}
Finally, to change the rendering of names, we have to modify the formatting instructions for apaauthor
\DeclareNameFormat{FirstLast}{%
\ifthenelse{\value{listcount}=\maxprtauth\AND\value{listcount}<\value{listtotal}}
{\addcomma\addspace\ldots}
{\ifthenelse{\value{listcount}>\maxprtauth\AND\value{listcount}<\value{listtotal}}
{}
{\iffirstinits
{\usebibmacro{name:first-last}{#1}{#4}{#5}{#7}}
{\usebibmacro{name:first-last}{#1}{#3}{#5}{#7}}}}
\ifmorenames{\andothersdelim\bibstring{andothers}}{}}
Best Answer
You can use
relatedtype={bytranslator}
instead ofrelatedtype={translatedas}
.In order to get "translated by Alberto Toscano" you can either use
abbreviate=false
as load-time option like thisor
though here you will lose the capabilities of
\lbx@sfromlang
/\lbx@lfromlang
that are only available in.lbx
files.