The document below demonstrates style edits that will change the format and print order of "by" editors and series titles. For brevity, I carried over only some of the style changes from your MWE.
\documentclass{article}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=verbose-ibid,firstinits=true,maxnames=6]{biblatex}
% Put editor string in parentheses
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
% Like editor+others but without comma before editor string and dash checks
\newbibmacro*{ineditor+others}{%
\ifboolexpr{ test \ifuseeditor and not test {\ifnameundef{editor}} }
{\printnames{editor}%
\setunit{\addspace}%
\usebibmacro{editor+othersstrg}%
\clearname{editor}}
{}}
% Print editors before "in" title
\renewbibmacro{in:}{%
\ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}%
\usebibmacro{ineditor+others}%
\newunit
\clearname{editor}}
% Print series as usual if location is undefined
\renewbibmacro*{series+number}{%
\iflistundef{location}
{\printfield{series}%
\setunit*{\addspace}%
\printfield{number}%
\newunit}
{}}
% Omit preceding punctuation, print series with location,
% omit publisher, wrap in parentheses
\renewbibmacro*{publisher+location+date}{%
\nopunct%
\printtext[parens]{%
\printfield{series}%
\setunit*{\addspace}%
\printfield{number}%
\setunit{\addsemicolon\space}%
\printlist{location}%
\setunit*{\addcolon\space}%
\usebibmacro{date}}%
\newunit}
% A few other style changes carried over from your MWE
\renewcommand*{\newunitpunct}{\addcomma\space}
\renewcommand*{\labelnamepunct}{\newunitpunct}
\renewcommand\mkbibnamelast[1]{\textsc{#1}}
\DeclareNameAlias{sortname}{first-last}
\begin{filecontents}{\jobname.bib}
@incollection{leahy,
author = {Leahy, A.},
title = {`Necho' in Late Period personal names},
pages = {547--573},
bookpagination = {page},
publisher = {Uitgeverij Peeters en Departement Oosterse Studies},
series = {Orientalia Lovaniensia Analecta},
editor = {Aston, D. A. and Bader, Bettina and Gallorini, Carla and Nicholson, Paul and Buckingham, Sarah},
booktitle = {Under the Potter's Tree},
year = {2011},
location = {Leuven},
booksubtitle = {Studies on Ancient Egypt Presented to Janine Bourriau on the Occasion of Her 70th Birthday},
number = {204}}
@book{blobaum,
author = {Bl{\"o}baum, A. I.},
year = {2006},
title = {``Denn ich bin ein K{\"o}nig, der die Maat liebt''},
number = {4},
publisher = {Shaker Verlag},
subtitle = {Herrscherlegitimation im sp{\"a}tzeitlichen {\"A}gypten},
location = {Aachen},
series = {Aegyptiaca Monasteriensia},
shorttitle = {Denn ich bin ein K{\"o}nig}}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\begin{document}
\nocite{leahy,blobaum,aristotle:physics,aristotle:poetics,kant:kpv,hyman}
\printbibliography
\end{document}
Typically a driver contains the instructions about the order of the elements in a bibliography entry. The instructions for how to print the various elements are encoded in \usebibmacro
commands. To change the content of a \usebibmacro{<name>
you can use the command \renewbibmacro{<name>}{<instructions>}
. In your case you have to modify in:
, publisher+location+date
and byeditor+other
. For the last you have to modify how the editor
field is rendered. The rendering of names can be modified using \DeclareNameFormat{<name>}
. The changes for the style you want to achieve can be done by something like:
\renewbibmacro{in:}{\printtext{in}}
\DeclareNameFormat{editor}{%
\ifblank{#3}{}{#3\space}%
\ifblank{#5}{}{#5\space}#1%
\ifthenelse{\value{listcount}<\value{liststop}}
{\addcomma\space}%
{\space\ifthenelse{\value{listcount}>1}
{(\bibstring{editors})}
{(\bibstring{editor})}}%
}
\renewbibmacro{byeditor+others}{
\ifnameundef{editor}
{}
{\printnames{editor}}
}
\renewbibmacro{publisher+location+date}{
\iflistundef{publisher}
{}
{\printtext{(}%
\printlist{publisher}%
\iflistundef{location}
{}
{\printlist{location}}%
\printtext{)}%
}
}
To change the period at the end of the various element use
\renewcommand{\newunitpunct}{\addspace}
By the way it is better to use \addbibresource{lit.bib}
instead of \bibliography{lit}
Best Answer
I am not sure to correctly understand your questions, but the BibLaTeX style files can be put in:
You can put most modifications directly in a
.cls
,.sty
or.tex
file as well (I say "most" to be on the safe side, I have not tried extensively but so far everything I have modified in a.tex
file has worked).The last modification overrides the previous ones as usual. Indeed, if you are writing in a
.tex
file, you must input your modifications after loading BibLaTeX, because it creates the macros and commands you will be using.If you have somewhat significant modifications to make, it is better to put them in a dedicated style file in
texmf
, so as not to clutter your other files. Also, you can load any style file as an option to thebiblatex
package – which seems more appropriate than inputing / loading a separate file. (But nothing prevents you from making shortcuts to your style files if you are lazy to navigatetexmf
every time you want to change them.)Whenever you make a style file, whatever method you pick, you run the risk that a BibLaTeX update may cause some errors (although it is very rare).
Edit (trying to make my answer more complete)
As regards writing style files, I would suggest finding the one that is closest to your needs in the
texmf-dist
folder, duplicating it totexmf
and then modifying it. This way you can learn from the style, and you have something to start from.As regards
.bbx
files, as hinted above they are used for typesetting the entire bibliography. Many styles eventually loadstandard.bbx
. A typical file will contain some information about formatting fields (\DeclareFieldFormat
), some information about formatting entries (\DeclareBibliographyDriver
) and various user (re)defined macros.In
.cbx
files, you will find some information about formatting fields (\DeclareFieldFormat
) and the definition of various citation commands (\DeclareCiteCommand
and\DeclareMultiCiteCommand
). The latter are also implemented through macros.The
.lbx
files contain language related information, which typically includes some typographic settings for the specific language, and the strings that BibLaTeX will use when printing citations and bibliographies (\DeclareBibliographyStrings
).