-
Notifications
You must be signed in to change notification settings - Fork 218
HowToLinksInReferencias
Esta wiki pretende explicar como incorporar o link de um artigo em outras partes de sua referência, como por exemplo, na revista ou no volume do artigo. O efeito é semelhante ao que aparece nas referências de artigos da revista Physical Review. Um exemplo pode ser visto aqui
- Esta customização foi testata na versão 1.9.1 do AbnteX2.
- É preciso definir uma cor para os hiperlinks.
Isto pode ser feito utilizando o pacote color.
Por exemplo, você pode definir a cor mycolorlinks no padrão RGB com os seguintes comando no preâmbulo do seu arquivo .tex
\usepackage{color}
\definecolor{mycolorlinks}{RGB}{x1,x2,x3}
Se x1=255, x2=0 e x3=0, então a cor mycolorlinks será o vermelho. Para instruções de uso do pacote color, veja aqui. Você encontra uma tabela de cores no padrão RGB aqui.
- Para ativar os hiperlinks, o pacote hyperref precisa ser carregado e suas opções colorlinks e urlcolor ativadas da seguinte maneira
\usepackage{hyperref}
\hypersetup{
colorlinks=true,
urlcolor=mycolorlinks
}
e então os hyperlinks terão a cor definida por mycolorlinks. Para instruções de uso do pacote hyperref você encontra aqui.
- Esta customização tem como base a sugestão feita aqui pelo Usuário Corentin.
O procedimento completo consiste na criação de dois novos arquivos .bst e a modificação de um arquivo .sty. Os arquivos a serem criados são
- abntex2-num-article-links.bst
- abntex2-alf-article-links.bst e o arquivo a ser modificado é
- abntex2cite.sty Veja agora como cada um é feito.
Entre na pasta de instalação do seu Abntex2.
Dentro dela conterá três pastas: bibtex, doc e tex.
Dentro da pasta de instalação, faça o seguinte caminho bibtex/bst/abntex2/.
Desta forma, você encontrará dois arquivos .bst: abntex2-alf e abntex2-num.
Copie o arquivo abntex2-num e cole uma cópia dentro desta mesma pasta com o nome abntex2-num-article-links.
As modificações deverão ser realizadas no arquivo abntex2-num-article-links.
Abra o arquivo abntex2-num-article-links e faça as seguintes passos:
- Altere o comando Entry, inserindo uma entrada chamada doi. Isto é feito da seguinte maneira
ENTRY
{ address author
booktitle booksubtitle
chapter conference-number conference-year conference-location
edition editor editortype
dimensions furtherresp
howpublished illustrated institution
isbn issn journal key month note marginnote number organization
org-short pages pagename
publisher reprinted-from reprinted-text school
series subtitle section title type url urlaccessdate
volume year year-presented
abnt-and-type
abnt-doi abnt-dont-use-etal
abnt-etal-cite abnt-etal-list abnt-etal-text abnt-emphasize abnt-experimental
abnt-full-initials
abnt-last-names abnt-ldots-type
abnt-missing-year abnt-cite-style abnt-no-etal-label abnt-note
abnt-repeated-author-omit abnt-repeated-title-omit
abnt-show-options abnt-refinfo abnt-thesis-year abnt-url-package
abnt-title-command
abnt-verbatim-entry
iso-abbreviation iso-author-punctuation iso-date-place
doi
}{}{ label extra.label year.label}
- Em seguida, crie uma função chamada doilink.
FUNCTION {doilink}
{ duplicate$ empty$
{ pop$ "" }
{ doi empty$
{ skip$ }
{ "\href{http://" doi * "}{" * swap$ * "}" * }
if$
}
if$
}
É recomendável que a função doilink seja colocada depois da função init.state.consts.
A posição serve apenas para que doilink seja uma das primeiras funções definidas.
- Crie as funções color.type.and.comma, output.nonnulla e outputa. Isto é feito do seguinte modo
FUNCTION {color.type.and.comma}{"{\color[RGB]{x1,x2,x3}, }"}
FUNCTION {output.nonnulla}
{ 's :=
output.state mid.sentence =
{color.type.and.comma * write$ }
{ output.state after.block =
{add.period$ write$ newline$ }
{ output.state before.all = 'write$
{ add.period$ " " * write$ }
if$}
if$
mid.sentence 'output.state := }
if$
s
}
FUNCTION {outputa}
{ duplicate$ empty$
'pop$
'output.nonnulla
if$
}
que nada mais são do que cópias das funções output.nonull e output, alteradas para o objetivo em questão.
É recomendável que as mesmas fiquem depois da função output.check.
As coordenadas x1, x2 e x3 que aparecema na função color.type.and.comma são as coordenadas da cor mycolorlinks. É assim definido porque a função color.type.and.comma diz qual é a cor das vírgulas entre as entradas revista, volume, número, páginas e ano, na referência um artigo, e não é desejável um link com cores diferentes (Se você quiser, boa sorte!). Desta forma, se alguma alteração for feita na cor mycolorlinks, é necessário atualizar a função color.type.and.comma com a nova cor.
- Para que o hiperlink fique nos itens revista, no volume, nas páginas, no número e no ano é necessário alterar as funções format.volume, format.number, format.pages, format.journal e criar a função non.iso.datea. Isto é feito com os seguintes comandos
FUNCTION {format.volume} %leaves formatted or empty volume on the stack
{volume duplicate$ empty$
'skip$
{volume #1 #1 substring$ is.num
{bbl.volume swap$ tie.or.space.prefix * *}
'skip$
if$}
if$
doilink
}
FUNCTION {format.number} %leaves formatted or empty number on the stack
{ number duplicate$ empty$
'skip$
{bbl.number swap$ tie.or.space.prefix * *}
if$
doilink
}
FUNCTION {format.pages}
{ pages duplicate$ empty$ 'skip$
{ duplicate$ multi.page.check
{ n.dashify bbl.pages swap$}
{ bbl.page swap$ }
if$
tie.or.space.prefix "pages" bibinfo.check * * }
if$
doilink
}
FUNCTION {format.journal}
{
format.reprint
journal emphasize doilink *
}
FUNCTION { non.iso.datea }
{iso.date.place 'skip$ {format.date outputa} if$ doilink}
Coloque a função non.iso.datea antes da função article
- Agora altere a função article do seguinte modo
FUNCTION {article}
{ output.bibitem
format.author.or.organization new.sentence
iso.year.label
format.title "title" output.check new.block
format.journal outputa
iso.date.place {format.year output} 'skip$ if$
%iso.date.place {format.date output} 'skip$ if$
%iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
% {format.year output} if$
section "section" bibinfo.check output.dash
publisher "publisher" bibinfo.check output
address "address" bibinfo.check output
format.volume outputa
format.number outputa
format.pages outputa
non.iso.datea
format.issn output new.block
format.note output new.block
format.url
fin.entry
}
Salve o arquivo.
E este é o fim das alterações no arquivo abntex2-num-article-links.
A crição deste arquivo segue a mesma ideia de como no caso do abntex2-num-article-links.
Dentro da pasta bibtex/bst/abntex2/, você deve copiar o arquivo abntex2-alf e então colar uma cópia dentro desta mesma pasta com o nome abntex2-alf-article-links.
As alterações necessárias para este arquivo são idênticas ao caso do arquivo abntex2-num-article-links.
Entre na pasta de instalação do seu Abntex2.
Dentro dela, faça o seguinte caminho tex/latex/abntex2/.
Você encontrará três arquivos: um do tipo .cls, a classe abntex2 e dois arquivos do tipo .sty: abntex2cite e abntex2abrev.
Abra o arquivo abntex2cite.sty.
Agora acrescente as linhas
\DeclareOption{num-article-links}{\def\AbntCitetype{num-article-links}}
\DeclareOption{alf-article-links}{\def\AbntCitetype{alf-article-links}\setboolean{ABCItextondemand}{true}}
entre as linhas \DeclareOption{num}{\def\AbntCitetype{num}} e \ExecuteOptions{num}
\DeclareOption{num}{\def\AbntCitetype{num}}
%Insira aqui.
\ExecuteOptions{num}
Salve o arquivo.
Atualize sua biblioteca TeX. (Dê um "refresh"!).
Desta forma, você criou duas novas opções para o abntex2cite: a opção num-article-links e a opção alf-article-links. Para ativar tais opções declare seu pacote abntex2cite da seguinte forma no preâmbulo de seu arquivo .tex
\usepackage[num-article-links]{abntex2cite}
ou
\usepackage[alf-article-links]{abntex2cite}
Pronto! Agora seu pacote abntex2cite está habilitado para tal função. Só é preciso saber como usar isto.
O uso destas opções é visto abaixo. Considere o seguinte código .tex utilizando a opção num-article-links
\documentclass[12pt, a4paper, oneside]{abntex2}
\usepackage[brazil]{babel}
\usepackage{cmap}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{color}
\definecolor{mycolorlinks}{RGB}{41,5,195}
\definecolor{mydarkred}{RGB}{205,0,0}
\usepackage{hyperref}
\hypersetup{
colorlinks=true,
linkcolor=mydarkred,
citecolor=mydarkred,
urlcolor=mycolorlinks
}
\usepackage[num-article-links,abnt-emphasize=bf,abnt-etal-list=0]{abntex2cite}
\begin{document}
\chapter{Citando as Referências}
\indent Citando as referências:\\\\
\indent \cite{BoninStefan} e \cite{montesino}.
\bibliography{referencias}
\end{document}
ATENÇÃO! Lembre-se de alterar a cor mycolorlinks de acordo com as suas configurações.
O arquivo .bib referencias que este código chama é dado por
@article{BoninStefan,
Title = {Podolsky electromagnetism at finite temperature: Implications on the Stefan-Boltzmann law},
author = {C A Bonin and R Bufalo and B M Pimentel and G E R Zambrano},
journal = {Phys. Rev. D},
volume = {81},
number = {2},
pages = {025003(1)-025003(6)},
year = {2010},
doi = {dx.doi.org/doi:10.1103/PhysRevD.81.025003}}
@article{montesino,
author = {M Montesinos and E Flores},
journal = {Rev. Mex. Fis.},
pages = {29-36},
title = {{S}ymmetric energy-momentum tensor in {M}axwell, {Y}ang-{M}ills, and {P}roca theories obtained using only {N}oether’s theorem},
volume = {52},
doi = {rmf.smf.mx/pdf/rmf/52/1/52_1_29.pdf},
number ={1},
year = {2006}}
É a entrada doi = {...} que produz o efeito desejado.
Note que não necessariamente precisa ser o doi do arquivo, podendo ser apenas o link de origem.
O mesmo ocorre no caso da opção alf-article-links
Observação: Você pode alternar entre as opções num e num-article-links apenas alterando a opção no pacote abntex2cite e trocando a entrada doi por url. O mesmo vale para alf e alf-article-links.
Para detalhes sobre estilos bibliográficos, veja aqui
Início
Ferramentas
Download e Instalação
- Download do abnTeX2
- Orientações de instação do LaTeX e do abnTeX2
- Verificar versões instaladas
- Notas de lançamento de versão
Customizações e contribuições
Tutoriais
- Como numerar elementos pré-textuais em romanos
- Como criar novos estilos de cabeçalhos e rodapés
- Como criar um novo ambiente "Lista de"
- Como formatar códigos-fontes e criar "Lista de Códigos"
- Como criar ambientes "teorema", "definição" e outros do gênero
- Como usar fontes próprias com XeLaTeX
- Como usar o abnTeX2 com o LyX
- Como usar o abnTeX2 com o Pandoc
- Como criar documentos PDF/A e PDF/X
- Como escrever na página de \part
- Como usar o pacote FILECONTENTS
- Como inserir Referências com Links externos
- Como criar múltiplos índices
Informações sobre o projeto
- Introdução ao projeto
- Motivação
- Diretrizes
- Algumas iniciativas de uso (informação histórica)
- Limitações conhecidas
Referências gerais