For 1. The period after the initial can be remove by \renewcommand{\bibinitperiod}{}
For 2, you can introduce a new field medium
in your bibtex
entries, and the use a source map (supported by recent biber
and biblatex
)
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldsource=medium, fieldtarget=usera]
}
}
}
and then add the appropriate instruction, for example
\iffieldundef{usera}
{}
{\printtext{[}\printfield{usera}\printtext{]}}
at the right place in the online
driver
For 3: To change the format of the urldate
you can replace \printurldate
in the url+urldate
bibmacro with
\printfield{urlyear} \mkbibmonth{\thefield{urlmonth}} \stripzeros{\thefield{urlday}}
Notice that biblatex
include a period at the end of the abbreviations for the months. To remove it one has to declare
\DeclareBibliographyStrings{%
january = {Jan},
...
}
For 4: To transform some text in "sentence case" you can use \MakeSentenceCase{text}
or \MakeSentenceCase*{text}
I don't know an easy way to make all dates in the entire document follow the Australian format, but I know how to apply the Australian date format to the bibliography without affecting the hyphenation style.
You can add australian
to babel and then switch the language to australian
before printing the bibliography. Then all the dates in the bibliography will be Australian-style.
Be aware that this solution also affects other style factors within the bibliography such as serial commas (as described here) and quotation mark formatting. For example, references to articles printed in USenglish
format use double quotes and keep end punctuation inside the quotes, while those printed in australian
format use single quotes and keep the end punctuation outside the quotes:
"Article Title in American English."
'Article Title in Australian English'.
The following code exemplifies the result:
\documentclass{article}
\usepackage[ngerman,australian,USenglish]{babel}
\usepackage[autostyle]{csquotes}
\usepackage[backend=biber,language=autobib,autolang=hyphen,sorting=none]{biblatex}
\addbibresource{testbib.bib}
\begin{filecontents}{testbib.bib}
@article{default2014,
author = {Vorname Nachname},
title = {The German Rindfleischetikettierungs\"uberwachungsaufgaben\"ubertragungsgesetz},
journaltitle = {Default Journal of Gastroenterology},
date = {2014-03-20},
}
@article{au2014,
author = {Vorname Nachname},
title = {The German Rindfleischetikettierungs\"uberwachungsaufgaben\"ubertragungsgesetz},
journaltitle = {Australian Journal of Gastroenterology},
date = {2014-03-20},
langid = {australian},
}
@article{us2014,
author = {Vorname Nachname},
title = {The German Rindfleischetikettierungs\"uberwachungsaufgaben\"ubertragungsgesetz},
journaltitle = {American Journal of Gastroenterology},
date = {2014-03-20},
langid = {USenglish},
}
@article{de2014,
author = {Vorname Nachname},
title = {Das deutsche Rindfleischetikettierungs\"uberwachungsaufgaben\"ubertragungsgesetz},
journaltitle = {Zeitschrift f\"ur Gastroenterologie},
date = {2014-03-20},
langid = {ngerman},
}
\end{filecontents}
\begin{document}
% main text here in USenglish (switch to ngerman when necessary)
The hyphenation rules of Australian English, American English, and German are\
different~\cite{default2014,au2014,us2014,de2014}.
\selectlanguage{australian} % for proper day/month order
\printbibliography
\end{document}
When the langid
field is omitted, the hyphenation style defaults to that of the currently-selected language (in this example, australian
).
Best Answer
The date format depends on your language settings. This can be shown by the following example:
In your case you can use the default german definition of
\mkbibdatelong
/\mkbibdateshort
to get your result: