4

I am a LaTeX noob and am stuck on how to modify a biblatex style. I tried playing around with an existing style but I have a hard time following in which files all the sub-macros are hidden. My bib needs to look as follows:

Last1 / Last2 Year
(tab)Last1, First_initial1; Last2, First_initial2: Title. Publication, Location, Date.

I started editing an existing desing and it currently looks as follows:

Last1, First1 and First2 Last2 Year
(tab)Last1, First1 and First2 Last2. Title. Publication.

Can anyone help me where I need to look in the varous bbx, cbx and def files to make my bibliography look right?


EDIT

\ProvidesFile{newstyle_bib.bbx}[\abx@bbxid $Id: standard.bbx,v 0.9a 2010/03/19 19:52:15 $] \newtoggle{bbx:isbn}
\newtoggle{bbx:url}
\newtoggle{bbx:doi}
\newtoggle{bbx:eprint}
\DeclareBibliographyOption{isbn}[true]{%
  \settoggle{bbx:isbn}{#1}}
\DeclareBibliographyOption{url}[true]{% 
  \settoggle{bbx:url}{#1}} 
\DeclareBibliographyOption{doi}[true]{%
 \settoggle{bbx:doi}{#1}} 
\DeclareBibliographyOption{eprint}[true]{% 
 \settoggle{bbx:eprint}{#1}} 
\ExecuteBibliographyOptions{isbn,url,doi,eprint}
%%%%%%%%%%%%%%% 
\DeclareBibliographyDriver{book}{% 
 \usebibmacro{author_head}
 \indent %
 \bf\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}
 \printnames{author}% 
 \newunit\newblock
 \printfield{title}% 
 \newunit\newblock
 \printlist{publisher}%
 \newunit 
 \printlist{location}% 
 \newunit 
 \printfield{year}% 
 \finentry 
 \newline} 

%%%%%%%%%%%%%%% 
%%%%%%%%%%%%%%% 
\DeclareBibliographyDriver{article}{%
 \usebibmacro{author_head}
 \indent %
 \bf\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}} 
 \printnames{author}% \newunit\newblock
4
  • Welcome to TeX.sx! Please add a minimal working example (MWE) that illustrates your problem. Aug 5, 2012 at 12:44
  • Hi Marco, would it help you if I pasted the bbx and cbx files I am using here? I got the bib working for the most part, what I still cannot figure out however, is how to filter out the last names from the entries and have them listed in boldface separated by slashes (as seen in my first post).
    – L3fos
    Aug 6, 2012 at 10:52
  • Do you use your own bbx / cbx file? At the moment I can't test anything. But I think it's helpful showing the bbx and cbx modifications. Aug 6, 2012 at 11:41
  • 1
    I copied your code in your original question. You can edit your question too. Please delete the other comments :-) Aug 6, 2012 at 12:23

1 Answer 1

4

You can often avoid modifying each individual bibliography driver by applying edits to the bibliography macros instead. In the standard styles the begentry bibiliography macro appears at the beginning of every driver. This is a good place to add the item "header".

Standard drivers typically print publishing information in the form <location>: <publisher>. For most entry types this order can be swapped by editing the publisher+location+date bibliography macro.

The rest of the problem is handled with edits to biblatex's delimiter/punctuation commands and name formats. Here's an example.

\documentclass{article}
\usepackage[backend=bibtex,style=authortitle,firstinits,terseinits]{biblatex}

\renewbibmacro*{begentry}{%
  \renewcommand*{\finalnamedelim}{\multinamedelim}%
  \renewcommand*{\multinamedelim}{\addspace\slash\space}%
  \printtext[bold]{%
    \printnames{labelname}%
    \setunit*{\addspace}%
    \printfield{year}}%
  \setunit*{\par\nobreak}
  \renewcommand*{\multinamedelim}{\addsemicolon\space}}

\renewbibmacro*{publisher+location+date}{%
  \printlist{publisher}%
  \setunit*{\addcomma\space}%
  \printlist{location}%
  \setunit*{\addcomma\space}%
  \usebibmacro{date}%
  \newunit}

\renewcommand*{\labelnamepunct}{\addcolon\space}

\DeclareNameAlias{sortname}{last-first}

\addbibresource{biblatex-examples.bib}
\begin{document}
\textcite{companion,reese,wassenberg}
\printbibliography
\end{document}

enter image description here

8
  • Did you notice my message in the chat :-( Aug 6, 2012 at 17:38
  • @MarcoDaniel Yeah, sorry. I've been hanging back on answering lately, but I guess I should've waited longer for this one.
    – Audrey
    Aug 6, 2012 at 18:04
  • I think some combinations are useful. Your way with \setunit is much better. I like my way with \usebibmacro{cite}% and \usepackage{xpatch} \xpatchbibmacro{author}{\usebibmacro{date+extrayear}}{}{}{} ;-) Aug 6, 2012 at 18:05
  • Wow, that was quick! Thanks a bunch, the begentry works now, but the author names still do not. I get the following result: <p> Atkinson 1887 <br> <space>AtkinsonAJamesJ: “Gas-Engine”. Patent US 367496 (US). Aug. 1887. <p> Any idea what could be cause this?
    – L3fos
    Aug 7, 2012 at 8:19
  • @L3fos I can't tell without further details. Does the example I gave work for you? If so, you're probably making unnecessary edits to the name formats.
    – Audrey
    Aug 7, 2012 at 12:50

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.