09fb5109c2f89788cef08d8f41d87d071ade3589
[debian/jabref.git] / src / help / de / CustomExports.html
1 <html xmlns="http://www.w3.org/1999/xhtml">
2
3
4 <body text="#275856">
5     <basefont size="4"
6           color="#2F4958"
7           face="arial" />
8
9     <h1>Exportfilter anpassen</h1>
10
11     <p>Mit JabRef k&ouml;nnen Sie Ihre
12     eigenen Exportfilter definieren und genau so wie die
13     Standard-Exportfilter benutzen. Ein Exportfilter wird durch
14     eine oder mehr <i>Layout-Dateien</i> definiert, die mittels
15     eingebauter Formatierprogramme das Format der exportierten
16     Dateien festlegen. Ihre Layout-Datei m&uuml;ssen Sie in einem
17     separaten Texteditor erstellen.</p>
18
19     <h2>Hinzuf&uuml;gen eines Exportfilters</h2>
20
21     <p>Die einzige
22     Voraussetzung f&uuml;r einen Exportfilter ist, da&szlig; eine
23     Datei mit der Endung <b>.layout</b> vorhanden ist. Um einen
24     neuen, eigenen Exportfilter hinzuzuf&uuml;gen, &ouml;ffnen Sie
25     das Dialogfenster <b>Optionen -&gt; Verwalte externe
26     Exportfilter</b> und klicken auf die Schaltfl&auml;che
27     <b>Neu</b>. Es &ouml;ffnet sich ein neues Fenster, in dem Sie
28     einen Namen (der als Auswahl im Dateityp-Dropdownmen&uuml;
29     erscheint, wenn man <b>Datei -&gt; Exportieren</b> im
30     JabRef-Hauptfenster w&auml;hlt), eine Pfadangabe zur
31     <b>.layout</b>-Datei und die gew&uuml;nschte Dateiendung
32     f&uuml;r den Exportfilter angeben k&ouml;nnen. Wenn Sie den
33     Exportfilter benutzen, wird diese Endung im Datei-Dialog
34     automatisch vorgeschlagen.</p>
35
36     <h2>Das Erstellen des Exportfilters</h2>
37
38     <p>Um einen Eindruck zu
39     bekommen, wie Exportfilter auszusehen haben, suchen Sie am
40     besten auf unserer Homepage nach dem Paket, das die
41     Layout-Dateien der Standard-Exportfilter enth&auml;lt.</p>
42
43     <h3>Layout-Dateien</h3>
44
45     <p>Nehmen wir einmal an, dass wir einen
46     HTML-Exportfilter erstellen wollen.</p>
47
48     <p>Der Exportfilter muss lediglich aus einer einzigen
49     <b>.layout</b>-Datei bestehen, die in diesem Fall
50     <i>html.layout</i> genannt werden k&ouml;nnte. Sie k&ouml;nnen
51     dar&uuml;ber hinaus auch zwei Dateien mit den Namen
52     <i>html.begin.layout</i> und <i>html.end.layout</i> anlegen.
53     Die erste dieser beiden Dateien enth&auml;lt den Kopfteil der
54     Ausgabe, die zweite den Fu&szlig;teil. JabRef sucht jedes Mal,
55     wenn der Exportfilter benutzt wird, nach diesen Dateien und
56     f&uuml;gt sie&nbsp;&ndash; falls sie gefunden
57     werden&nbsp;&ndash; w&ouml;rtlich vor bzw. nach den einzelnen
58     Eintr&auml;gen in die Ausgabe ein.</p>
59
60     <p>Beachten Sie, dass sich diese Dateien in demselben
61     Verzeichnis wie <i>html.layout</i> befinden m&uuml;ssen und die
62     Namensbestandteile <b>.begin</b> bzw. <b>.end</b> enthalten
63     m&uuml;ssen.</p>
64
65     <p>In unserem Beispiel-Exportfilter k&ouml;nnten diese Dateien
66     folgenderma&szlig;en aussehen:</p>
67
68     <p><i>html.begin.layout</i>:<br />
69     <code>&lt;HTML&gt;<br />
70      &lt;BODY&gt; text="#275856"&gt;<br />
71     &lt;basefont size="4" color="#2F4958"
72     face="arial"&gt;</code></p>
73
74     <p><i>html.end.layout</i>:<br />
75     <code>&lt;/BODY&gt;<br />
76      &lt;/HTML&gt;</code></p>
77
78     <p>Die Datei <i>html.layout</i> stellt die
79     <i>Standard</i>-Formatvorlage f&uuml;r den Export eines
80     einzelnen Eintrags bereit. Falls Sie unterschiedliche
81     Formatvorlagen f&uuml;r verschiedene Eintragstypen anwenden
82     wollen, m&uuml;ssen Sie Eintrags-spezifische
83     <b>.layout</b>-Dateien erstellen. Diese m&uuml;ssen sich
84     ebenfalls in demselben Verzeichnis wie die Haupt-Layout-Datei
85     befinden und den Namensbestandteil <b>.entrytype</b> enthalten.
86     Der Name des Eintragstyps muss komplett in Kleinbuchstaben
87     geschrieben werden. In unserem Beispiel wollen wir eine
88     Formatvorlage f&uuml;r Eintr&auml;ge des Typs "book" haben, die
89     in der Datei <i>html.book.layout</i> abgelegt wird. F&uuml;r
90     eine Dissertation w&uuml;rden wir die Datei
91     <i>html.phdthesis.layout</i> anlegen&nbsp;&ndash; und so
92     weiter. Diese Dateien sind der Standard-Layout-Datei sehr
93     &auml;hnlich, nur dass sie lediglich f&uuml;r Eintr&auml;ge des
94     entsprechenden Typs genutzt werden. Beachten Sie, dass die
95     Standard-Layout-Datei so allgemein gehalten werden kann, dass
96     sie die meisten Eintragstypen abdeckt.</p>
97
98     <h3>Das Format der Layout-Datei</h3>
99
100     <p>Layout-Dateien werden mit
101     einem einfachen markup-Format erstellt, bei dem die Kommandos
102     mit einem "backslash" (<code>\</code>) eingeleitet werden. Alle
103     Textbestandteile, die nicht als Kommando identifiziert werden,
104     gelangen direkt in die Ausgabedatei.</p>
105
106     <h3>Feldkommandos</h3>
107
108     <p>Ein beliebiges Wort, vor dem ein backslash steht, z.B.
109     <code>\author</code>, <code>\editor</code>, <code>\title</code>
110     or <code>\year</code>, wird als Verweis auf das entsprechende
111     Feld ausgewertet, das dann direkt in die Ausgabe kopiert
112     wird.</p>
113
114     <h3>Feldformatierer</h3>
115
116     <p>Oft muss der Feldinhalt vor der Ausgabe verarbeitet werden.
117     Dies wird mit Hilfe eines <i>Feldformatierers</i> gemacht -
118     einer java class, die eine Methode zur Verarbeitung des
119     Feldinhaltes enth&auml;lt.</p>
120
121     <p>Ein Formatierer wird angewendet, indem man das Kommando
122     <code>\format</code> gefolgt vom Namen des Formatierers in
123     eckigen Klammern und dem Feldnamen in geschweiften Klammern
124     einf&uuml;gt, z.B.:</p>
125
126     <p><code>\format[ToLowerCase]{\author}</code></p>
127
128     <p>Sie k&ouml;nnen auch mehrere Formatierer angeben, getrennt
129     durch Kommas. Sie werden nacheinander aufgerufen, und zwar von
130     links nach rechts. Das Kommando</p>
131
132     <p><code>\format[ToLowerCase,HTMLChars]{\author}</code></p>
133
134     <p>ruft z.B. zun&auml;chst den Formatierer <b>ToLowerCase</b>
135     auf, <b>HTMLChars</b> formatiert anschlie&szlig;end das
136     Ergebnis. Auf diese Weise k&ouml;nnen Sie eine beliebige Anzahl
137     an Formatierern auflisten.</p>
138
139     <p>JabRef bietet die folgenden Formatierer, wobei einige von
140     anderen abh&auml;ngen:</p>
141
142     <ul>
143         <li><code>HTMLChars</code> : ersetzt TeX-spezifische
144         Sonderzeichen (z.B. {\^a} oder {\"{o}}) durch ihre
145         HTML-Entsprechungen.</li>
146
147         <li><code>HTMLParagraphs</code> : interpretiert zwei
148         aufeinanderfolgende Zeilenumbr&uuml;che (z.B. \n \n) als
149         Beginn eines neuen Absatzes und erstellt dementsprechend
150         Absatz-HTML-Tags.</li>
151
152         <li><code>XMLChars</code> : ersetzt TeX-spezifische
153         Sonderzeichen (z.B. {\^a} oder {\"{o}}) durch ihre
154         XML-Entsprechungen.</li>
155
156         <li><code>CreateDocBookAuthors</code> : formatiert das
157         author-Feld im DocBook-Stil.</li>
158
159         <li><code>CreateDocBookEditors</code> : Dokumentation
160         folgt.</li>
161
162         <li><code>CurrentDate</code> : gibt das aktuelle Datum aus.
163         Ohne Argument gibt dieser Formatierer das aktuelle Datum im
164         Format "JJJJ.MM.TT HH:MM:SS Z" (Datum, Zeit und Zeitzone)
165         aus. Mit einem anderen Format-String als Argument kann das
166         Datum angepasst werden. So ergibt
167         <code>\format[CurrentDate]{yyyy.MM.dd}</code> nur das
168         Datum, z.B. 2005.11.30.</li>
169
170         <li><code>AuthorFirstFirst</code> : formatiert die Felder
171         author/editor mit den Vornamen zuerst.</li>
172
173         <li><code>AuthorFirstFirstCommas</code> : formatiert die
174         Felder author/editor mit den Vornamen zuerst und abgetrennt
175         durch Kommas.</li>
176
177         <li><code>AuthorFirstAbbrLastCommas</code> : Dokumentation
178         folgt.</li>
179
180         <li><code>AuthorFirstAbbrLastOxfordCommas</code> :
181         Dokumentation folgt.</li>
182
183         <li><code>AuthorFirstLastOxfordCommas</code> :
184         Dokumentation folgt.</li>
185
186         <li><code>AuthorLastFirst</code> : formatiert die Felder
187         author/editor mit den Nachnamen zuerst.</li>
188
189         <li><code>AuthorLastFirstAbbreviator</code> : k&uuml;rzt
190         die Vornamen aller Autoren. Dieser Formatierer kann nur
191         angewendet werden, wenn <code>AuthorLastFirst</code>
192         bereits benutzt wurde.</li>
193
194         <li><code>AuthorLastFirstCommas</code> : Dokumentation
195         folgt.</li>
196
197         <li><code>AuthorLastFirstOxfordCommas</code> :
198         Dokumentation folgt.</li>
199
200         <li><code>AuthorLastFirstAbbrCommas</code> : Dokumentation
201         folgt.</li>
202
203         <li><code>AuthorLastFirstAbbrOxfordCommas</code> :
204         Dokumentation folgt.</li>
205
206         <li><code>AuthorAndsReplacer</code> : ersetzt "and"
207         zwischen den Namen durch ";", zwischen den letzten beiden
208         Autoren steht "&amp;".</li>
209
210         <li><code>AuthorAndsCommaReplacer</code> : ersetzt "and"
211         zwischen den Namen durch "," sowie "&amp;" zwischen den
212         beiden letzten.</li>
213
214         <li><code>AuthorOrgSci</code> : Der erste Autor erscheint
215         als "Nachname, Vorname", alle anderen als "Vorname
216         Nachname". Vornamen werden abgek&uuml;rzt.</li>
217
218         <li><code>AuthorAbbreviator</code> : Dokumentation
219         folgt.</li>
220
221         <li><code>AuthorNatBib</code> : formatiert Autorennamen im
222         Natbib-Stil, also nur mit Nachnamen; zwei Autoren werden
223         durch ein "and" voneinander getrennt, bei mehr als zwei
224         Autoren wird der erste angegeben, gefolgt von "et al."</li>
225
226         <li><code>NoSpaceBetweenAbbreviations</code> : Leerzeichen
227         zwischen mehreren abgek&uuml;rzten Vornamen werden
228         gel&ouml;scht.</li>
229
230         <li><code>FormatPagesForHTML</code> : ersetzt "--" durch
231         "-".</li>
232
233         <li><code>FormatPagesForXML</code> : ersetzt "--" durch
234         einen XML en-dash (Gedanken- bzw. Bis-Strich).</li>
235
236         <li><code>RemoveBrackets</code> : entfernt alle
237         geschweiften Klammern "{" oder "}".</li>
238
239         <li><code>RemoveBracketsAddComma</code> : Dokumentation
240         folgt.</li>
241
242         <li><code>RemoveWhitespace</code> : Dokumentation
243         folgt.</li>
244
245         <li><code>RemoveLatexCommands</code> : entfernt LaTeX
246         Kommandos wie <code>\em</code>, <code>\textbf</code> etc.
247         Zusammen mit <code>HTMLChars</code> oder
248         <code>XMLChars</code> sollte dieser Formatierer zuletzt
249         aufgerufen werden.</li>
250
251         <li><code>RemoveTilde</code> : ersetzt das Tilde-Zeichen
252         (~), das in LaTeX als festes Leerzeichen dient, durch ein
253         normales Leerzeichen. N&uuml;tzlich in Kombination mit dem
254         <a href="#NameFormatter">Namens-Formatierer</a>, der im
255         n&auml;chsten Abschnitt beschrieben wird.</li>
256
257         <li><code>ToLowerCase</code> : macht aus allen Buchstaben
258         Kleinbuchstaben.</li>
259
260         <li><code>CompositeFormat</code> : Dokumentation
261         folgt.</li>
262
263         <li><code>GetOpenOfficeType</code> : Dokumentation
264         folgt.</li>
265
266         <li><code>RTFChars</code> : Dokumentation folgt.</li>
267
268         <li><code>ResolvePDF</code> : Dokumentation folgt.</li>
269     </ul>
270
271     <p>Falls keiner der verf&uuml;gbaren Formatierer das Ergebnis
272     erzielt, das Sie erreichen m&ouml;chten, k&ouml;nnen Sie Ihren
273     eigenen Formatierer hinzuf&uuml;gen, indem Sie das
274     <code>net.sf.jabref.export.layout.LayoutFormatter</code>-Interface
275     implementieren. Wenn Sie Ihre Klasse (class) in das Paket
276     <code>net.sf.jabref.export.layout.format</code> einf&uuml;gen,
277     k&ouml;nnen Sie den Formatierer mit seinem Klassennamen
278     aufrufen, so wie auch die Standard-Formatierer. Ansonsten
279     m&uuml;ssen Sie den Formatierer mit seinem vollen Namen
280     aufrufen (inklusive Paketname). In jedem Fall muss der
281     Formatierer in ihrem classpath sein, wenn Sie JabRef
282     starten.</p>
283
284     <h2><a name="NameFormatter"
285        id="NameFormatter">Eigene Namens-Formatierer
286        verwenden</a></h2>
287
288     <p>Mit JabRef 2.2 ist es jetzt m&ouml;glich, eigene
289     Namens-Formatierer zu definieren. Dazu wird die Syntax der
290     Bibliographie-Stile (bst) verwendet. Das erlaubt
291     &auml;u&szlig;erste Flexibilit&auml;t, ist allerdings
292     aufw&auml;ndig in der Schreibweise.</p>
293
294     <p>Sie k&ouml;nnen unter <strong>Optionen -&gt; Einstellungen
295     -&gt; Namens-Formatierer</strong> Ihren eigenen Formatierer
296     schreiben. Benutzen Sie das folgende Format:
297     <code>&lt;Fall1&gt;@&lt;Bereich11&gt;@&lt;Format&gt;@&lt;Bereich12&gt;@&lt;Format&gt;@&lt;Bereich13&gt;...@@<br />
298
299      &lt;Fall2&gt;@&lt;Bereich21&gt;@... und so weiter.</code></p>
300
301     <p>Dieses Format teilt die Aufgabe, eine Liste von Autoren zu
302     formatieren, in unterschiedliche F&auml;lle abh&auml;ngig von
303     der Zahl der Autoren (das ist n&ouml;tig, weil manche Formate
304     sich je nach der Zahl der Autoren unterscheiden). Die einzelnen
305     F&auml;lle werden durch <code>@@</code> voneinander getrennt
306     und enthalten Anweisungen, wie jeder einzelne Autor in diesem
307     Fall zu formatieren ist. Diese Anweisungen werden durch
308     <code>@</code> getrennt.</p>
309
310     <p>F&auml;lle werden durch Ganzzahlen (1, 2, 3, etc.) oder das
311     Zeichen <code>*</code> (alle Autoren) definiert. Sie geben die
312     nachfolgenden Anweisungen an den Formatierer weiter, falls
313     weniger oder gleich viele Autoren vorhanden sind.</p>
314
315     <p>Bereiche sind entweder
316     <code>&lt;Ganzzahl&gt;..&lt;Ganzzahl&gt;</code>,
317     <code>&lt;Ganzzahl&gt;</code> oder das Zeichen <code>*</code>.
318     Die Liste der Autoren f&auml;ngt bei 1 an. Die Ganzzahlen
319     k&ouml;nnen einen negativen Wert haben, um vom letzten Autor
320     der Liste zu starten, wobei -1 der Wert f&uuml;r den letzten
321     Autor ist.</p>
322
323     <p>Als Beispiel dient die Autorenliste "Joe Doe and Mary Jane
324     and Bruce Bar and Arthur Kay":</p>
325
326     <ul>
327         <li>1..3 betrifft Joe, Mary und Bruce</li>
328
329         <li>4..4 betrifft Arthur</li>
330
331         <li>* betrifft alle</li>
332
333         <li>2..-1 betrifft Mary, Bruce und Arthur</li>
334     </ul>
335
336     <p>Die <code>&lt;Format&gt;</code>-Strings nutzen das
337     BibTeX-Namensschema:</p>
338
339     <p>Die vier Buchstaben v, f, l, j stehen f&uuml;r die
340     Namensteile von, Vorname (first), Nachname (last) und Junior
341     und werden in geschweiften Klammern gesetzt. Ein einzelner
342     Buchstabe v, f, l, j bedeutet, dass der Name abgek&uuml;rzt
343     werden soll. Wenn einer dieser Buchstaben oder Buchstabenpaare
344     vorkommen, gibt JabRef alle entsprechenden Namen (eventuell
345     abgek&uuml;rzt) aus, aber der Ausdruck in geschweiften Klammern
346     wird nur ausgegeben, wenn der Namensteil existiert.</p>
347
348     <p>Beispielsweise wird beim Format "{ll} {vv {von Part}} {ff}"
349     die Autorenliste "Mary Kay and John von Neumann" von JabRef als
350     "Kay Mary" (mit zwei Leerzeichen) und "Neumann von von Part
351     John" ausgegeben.</p>
352
353     <p>Zwei weitere Beispiele sollen das Ganze verdeutlichen; die
354     BibTeX-Dokumentation gibt weitere Hinweise.</p>
355
356     <p>Kurzes Beispiel: <code>"{ll}, {f.}"</code> formatiert
357     <code>"Joe Doe"</code> als <code>"Doe, J."</code></p>
358
359     <p>Ausf&uuml;hrliches Beispiel:</p>
360
361     <blockquote>
362         <p>Um</p>
363
364         <p><code>"Joe Doe and Mary Jane and Bruce Bar and Arthur
365         Kay"</code></p>
366
367         <p>als</p>
368
369         <p><code>"Doe, J., Jane, M., Bar, B. and Kay,
370         A."</code></p>
371
372         <p>zu formatieren, nutzt man</p>
373
374         <p><code>1@*@{ll}, {f}.@@2@1@{ll}, {f}.@2@ and {ll},
375         {f}.@@*@1..-3@{ll}, {f}., @-2@{ll}, {f}.@-1@ and {ll},
376         {f}.</code></p>
377     </blockquote>
378
379     <p>Falls jemand eine bessere Dokumentation hierzu verfassen
380     m&ouml;chte: Wenden Sie sich einfach an die
381     JabRef-Maililnglisten!</p>
382
383     <h3>Bedingte Ausgabe</h3>
384
385     <p>Manche statische Ausgabe macht nur
386     Sinn, wenn ein bestimmtes Feld nicht leer ist. Wenn wir z.B.
387     hinter den Namen der Editoren den Text <code>(Hrsg.)</code>
388     haben wollen, brauchen wir folgendes:</p>
389
390     <p><code>\format[HTMLChars,AuthorFirstFirst]{\editor}
391     (Hrsg.)</code></p>
392
393     <p>Wenn nun aber das <code>editor</code>-Feld leer ist -
394     m&ouml;glicherweise ist es f&uuml;r den Eintrag, der exportiert
395     werden soll, nicht erforderlich -, dann w&uuml;rde das
396     <code>(Hrsg.)</code> dennoch erscheinen. Das kann man mit den
397     Kommandos <code>\begin</code> und <code>\end</code>
398     verhindern:</p>
399
400     <p><code>\begin{editor}<br />
401     \format[HTMLChars,AuthorFirstFirst]{\editor} (Hrsg.)<br />
402      \end{editor}</code></p>
403
404     <p>Die Kommandos <code>\begin</code> und <code>\end</code>
405     sorgen daf&uuml;r, dass der Text, den sie einschlie&szlig;en,
406     nur dann ausgegeben wird, falls das Feld, auf das in den
407     geschweiften Klammern verwiesen wird, f&uuml;r den zu
408     exportierenden Eintrag definiert und damit nicht leer ist.</p>
409
410     <p><b>Anmerkung:</b> Das Benutzen der Kommandos
411     <code>\begin</code> und <code>\end</code> ist ein
412     Schl&uuml;ssel zum Erstellen von Layout-Dateien, die mit einer
413     Vielzahl von Eintragstypen umgehen k&ouml;nnen.</p>
414
415     <h3>Gruppierte Ausgabe</h3>
416
417     <p>Wenn Sie Ihre Eintr&auml;ge auf der
418     Basis eines bestimmten Feldes gruppieren wollen, benutzen Sie
419     die Kommandos f&uuml;r die gruppierte Ausgabe. Die gruppierte
420     Ausgabe ist der bedingten Ausgabe sehr &auml;hnlich, au&szlig;
421     dass der Text zwischen den Kommandos nur ausgegeben wird, wenn
422     das Feld, auf das in den geschweiften Klammern verwiesen wird,
423     unterschiedliche Werte enth&auml;lt.</p>
424
425     <p>Nehmen wir zum Beispiel an, dass wir die Ausgabe nach dem
426     keyword (Stichwort) gruppieren wollen. Bevor die Datei
427     exportiert wird, m&uuml;ssen die Eintr&auml;ge nach dem keyword
428     sortiert worden sein. Dann benutzen Sie die folgenden
429     Kommandos, um nach keyword zu gruppieren:</p>
430
431     <p><code>\begingroup{keywords}New Category:
432     \format[HTMLChars]{\keywords}<br />
433      \endgroup{keywords}</code></p>
434
435     <h2>Teilen Sie Ihre Arbeit mit anderen</h2>
436
437     <p>Mit externen
438     Layout-Dateien ist es einfach, Ihre eigenen Export-Formate mit
439     anderen Anwendern gemeinsam zu benutzen. Falls Sie einen
440     Exportfilter f&uuml;r ein Format erstellen, das nicht von
441     JabRef unterst&uuml;tzt wird, oder falls Sie einen bestehenden
442     Exportfilter verbessern, m&ouml;chten wir Sie ermutigen, Ihre
443     Arbeit auf der SourceForge.net-Seite bereitzustellen. Dasselbe
444     gilt f&uuml;r Formatierklassen, die Sie schreiben. Wir
445     w&uuml;rden uns freuen, eine Sammlung von bereitgestellten
446     Layout-Dateien verteilen zu k&ouml;nnen oder die
447     Standard-Export-Filter und Standard-Formatierer zu erweitern.</p>
448 </body>
449 </html>