[svn-inject] Installing original source of jabref
[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 im Men&uuml; <b>Datei -> Externe Exportfilter</b> angezeigt wird), eine Pfadangabe
20 zur <b>.layout</b>-Datei und die gew&uuml;nschte Dateiendung f&uuml;r den Exportfilter angeben
21 k&ouml;nnen. Wenn Sie den Exportfilter benutzen, wird diese Endung im Datei-Dialog automatisch
22 vorgeschlagen.
23
24 <H2>Das Erstellen des Exportfilters</H2>
25
26 Um einen Eindruck zu bekommen, wie Exportfilter auszusehen haben, suchen Sie am besten auf unserer
27 Homepage nach dem Paket, das die Layout-Dateien der Standard-Exportfilter enth&auml;lt.
28
29 <H3>Layout-Dateien</H3>
30
31 Nehmen wir einmal an, dass wir einen HTML-Exportfilter erstellen wollen.
32
33 <P>Der Exportfilter muss lediglich aus einer einzigen <b>.layout</b>-Datei bestehen, die in diesem
34 Fall <i>html.layout</i> genannt werden k&ouml;nnte. Sie k&ouml;nnen dar&uuml;ber hinaus auch zwei
35 Dateien mit den
36 Namen <i>html.begin.layout</i> und <i>html.end.layout</i> anlegen. Die erste dieser beiden Dateien
37 enth&auml;lt den Kopfteil der Ausgabe, die zweite den Fu&szlig;teil. JabRef sucht jedes Mal, wenn der
38 Exportfilter benutzt wird, nach diesen Dateien und f&uuml;gt sie&nbsp;&ndash; falls sie gefunden
39 werden&nbsp;&ndash; w&ouml;rtlich vor bzw. nach den einzelnen Eintr&auml;gen in die Ausgabe ein.
40
41 <P>Beachten Sie, dass sich diese Dateien in demselben Verzeichnis wie <i>html.layout</i> befinden
42 m&uuml;ssen und die Namensbestandteile <b>.begin</b> bzw. <b>.end</b> enthalten m&uuml;ssen.
43
44 <P>In unserem Beispiel-Exportfilter k&ouml;nnten diese Dateien folgenderma&szlig;en aussehen:
45
46 <p><i>html.begin.layout</i>:<br>
47 <code>&lt;HTML&gt;<br>
48   &lt;BODY&gt; text="#275856"&gt;<br>
49 &lt;basefont size="4" color="#2F4958" face="arial"&gt;</code>
50
51 <p><i>html.end.layout</i>:<br>
52 <code>&lt;/BODY&gt;<br>
53   &lt;/HTML&gt;</code>
54
55 <P>Die Datei <i>html.layout</i> stellt die <i>Standard</i>-Formatvorlage f&uuml;r den Export
56 eines einzelnen Eintrags bereit. Falls Sie unterschiedliche Formatvorlagen f&uuml;r verschiedene
57 Eintragstypen anwenden wollen, m&uuml;ssen Sie Eintrags-spezifische <b>.layout</b>-Dateien erstellen.
58 Diese m&uuml;ssen sich ebenfalls in demselben Verzeichnis wie die Haupt-Layout-Datei befinden und
59 den Namensbestandteil <b>.entrytype</b> enthalten. Der Name des Eintragstyps muss komplett in
60 Kleinbuchstaben geschrieben werden. In unserem Beispiel wollen wir eine Formatvorlage f&uuml;r
61 Eintr&auml;ge des Typs "book" haben, die in der Datei <i>html.book.layout</i> abgelegt wird.
62 F&uuml;r eine Dissertation w&uuml;rden wir die Datei <i>html.phdthesis.layout</i> anlegen&nbsp;&ndash;
63 und so weiter. Diese Dateien sind der Standard-Layout-Datei sehr &auml;hnlich, nur dass sie lediglich
64 f&uuml;r Eintr&auml;ge des entsprechenden Typs genutzt werden. Beachten Sie, dass die
65 Standard-Layout-Datei so allgemein gehalten werden kann, dass sie die meisten
66 Eintragstypen abdeckt.
67
68 <H3>Das Format der Layout-Datei</H3>
69
70 Layout-Dateien werden mit einem einfachen markup-Format erstellt, bei dem die Kommandos mit
71 einem "backslash" (<code>\</code>) eingeleitet werden. Alle Textbestandteile, die nicht als
72 Kommando identifiziert werden, gelangen direkt in die Ausgabedatei.
73
74 <H3>Feldkommandos</H3>
75
76 <p>Ein beliebiges Wort, vor dem ein backslash steht, z.B. <code>\author</code>, <code>\editor</code>,
77 <code>\title</code> or <code>\year</code>, wird als Verweis auf das entsprechende Feld ausgewertet,
78 das dann direkt in die Ausgabe kopiert wird.
79
80 <H3>Feldformatierer</H3>
81
82 <p>Oft muss der Feldinhalt vor der Ausgabe verarbeitet werden. Dies wird mit Hilfe eines
83 <i>Feldformatierers</i> gemacht - einer java class, die eine Methode zur Verarbeitung des
84 Feldinhaltes enth&auml;lt.
85 <p>Ein Formatierer wird angewendet, indem man das Kommando <code>\format</code> gefolgt vom Namen
86 des Formatierers in eckigen Klammern und dem Feldnamen in geschweiften Klammern einf&uuml;gt, z.B.:
87
88   <p><code>\format[ToLowerCase]{\author}</code>
89
90 <p>Sie k&ouml;nnen auch mehrere Formatierer angeben, getrennt durch Kommas. Sie werden nacheinander
91 aufgerufen, und zwar von links nach rechts. Das Kommando
92
93   <p><code>\format[ToLowerCase,HTMLChars]{\author}</code>
94
95 <p>ruft z.B. zun&auml;chst den Formatierer <b>ToLowerCase</b> auf, <b>HTMLChars</b> formatiert
96 anschlie&szlig;end das Ergebnis. Auf diese Weise k&ouml;nnen Sie eine beliebige Anzahl an
97 Formatierern auflisten.
98
99 <p>JabRef bietet die folgenden Formatierer, wobei einige von anderen abh&auml;ngen:
100
101 <ul>
102 <li><code>HTMLChars</code> : ersetzt TeX-spezifische Sonderzeichen (z.B. {\^a} oder {\"{o}})
103   durch ihre HTML-Entsprechungen.
104 <li><code>XMLChars</code> : ersetzt TeX-spezifische Sonderzeichen (z.B. {\^a} oder {\"{o}})
105   durch ihre XML-Entsprechungen.
106 <li><code>CreateDocBookAuthors</code> : formatiert das author-Feld im DocBook-Stil.
107 <li><code>AuthorFirstFirst</code> : formatiert die Felder author/editor mit den Vornamen zuerst.
108 <li><code>AuthorFirstFirstCommas</code> : formatiert die Felder author/editor mit den Vornamen zuerst
109 und abgetrennt durch Kommas.
110 <li><code>AuthorLastFirst</code> : formatiert die Felder author/editor mit den Nachnamen zuerst.
111 <li><code>AuthorLastFirstAbbreviator</code> : k&uuml;rzt die Vornamen aller Autoren.
112 Dieser Formatierer kann nur angewendet werden, wenn <code>AuthorLastFirst</code> bereits benutzt wurde.
113 <li><code>AuthorAndsReplacer</code> : ersetzt "and" zwischen den Namen durch ";", zwischen den letzten beiden Autoren steht "&amp;".
114 <li><code>AuthorAndsCommaReplacer</code> : ersetzt "and" zwischen den Namen durch "," sowie "&" zwischen den beiden letzten.
115 <li><code>FormatPagesForHTML</code> : ersetzt "--" durch "-".
116 <li><code>FormatPagesForXML</code> : ersetzt "--" durch einen XML en-dash (Gedanken- bzw. Bis-Strich).
117 <li><code>RemoveBrackets</code> : entfernt alle geschweiften Klammern "{" oder "}".
118 <li><code>RemoveLatexCommands</code> : entfernt LaTeX Kommandos wie <code>\em</code>, <code>\textbf</code>
119 etc. Zusammen mit <code>HTMLChars</code> oder <code>XMLChars</code> sollte dieser Formatierer
120 zuletzt aufgerufen werden.
121 <li><code>ToLowerCase</code> : macht aus allen Buchstaben Kleinbuchstaben.
122 </ul>
123
124 <p>Falls keiner der verf&uuml;gbaren Formatierer das Ergebnis erzielt, das Sie erreichen m&ouml;chten,
125 k&ouml;nnen Sie Ihren eigenen Formatierer hinzuf&uuml;gen, indem Sie das
126 <code>net.sf.jabref.export.layout.LayoutFormatter</code>-Interface implementieren. Wenn Sie Ihre Klasse
127 (class) in das Paket <code>net.sf.jabref.export.layout.format</code> einf&uuml;gen, k&ouml;nnen Sie
128 den Formatierer mit seinem Klassennamen aufrufen, so wie auch die Standard-Formatierer. Ansonsten
129 m&uuml;ssen Sie den Formatierer mit seinem vollen Namen aufrufen (inklusive Paketname). In jedem Fall
130 muss der Formatierer in ihrem classpath sein, wenn Sie JabRef starten.
131
132 <H3>Bedingte Ausgabe</H3>
133
134 Manche statische Ausgabe macht nur Sinn, wenn ein bestimmtes Feld nicht leer ist. Wenn wir z.B. hinter
135 den Namen der Editoren den Text <code>(Hrsg.)</code> haben wollen, brauchen wir folgendes:
136
137 <p><code>\format[HTMLChars,AuthorFirstFirst]{\editor} (Hrsg.)</code>
138
139 <p>Wenn nun aber das <code>editor</code>-Feld leer ist - m&ouml;glicherweise ist es f&uuml;r den Eintrag,
140 der exportiert werden soll, nicht erforderlich -, dann w&uuml;rde das <code>(Hrsg.)</code> dennoch
141 erscheinen. Das kann man mit den Kommandos <code>\begin</code> und <code>\end</code> verhindern:
142
143 <p><code>\begin{editor}<br>\format[HTMLChars,AuthorFirstFirst]{\editor} (Hrsg.)
144 <br>\end{editor}</code>
145
146 <p>Die Kommandos <code>\begin</code> und <code>\end</code> sorgen daf&uuml;r, dass der Text, den sie
147 einschlie&szlig;en, nur dann ausgegeben wird, falls das Feld, auf das in den geschweiften Klammern
148 verwiesen wird, f&uuml;r den zu exportierenden Eintrag definiert und damit nicht leer ist.
149
150 <p><b>Anmerkung:</b> Das Benutzen der Kommandos <code>\begin</code> und <code>\end</code> ist ein
151 Schl&uuml;ssel zum Erstellen von Layout-Dateien, die mit einer Vielzahl von Eintragstypen
152 umgehen k&ouml;nnen.
153
154 <H3>Gruppierte Ausgabe</H3>
155
156 Wenn Sie Ihre Eintr&auml;ge auf der Basis eines bestimmten Feldes gruppieren wollen, benutzen Sie
157 die Kommandos f&uuml;r die gruppierte Ausgabe.
158 Die gruppierte Ausgabe ist der bedingten Ausgabe sehr &auml;hnlich, au&szlig; dass der Text zwischen
159 den Kommandos nur ausgegeben wird, wenn das Feld, auf das in den geschweiften Klammern verwiesen wird,
160 unterschiedliche Werte enth&auml;lt.
161
162 <p>Nehmen wir zum Beispiel an, dass wir die Ausgabe nach dem keyword (Stichwort) gruppieren wollen.
163 Bevor die Datei exportiert wird, m&uuml;ssen die Eintr&auml;ge nach dem keyword sortiert worden sein.
164 Dann benutzen Sie die folgenden Kommandos, um nach keyword zu gruppieren:
165
166 <p><code>\begingroup{keywords}New Category: \format[HTMLChars]{\keywords}
167 <br>    \endgroup{keywords}</code>
168
169 <H2>Teilen Sie Ihre Arbeit mit anderen</H2>
170
171 Mit externen Layout-Dateien ist es einfach, Ihre eigenen Export-Formate mit anderen Anwendern
172 gemeinsam zu benutzen. Falls Sie einen Exportfilter f&uuml;r ein Format erstellen, das nicht von
173 JabRef unterst&uuml;tzt wird, oder falls Sie einen bestehenden Exportfilter verbessern, m&ouml;chten
174 wir Sie ermutigen, Ihre Arbeit auf der SourceForge.net-Seite bereitzustellen. Dasselbe gilt f&uuml;r
175 Formatierklassen, die Sie schreiben. Wir w&uuml;rden uns freuen, eine Sammlung von bereitgestellten
176 Layout-Dateien verteilen zu k&ouml;nnen oder die Standard-Export-Filter und Standard-Formatierer
177  zu erweitern.
178
179 </HTML>