Erstellen benutzerdefinierter LiteraturverzeichnisformateCreate Custom Bibliography Styles

Erstellen Sie ein benutzerdefiniertes Literaturverzeichnisformat in Word, indem Sie die Schritte (und den XML-Code) kennen lernen, die Sie benötigen, um ein einfaches benutzerdefiniertes Format zu erstellen.Create a custom bibliography style in Word by learning the steps (and XML code) you need to construct a simple custom style. Erfahrend Sie außerdem, wie Sie eine komplexere Formatvorlagendatei erstellen.Also, learn to make a more complex style file. Bevor Sie beginnen, gibt es jedoch einige Informationen, die Sie kennen müssen:Before we start, there is some information that you need to know:

Die Literaturverzeichnisquellen, die Sie erstellen, werden alle in der folgenden Datei aufgelistet: \Microsoft\Bibliography\Sources.xml.The bibliography sources you create are all listed in the following file: %APPDATA%\Microsoft\Bibliography\Sources.xml

Hinweis

Die Datei "\Bibliography\Sources.xml" ist erst vorhanden, nachdem Sie Ihre erste Literaturverzeichnisquelle in Word erstellt haben.Note The \Bibliography\Sources.xml file won't exist until you create your first bibliography source in Word. Alle Literaturverzeichnisformate werden unter "\Microsoft\Bibliography\Style" gespeichert.All the bibliography styles are stored in %APPDATA%\Microsoft\Bibliography\Style.

Erstellen eines einfachen LiteraturverzeichnisformatsBuilding a basic bibliography style

Erstellen Sie zunächst ein einfaches Literaturverzeichnisformat, dem die benutzerdefinierte Formatvorlage folgen soll.First, create a basic bibliography style that the custom style will follow.

Einrichten des LiteraturverzeichnisformatsSet up the bibliography style

Um ein Literaturverzeichnisformat zu erstellen, muss eine XML-Formatvorlage (d. h. eine XSL-Datei mit dem Namen "MyBookStyle.xsl") mithilfe Ihres bevorzugten XML-Editors erstellt werden.To create a bibliography style, we will create an XML style sheet; that is, an .xsl file called MyBookStyle.xsl, using your favorite XML editor. Editor eignet sich einwandfrei.Notepad will do fine. Wie der Name bereits erahnen lässt, handelt es sich im Beispiel um eine Formatvorlage vom Typ "Buch".As the name suggests, our example is going to be a style for a “book” source type.

Fügen Sie oben in der Datei den folgenden Code hinzu:At the top of the file, add the following code:

<?xml version="1.0" ?> 

<!--List of the external resources that we are referencing-->
 
<xsl:stylesheet version="1.0" xmlns:xsl="https://www.w3.org/1999/XSL/Transform" xmlns:b="https://schemas.openxmlformats.org/officeDocument/2006/bibliography">
 
<!--When the bibliography or citation is in your document, it's just HTML-->
 
<xsl:output method="html" encoding="us-ascii"/>
   
<!--Match the root element, and dispatch to its children-->
   
<xsl:template match="/">

<xsl:apply-templates select="*" />

</xsl:template>

Wie die Kommentare bereits angeben, wird von Word HTML verwendet, um ein Literaturverzeichnis oder Zitat in einem Dokument darzustellen.As the comments indicate, Word uses HTML to represent a bibliography or citation within a document. Der meiste vorhergehende XML-Code ist nur Vorbereitung für die interessanteren Teile der Formatvorlage.Most of the preceding XML code is just preparation for the more interesting parts of the style. Beispielsweise können Sie Ihrer Formatvorlage eine Versionsnummer zum Nachverfolgen Ihrer Änderungen geben, wie im folgenden Beispiel dargestellt ist.For example, you can give your style a version number to track the changes you make, as shown in the following example.

<!--Set an optional version number for this style--> 

<xsl:template match="b:version"> 

   <xsl:text>2006.5.07</xsl:text>

</xsl:template>

Wichtiger ist jedoch, dass Sie Ihrer Formatvorlage einen Namen geben können.More importantly, you can give your style a name. Fügen Sie dieses Tag hinzu: <xsl:when test="b:StyleNameLocalized">; Und geben Sie Ihrer Formatvorlage dann mithilfe des folgenden Codes einen Namen in einer Sprache Ihrer Wahl.Add this tag: <xsl:when test="b:StyleNameLocalized">; and then give your style a name, in the language of your choice, by using the following code.

<xsl:when test="b:StyleNameLocalized/b:Lcid='1033'">

   <xsl:text>[Your Style Name]</xsl:text>
 
</xsl:when>

Dieser Abschnitt enthält den Gebietsschemanamen Ihrer Formatvorlage.This section contains the locale name of your style. Im Fall unserer Beispieldatei soll der Name unseres benutzerdefinierten Literaturverzeichnisformats, "Simple Book Style", auf der Registerkarte Verweise in der Dropdownliste Formatvorlage angezeigt werden. Fügen Sie dazu den folgenden XML-Code hinzu, um anzugeben, dass das Gebietsschema für den Formatvorlagennamen Englisch ist ("Lcid" gibt die Sprache an).This section contains the locale name of your style. In the case of our example file, we want our custom bibliography style name, "Simple Book Style," to appear in the Style drop-down list on the References tab. To do so, add the following XML code to specify that the style name be in the English locale (Lcid determines the language).

<!--Defines the name of the style in the References dropdown list-->
<xsl:when test="b:StyleNameLocalized"> 
   <xsl:choose> 
      <xsl:when test="b:StyleNameLocalized/b:Lcid='1033'"> 
         <xsl:text>Simple Book Style</xsl:text> 
      </xsl:when> 
</xsl:when>

Ihre Formatvorlage wird nun im Dropdownlistenfeld Literaturverzeichnisformat in der Anwendung unter ihrem eigenen Namen angezeigt.Your style will now appear under its own name in the Bibliography Style dropdown list-box in the application.

Überprüfen Sie nun die Formatvorlagendetails.Now, examine the style details. Jeder Quelltyp in Word (z. B. Buch, Film, Artikel in einer Zeitschrift usw.) verfügt über eine integrierte Liste von Feldern, die Sie für das Literaturverzeichnis verwenden können.Each source type in Word (for example, book, film, article in a periodical, and so forth) has a built-in list of fields that you can use for the bibliography. Zum Anzeigen aller für einen bestimmten Quelltyp verfügbaren Felder wählen Sie auf der Registerkarte Verweise die Option Quellen verwalten und dann im Dialogfeld Quellen-Manager die Option Neu aus, um das Dialogfeld Quelle erstellen zu öffnen.Now, examine the style details. Each source type in Word (for example, book, film, article in a periodical, and so forth) has a built-in list of fields that you can use for the bibliography. To see all the fields available for a given source type, on the References tab, choose Manage Sources, and then in the Source Manager dialog box, choose New to open the Create Source dialog box. Then select Show All Bibliography Fields. Aktivieren Sie dann Alle Literaturverzeichnisfelder anzeigen.Then select Show All Bibliography Fields.

Für den Quelltyp "Buch" sind folgende Felder verfügbar:A book source type has the following fields available:

  • UrsprungAuthor

  • PositionTitle

  • JahrYear

  • StadtCity

  • Bundesland/KantonState/Province

  • Land/RegionCountry/Region

  • PublisherPublisher

  • EditorEditor

  • LaufwerkVolume

  • Anzahl der BändeNumber of Volumes

  • ÜbersetzerTranslator

  • KurztitelShort Title

  • StandardnummerStandard Number

  • SeitenPages

  • Edition (Version)Edition

  • KommentareComments

Im Code können Sie die Felder angeben, die für Ihr Literaturverzeichnisformat wichtig sind.In the code, you can specify the fields that are important for your bibliography style. Selbst wenn Alle Literaturverzeichnisfelder anzeigen deaktiviert ist, werden diese Felder mit einem roten Sternchen daneben angezeigt.Even when Show All Bibliography Fields is cleared, these fields will appear and have a red asterisk next to them. Für unser Buchbeispiel soll sichergestellt werden, dass die Felder "Autor", "Titel", "Jahr", "Ort" und "Verleger" eingegeben werden. Daher soll neben diesen Feldern ein rotes Sternchen angezeigt werden, um die Benutzer darauf hinzuweisen, dass es sich dabei um empfohlene Felder handelt, die ausgefüllt werden sollten.In the code, you can specify the fields that are important for your bibliography style. Even when Show All Bibliography Fields is cleared, these fields will appear and have a red asterisk next to them. For our book example, I want to ensure that the author, title, year, city, and publisher are entered, so I want a red asterisk to appear next to these fields to alert the user that these are recommended fields that should be filled out.

<!--Specifies which fields should appear in the Create Source dialog box when in a collapsed state (The Show All Bibliography Fields check box is cleared)-->

<xsl:template match="b:GetImportantFields[b:SourceType = 'Book']"> 
   <b:ImportantFields> 
      <b:ImportantField> 
         <xsl:text>b:Author/b:Author/b:NameList</xsl:text> 
      </b:ImportantField> 
      <b:ImportantField> 
         <xsl:text>b:Title</xsl:text> 
      </b:ImportantField> 
     <b:ImportantField> 
         <xsl:text>b:Year</xsl:text> 
      </b:ImportantField> 
      <b:ImportantField> 
         <xsl:text>b:City</xsl:text>
      </b:ImportantField> 
      <b:ImportantField> 
         <xsl:text>b:Publisher</xsl:text> 
      </b:ImportantField> 
   </b:ImportantFields> 
</xsl:template>

Der Text in den xsl:text-Tags verweist auf die Datei "Sources.xml".The text in the xsl:text tags are references to the Sources.xml file. Diese Verweise ziehen die Daten heraus, mit denen die einzelnen Felder ausgefüllt werden.These references pull out the data that will populate each of the fields. Überprüfen Sie die Datei "Sources.xml" in "\Microsoft\Bibliography\Sources.xml", um einen besseren Einblick zu erhalten, wie diese Verweise den Informationen in der XML-Datei entsprechen.Examine Sources.xml (%APPDATA%\Microsoft\Bibliography\Sources.xml) to get a better idea about how these references match up to what is in the XML file.

Entwerfen des LayoutsDesign the layout

Die Ausgabe für Literaturverzeichnisse und Zitate wird in einem Word-Dokument als HTML dargestellt. Um zu definieren, wie benutzerdefinierte Literaturverzeichnis- und Zitatformate in Word aussehen sollen, muss der Formatvorlage HTML-Code hinzugefügt werden.Output for bibliographies and citations is represented in a Word document as HTML, so to define how our custom bibliography and citation styles should look in Word, we'll have to add some HTML to our style sheet.

Angenommen, Sie möchten jeden Eintrag in Ihrem Literaturverzeichnis auf folgende Weise formatieren:Suppose you want to format each entry in your bibliography in this manner:

Nachname, Vorname. (Jahr). Titel. Ort: VerlegerLast Name, First Name. (Year). Title. City: Publisher

Der dafür erforderliche HTML-Code würde wie folgt in Ihre Formatvorlage eingebettet werden.The HTML required to do this would be embedded in your style sheet as follows.

<!--Defines the output format for a simple Book (in the Bibliography) with important fields defined-->

<xsl:template match="b:Source[b:SourceType = 'Book']"> 

<!--Label the paragraph as an Office Bibliography paragraph-->

   <p> 
      <xsl:value-of select="b:Author/b:Author/b:NameList/b:Person/b:Last"/> 
      <xsl:text>, </xsl:text> 
      <xsl:value-of select="b:Author/b:Author/b:NameList/b:Person/b:First"/> 
      <xsl:text>. (</xsl:text> 
      <xsl:value-of select="b:Year"/> 
      <xsl:text>). </xsl:text> 
      <i> 
         <xsl:value-of select="b:Title"/> 
         <xsl:text>. </xsl:text> 
      </i> 
      <xsl:value-of select="b:City"/> 
      <xsl:text>: </xsl:text> 
      <xsl:value-of select="b:Publisher"/> 
      <xsl:text>.</xsl:text> 
   </p> 
</xsl:template>

Wenn Sie in Ihrem Word-Dokument auf eine Buchquelle verweisen, muss Word auf diesen HTML-Code zugreifen, damit es die benutzerdefinierte Formatvorlage zum Anzeigen der Quelle verwenden kann. Daher müssen Sie Ihrer benutzerdefinierten Formatvorlage Code hinzufügen, um dies in Word zu ermöglichen.When you reference a book source in your Word document, Word needs to access this HTML so that it can use the custom style to display the source, so you'll have to add code to your custom style sheet to enable Word to do this.

<!--Defines the output of the entire Bibliography-->
 
<xsl:template match="b:Bibliography"> 

   <html xmlns="https://www.w3.org/TR/REC-html40"> 
   
      <body> 

         <xsl:apply-templates select ="b:Source[b:SourceType = 'Book']"> 

         </xsl:apply-templates> 

      </body> 
   
   </html> 
</xsl:template>

In ähnlicher Weise müssen Sie dasselbe für die Zitatausgabe ausführen.In a similar fashion, you'll need to do the same thing for the citation output. Folgen Sie dem Muster (Autor, Jahr) für ein einzelnes Zitat im Dokument.Follow the pattern (Author, Year) for a single citation in the document.

<!--Defines the output of the Citation-->
<xsl:template match="b:Citation/b:Source[b:SourceType = 'Book']"> 
   <html xmlns="https://www.w3.org/TR/REC-html40"> 
      <body> 
         <!-- Defines the output format as (Author, Year)--> 
         <xsl:text>(</xsl:text> 
            <xsl:value-of select="b:Author/b:Author/b:NameList/b:Person/b:Last"/> 
         <xsl:text>, </xsl:text> 
         <xsl:value-of select="b:Year"/> 
         <xsl:text>)</xsl:text> 
      </body> 
   </html> 
</xsl:template>

Schließen Sie die Datei mit den folgenden Zeilen ab.Close up the file with the following lines.

<xsl:template match="text()" /> </xsl:stylesheet>

Speichern Sie die Datei als "MyBookStyle.XSL", und legen Sie sie im Formatvorlagenverzeichnis ("\Microsoft\Bibliography\Style") ab.Save the file as MyBookStyle.XSL and drop it into the Styles directory (%appdata%\Microsoft\Bibliography\Style). Starten Sie Word neu, und Ihre Formatvorlage wird nun in der Dropdownliste der Formatvorlagen angezeigt.Restart Word, and your style is now under the style dropdown list. Sie können die neue Formatvorlage nun verwenden.You can start using your new style.

Erstellen einer komplexen FormatvorlageCreate a complex style

Eines der Probleme, die Literaturverzeichnisformate kompliziert machen, besteht darin, dass sie häufig eine Menge bedingter Logik enthalten müssen.One of the issues that complicate bibliography styles is that they often need to have a significant amount of conditional logic. Wenn beispielsweise das Datum angegeben ist, müssen Sie das Datum anzeigen. Wenn das Datum jedoch nicht angegeben ist, müssen Sie möglicherweise eine Abkürzung verwenden, um anzugeben, dass für diese Quelle kein Datum vorhanden ist.One of the issues that complicate bibliography styles is that they often need to have a significant amount of conditional logic. For example, if the date is specified, you need to show the date, whereas if the date is not specified, you may need to use an abbreviation to indicate that there is no date for that source.

Ein spezifischeres Beispiel in der APA-Formatvorlage ist Folgendes: Wenn für eine Websitequelle kein Datum angegeben ist, wird die Abkürzung "n.d." For a more specific example, in the APA style, if a date is not specified for a website source, the abbreviation "n.d." is used to denote no date, and the style should do this automatically. Here's an example: verwendet, um kein Datum zu kennzeichnen, und die Formatvorlage soll dies automatisch vornehmen.is used to denote no date, and the style should do this automatically. Hier ein Beispiel:Here's an example:

APA-Websitequelle ohne angegebenes Datum: Kwan, Y. (n.d.).APA website source with no date entered: Kwan, Y. (n.d.). Abgerufen von der www.microsoft.com-APA-Websitequelle mit angegebenem Datum: Kwan, Y. (2006, Jan 18).Retrieved from www.microsoft.com APA website source with date entered: Kwan, Y. (2006, Jan 18). Abgerufen von www.microsoft.comRetrieved from www.microsoft.com

Wie Sie sehen können, ist das, was angezeigt wird, von den eingegebenen Daten abhängig.As you can see, what is displayed is dependent upon on the data entered.

Die Ausgabe von praktischer jeder Formatvorlage muss sich abhängig davon ändern, ob Sie einen "Unternehmensautor" oder einen "Normalen Autor" haben.The output of virtually every style needs to change depending on whether you have a "Corporate Author" or a "Normal Author." Sie werden erfahren, wie Sie eine der am häufigsten verwendeten Regeln für die Implementierung einer solchen Logik in Ihre Formatvorlage verwenden, die es Ihnen ermöglicht, einen Unternehmensautor anzuzeigen, wenn der Unternehmensautor angegeben ist, und eine normalen Autor anzuzeigen, wen der Unternehmensautor nicht angegeben ist.You will see how to use one of the most common rules for implementing such logic into your style, allowing you to display a corporate author if the corporate author is specified, and a normal author if the corporate author is not specified.

Die Lösung im ÜberblickSolution overview

Wenn Sie nur bei Bedarf einen Unternehmensautor anzeigen möchten, gehen Sie folgendermaßen vor.To display a corporate author only if appropriate, use the following procedure.

So zeigen Sie einen Unternehmensautor anTo display a corporate author

  1. Fügen Sie eine Variable hinzu, um die Anzahl der Unternehmensautoren im Zitatabschnitt des Codes zu zählen.Add a variable to count the number of corporate authors in the citation section of the code.

  2. Zeigen Sie den Unternehmensautor im Zitat an, wenn der Unternehmensautor angegeben ist.Display the corporate author in the citation if the corporate author is filled in. Zeigen Sie den normalen Autor im Zitat an, wenn der Unternehmensautor nicht angegeben ist.Display the normal author in the citation if the corporate author is not filled in.

  3. Fügen Sie eine Variable hinzu, um die Anzahl der Unternehmensautoren im Literaturverzeichnisabschnitt des Codes zu zählen.Add a variable to count the number of corporate authors in the bibliography section of the code.

  4. Zeigen Sie den Unternehmensautor im Literaturverzeichnis an, wenn der Unternehmensautor angegeben ist.Display the corporate author in the bibliography if the corporate author is filled in. Zeigen Sie den normalen Autor im Literaturverzeichnis an, wenn der Unternehmensautor nicht angegeben ist.Display the normal author in the bibliography if the corporate author is not filled in.

Erste SchritteGetting started

Beginnen wir mit dem Ändern des Zitats.Let's start by changing the citation. Hier ist der Code für Zitate vom letzten Mal.Here is the code for citations from last time.

<!--Defines the output of the Citation-->
<xsl:template match="b:Citation/b:Source[b:SourceType = 'Book']"> 
   <html xmlns="https://www.w3.org/TR/REC-html40"> 
      <body> 
         <!--Defines the output format as (Author, Year)-->
         <xsl:text>(</xsl:text> 
         <xsl:value-of select="b:Author/b:Author/b:NameList/b:Person/b:Last"/>
         <xsl:text>, </xsl:text> 
         <xsl:value-of select="b:Year"/> 
         <xsl:text>)</xsl:text> 
      </body>
   </html> 
</xsl:template>

Schritt 1: Definieren einer neuen Variablen im Zitatabschnitt zum Zählen der Anzahl der UnternehmensautorenStep 1: Define a new variable in the citation section to count the number of corporate authors

Deklarieren Sie eine neue Variable, um zu bestimmen, ob ein Unternehmensautor verfügbar ist.Declare a new variable to help determine whether a corporate author is available. Diese Variable ist eine Anzahl dafür, wie häufig das Feld für Unternehmensautoren in der Quelle vorhanden ist.This variable is a count of the number of times the corporate author field exists in the source.

<!--Defines the output of the Citation-->
<html xmlns="https://www.w3.org/TR/REC-html40">
   <!--Count the number of Corporate Authors (can only be 0 or 1)-->
      <xsl:variable name="cCorporateAuthors"> 
         <xsl:value-of select="count(b:Author/b:Author/b:Corporate)" /> 
      </xsl:variable>

Schritt 2: Überprüfen, ob der Unternehmensautor angegeben istStep 2: Verify that the corporate author has been filled in

Überprüfen Sie, ob der Unternehmensautor angegeben ist.Verify that the corporate author has been filled in. Dazu können Sie bestimmen, ob die Anzahl der Unternehmensautoren ungleich Null ist.You can do this by determining if the count of corporate authors is non-zero. Wenn ein Unternehmensautor vorhanden ist, zeigen Sie ihn an.If a corporate author exists, display it. Wenn keiner vorhanden ist, zeigen Sie den normalen Autor an.If it does not exist, display the normal author.


<xsl:text>(</xsl:text> 
<xsl:choose>
<!--When the corporate author exists, display the corporate author-->
<xsl:when test ="$cCorporateAuthors!=0"> 
<xsl:value-of select="b:Author/b:Author/b:Corporate"/> 
</xsl:when>
<!-- When the corporate author does not exist, display the normal author--> 
<xsl:otherwise> 
<xsl:value-of select="b:Author/b:Author/b:NameList/b:Person/b:Last"/> 
</xsl:otherwise> 
</xsl:choose> 
<xsl:text>, </xsl:text>

Da Sie nun die Änderung für Zitate vorgenommen haben, können Sie die Änderung für das Literaturverzeichnis vornehmen.Now that you've made the change for citations, make the change for the bibliography. Hier ist der Literaturverzeichnisabschnitt von weiter oben in diesem Artikel.Here's the bibliography section from earlier in this article.

<!--Defines the output format for a simple Book (in the Bibliography) with important fields defined-->
<xsl: template match="b:Source[b:SourceType = 'Book']">
<!--Label the paragraph as an Office Bibliography paragraph--> 
<p> 
<xsl:value-of select="b:Author/b:Author/b:NameList/b:Person/b:Last"/> 
<xsl:text>, </xsl:text> 
<xsl:value-of select="b:Author/b:Author/b:NameList/b:Person/b:First"/> 
<xsl:text>. (</xsl:text> 
<xsl:value-of select="b:Year"/> 
<xsl:text>). </xsl:text> 
<i>

Schritt 3: Definieren einer neuen Variablen im LiteraturverzeichnisabschnittStep 3: Define a new variable in the bibliography section

Beginnen wir erneut mit dem Hinzufügen einer Zählvariablen.Once again, let's start by adding a counting variable.

<!--Defines the output format for a simple Book (in the Bibliography) with important fields defined-->
<xsl: template match="b:Source[b:SourceType = 'Book']"> 
<!--Count the number of Corporate Authors (can only be 0 or 1)-->
<xsl:variable name="cCorporateAuthors"> 
<xsl:value-of select="count(b:Author/b:Author/b:Corporate)" /> 
</xsl:variable>

Schritt 4: Überprüfen, ob der Unternehmensautor angegeben istStep 4: Verify that the corporate author has been filled in

Überprüfen Sie, ob ein Unternehmensautor vorhanden ist.Verify that a corporate author exists.

…..
<xsl:variable name="cCorporateAuthors"> 
<xsl:value-of select="count(b:Author/b:Author/b:Corporate)" /> 
</xsl:variable> 
<p> 
<xsl:choose>
<!--When the corporate author exists display the corporate author-->
<xsl:when test ="$cCorporateAuthors!=0"> 
<xsl:value-of select="b:Author/b:Author/b:Corporate"/> 
<xsl:text>. (</xsl:text> 
</xsl:when> 
<xsl:otherwise> 
<!--When the corporate author does not exist, display the normal author-->
<xsl:value-of select="b:Author/b:Author/b:NameList/b:Person/b:Last"/> 
<xsl:text>, </xsl:text> 
<xsl:value-of select="b:Author/b:Author/b:NameList/b:Person/b:First"/> 
<xsl:text>. (</xsl:text>
</xsl:otherwise> 
</xsl:choose>

Hier ist der vollständige endgültige Code.Here's the complete final code.

<?xml version="1.0" ?> 
<!--List of the external resources that we are referencing-->
<xsl:stylesheet version="1.0" xmlns:xsl="https://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:b="https://schemas.openxmlformats.org/officeDocument/2006/bibliography">
   <!--When the bibliography or citation is in your document, it's just HTML-->
   <xsl:output method="html" encoding="us-ascii"/> 
   <!--Match the root element, and dispatch to its children-->
   <xsl:template match="/"> 
      <xsl:apply-templates select="*" /> 
   </xsl:template>
   <!--Set an optional version number for this style-->
   <xsl:template match="b:version"> 
      <xsl:text>2006.5.07</xsl:text> 
   </xsl:template> 
   <!--Defines the name of the style in the References dropdown-->
   <xsl:template match="b:StyleName">     
      <xsl:text>Simple Book Style</xsl:text> 
   </xsl:template> 
   <!--Specifies which fields should appear in the Create Source dialog when in a collapsed state (The Show All Bibliography Fieldscheckbox is cleared)-->
   <xsl:template match="b:GetImportantFields[b:SourceType = 'Book']"> 
      <b:ImportantFields> 
         <b:ImportantField><xsl:text>b:Author/b:Author/b:NameList</xsl:text> </b:ImportantField> 
         <b:ImportantField> <xsl:text>b:Title</xsl:text> </b:ImportantField> 
         <b:ImportantField> <xsl:text>b:Year</xsl:text> </b:ImportantField> 
         <b:ImportantField> <xsl:text>b:City</xsl:text> </b:ImportantField> 
         <b:ImportantField> <xsl:text>b:Publisher</xsl:text> </b:ImportantField> 
      </b:ImportantFields> 
   </xsl:template>
   <!--Defines the output format for a simple Book (in the Bibliography) with important fields defined-->
   <xsl:template match="b:Source[b:SourceType = 'Book']">
   <!--Count the number of Corporate Authors (can only be 0 or 1-->
   <xsl:variable name="cCorporateAuthors">
      <xsl:value-of select="count(b:Author/b:Author/b:Corporate)" />
   </xsl:variable>
   <!--Label the paragraph as an Office Bibliography paragraph-->
   <p>
      <xsl:choose>
         <xsl:when test ="$cCorporateAuthors!=0">
         <!--When the corporate author exists display the corporate author-->
            <xsl:value-of select="b:Author/b:Author/b:Corporate"/>
            <xsl:text>. (</xsl:text>
         </xsl:when>
         <xsl:otherwise>
            <!--When the corporate author does not exist, display the normal author-->
            <xsl:value-of select="b:Author/b:Author/b:NameList/b:Person/b:Last"/>
            <xsl:text>, </xsl:text>
            <xsl:value-of select="b:Author/b:Author/b:NameList/b:Person/b:First"/>
            <xsl:text>. (</xsl:text>
         </xsl:otherwise>
      </xsl:choose>
      <xsl:value-of select="b:Year"/>
      <xsl:text>). </xsl:text>
      <i>
         <xsl:value-of select="b:Title"/>
         <xsl:text>. </xsl:text>
      </i> 
         <xsl:value-of select="b:City"/>
         <xsl:text>: </xsl:text>
         <xsl:value-of select="b:Publisher"/>
         <xsl:text>.</xsl:text>
      </p>
   </xsl:template>
   <!--Defines the output of the entire Bibliography-->
   <xsl:template match="b:Bibliography"> 
      <html xmlns="https://www.w3.org/TR/REC-html40"> 
         <body>
            <xsl:apply-templates select ="*">
            </xsl:apply-templates>
         </body>
      </html>
   </xsl:template>
   <!--Defines the output of the Citation-->
   <xsl:template match="b:Citation/b:Source[b:SourceType = 'Book']">
      <html xmlns="https://www.w3.org/TR/REC-html40"> 
         <xsl:variable name="cCorporateAuthors"> 
            <xsl:value-of select="count(b:Author/b:Author/b:Corporate)" /> 
         </xsl:variable> 
         <body> 
         <!--Defines the output format as (Author, Year--> 
            <xsl:text>(</xsl:text>
            <xsl:choose> 
            <!--When the corporate author exists display the corporate author-->
               <xsl:when test ="$cCorporateAuthors!=0">
                  <xsl:value-of select="b:Author/b:Author/b:Corporate"/>
               </xsl:when>
               <!--When the corporate author does not exist, display the normal author-->
               <xsl:otherwise> 
                  <xsl:value-of select="b:Author/b:Author/b:NameList/b:Person/b:Last"/> 
               </xsl:otherwise>
               </xsl:choose>
               <xsl:text>, </xsl:text> 
               <xsl:value-of select="b:Year"/>
               <xsl:text>)</xsl:text> 
            </body> 
         </html>
   </xsl:template>
   <xsl:template match="text()" />
</xsl:stylesheet>

SchlussbemerkungConclusion

In diesem Artikel wurde gezeigt, wie Sie ein benutzerdefiniertes Literaturverzeichnisformat in Word erstellen, indem Sie zuerst eine einfache Formatvorlage und dann mithilfe von bedingten Anweisungen eine komplexere Formatvorlage erstellen.This article showed how to create a custom bibliography style in Word, first by creating a simple style, and then by using conditional statements to create a more complex style.

Siehe auchSee also

Support und FeedbackSupport and feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation?Have questions or feedback about Office VBA or this documentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.