38

I want to cite an ISO standard using BibLaTeX. All guidelines I found for BibTeX suggested using misc and replacing the author and editor fields by a number field which was then the full string denoting the ISO standard ("ISO 9241-210:2010" say). BibLaTeX won't display the number though. I found this German thread where it was suggested to copy the misc BibliographyDriver to a new standard type (as suggested by the section "2.1.3 Unsupported Types" of the BibLaTeX documentation) and replace

\usebibmacro{author/editor+others/translator+others} 

by

\usebibmacro{series+number}

The result is a complete adapted copy of the standard.bbx file, renamed to din.bbx though. Is this the only/best solution? Can't I just change what I need and insert it somehow?


This link is not TeX-related but might be useful: http://www.garshol.priv.no/blog/47.html

2
  • 1
    It depends on the output you're trying to achieve, but often you can get by with style edits in the preamble. I'd put (either manually or with biber) the ISO number in a field that forms the citation label. Examples with authoryear can be found here.
    – Audrey
    Aug 3, 2012 at 0:35
  • 1
    Well @Audrey, I'm using numeric as the citation style and currently I'm only using normal \cites, not something where the author had to be displayed. So I guess I could get along with note or something. But I was wondering whether there was a "proper" way to do it. And somehow, creating a new 800 line file and excluding myself from updates to the original didn't seem proper either.
    – Christian
    Aug 3, 2012 at 14:19

3 Answers 3

21

Here is a solution using biblatex 2.0/biber 1.0. You can define your own entrytype for this and then just write your own driver for the new type. Since you "own" this driver, you can do what you want with it, add new fields, format them how you like. This is very easy, I just copied an existing driver from the standard.bbx in biblatex and changed it a bit, making it a "standard" driver and referencing the fields I allowed for this type in the datamodel declaration (NUMBER and TYPE). You are really adding to the data model as this already specified that most common fields like AUTHOR, YEAR etc. are allowed in all entry types. NUMBER and TYPE aren't so I added them. I didn't have to actually define these fields in the data model as they already exist - you could of course make completely new fields with new names but then you'd need some \DeclareDatamodelFields declarations. See section 4.5.3 of the biblatex 2.x documentation.

\begin{filecontents}{test1.bib}
@STANDARD{test1,
  author = {Alan Author},
  title = {I Claim This Technology},
  type = {ISO},
  number = {ISO 9241-210:2010},
  year = {2010}
}
\end{filecontents}
\documentclass{article}
\usepackage[style=numeric]{biblatex}
\addbibresource{test1.bib}
\DeclareDatamodelEntrytypes{standard}
\DeclareDatamodelEntryfields[standard]{type,number}
\DeclareBibliographyDriver{standard}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit\newblock
  \printfield{number}%
  \setunit{\addspace}\newblock
  \printfield[parens]{type}%
  \newunit\newblock
  \usebibmacro{location+date}%
  \newunit\newblock
  \iftoggle{bbx:url}
    {\usebibmacro{url+urldate}}
    {}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \usebibmacro{related}%
  \usebibmacro{finentry}}
\begin{document}
\cite{test1}
\printbibliography
\end{document}

enter image description here

5
  • 1
    I have been avoiding biber so far because of the lousy toolchain integration. Getting kile to use biber without having my poor Atom do thrice the work it would have to with the usual smart build process seems practically impossible for now. Your solution is great though; it's just too bad that without biber my question seems unanswerable :/
    – Christian
    Aug 5, 2012 at 16:24
  • 2
    This is strange - as far as toolchain integration goes, it is a drop-in replacement for bibtex.
    – PLK
    Aug 5, 2012 at 16:32
  • I managed something that looks surprisingly decent so far by making biber a BibTeX "profile" for kile and avoiding \addbibresource (which has nothing to do with biber, I know).
    – Christian
    Aug 5, 2012 at 22:56
  • How can I get a pretty shorthand/bibindex for biblatex with a style like alphabetic? So in the text I get [ISO9241] instead of [Aut10]?
    – n4pK
    Dec 26, 2019 at 19:28
  • Just add this field to the entry: SHORTHAND = {ISO9241}
    – PLK
    Dec 27, 2019 at 21:13
15

According to the ietf recommandations, it's recommended to use @techreport for the RFC reference and give some other tips. It may be applicable to ISO too.

   @techreport{rfc1654,
   AUTHOR = "Yakov Rekhter and Tony Li",
   TITLE = "{A Border Gateway Protocol 4 (BGP-4)}",
   HOWPUBLISHED = {Internet Requests for Comments},
   TYPE="{RFC}",
   NUMBER=1654,
   PAGES = {1-56},
   YEAR = {1995},
   MONTH = {July},
   ISSN = {2070-1721},
   PUBLISHER = "{RFC Editor}",
   INSTITUTION = "{RFC Editor}",
   URL={http://www.rfc-editor.org/rfc/rfc1654.txt}
   }

and I used natbib package to get [RFC1654], check this post

1

You could try https://www.ctan.org/search?phrase=din1505, which implements correct citation of various document types according to the German DIN 1505 standard. Caveat: The entire documentation is in German.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .