Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Crie um estilo de bibliografia personalizado no Word aprendendo as etapas (e código XML) necessárias para criar um estilo personalizado simples. Além disso, saiba como criar um arquivo de estilo mais complexo. Antes de começar, há algumas informações que você precisa saber:
As fontes de bibliografia que você cria estão listadas no seguinte arquivo local: %AppData%\Microsoft\Bibliography\Sources.xml.
Observação
O arquivo Sources.xml não existirá até que você crie sua primeira fonte de bibliografia no Word. Todos os estilos de bibliografia são armazenados no perfil do usuário aqui: %AppData%\Microsoft\Bibliography\Style.
Criar um estilo de bibliografia básica
Primeiro, crie um estilo de bibliografia básico que o estilo personalizado acompanhará.
Configurar o estilo de bibliografia
Para criar um estilo de bibliografia, criaremos uma folha de estilos XML; ou seja, um arquivo .xsl chamado MeuEstilodePlanilha.xsl, usando o seu editor XML favorito. O Bloco de Notas servirá bem. Como o nome sugere, nosso exemplo terá um estilo para um tipo de fonte de "livro".
Na parte superior do arquivo, adicione o seguinte código:
<?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>
Como os comentários indicam, o Word usa HTML para representar uma bibliografia ou uma citação em um documento. A maior parte do código XML anterior é apenas uma preparação para as partes mais interessantes do estilo. Por exemplo, você pode dar a seu estilo um número de versão para acompanhar as alterações feitas, como mostrado no exemplo a seguir.
<!--Set an optional version number for this style-->
<xsl:template match="b:version">
<xsl:text>2006.5.07</xsl:text>
</xsl:template>
O mais importante, você pode dar um nome ao seu estilo. Adicione esta marca: <xsl:when test="b:StyleNameLocalized">; e dê um nome ao seu estilo, no idioma de sua escolha, usando o código a seguir.
<xsl:when test="b:StyleNameLocalized/b:Lcid='1033'">
<xsl:text>[Your Style Name]</xsl:text>
</xsl:when>
Esta seção contém o nome do local de seu estilo. No caso do nosso arquivo de exemplo, queremos que o nome de estilo personalizado, "Estilo de Livro Simples" apareça na lista suspensa Estilo na guia Referências. Para fazer isso, adicione o código XML a seguir para especificar que o nome do estilo ficará na localidade Inglês (o Lcid determina o idioma).
<!--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>
Seu estilo aparecerá sob seu próprio nome na caixa de listagem suspensa Estilo de bibliografia no aplicativo.
Examine os detalhes do estilo. Cada tipo de fonte no Word (por exemplo, livro, filme, artigo de um jornal e assim por diante) tem uma lista interna de campos que você pode usar para a bibliografia. Para ver todos os campos disponíveis para um determinado tipo de fonte, na guia Referências, escolha Gerenciar Fontes e, na caixa de diálogo Gerenciador de Fontes, escolha Novo para abrir a caixa de diálogo Criar Fonte. Então selecione Mostrar Todos os Campos de Bibliografia.
Um tipo de fonte de livro tem os seguintes campos disponíveis:
Autor
Cargo
Ano
Cidade
Estado/Província
País/Região
Publisher
Editor
Volume
Número de volumes
Tradutor
Título curto
Número padrão
Páginas
Edição
Comentários
No código, você pode especificar os campos importantes para seu estilo de bibliografia. Mesmo quando Mostrar Todos os Campos de Bibliografia estiver desmarcado, esses campos aparecerão e terão um asterisco vermelho ao lado deles. Para o nosso exemplo de livro, gostaria de garantir que o autor, o título, o ano, a cidade e publicador sejam inseridos e, portanto, quero que um asterisco vermelho apareça nesses campos para alertar o usuário de que eles são campos recomendados que devem ser preenchidos.
<!--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>
O texto nas <marcas xsl:text> são referências ao arquivo Sources.xml. Essas referências obtêm os dados que preencherão os campos. Examine Sources.xml (\Microsoft\Bibliography\Sources.xml) para obter uma ideia melhor sobre como essas referências correspondem ao que está no arquivo XML.
Criar o layout
A saída para bibliografias e citações é representada em um documento do Word como HTML e, portanto, para definir como a nova bibliografia personalizada e os estilos de citação deverão aparecer no Word, teremos de adicionar HTML à nossa folha de estilos.
Suponha que você deseja formatar cada entrada em sua bibliografia dessa maneira:
Sobrenome, Nome. (Ano). Título. Cidade: Publicador
O HTML necessário para fazer isso seria incorporado em sua folha de estilos da seguinte maneira.
<!--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>
Quando você faz referência a uma fonte literária em seu documento do Word, o Word precisa acessar esse HTML para que ela possa usar o estilo personalizado para exibir a fonte e, portanto, será necessário adicionar código à sua folha de estilos personalizada para permitir que o Word faça isso.
<!--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>
De modo semelhante, será necessário fazer a mesma coisa para a saída da citação. Siga o padrão (Autor, Ano) para uma única citação no documento.
<!--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>
Feche o arquivo com as linhas a seguir.
<xsl:template match="text()" /> </xsl:stylesheet>
Salve o arquivo como MeuEstiloDeLivro.XSL e coloque-o no diretório de Estilos (\Microsoft\Bibliography\Style). Reinicie o Word e seu arquivo estará agora sob a lista suspensa de estilos. Você pode começar a usar seu novo estilo.
Criar um estilo complexo
Um dos problemas que complicam os estilos de bibliografia é que eles, com frequência, precisam ter uma quantidade significativa de lógica condicional. Por exemplo, se a data for especificada, será necessário mostrar a data, mas se a data não for especificada, talvez seja necessário usar uma abreviação para indicar que não existe uma data para aquela fonte.
Para um exemplo mais específico, no estilo APA, se uma data não for especificada para uma fonte de site, a abreviação "n.d." será usada para não indicar nenhuma data e o estilo deverá fazer isso automaticamente. Veja um exemplo:
Fonte de site APA sem data inserida: Kwan, Y. (n.d.). Recuperado da https://www.microsoft.comfonte do site APA com data inserida: Kwan, Y. (18 de janeiro de 2006). Recuperada de https://www.microsoft.com
Como você pode ver, o que é exibido depende dos dados inseridos.
A saída de praticamente todos os estilos precisa ser alterada dependendo se você tem um "Autor Corporativo" ou um "Autor Normal". Você verá como usar uma das regras mais comuns para implementar essa lógica em seu estilo, permitindo que você exiba um autor corporativo se o autor corporativo for especificado e um autor normal se o autor corporativo não for especificado.
Visão geral da solução
Para exibir um autor corporativo apenas se isso for apropriado, use o procedimento a seguir.
Para exibir um autor corporativo
Adicione uma variável para contar o número de autores corporativos na seção de citação do código.
Exiba o autor corporativo na citação se o autor corporativo estiver preenchido. Exiba o autor normal na citação se o autor corporativo não estiver preenchido.
Adicione uma variável à contagem do número de autores corporativos na seção de bibliografia do código.
Exiba o autor corporativo na bibliografia se o autor corporativo estiver preenchido. Exiba o autor normal na bibliografia se o autor corporativo não estiver preenchido.
Introdução
Vamos começar alterando a citação. Este é o código para citações que fizemos da última vez.
<!--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>
Etapa 1: definir uma nova variável na seção de citação para a contagem do número de autores corporativos
Declare uma nova variável para ajudar a determinar se um autor corporativo está disponível. Essa variável é uma contagem do número de vezes que um campo de autor corporativo existe na fonte.
<!--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>
Etapa 2: verificar se o autor corporativo foi preenchido
Verifique se o autor corporativo foi preenchido. Você pode fazer isso ao determinar se a contagem de autores corporativos é diferente de zero. Se houver um autor corporativo, exiba-o. Se não existir, exiba o autor normal.
<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>
Agora que você alterou as citações, faça a alteração na bibliografia. Esta é a seção de bibliografia mostrada anteriormente neste artigo.
<!--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>
Etapa 3: definir uma nova variável na seção de bibliografia
Mais uma vez, começaremos adicionando uma variável de contagem.
<!--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>
Etapa 4: verificar se o autor corporativo foi preenchido
Verifique se há um autor corporativo.
…..
<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>
Veja o código final completo.
<?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>
Conclusão
Este artigo mostrou como criar um estilo de bibliografia personalizado no Word, primeiro criando um estilo simples e depois usando instruções condicionais para criar um estilo mais complexo.
Confira também
- Quais são as novidades para os desenvolvedores do Word 2013
- Blog do Desenvolvedor do Office 365
- Site Word para Desenvolvedores
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.