Simple Bibliography

From Wiki
Revision as of 13:30, 31 August 2007 by 91.64.14.162 (talk)
Jump to navigation Jump to search

(Version 0.03)

Sometimes the bibliography needs to be more flexible. For this case here is a simple module (still in development) to help. It is also a good starting-point for your own adaption.

Still open points:

  • interface should be multilingual
  • \item[...] should be rightaligned
  • modulesparamter referenzfarbe is always empty
\startmodule[quellenverzeichnis]
\unprotect

\setupmodule[itemspace=12,referenzfarbe=red]

\defineitemgroup[quellenverzeichnis]
\setupitemgroup[quellenverzeichnis][levels=1,left={[},right={]},stopper=]
\expanded{\setupitemgroup[quellenverzeichnis][1][n,\currentmoduleparameter{itemspace}*broad]} 

\def\referenz[#1]#2{\doifemptyelse{#2}
	{[\color[\currentmoduleparameter{referenzfarbe}]{\in[#1]]}}
	{[\color[\currentmoduleparameter{referenzfarbe}]{\in[#1], #2]}}}
        % problem: \currentmoduleparamter{referenzfarbe} is always empty :-(

\def\dekodiereQuelle#1[#2]
	{\getparameters[tmp][autor=,herausgeber=,jahr=,titel=,in=,serie=,band=,heft=,auflage=,bauflage=,verlag=,ort=,isbn=,url=,seiten=,#2]%
	\doifnot{\tmpautor}{}  {\tmpautor\doifnot{\tmpjahr}{}{ }}%
	\doifnot{\tmpherausgeber}{}{\doifnot{\tmpautor}{}{ - }\tmpherausgeber~(Hrsg.)\doifnot{\tmpjahr}{}{ }}%
	\doifnot{\tmpjahr}{}   {(\tmpjahr)}%
	\doifelse{\tmpautor}{}
		{\doifelse{\tmpherausgeber}{}%
			{\doifnot{\tmpjahr}{}{: }}{: }}{: }%
	\doifnot{\tmptitel}{}  {{\it \tmptitel}}%
	\doifnot{\tmpserie}{}  { aus der Reihe {\it \tmpserie}}%
	\doifnot{\tmpband}{}   { (Band~\tmpband)}%
	\doifnot{\tmpheft}{}   { (Heft~\tmpheft)}%
	\doifnot{\tmpauflage}{}{, \tmpauflage.~Auflage}%
	\doifnot{\tmpbauflage}{}{, \tmpbauflage.~überarbeitete Auflage}%
	\doifnot{\tmpverlag}{} {, \tmpverlag}%
	\doifnot{\tmport}{}    { \tmport}%
	\doifnot{\tmpisbn}{}   {, ISBN~\tmpisbn}%
	\doifnot{\tmpseiten}{} {, S.~\tmpseiten}%
	\doifnot{\tmpurl}{}    {, \tmpurl}%
   	\doifnot{\tmpin}{}     { in \expanded{\dekodiereQuelle[\tmpin]}}
	}

\def\quelle#1[#2]
	{\getparameters[tmp][schluessel=,abkuerzung=,#2]
	\doifelse{\tmpabkuerzung}{}
	      {\item[\tmpschluessel]}
	      {\sym{\cap{\tmpabkuerzung}}\expanded{\textreference[\tmpschluessel]{\cap{\tmpabkuerzung}}}}%
	\dekodiereQuelle[#2]
	}

\protect
\stopmodule
\endinput

And here is an example how to use it:


\usemodule[quellenverzeichnis]

\starttext

blabla blabla blabla blabla blabla\referenz[rv]{S. 4}

\chapter{Quellen}
\subject{Textrepräsentation}
\startquellenverzeichnis

\quelle[schluessel=cha8,autor={Paul, Hugo},jahr=2008,titel={Das Nirgendwo...},
in={titel={Die große Sammlung},herausgeber={Markoven, Heiner},
verlag={Frühschuss}}]

\stopquellenverzeichnis
\subsubject{Internationalität}
\startquellenverzeichnis[continue]

\quelle[schluessel=rv,abkuerzung=Etd05,autor={Etemad, Elika J.},jahr=2005,
titel={Robuts vertical text layout},serie={Technical Note},band=22,
verlag={Unicode Inc.},url={http://www.unicode.org/notes/tn22/}]

\stopquellenverzeichnis

\stoptext