[svn-upgrade] Integrating new upstream version, jabref (2.3~beta1)
[debian/jabref.git] / src / help / de / CustomExports.html
1 <HTML>
2
3 <BODY text="#275856">
4 <basefont size="4" color="#2F4958" face="arial">
5
6 <H1>Exportfilter anpassen</H1>
7
8 Mit JabRef k&ouml;nnen Sie Ihre eigenen Exportfilter definieren und genau so wie die
9 Standard-Exportfilter benutzen. Ein Exportfilter wird durch eine oder mehr <i>Layout-Dateien</i>
10 definiert, die mittels eingebauter Formatierprogramme das Format der exportierten Dateien
11 festlegen. Ihre Layout-Datei m&uuml;ssen Sie in einem separaten Texteditor erstellen.
12
13 <H2>Hinzuf&uuml;gen eines Exportfilters</H2>
14
15 Die einzige Voraussetzung f&uuml;r einen Exportfilter ist, da&szlig; eine Datei mit der
16 Endung <b>.layout</b> vorhanden ist. Um einen neuen, eigenen Exportfilter hinzuzuf&uuml;gen,
17 &ouml;ffnen Sie das Dialogfenster <b>Optionen -> Verwalte externe Exportfilter</b> und klicken
18 auf die Schaltfl&auml;che <b>Neu</b>. Es &ouml;ffnet sich ein neues Fenster, in dem Sie einen
19 Namen (der als Auswahl im Dateityp-Dropdownmen&uuml; erscheint, wenn man <b>Datei -> Exportieren</b>
20 im JabRef-Hauptfenster w&auml;hlt), eine Pfadangabe
21 zur <b>.layout</b>-Datei und die gew&uuml;nschte Dateiendung f&uuml;r den Exportfilter angeben
22 k&ouml;nnen. Wenn Sie den Exportfilter benutzen, wird diese Endung im Datei-Dialog automatisch
23 vorgeschlagen.
24
25 <H2>Das Erstellen des Exportfilters</H2>
26
27 Um einen Eindruck zu bekommen, wie Exportfilter auszusehen haben, suchen Sie am besten auf unserer
28 Homepage nach dem Paket, das die Layout-Dateien der Standard-Exportfilter enth&auml;lt.
29
30 <H3>Layout-Dateien</H3>
31
32 Nehmen wir einmal an, dass wir einen HTML-Exportfilter erstellen wollen.
33
34 <P>Der Exportfilter muss lediglich aus einer einzigen <b>.layout</b>-Datei bestehen, die in diesem
35 Fall <i>html.layout</i> genannt werden k&ouml;nnte. Sie k&ouml;nnen dar&uuml;ber hinaus auch zwei
36 Dateien mit den
37 Namen <i>html.begin.layout</i> und <i>html.end.layout</i> anlegen. Die erste dieser beiden Dateien
38 enth&auml;lt den Kopfteil der Ausgabe, die zweite den Fu&szlig;teil. JabRef sucht jedes Mal, wenn der
39 Exportfilter benutzt wird, nach diesen Dateien und f&uuml;gt sie&nbsp;&ndash; falls sie gefunden
40 werden&nbsp;&ndash; w&ouml;rtlich vor bzw. nach den einzelnen Eintr&auml;gen in die Ausgabe ein.
41
42 <P>Beachten Sie, dass sich diese Dateien in demselben Verzeichnis wie <i>html.layout</i> befinden
43 m&uuml;ssen und die Namensbestandteile <b>.begin</b> bzw. <b>.end</b> enthalten m&uuml;ssen.
44
45 <P>In unserem Beispiel-Exportfilter k&ouml;nnten diese Dateien folgenderma&szlig;en aussehen:
46
47 <p><i>html.begin.layout</i>:<br>
48 <code>&lt;HTML&gt;<br>
49   &lt;BODY&gt; text="#275856"&gt;<br>
50 &lt;basefont size="4" color="#2F4958" face="arial"&gt;</code>
51
52 <p><i>html.end.layout</i>:<br>
53 <code>&lt;/BODY&gt;<br>
54   &lt;/HTML&gt;</code>
55
56 <P>Die Datei <i>html.layout</i> stellt die <i>Standard</i>-Formatvorlage f&uuml;r den Export
57 eines einzelnen Eintrags bereit. Falls Sie unterschiedliche Formatvorlagen f&uuml;r verschiedene
58 Eintragstypen anwenden wollen, m&uuml;ssen Sie Eintrags-spezifische <b>.layout</b>-Dateien erstellen.
59 Diese m&uuml;ssen sich ebenfalls in demselben Verzeichnis wie die Haupt-Layout-Datei befinden und
60 den Namensbestandteil <b>.entrytype</b> enthalten. Der Name des Eintragstyps muss komplett in
61 Kleinbuchstaben geschrieben werden. In unserem Beispiel wollen wir eine Formatvorlage f&uuml;r
62 Eintr&auml;ge des Typs "book" haben, die in der Datei <i>html.book.layout</i> abgelegt wird.
63 F&uuml;r eine Dissertation w&uuml;rden wir die Datei <i>html.phdthesis.layout</i> anlegen&nbsp;&ndash;
64 und so weiter. Diese Dateien sind der Standard-Layout-Datei sehr &auml;hnlich, nur dass sie lediglich
65 f&uuml;r Eintr&auml;ge des entsprechenden Typs genutzt werden. Beachten Sie, dass die
66 Standard-Layout-Datei so allgemein gehalten werden kann, dass sie die meisten
67 Eintragstypen abdeckt.
68
69 <H3>Das Format der Layout-Datei</H3>
70
71 Layout-Dateien werden mit einem einfachen markup-Format erstellt, bei dem die Kommandos mit
72 einem "backslash" (<code>\</code>) eingeleitet werden. Alle Textbestandteile, die nicht als
73 Kommando identifiziert werden, gelangen direkt in die Ausgabedatei.
74
75 <H3>Feldkommandos</H3>
76
77 <p>Ein beliebiges Wort, vor dem ein backslash steht, z.B. <code>\author</code>, <code>\editor</code>,
78 <code>\title</code> or <code>\year</code>, wird als Verweis auf das entsprechende Feld ausgewertet,
79 das dann direkt in die Ausgabe kopiert wird.
80
81 <H3>Feldformatierer</H3>
82
83 <p>Oft muss der Feldinhalt vor der Ausgabe verarbeitet werden. Dies wird mit Hilfe eines
84 <i>Feldformatierers</i> gemacht - einer java class, die eine Methode zur Verarbeitung des
85 Feldinhaltes enth&auml;lt.
86 <p>Ein Formatierer wird angewendet, indem man das Kommando <code>\format</code> gefolgt vom Namen
87 des Formatierers in eckigen Klammern und dem Feldnamen in geschweiften Klammern einf&uuml;gt, z.B.:
88
89   <p><code>\format[ToLowerCase]{\author}</code>
90
91 <p>Sie k&ouml;nnen auch mehrere Formatierer angeben, getrennt durch Kommas. Sie werden nacheinander
92 aufgerufen, und zwar von links nach rechts. Das Kommando
93
94   <p><code>\format[ToLowerCase,HTMLChars]{\author}</code>
95
96 <p>ruft z.B. zun&auml;chst den Formatierer <b>ToLowerCase</b> auf, <b>HTMLChars</b> formatiert
97 anschlie&szlig;end das Ergebnis. Auf diese Weise k&ouml;nnen Sie eine beliebige Anzahl an
98 Formatierern auflisten.
99
100 <p>JabRef bietet die folgenden Formatierer, wobei einige von anderen abh&auml;ngen:
101
102 <ul>
103 <li><code>HTMLChars</code> : ersetzt TeX-spezifische Sonderzeichen (z.B. {\^a} oder {\"{o}})
104   durch ihre HTML-Entsprechungen.
105 <li><code>HTMLParagraphs</code> : interpretiert zwei aufeinanderfolgende Zeilenumbr&uuml;che (z.B. \n   \n) als Beginn eines neuen Absatzes und erstellt dementsprechend Absatz-HTML-Tags.
106 <li><code>XMLChars</code> : ersetzt TeX-spezifische Sonderzeichen (z.B. {\^a} oder {\"{o}})
107   durch ihre XML-Entsprechungen.
108
109 <li><code>CreateDocBookAuthors</code> : formatiert das author-Feld im DocBook-Stil.
110 <li><code>CreateDocBookEditors</code> : Dokumentation folgt.
111
112 <li><code>CurrentDate</code> : gibt das aktuelle Datum aus. Ohne Argument gibt dieser Formatierer das aktuelle Datum im Format "JJJJ.MM.TT HH:MM:SS Z" (Datum, Zeit und Zeitzone) aus. Mit einem anderen Format-String als Argument kann das Datum angepasst werden. So ergibt <code>\format[CurrentDate]{yyyy.MM.dd}</code> nur das Datum, z.B. 2005.11.30.
113
114 <li><code>AuthorFirstFirst</code> : formatiert die Felder author/editor mit den Vornamen zuerst.
115 <li><code>AuthorFirstFirstCommas</code> : formatiert die Felder author/editor mit den Vornamen zuerst
116 und abgetrennt durch Kommas.
117 <li><code>AuthorFirstAbbrLastCommas</code> : Dokumentation folgt.
118 <li><code>AuthorFirstAbbrLastOxfordCommas</code> : Dokumentation folgt.
119 <li><code>AuthorFirstLastOxfordCommas </code> : Dokumentation folgt.
120
121 <li><code>AuthorLastFirst</code> : formatiert die Felder author/editor mit den Nachnamen zuerst.
122 <li><code>AuthorLastFirstAbbreviator</code> : k&uuml;rzt die Vornamen aller Autoren.
123 Dieser Formatierer kann nur angewendet werden, wenn <code>AuthorLastFirst</code> bereits benutzt wurde.
124 <li><code>AuthorLastFirstCommas</code> : Dokumentation folgt.
125 <li><code>AuthorLastFirstOxfordCommas</code> : Dokumentation folgt.
126 <li><code>AuthorLastFirstAbbrCommas</code> : Dokumentation folgt.
127 <li><code>AuthorLastFirstAbbrOxfordCommas</code> : Dokumentation folgt.
128
129 <li><code>AuthorAndsReplacer</code> : ersetzt "and" zwischen den Namen durch ";", zwischen den letzten beiden Autoren steht "&amp;".
130 <li><code>AuthorAndsCommaReplacer</code> : ersetzt "and" zwischen den Namen durch "," sowie "&" zwischen den beiden letzten.
131
132 <li><code>AuthorOrgSci</code> : Der erste Autor erscheint als "Nachname, Vorname", alle anderen als "Vorname Nachname". Vornamen werden abgek&uuml;rzt.
133 <li><code>AuthorAbbreviator</code> : Dokumentation folgt.
134 <li><code>AuthorNatBib</code> : formatiert Autorennamen im Natbib-Stil, also nur mit Nachnamen; zwei Autoren werden durch ein "and" voneinander getrennt, bei mehr als zwei Autoren wird der erste angegeben, gefolgt von "et al."
135 <li><code>NoSpaceBetweenAbbreviations</code> : Leerzeichen zwischen mehreren abgek&uuml;rzten Vornamen werden gel&ouml;scht.
136
137 <li><code>FormatPagesForHTML</code> : ersetzt "--" durch "-".
138 <li><code>FormatPagesForXML</code> : ersetzt "--" durch einen XML en-dash (Gedanken- bzw. Bis-Strich).
139 <li><code>RemoveBrackets</code> : entfernt alle geschweiften Klammern "{" oder "}".
140 <li><code>RemoveBracketsAddComma</code> : Dokumentation folgt.
141 <li><code>RemoveWhitespace</code> : Dokumentation folgt.
142 <li><code>RemoveLatexCommands</code> : entfernt LaTeX Kommandos wie <code>\em</code>, <code>\textbf</code>
143 etc. Zusammen mit <code>HTMLChars</code> oder <code>XMLChars</code> sollte dieser Formatierer
144 zuletzt aufgerufen werden.
145 <li><code>ToLowerCase</code> : macht aus allen Buchstaben Kleinbuchstaben.
146
147 <li><code>CompositeFormat</code> : Dokumentation folgt.
148 <li><code>GetOpenOfficeType</code> : Dokumentation folgt.
149 <li><code>RTFChars</code> : Dokumentation folgt.
150 <li><code>ResolvePDF</code> : Dokumentation folgt.
151 </ul>
152
153 <p>Falls keiner der verf&uuml;gbaren Formatierer das Ergebnis erzielt, das Sie erreichen m&ouml;chten,
154 k&ouml;nnen Sie Ihren eigenen Formatierer hinzuf&uuml;gen, indem Sie das
155 <code>net.sf.jabref.export.layout.LayoutFormatter</code>-Interface implementieren. Wenn Sie Ihre Klasse
156 (class) in das Paket <code>net.sf.jabref.export.layout.format</code> einf&uuml;gen, k&ouml;nnen Sie
157 den Formatierer mit seinem Klassennamen aufrufen, so wie auch die Standard-Formatierer. Ansonsten
158 m&uuml;ssen Sie den Formatierer mit seinem vollen Namen aufrufen (inklusive Paketname). In jedem Fall
159 muss der Formatierer in ihrem classpath sein, wenn Sie JabRef starten.
160
161 <H3>Bedingte Ausgabe</H3>
162
163 Manche statische Ausgabe macht nur Sinn, wenn ein bestimmtes Feld nicht leer ist. Wenn wir z.B. hinter
164 den Namen der Editoren den Text <code>(Hrsg.)</code> haben wollen, brauchen wir folgendes:
165
166 <p><code>\format[HTMLChars,AuthorFirstFirst]{\editor} (Hrsg.)</code>
167
168 <p>Wenn nun aber das <code>editor</code>-Feld leer ist - m&ouml;glicherweise ist es f&uuml;r den Eintrag,
169 der exportiert werden soll, nicht erforderlich -, dann w&uuml;rde das <code>(Hrsg.)</code> dennoch
170 erscheinen. Das kann man mit den Kommandos <code>\begin</code> und <code>\end</code> verhindern:
171
172 <p><code>\begin{editor}<br>\format[HTMLChars,AuthorFirstFirst]{\editor} (Hrsg.)
173 <br>\end{editor}</code>
174
175 <p>Die Kommandos <code>\begin</code> und <code>\end</code> sorgen daf&uuml;r, dass der Text, den sie
176 einschlie&szlig;en, nur dann ausgegeben wird, falls das Feld, auf das in den geschweiften Klammern
177 verwiesen wird, f&uuml;r den zu exportierenden Eintrag definiert und damit nicht leer ist.
178
179 <p><b>Anmerkung:</b> Das Benutzen der Kommandos <code>\begin</code> und <code>\end</code> ist ein
180 Schl&uuml;ssel zum Erstellen von Layout-Dateien, die mit einer Vielzahl von Eintragstypen
181 umgehen k&ouml;nnen.
182
183 <H3>Gruppierte Ausgabe</H3>
184
185 Wenn Sie Ihre Eintr&auml;ge auf der Basis eines bestimmten Feldes gruppieren wollen, benutzen Sie
186 die Kommandos f&uuml;r die gruppierte Ausgabe.
187 Die gruppierte Ausgabe ist der bedingten Ausgabe sehr &auml;hnlich, au&szlig; dass der Text zwischen
188 den Kommandos nur ausgegeben wird, wenn das Feld, auf das in den geschweiften Klammern verwiesen wird,
189 unterschiedliche Werte enth&auml;lt.
190
191 <p>Nehmen wir zum Beispiel an, dass wir die Ausgabe nach dem keyword (Stichwort) gruppieren wollen.
192 Bevor die Datei exportiert wird, m&uuml;ssen die Eintr&auml;ge nach dem keyword sortiert worden sein.
193 Dann benutzen Sie die folgenden Kommandos, um nach keyword zu gruppieren:
194
195 <p><code>\begingroup{keywords}New Category: \format[HTMLChars]{\keywords}
196 <br>    \endgroup{keywords}</code>
197
198 <H2>Teilen Sie Ihre Arbeit mit anderen</H2>
199
200 Mit externen Layout-Dateien ist es einfach, Ihre eigenen Export-Formate mit anderen Anwendern
201 gemeinsam zu benutzen. Falls Sie einen Exportfilter f&uuml;r ein Format erstellen, das nicht von
202 JabRef unterst&uuml;tzt wird, oder falls Sie einen bestehenden Exportfilter verbessern, m&ouml;chten
203 wir Sie ermutigen, Ihre Arbeit auf der SourceForge.net-Seite bereitzustellen. Dasselbe gilt f&uuml;r
204 Formatierklassen, die Sie schreiben. Wir w&uuml;rden uns freuen, eine Sammlung von bereitgestellten
205 Layout-Dateien verteilen zu k&ouml;nnen oder die Standard-Export-Filter und Standard-Formatierer
206  zu erweitern.
207
208 </HTML>