[Wikide-l] Re: Sauberes Markup / Zitationen

Jakob Voss jakob.voss at nichtich.de
Mi Okt 12 17:31:21 UTC 2005


Magnus Manske schrieb:

> Warum nicht
> 
> {{InJournal3|autor=Magnus Manske|titel=The best paper
> ever|journal=Biochemistry|ausgabe=5|band=11|jahr=2012}}
> 
> und dann über "author={{{autor}}}" umsetzen? Dann muss man sich nicht
> die Reihenfolge merken...

Das wäre schon mal eine Erleichterung. In jedem Fall müssen jedoch 
verschiedene Vorlagen mit festen Sätzen von Feldern vorgegeben werden. 
Insofern finde ich es nicht so schlimm, dass das Feature noch nicht 
angeschaltet ist, da kann man sich erstmal überlegen, welche 
Publikationstypen mit welchen Feldern wir haben (wollen), ehe das große 
Chaos losbricht. Vielleicht lässt sich das Plugin auch noch etwas 
verbessern. Das Problem besteht nämlich bei optionalen Feldern und der 
Formatierung von Literaturangaben mit Punkten, Klammern, Semikolon, 
Fett, Kursiv etc. Hier zwei Beispiele:

Buch mit Ort, Auflage und ISBN:

  Erik T. Ray: ''Einführung in XML''. Beijing: O'Reilly, 2004, 2. Aufl., 
ISBN 3897212862

Buch ohne Ort, Auflage und ISBN:

  Erik T. Ray: ''Einführung in XML''. O'Reilly, 2004

Dieselbe Angabe mit gleicher Vorlage (Auflage, Ort und ISBN leer gelassen):

  Erik T. Ray: ''Einführung in XML''. : O'Reilly, 2004, ,


Artikel in einem Journal mit Seitenzahl:

  Jon M. Kleinberg (1999): ''Authoritative sources in a hyperlinked 
environment''. In: Journal of the ACM, 46(5): 604-632

Artikel in einem Journal ohne Seitenzahl:

  Andrea Ciffolilli (2003): ''Phantom authority, self–selective 
recruitment and retention of members in virtual communities: The case of 
Wikipedia.'' In: First Monday, 8(12)

Gleiche Vorlage wie mit Seitenzahl aber fehlende Seitenzahl 
(überflüssiger Doppelpunkt am Ende):

  Ciffolilli, Andrea (2003): ''Phantom authority, self–selective 
recruitment and retention of members in virtual communities: The case of 
Wikipedia.'' In: First Monday, 8(12):


Zu lösen wäre das Problem mit einer Inflation von Vorlagen oder indem 
bestimmte Teile der Angabe vom Citation-Plugin ignoriert werden, wenn 
sie bis auf Formatierung und Sonderzeichen leer sind. Dazu könnte man 
entweder ein weiteres Spezialfeld einführen:

||ignoreempty=;,()'

So dass

<citation>ort={{{ort}}}: ||verlag={{{verlag}}} || 
jahr=({{{year}}}||ignore=;.()'</citation>

bei fehlendem Jahr und Ort zu

{{verlag}}

expaniert wird und nicht zu

: {{verlag}} ()


Oder noch flexibler wäre es, wenn Teile der Feldinhalte einzelner Felder 
zusätzlich als Formatierung markiert werden können, die ignoriert 
werden, wenn der restliche Feldinhalt leer ist:

<citation>if:page=S. ||page={{{page}}}</citation>

Wird zu

S. {{{page}}}

Falls {{{page}}} nicht leer ist und sonst zum leeren String


Das sieht zwar etwas kompliziert aus, ist aber notwendig und noch immer 
einfacher als BiBTeX-Styles. Außerdem kann so Formatierung und 
eigentlicher Inhalt getrennt werden. Beispielsweise um Titel kursiv zu 
setzen und einen Doppelpunkt zwischen Autor und Titel zu setzen:

<citation>autor={{{autor}}||if:autor=: ||if:titel=''||titel={{{titel}}}||...

Oder bei Herausgeberwerken:

<citation>herausgeber={{{herausgeber}}||if:herausgeber= (Hrsg.):|| ...

In der Praxis bekommen die Schreiber nichts davon mit sondern benutzen 
einfach die Vorlagen aber eben nicht eine Vorlgee für jede Kombination 
von fehlenden Datenfeldern.

Die bedingte Ausgabe von Formatierungen könnte auch mehrere Bedingungen 
umfassen, aber ich glaube das wird dann wirklich zu kompliziert und 
nicht unbedingt notwendig.

Gruß,
Jakob