Difference between revisions of "Simple Bibliography"
Line 1: | Line 1: | ||
− | (Version 0. | + | (Version 0.04) |
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. | 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: | Still open points: | ||
− | * interface should be multilingual | + | * interface should be multilingual (this version has german output, but it can be replaced easily) |
* \item[...] should be rightaligned | * \item[...] should be rightaligned | ||
− | * modulesparamter | + | * modulesparamter refcolor is always empty - so not working |
+ | * rewrite code into module-form | ||
+ | |||
<texcode> | <texcode> | ||
− | \startmodule[ | + | \startmodule[simplebib] |
+ | |||
\unprotect | \unprotect | ||
− | \setupmodule[itemspace=12, | + | \setupmodule[itemspace=12,refcolor=grau] |
+ | |||
+ | \definecolor[grau][s=.35] | ||
+ | |||
+ | \defineitemgroup[bibliography] | ||
+ | \setupitemgroup[bibliography][levels=1,left={[},right={]},stopper=] | ||
+ | \expanded{\setupitemgroup[bibliography][1][n,\currentmoduleparameter{itemspace}*broad]} | ||
+ | |||
+ | |||
+ | \def\bibitem[#1]#2{\doifemptyelse{#2}% | ||
+ | {\item[#1]}% | ||
+ | {\sym{\cap{#2}}\textreference[#1]{\cap{#2}}}}% | ||
− | \ | + | \def\bibref[#1]#2{\doifemptyelse{#2} |
− | \ | + | {\color[grau]{[\in[#1]]}} |
− | + | {\color[grau]{[\in[#1], #2]}}} | |
− | \def\ | + | \def\cbibref[#1][#2]#3{\doifemptyelse{#3} |
− | { | + | {\color[#1]{[\in[#2]]}} |
− | { | + | {\color[#1]{[\in[#2], #3]}}} |
− | |||
− | \def\ | + | |
− | {\getparameters[tmp][ | + | \def\decodebibsource#1[#2] |
− | \doifnot{\ | + | {\getparameters[tmp][author=,editor=,year=,title=,in=,series=,volume=,magazine=,edition=,revedition=, datedition=,publisher=,place=,isbn=,url=,pages=,#2]% |
− | \doifnot{\ | + | \doifnot{\tmpauthor}{} {\tmpauthor\doifnot{\tmpyear}{}{ }}% |
− | \doifnot{\ | + | \doifnot{\tmpeditor}{}{\doifnot{\tmpauthor}{}{ - }\tmpeditor~(Hrsg.)\doifnot{\tmpyear}{}{ }}% |
− | \doifelse{\ | + | \doifnot{\tmpyear}{} {(\tmpyear)}% |
− | {\doifelse{\ | + | \doifelse{\tmpauthor}{} |
− | {\doifnot{\ | + | {\doifelse{\tmpeditor}{}% |
− | \doifnot{\ | + | {\doifnot{\tmpyear}{}{: }}{: }}{: }% |
− | \doifnot{\ | + | \doifnot{\tmptitle}{} {{\it \tmptitle}}% |
− | \doifnot{\ | + | \doifnot{\tmpseries}{} { aus der Reihe {\it \tmpseries}}% |
− | \doifnot{\ | + | \doifnot{\tmpvolume}{} { (Band~\tmpvolume)}% |
− | \doifnot{\ | + | \doifnot{\tmpmagazine}{} { (Heft~\tmpmagazine)}% |
− | \doifnot{\ | + | \doifnot{\tmpedition}{}{, \tmpedition.~Auflage}% |
− | \doifnot{\ | + | \doifnot{\tmprevedition}{}{, \tmprevedition.~überarbeitete Auflage}% |
− | \doifnot{\ | + | \doifnot{\tmpdatedition}{}{, Auflage vom \tmpdatedition}% |
+ | \doifelse{\tmppublisher}{}{\doifnot{\tmpplace}{}{,}}{,}% | ||
+ | \doifnot{\tmppublisher}{} { \tmppublisher}% | ||
+ | \doifnot{\tmpplace}{} { \tmpplace}% | ||
\doifnot{\tmpisbn}{} {, ISBN~\tmpisbn}% | \doifnot{\tmpisbn}{} {, ISBN~\tmpisbn}% | ||
− | \doifnot{\ | + | \doifnot{\tmppages}{} {, S.~\tmppages}% |
\doifnot{\tmpurl}{} {, \tmpurl}% | \doifnot{\tmpurl}{} {, \tmpurl}% | ||
− | \doifnot{\tmpin}{} { in \expanded{\ | + | \doifnot{\tmpin}{} { in \expanded{\decodebibsource[\tmpin]}} |
} | } | ||
− | \def\ | + | \def\bibsource#1[#2] |
− | {\getparameters[tmp][ | + | {\getparameters[tmp][key=,abbr=,#2] |
− | \doifelse{\ | + | \doifelse{\tmpabbr}{} |
− | + | {\item[\tmpkey]} | |
− | + | {\sym{\cap{\tmpabbr}}\expanded{\textreference[\tmpkey]{\cap{\tmpabbr}}}}% | |
− | \ | + | \decodebibsource[#2] |
} | } | ||
− | |||
\protect | \protect | ||
\stopmodule | \stopmodule | ||
\endinput | \endinput | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | \ | + | <\texcode> |
− |
Revision as of 14:09, 27 November 2007
(Version 0.04)
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 (this version has german output, but it can be replaced easily)
- \item[...] should be rightaligned
- modulesparamter refcolor is always empty - so not working
- rewrite code into module-form
<texcode>
\startmodule[simplebib]
\unprotect
\setupmodule[itemspace=12,refcolor=grau]
\definecolor[grau][s=.35]
\defineitemgroup[bibliography] \setupitemgroup[bibliography][levels=1,left={[},right={]},stopper=] \expanded{\setupitemgroup[bibliography][1][n,\currentmoduleparameter{itemspace}*broad]}
\def\bibitem[#1]#2{\doifemptyelse{#2}%
{\item[#1]}%
{\sym{\cap{#2}}\textreference[#1]{\cap{#2}}}}%
\def\bibref[#1]#2{\doifemptyelse{#2} {\color[grau]{[\in[#1]]}} {\color[grau]{[\in[#1], #2]}}}
\def\cbibref[#1][#2]#3{\doifemptyelse{#3} {\color[#1]{[\in[#2]]}} {\color[#1]{[\in[#2], #3]}}}
\def\decodebibsource#1[#2]
{\getparameters[tmp][author=,editor=,year=,title=,in=,series=,volume=,magazine=,edition=,revedition=, datedition=,publisher=,place=,isbn=,url=,pages=,#2]%
\doifnot{\tmpauthor}{} {\tmpauthor\doifnot{\tmpyear}{}{ }}%
\doifnot{\tmpeditor}{}{\doifnot{\tmpauthor}{}{ - }\tmpeditor~(Hrsg.)\doifnot{\tmpyear}{}{ }}%
\doifnot{\tmpyear}{} {(\tmpyear)}%
\doifelse{\tmpauthor}{}
{\doifelse{\tmpeditor}{}%
{\doifnot{\tmpyear}{}{: }}{: }}{: }%
\doifnot{\tmptitle}{} Template:\it \tmptitle%
\doifnot{\tmpseries}{} { aus der Reihe {\it \tmpseries}}%
\doifnot{\tmpvolume}{} { (Band~\tmpvolume)}%
\doifnot{\tmpmagazine}{} { (Heft~\tmpmagazine)}%
\doifnot{\tmpedition}{}{, \tmpedition.~Auflage}%
\doifnot{\tmprevedition}{}{, \tmprevedition.~überarbeitete Auflage}%
\doifnot{\tmpdatedition}{}{, Auflage vom \tmpdatedition}%
\doifelse{\tmppublisher}{}{\doifnot{\tmpplace}{}{,}}{,}%
\doifnot{\tmppublisher}{} { \tmppublisher}%
\doifnot{\tmpplace}{} { \tmpplace}%
\doifnot{\tmpisbn}{} {, ISBN~\tmpisbn}%
\doifnot{\tmppages}{} {, S.~\tmppages}%
\doifnot{\tmpurl}{} {, \tmpurl}%
\doifnot{\tmpin}{} { in \expanded{\decodebibsource[\tmpin]}}
}
\def\bibsource#1[#2] {\getparameters[tmp][key=,abbr=,#2] \doifelse{\tmpabbr}{} {\item[\tmpkey]} {\sym{\cap{\tmpabbr}}\expanded{\textreference[\tmpkey]{\cap{\tmpabbr}}}}% \decodebibsource[#2] } \protect \stopmodule \endinput
<\texcode>