1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML LANG="de">
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-8859-1">
<META NAME="description" CONTENT="history of the BibTeX styles dinat">
<META NAME="keywords" CONTENT="history dinat literatur DIN 1505 bibtex">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<TITLE>Versionsübersicht</TITLE>
</HEAD>
<BODY BGCOLOR="white">
<H1>Versionsübersicht für <A HREF="index.html">dinat</A></H1>
<HR>
<H4>A short note for english speaking people</H4>
<P>
This page is the version history of the BibTeX style
<CODE>dinat.bst</CODE>, which produce bibliographies following the german
norm DIN 1505. Because this norm is only usefull for text in german, all
extra documentation like these pages is in german, too. Nonetheless the
styles themselves have comments and output in english. If you like to get
this pages in english, too, please write me, I'll do my very best.
</P>
<ADDRESS><A HREF="mailto:helge.baumann@gmx.de">mailto</A>: Helge
Baumann</ADDRESS>
<HR>
<H2>Einleitung</H2>
<P>
Hier werden (hoffentlich) alle Änderungen und ihr Sinn
aufgeführt, die zum Erreichen der aktuellen Version des BibTeX-Stils
<A HREF="dinat.bst">dinat.bst</A> durchgeführt wurden. Ich hoffe, dass
damit das Verständnis des Stils im Speziellen und von BibTeX im
Allgemeinen vertieft wird.
</P>
<HR>
<H4> Zu den <A HREF="#last">letzten Änderungen</A></H4>
<HR>
<H2>Der Anfang</H2>
<P>
Einen neuen Stil zu schreiben kam mir zwar auch kurzzeitig in den Sinn,
aber nach einigen halbherzigen Versuchen habe ich es aufgegeben (hey, ich
sollte eigentlich meine Diplomarbeit schreiben!) und mich lieber auf die
Modifikation eines existierenden Stils beschränkt. Als Ausgangspunkt
habe ich den Stil <A
HREF="http://www.fh-hamburg.de/pers/Lorenzen/bibtex/"><CODE>natdin</CODE></A>
von <A HREF="http://www.fh-hamburg.de/pers/Lorenzen/">Lorenzen</A>
genommen, der die grundlegende DIN-Konformität schon eingebaut hat,
allerdings ziemlich fehlerhaft (und chaotisch) ist. Als Gradmesser für
den Erfolg habe ich anfangs die Datei <CODE>xampl.bib</CODE> verwendet, die
mit BibTeX mitgeliefert wird. Sie bietet zwar nicht unbedingt DIN-konforme
Einträge, deckt aber alle Standardfälle ab.
</P>
<P>
Nachdem die Entscheidung gefallen war, einen "neuen" Stil zu
produzieren, ging es an die Einarbeitung in BibTeX im Allgemeinen und
<CODE>natdin</CODE> im Besonderen. Irgendwann verstand ich so
ungefähr, wie BibTeX mit Hilfe der bst-Dateien aus den Einträgen
der Datenbank eine TeX-Quelle erzeugt und fühlte mich gewappnet, dem
Problem entgegenzutreten.
</P>
<HR>
<H2>Von NATDIN zu DINAT</H2>
<P>
Zuallererst musste ich <CODE>natdin</CODE> erstmal zum Laufen bekommen,
bei mir produzierte das Ding haufenweise Fehlermeldungen und Warnungen.
Fehler sind schlimmer als Warnungen, also musste ich mich zuerst um diese
kümmern.
</P>
<H3>Grundlegende Fehler</H3>
<UL>
<LI>doppelte Funktionen <CODE>or</CODE> und <CODE>conference</CODE>
entfernt</LI>
</UL>
<P>
Ab hier ließ sich der Stil ohne Fehler einlesen, produzierte aber
noch 48 Fehler mit xampl.bib, ein bischen viel für meinen Geschmack!
</P>
<H3>Detail-Arbeit</H3>
<P>
Nun wurden einige Änderungen durchgeführt, die die Ausgabe nicht
grundlegend ändern, aber für das Verständnis des Stils gut
waren. Das meiste war eigentlich einfaches Aufräumen, nur ein paar
Sachen sind mir im Vorbeigehen zusätzlich aufgefallen, und so habe
ich sie gleich mit geändert:
</P>
<UL>
<LI>Kommentare komplett entfernt, die meisten betrafen sowieso
irgendwelche Änderungen von vorangegangenen Versionen</LI>
<LI>Funktion <CODE>either.or.check</CODE> entfernt, wird nicht aufgerufen</LI>
<LI>in <CODE>misc</CODE> <CODE>Norm</CODE> durch <CODE>NORM</CODE>
ersetzt</LI>
<LI><CODE>[u.~a.~]</CODE> durch <CODE>[u.~a.]</CODE> ersetzt</LI>
<LI><CODE>{ 'skip$ }</CODE> durch <CODE>{ skip$ }</CODE> ersetzt</LI>
<LI>Formatierung (Einrückungen und Umbrüche) vereinheitlicht</LI>
<LI>Macro für <CODE>mar</CODE> geändert</LI>
<LI><CODE>phdthesis</CODE> eingeführt</LI>
<LI><CODE>format.pages.book</CODE> geändert</LI>
<LI>Funktionen <CODE>show</CODE> und <CODE>show.stack</CODE> für
Debugging eingeführt</LI>
<LI><CODE>"x" * "y"</CODE> zu
<CODE>"xy"</CODE>zusammengezogen</LI>
<LI>Funktionsaufrufe <CODE>'name</CODE> durch <CODE>{ name }</CODE>
ersetzt</LI>
<LI>gemeinsame Teile aus if-Zweigen verschoben bei</LI>
<UL>
<LI><CODE>article.in.journal</CODE></LI>
<LI><CODE>format.editors</CODE></LI>
<LI><CODE>format.address.publisher.year</CODE></LI>
<LI><CODE>format.btitle.vol</CODE></LI>
<LI><CODE>format.series.number.din</CODE></LI>
<LI><CODE>format.vol.year.num.pages</CODE></LI>
<LI><CODE>format.in.ed.booktitle.din</CODE></LI>
<LI><CODE>format.tr.number.din</CODE> (umgestellt!)</LI>
<LI><CODE>format.book.crossref</CODE></LI>
<LI>allen entry-Funktionen</LI>
</UL>
<LI>alle Kommandos ausser ENTRY, INTEGERS und STRINGS an das Ende
gesetzt</LI>
<LI><CODE>extra.label</CODE> am Ende von <CODE>format.date</CODE>
entfernt</LI>
<LI>diverse <CODE>tie.or.space.connect</CODE> durch <CODE>*</CODE> ersetzt,
falls kein festes Leerzeichen nötig</LI>
</UL>
<P>
Bis hier waren alle Maßnahmen im Prinzip semantik-erhaltend, haben
damit also an der Anzahl der Fehler nichts geändert! Dies sollte nun
anders werden ...
</P>
<H3><I>You can't pop an empty literal stack ...</I>-Fehler</H3>
<UL>
<LI>in <CODE>calc.label</CODE> vor <CODE>sortify</CODE> ein
<CODE>label</CODE> eingefügt</LI>
</UL>
<P>
Das entfernte die Fehlermeldungen, die durch das Sortieren hervorgerufen
wurden. Es blieben noch 12 Fehlermeldungen.
</P>
<UL>
<LI>in <CODE>article.in.journal</CODE> bei leeren <CODE>author</CODE> und
<CODE>editor</CODE> kein <CODE>*</CODE></LI>
</UL>
<P>
Das behebt den <CODE>empty literal stack</CODE> bei
<CODE>whole-jounal</CODE>, es bleiben noch 11 <I>the literal stack isn't
empty ...</I>-Fehler.
</P>
<H3>Kommentare</H3>
<P>
Ab hier war das Verständnis des Stils allerdings schon relativ
groß, so dass vorher ein paar weitere Dinge in Angriff genommen
werden konnten:
</P>
<UL>
<LI>Funktionen etc. kommentiert</LI>
<LI>Funktionen umbenannt, um ihren Zweck zu beschreiben:
<DL>
<DT><CODE>out.*</CODE></DT> <DD>Schreibt den obersten Eintrag des Stacks in
die bbl-Datei</DD>
<DT><CODE>format.*</CODE></DT> <DD>Formatiert den obersten Eintrag des
Stacks, d.h. baut ihn irgendwie um, packt aber keinen neuen Eintrag drauf
oder entfernt einen</DD>
<DT><CODE>push.*</CODE></DT> <DD>Legt genau einen (evtl. leeren) neuen
Eintrag auf den Stack</DD>
</DL>
</LI>
</UL>
<H3><I>the literal stack isn't empty ...</I>-Fehler</H3>
<P>
Eine naheliegende Maßname war das Einfügen von
<CODE>stack$</CODE> am Ende von <CODE>out.bibitem.end</CODE> (ehemals
<CODE>fin.entry</CODE>), aber das hätte nur die Symptome kuriert,
nicht deren Ursache. Also ging es einzeln ans Eingemachte: Es waren alle
Stellen zu suchen und zu finden, in denen irgendwas auf den Stack gelegt
wurde, das hinterher nicht verarbeitet wurde. Dazu half die Umbenennung:
alles mit <CODE>push</CODE> musste etwas (genauer gesagt, exakt
<STRONG>ein</STRONG> Item) auf den Stack legen, alles mit
<CODE>format</CODE> dagegen sollte den obersten Stack-Eintrag manipulieren,
musste ihn also dazu abheben und hinterher wieder drauftun oder/und musste
etwas daranhängen. Gefunden habe ich dann nur den einen Eintrag:
</P>
<UL>
<LI>in <CODE>format.article.in.journal</CODE> bei leerem Titel
<CODE>*</CODE> entfernt</LI>
</UL>
<P>
Damit (wenn ich nichts vergessen habe) waren alle Fehlermeldungen
verschwunden, und die Hauptarbeit war getan:
</P>
<H3>DINAT war geboren!</H3>
<HR>
<H2>Neue Funktionen</H2>
<P>
Nun ging es daran, neue Funktionen einzubauen bzw. die existierenden
Formatierungen zu modifizieren:
</P>
<UL>
<LI>Macros für Zeitschriften eingefügt</LI>
<LI>Leerzeichen vor Verweis in <CODE>format.article.crossref</CODE>
eingefürht</LI>
<LI>fette Verweise (<CODE>\textbf</CODE>) entfernt</LI>
<LI>ein Klammerpaar ("{}") um ehemalige <CODE>\textbf</CODE>
entfernt</LI>
<LI>zusätzliche Macros für Monate entfernt</LI>
<LI><CODE>pages</CODE> in <CODE>incollection</CODE> und
<CODE>inproceedings</CODE> hinter <CODE>series</CODE> und </LI>
<CODE>number</CODE> verschoben
<LI>alle Ausgaben in Englisch</LI>
</UL>
<HR>
<H2>URL</H2>
<P>
Neuere Stile enthalten das Feld URL, also muß das auch hier rein
(außerdem brauche ich es selbst!).
</P>
<UL>
<LI>Feld <CODE>url</CODE> eingefügt</LI>
<LI>Formatierung für <CODE>url</CODE> eingefügt</LI>
<LI>falls das url-Paket nicht verwendet wird, <CODE>\texttt</CODE> für
URL verwenden (<CODE>begin.bib</CODE>)</LI>
<LI>bei leerem <CODE>publisher</CODE>, <CODE>author</CODE> und
<CODE>editor</CODE> als Impressum die <CODE>url</CODE> verwenden</LI>
<LI><CODE>url</CODE> in alle Einträge vor <CODE>note</CODE> eingebaut,
allerdings nur, wenn noch nicht im Impressum verwendet</LI>
</UL>
<HR>
<H2>Von DINAT zu DINNAT</H2>
<P>
Nachdem der DINAT-Stil so weit gediehen war, kam ich durch Beiträge in
der Newsgruppe <A HREF="news:de.comp.text.tex">de.comp.text.tex</A> auf die
Idee, den Stil so zu modifizieren, dass er die ganzen
NATBIB-Möglichkeiten bietet, also z.B. auch <CODE>\citeyear</CODE> und
die <CODE>*</CODE>-Formen.
</P>
<UL>
<LI>Klammern um <CODE>year</CODE> in das Label eingebaut
(<CODE>calc.label</CODE>)</LI>
</UL>
<P>
Leider gingen dabei die Marken vor den Einträgen im
Literaturverzeichnis flöten, so dass ein zweiter Stil nötig
wurde, der allerdings nicht mehr so richtig DIN-konform genannt werden
kann. Da er aber quasi die Langform von DINAT ist, wurde er DINNAT genannt.
Falls ich das jemals hinbekomme, die Marken zu erzeugen, wird DINNAT aber
wieder eingestellt!
</P>
<P>
Ab jetzt müssen alle Änderungen parallel in beiden Stilen
durchgeführt werden, falls nicht anders vermerkt.
</P>
<P>
Damit werden aber schon die zusätzlichen cite-Versionen
ermöglicht, es fehlt allerdings noch die lange Autorenliste.
</P>
<UL>
<LI><CODE>make.full.names</CODE> mit allen in ihr aufgerufenen Funktionen
aus den anderen NAT-Stilen in <CODE>dinnat</CODE> eingefügt und hinter
das bisherige Label eingebaut</LI>
</UL>
<HR>
<H2>Erste Veröffentlichung am 10.4.2000</H2>
<P>
Nachdem ich soweit gekommen war, war es an der Zeit, DINAT mit der
großen bösen Welt in Kontakt kommen zu lassen: Eine erste
Ankündigung erfolgte in der Newsgruppe de.comp.text.tex. Das Ergebnis
war nicht überwältigend, aber größer als gedacht, und
vor allem positiv! Ein echter Ansporn, weiter zu arbeiten.
</P>
<HR>
<H2>Version 1.1 vom 18.4.2000</H2>
<P>
Wie üblich finden sich direkt nach Veröffentlichung der ersten
Version sofort ein paar kleine Fehler, die eine Überarbeitung
notwendig machen:
</P>
<UL>
<LI><CODE>format.dashes</CODE> aus <CODE>push.url</CODE> entfernt</LI>
<LI><CODE>out.bibitem.start.end</CODE> in <CODE>out.bibitem.end</CODE>
umbenannt (typischer Suchen-und-Ersetzen-Fehler)</LI>
<LI><CODE>top$</CODE> durch <CODE>warning$</CODE> ersetzt, falls es nicht
für Debugging gebraucht wird</LI>
<LI>diverse <CODE>tie.or.space.connect</CODE> durch <CODE>*</CODE> ersetzt,
falls der hintere Teil auf jeden Fall länger ist, z.B. bei
ISBN/ISSN</LI>
<LI>diverse Leerzeichen vor bzw. hinter Satzzeichen etc. durch eine Tilde
ersetzt (und <CODE>tie.or.space.connect</CODE> durch <CODE>*</CODE>
ersetzt)</LI>
<LI>überflüssige geschweifte Klammern entfernt</LI>
<LI><CODE>format.article.in.journal</CODE> vereinfacht</LI>
<LI><CODE>push.series.number</CODE> umgestellt</LI>
</UL>
<P>
Und natürlich auch ein paar richtige Änderungen (welche erste
Verison ist schon korrekt?):
</P>
<UL>
<LI>zur Label-Erzeugung durch <CODE>key</CODE> wird der ganze Eintrag
genommen, nicht mehr nur die ersten drei Buchstaben (<A
HREF="mailto:rascher@ifn.ing.tu-bs.de">mailto</A>: Kai Rascher)</LI>
<LI>zur Label-Erzeugung wird der komplette <CODE>year</CODE>-Eintrag
verwendet, nicht nur die letzten vier Stellen, z.B. für
von-bis-Angaben (<A HREF="mailto:ulfhinze@gmx.de">mailto</A>: Ulf
Hinze)</LI>
<LI>bei <CODE>incollection</CODE> und <CODE>inproceedings</CODE> wird auch
mit <CODE>crossref</CODE> das Kapitel angegeben</LI>
<LI><CODE>push.book.crossref</CODE> vereinfacht</LI>
</UL>
<P>
Ab jetzt sind auch diese Webseiten verfügbar, ich hoffe, damit werden
viele Fragen im Vorfeld beantwortet. Irgendwann demnächst wird diese
Seite auch umziehen, auf jeden Fall steht die Adresse dann im Vorspann der
Dateien.
</P>
<HR>
<H2>Version 1.2 vom 25.4.2000</H2>
<P>
Nachdem diese Stile und damit auch diese Webseiten (auf Anregungen von <A
HREF="mailto:niepraschk@ptb.de">mailto</A>: Rolf Niepraschk) die Aufnahme
in die heiligen Hallen des <A HREF="http://www.ctan.com">CTAN</A> im Pfad
<CODE>biblio/bibtex/contrib/german/dinat/</CODE> gefunden haben, gibt es
auch noch ein paar Änderungen:
</P>
<UL>
<LI>doppelte Leerzeichen entfernt</LI>
<LI><CODE>\natexlab</CODE> in <CODE>dinat</CODE> wieder eingeführt
(warum war das eigentlich draussen?)</LI>
<LI>in <CODE>dinnat</CODE> geschweifte Klammern um <CODE>\natexlab</CODE>
und in <CODE>\bibitem[...]</CODE> entfernt</LI>
<LI>in <CODE>misc</CODE> wird für <CODE>NORM</CODE> eine beliebige
Groß-/Kleinschreibung erkannt und verwendet</LI>
<LI>bei fehlenden Autor- etc. Angaben wird die gesamte Marke
(<CODE>cite$</CODE>) als Label genommen, nicht nur ihre ersten drei
Buchstaben</LI>
<LI><CODE>push.address.publisher.year</CODE> umgestellt</LI>
<LI>diverse <CODE>tie.or.space.connect</CODE> durch <CODE>*</CODE> ersetzt
(und Leerzeichen bzw. Tilden eingefügt)</LI>
<LI>Kommata in <CODE>push.incoll.inproc.crossref</CODE> richtig
gesetzt</LI>
<LI><CODE>url</CODE> nicht bei fehlenden Verlagsangaben (und nicht
fehlenden Autor und Editor!)</LI>
<LI>Titel von Normen kursiv</LI>
<LI><CODE>crossref</CODE> bei Normen eingefügt</LI>
</UL>
<HR>
<H2>Version 2.0 vom 2.5.2000</H2>
<P>
Wenn das so weitergeht, komme ich doch noch in einen wöchentlichen
Update-Rhythmus :-)
</P>
<P>
Ab jetzt gibt es zu den Änderungen auf dieser Seite auch die Namen und
Mail-Adressen der Leute, die diese angeregt haben, als Dank und Ansporn
sozusagen.
</P>
<UL>
<LI>überflüssiges Leerzeichen in der Namensliste durch
<CODE>format.names</CODE> entfernt (<A
HREF="mailto:stefan@snobis.de">mailto</A>: Stefan Nobis)</LI>
<LI><CODE>urldate</CODE> als Datum des Zugriffs auf die URL eingebaut (<A
HREF="mailto:stefan@snobis.de">mailto</A>: Stefan Nobis)</LI>
<LI>Kommentar mit Namen des Stils in <CODE>begin.bib</CODE> zur Ausgabe in
die bbl-Datei eingefügt (sollte eigentlich Standard sein!)</LI>
<LI>einen Punkt hinter den Buchtitel bei Verweisen in
<CODE>incollection</CODE> und <CODE>inproceedings</CODE> gesetzt
(<CODE>push.incoll.inproc.crossref</CODE>)</LI>
<LI>Muster für den Eintrag in <CODE>natbib.cfg</CODE> berichtigt (<A
HREF="mailto:stefan@snobis.de">mailto</A>: Stefan Nobis)</LI>
<LI>Lösung des Label-Problems in <CODE>dinnat</CODE> gefunden!<BR>
Na gut, keine überzeugende, ist mehr ein Hack, aber wenigstens
funktioniert es</LI>
</UL>
<P>
Diese Lösung sollte auch mit der Formatierung per
<CODE>natbib.cfg</CODE> zurechtkommen.<BR>
Falls die <CODE>natbib</CODE>-Option <CODE>numbers</CODE> oder die
<CODE>\bibpunct</CODE>-Variante <CODE>n</CODE> gewählt wurde, wird
auch nur ein entsprechendes numerisches Label erzeugt.
</P>
<P>
Die letzte Änderung rechtfertigt den Sprung auf Version 2.0, da nun
mit einem Stil alle Zitiermöglichkeiten und Label erreicht werden
können.
</P>
<P>
Diese Änderung führt darüberhinaus zur Zusammenführung
der beiden Stile, so dass nur noch ein Stil, nämlich der eigentlich
geplante <A HREF="dinat.bst">dinat.bst</A>, übrigbleibt.
</P>
<HR>
<H2>Version 2.1 vom 9.5.2000</H2>
<P>
Und weiter geht es im immerwährenden Kreislauf der Änderungen,
selbst an meinem Geburtstag (aber schließlich erfolgte die erste
Veröffentlichung auch am Geburtstag meiner Frau):
</P>
<UL>
<LI>der fünfte Parameter von <CODE>\bibpunct</CODE> in der
Konfiguration <CODE>natbib.cfg</CODE> erzeugte ein zusätzliches
Leerzeichen in den Zitierungen, also wurde es entfernt</LI>
<LI> die Felder <CODE>isbn</CODE>, <CODE>issn</CODE>, <CODE>url</CODE> und
<CODE>urldate</CODE> im Vorspann und auf der Webseite erklärt
(demnächst wird es auch eine richtige Anleitung geben)</LI>
<LI>für <CODE>techreport</CODE> <CODE>url</CODE> als Impressum bei
leerem <CODE>institution</CODE>, nicht <CODE>publisher</CODE></LI>
<LI>Links hier im Dokument geändert: Mailadressen werden jetzt
über <CODE>mailto:</CODE> verlinkt, Webseiten über den Namen</LI>
<LI>alle Texte in Funktionen verlagert, um sie leichter änderbar zu
machen, z.B. für Leute, die <CODE>et.al.</CODE> statt
<CODE>u.a.</CODE> haben wollen (<A
HREF="mailto:baum@mbox.cri.uni-hannover.de">mailto</A>: Peter Baum)</LI>
<LI><CODE>push.editors.organization</CODE> in
<CODE>push.organization</CODE> umbenannt und umgebaut</LI>
<LI><CODE>push.editors</CODE> umgebaut</LI>
<LI>damit wurde auch <CODE>push.ed.incoll</CODE> überflüssig</LI>
<LI><CODE>push.authors.editors</CODE> neu erstellt und eingebunden</LI>
<LI>die letzten vier Änderungen machten auch einige Änderungen an
anderen Funktionen notwendig</LI>
<LI>kleinerer Abstand bei <CODE>u.a.</CODE>: <CODE>\,</CODE> statt
<CODE>~</CODE></LI>
<LI><CODE>format.article.in.journal</CODE> zu
<CODE>push.article.in.journal</CODE> umgebaut</LI>
<LI><CODE>\cite</CODE> durch <CODE>\citep</CODE> ersetzt</LI>
<LI><CODE>push.crossref.editor</CODE> entfernt, da es nicht benutzt
wurde</LI>
<LI>in vielen Funktionen kleinere Umstellungen vorgenommen, um den Code
verständlicher und wartungsfreundlicher zu machen</LI>
</UL>
<HR>
<A NAME="last"></A>
<H2>Version 2.2 vom 12.07.2000</H2>
<P>
Nachdem die Diplomarbeit abgegeben war, war wieder Zeit für
die Arbeit an dinat, dachte ich. Aber dann kam die neue Wohnung, der
Umzug, das Einrichten, der neue Job usw. Aber nun ist es geschafft, eine
neue Version ist fertig, wenn auch nicht so neu wie erhofft:
</P>
<UL>
<LI><CODE>push.crossref</CODE> erstellt und eingebaut</LI>
<LI>diverse <CODE>crossref</CODE> geändert</LI>
<LI><CODE>out.check</CODE> in <CODE>out.check.required</CODE>
umbenannt</LI>
<LI><CODE>out.check.din</CODE> eingebaut für nur nach DIN
fehlende Teile</LI>
<LI><CODE>mastersthesis</CODE> in <CODE>masterthesis</CODE>
korrigiert</LI>
<LI><CODE>Zugriffsdatum</CODE> ebenfalls richtig geschrieben</LI>
<LI>um <CODE>\,</CODE> geschweifte Klammern gesetzt, hoffentlich
behebt das den nervigen <CODE>\nobreakspace{}</CODE>-Fehler
</UL>
<P>
Vor allem für das letztere erbitte ich Meldungen, ob es geholfen hat!
</P>
<HR>
<H2>Version 2.3 vom 03.10.2000</H2>
<P>
Nun ist der erste Stress mit neuer Wohnung, neuem Job etc. weg, viele viele
Vorschläge für dinat sind eingegegangen, und jetzt habe ich auch Zeit
für eine neue Version gefunden. Diese bringt noch nicht die
angekündigten großen Änderungen, sondern wie die vorigen vor
allem Detailverbesserungen, wenn auch einige lange geforderte:
</P>
<UL>
<LI><CODE>masterthesis</CODE> wieder in das korrekte <CODE>mastersthesis</CODE>
geändert. Entschuldigung an alle für diese schlampige Korrektur, da
hatte ich mich aufs Glatteis führen lassen und selbst nicht genug
recherchiert. Um den Frust nicht zu groß werden zu lassen, bleibt
<CODE>masterthesis</CODE> erhalten.</LI>
<LI>die letzten Vorkommen von <CODE>u.~a.</CODE> beseitigt, nun sollten
wirklich alle <CODE>\nobreakspace{}</CODE>-Fehler weg sein!</LI>
<LI>als Abstand zwischen der Marke und dem Eintrag wird nun
standardmäßig <CODE>\labelsep</CODE> verwendet, wie es sich
gehört.</LI>
<LI><CODE>...key.organization.label</CODE> korrigiert, so dass nun die
ganze Organisation als Label verwendet wird.</LI>
<LI>in <CODE>proceedings</CODE> wird jetzt eine leere Organisation
abgefangen und falls vorhanden durch (Hrsg.) ergänzt.</LI>
</UL>
<P>
<A NAME="doku">Und die Dokumentation ist immer noch nicht fertig.</A>
</P>
<HR>
<H2>Version 2.4 vom 05.11.2000</H2>
<P>
Diese Version ist eine Olaf-Meltzer-Dank-Ausgabe, da er die
meisten Änderungen zu dieser Version beigetragen hat. Ich hatte
eigentlich nur ein wenig zu tun mit dem Zusammentragen und
Veröffentlichen. Dachte ich jedenfalls, bis ich mich an die
Namens-Formatierung machte ... Aber trotzdem, er hat es verdient, da er
nicht nur Fragen stellt, sondern auch selbst gute Lösungen liefert!
</P>
<UL>
<LI><CODE>inbook</CODE> verbessert. Nun wird bei der Zitierung eines
einzelnen Teils eines Buchs nur eine einzelne Literaturangabe mit allen Werten
genriert. Wenn dagegen mehr als ein Teil eines Buchs zitiert werden, wird
das Buch mit allen Angaben aufgeführt und die jeweiligen Teile mit einem
entsprechenden Verweis (<A HREF="mailto:Olaf.Meltzer@freenet.de">mailto</A>: Olaf Meltzer).</LI>
<LI>überflüssigen Satzanfang aus <CODE>proceedings</CODE> entfernt
(<A HREF="mailto:Olaf.Meltzer@freenet.de">mailto</A>: Olaf Meltzer).</LI>
<LI>fehlenden Doppelpunkt nach Autor/Editor in <CODE>misc</CODE>
ergänzt (<A HREF="mailto:Olaf.Meltzer@freenet.de">mailto</A>: Olaf Meltzer).</LI>
<LI>wegen Problemen mit Adelsprädikaten wurden die Funktionen
<CODE>format.full.names</CODE>, <CODE>format.names</CODE> und
<CODE>sort.format.names</CODE> überarbeitet. Dabei fiel ab:
<UL>
<LI>die Variable <CODE>numnames</CODE> konnte entfernt werden.</LI>
<LI>die Variable <CODE>zahl</CODE> wurde in <CODE>pos</CODE> umbenannt,
da sie nicht einfach eine Zahl ist, sondern eine Position angibt.</LI>
<LI>die Variable <CODE>lang</CODE> wurde entfernt und statt dessen
die Variable <CODE>len</CODE> verwendet.</LI>
<LI>das allgemeine Verständnis der Namensformatierung wurde
größer!</LI>
</UL></LI>
<LI>innerhalb der ISBN/ISSN wird laut Duden der Binde-, also
Trennstrich verwendet, also keine Verdoppelung des <CODE>-</CODE>
mehr (sollte eigentlich schon lange gemacht sein).</LI>
<LI>Bei der Gelegenheit auch <CODE>format.dashes</CODE> etwas
aufgeräumt und verstanden.</LI>
</UL>
<P>
Zum Stand der Dokumentation siehe <A HREF="#doku">oben</A>. Aber
inzwischen habe ich sehr viele Beispiel-Einträge sammeln können!
</P>
<HR>
<A NAME="last"></A>
<H2>Version 2.5 vom 15.11.2000</H2>
<P>
Und direkt nach der letzten Version nun schon wieder eine neue.
Es haben sich einfach ein paar Dinge ergeben, die mir sinnvoll erschienen
und eine echte Verbesserung darstellen. Außerdem habe ich gerade
etwas Zeit.
</P>
<UL>
<LI>In <CODE>proceedings</CODE> fehlendes <CODE>*</CODE> hinter
<CODE>push.organization</CODE> angefügt (<A
HREF="mailto:huhr@uni-paderborn.de">mailto</A>: Holger Uhr).</LI>
<LI>In <CODE>dinatlabel</CODE> wird nicht mehr <CODE>\citealt</CODE>
aufgerufen, sondern ein eigenes Label (<CODE>dinat.label</CODE>) gebastelt.
Dies spart einen LaTeX-Durchgang und ermöglicht vor allem das
Entfernen eines Zitats aus dem Text, ohne alle <CODE>.aux</CODE>-Dateien
wegschmeissen zu müssen. Ausserdem verhindert es überflüssige
Links, wenn das <CODE>hypertext</CODE>-Paket verwendet wird (<A
HREF="mailto:ben.samwer@ptb.de">mailto</A>: Ben Samwer).</LI>
<LI>Wenn ein Wert für <CODE>key</CODE> vorhanden ist, wird dieser
immer für das Label verwendet, vor <CODE>author</CODE>,
<CODE>editor</CODE> etc. Die dahinterliegende Überlegung ist, dass
ein <CODE>key</CODE> wohl nur angegeben wird, wenn er Sinn macht. Ist dann
aber ein <CODE>author</CODE> o.Ä. vorhanden, würde
<CODE>key</CODE> nirgendwo auftauchen. So lassen sich nun auch Werke mit
Autorenangaben etc. mit einer evtl. üblicheren Kurzbezeichnung zitieren (<A
HREF="mailto:ben.samwer@ptb.de">mailto</A>: Ben Samwer)</LI>.
<LI>Dazu wurden alle <CODE>...label</CODE>-Funktionen umgestellt und
auch umbenannt.</LI>
<LI>Und die <CODE>...sort</CODE>-Funktionen mussten ebenfalls
angepasst werden.</LI>
<LI><CODE>longest.label.width</CODE> und <CODE>longest.label</CODE> wurden
nicht benutzt, also wurden sie entfernt. Ursprünglich waren die Variablen
wohl zur Bestimmung der Einrücktiefe im Literaturverzeichnis
gedacht, was aber bei Autor-Jahr-Labels wenig Sinn macht, vor allem
wenn man an Werke mit zwei Autoren denkt, deren Label allein schon eine
ganze Zeile füllen kann.</LI>
<LI><CODE>initialize.longest.label</CODE> in <CODE>initialize.label</CODE>
umbenannt und vereinfacht.</LI>
<LI><CODE>number.label</CODE> in <CODE>label.count</CODE>
umbenannt.</LI>
<LI>Die <A HREF="index.html">Webseite</A> von Fehlern bereinigt.</LI>
</UL>
<P>
Ein Problem bleibt die Sortierung von Einträgen mit gleichem ersten
(<EM>A</EM>), aber verschiedenem zweiten Autor (<EM>B</EM> bzw. <EM>C</EM>)
sowie mindestens einem weiteren Autoren (<EM>D</EM>) und unterschiedlicher
Jahreszahl (<EM>1994</EM> bzw. <EM>1999</EM>). Das Label wird dann aus erstem
Autor und Jahr gebildet (<EM>A u.a. 1994</EM> bzw. <EM>A u.a. 1999</EM>) und
entsprechend sortiert. Wird aber das Label nicht angezeigt, z.B. bei
numerischer Zitierung, dann wird das Werk <EM>A, B und D 1999</EM> trotzdem
hinter <EM>A, C und D 1994</EM> einsortiert, was zu Verwirrung führen kann.
Dies ist aber nicht befriedigend zu lösen, da zur Sortierzeit nicht
zwischen den beiden Zitierungsarten unterschieden werden kann. Da laut DIN
nach dem Label sortiert wird, behalte ich dieses bei, da ja die numerische
Zitierung nicht DIN entspricht.
</P>
<HR>
<ADDRESS><A HREF="mailto:helge.baumann@gmx.de">mailto</A>: Helge Baumann,
2000-11-15</ADDRESS>
</BODY>
</HTML>
|