Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I need my footnotes and bibliograpy entries look a certain way. I am almost there but I have a problem with how the editor of an edited book / incollection looks like. Currently, it looks like this in the footnote: Brian Smith, ‘How to do it’ in Big Book of Knowledge, ed. by Tony Riley (Oxford: Oxford University Press, 2012), pp. 12–34. and this in the bibliography: Smith, Brian, ‘How to do it’ in Big Book of Knowledge, ed. by Tony Riley (Oxford: Oxford University Press, 2012), pp. 12–34.

What I need it to read is: Smith, Brian, ‘How to do it’ in Tony Riley (ed.), Big Book of Knowledge (Oxford: Oxford University Press, 2012), pp. 12–34.

So how do I adapt the verbose-style that it reads "... Tony Riley (ed.)" instead of "ed. by Tony Riley"?

Additionally, that the editor comes after "in", i.e. before the title of the book. ("in Tony Riley (ed.), The Big Book of Knowledge" instead of "in The Big Book of Knowledge, ed. by Tony Riley")?

Thank you very much

Dan

PS: This is my little example:

\documentclass[paper=a4,fontsize=12pt]{scrartcl}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@incollection{Smith2012,
    Address = {Oxford},
    Author = {Brian Smith},
    Booktitle = {Big Book of Knowledge},
    Editor = {Tony Riley},
    Pages = {12-34},
    Publisher = {Oxford University Press},
    Title = {How to do it},
    Year = {2012}}
\end{filecontents}

\usepackage[style=verbose-trad3, 
natbib=true,
sortcites=true, 
block=space, 
isbn=false, 
url=false, 
doi=false, 
dashed=false, 
dateabbrev=false,
backend=biber,
bibencoding=utf8,
]{biblatex}

\renewcommand{\footcite}{\cite}
\usepackage[ngerman,british]{babel}
\usepackage[applemac]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[style=english,english=british]{csquotes}


\renewcommand*{\cite}{\autocite}
\renewcommand*{\newunitpunct}{\addcomma\space}


\usepackage{biblatex}
\renewbibmacro{in:}{%
\ifentrytype{article}{space}{%
\nopunct
\printtext{\bibstring{in}\nopunct\addspace}}}



\renewbibmacro*{publisher+location+date}{%
\nopunct% ADDED
\printtext[parens]{% ADDED
\printlist{location}%
\iflistundef{publisher}
{\setunit*{\addcomma\space}}
{\setunit*{\addcolon\space}}%
\printlist{publisher}%
\setunit*{\addcomma\space}%
\usebibmacro{date}%
}
\newunit}

\addbibresource{\jobname.bib}

\begin{document}
This is an example sentence.\cite{Smith2012}

\printbibliography

\end{document}
share|improve this question
1  
This question addresses (among other things) changes in the editor string format and print order for @inbook, @incollection and @inproceedings. –  Audrey Jul 19 '12 at 13:38
add comment

1 Answer

First, compiling your document I get an error:

! Package biblatex Error: 'backend' is load-time only option.

You should move backend=biber, bibencoding=utf8, to the package options.

To swap the appearance of editor and booktitle, you have to alter the definitions of incollection, inbook, etc. This shouldn't be too hard, you'll find them in the file biblatex.def.

Then you need to redefine the bibmacro byeditor+others to get something like "John Doe (ed.)". The following code, redefining bibmacro byeditor+others, works for your example, though you might run in some problems with other editortypes:

\documentclass[paper=a4,fontsize=12pt]{scrartcl}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@incollection{Smith2012,
    Address = {Oxford},
    Author = {Brian Smith},
    Booktitle = {Big Book of Knowledge},
    Editor = {Tony Riley},
    Pages = {12-34},
    Publisher = {Oxford University Press},
    Title = {How to do it},
    Year = {2012}}
\end{filecontents}

\usepackage[style=verbose-trad3, 
natbib=true,
sortcites=true, 
block=space, 
isbn=false, 
url=false, 
doi=false, 
dashed=false, 
dateabbrev=false,
backend=biber,
bibencoding=utf8,
]{biblatex}

\renewcommand{\footcite}{\cite}
\usepackage[ngerman,british]{babel}
\usepackage[applemac]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[style=english,english=british]{csquotes}

\renewcommand*{\cite}{\autocite}
\renewcommand*{\newunitpunct}{\addcomma\space}

\usepackage{biblatex}
\renewbibmacro{in:}{%
\ifentrytype{article}{space}{%
\nopunct
\printtext{\bibstring{in}\nopunct\addspace}}}

\renewbibmacro*{publisher+location+date}{%
\nopunct% ADDED
\printtext[parens]{% ADDED
\printlist{location}%
\iflistundef{publisher}
{\setunit*{\addcomma\space}}
{\setunit*{\addcolon\space}}%
\printlist{publisher}%
\setunit*{\addcomma\space}%
\usebibmacro{date}%
}
\newunit}

\renewbibmacro*{byeditor+others}{%
  \ifnameundef{editor}
    {}
    {\ifnamesequal{author}{editor}
      {\bibnamedash}
      {\printnames{editor}}%
     \addspace
     \mkbibparens{\usebibmacro{editorstrg}}%
     \clearname{editor}}
    {}}

\addbibresource{\jobname.bib}

\begin{document}
This is an example sentence.\cite{Smith2012}

\printbibliography

\end{document}
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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