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 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

share|improve this question
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 '12 at 0:35
    
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 '12 at 14:19

2 Answers 2

up vote 10 down vote accepted

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

share|improve this answer
    
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 '12 at 16:24
1  
This is strange - as far as toolchain integration goes, it is a drop-in replacement for bibtex. –  PLK Aug 5 '12 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 '12 at 22:56

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

share|improve this answer

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.