Este é um trecho de código do meu artigo.
\RequirePackage{filecontents}
\begin{filecontents}{bib.bib}
@article{baumert62,
author = {Baumert, Leonard and Golomb, Solomon W. and Hall, Jr, Marshall},
doi = {10.1090/S0002-9904-1962-10761-7},
journal = {Bulletin of the American Mathematical Society},
number = 3,
pages = {237--238},
title = {Discovery of an Hadamard Matrix of Order 92},
volume = 68,
year = 1962
}
\end{filecontents}
\documentclass{article}
% for back reference in bibliography
\usepackage[ocgcolorlinks,pdfusetitle]{hyperref}
% for biblatex with biber
\usepackage[
backend=biber,
style=alphabetic,
citestyle=alphabetic,
backref=true]{biblatex}
% for DOI field
\usepackage{doi}
\addbibresource{bib.bib}
\begin{document}
The first missing order of 92 was resolved in 1962 by Baumert, Golomb,
and Hall Jr. \cite{baumert62} who ran computer experiment on Williamson's method.
%%% bibliography
\printbibliography
\end{document}
Gera um item bibliográfico cujoDOIcampo é muito longo.
Naturalmente, acho que todo mundo quer consertar isso. Eu sei que posso usar o seguinte conforme explicado emessefio.
\setcounter{biburlnumpenalty}{100} % allow breaks at numbers
\setcounter{biburlucpenalty}{100} % allow breaks at uppercase letters
\setcounter{biburllcpenalty}{100} % allow breaks at lowercase letters
Em vez de permitir quebras de linha em números, letras minúsculas e maiúsculas, gostaria de permitir quebras de linha em caracteres especiais como /
, .
e -
. Como estou lidando com o campo DOI, acho que esses são locais mais apropriados para permitir quebras de linha em vez de caracteres alfanuméricos comuns. Como eu posso fazer isso?
Responder1
A opção ocgcolorlinks
não permite quebras de linha em links.
Opção experimental 'ocgcolorlinks'
A ideia são links coloridos, quando visualizados, mas impressos sem cores.
...
- Principal desvantagem: os links não podem ser quebrados entre linhas.
Ou seja, é quase igual à opção colorlinks
, mas com duas diferenças.
colorlinks
permite quebras de linha em links, enquantoocgcolorlinks
não;colorlinks
preserva as cores quando o documento é impresso, enquantoocgcolorlinks
as imprime em preto.
Então, o que você pode fazer para contornar isso?
Utilize a colorlinks
opção no lugar de ocgcolorlinks
e, ao imprimir o documento, opte por imprimi-lo em “preto e branco”.
MWE:
\RequirePackage{filecontents}
\begin{filecontents}{bib.bib}
@article{baumert62,
author = {Baumert, Leonard and Golomb, Solomon W. and Hall, Jr, Marshall},
doi = {10.1090/S0002-9904-1962-10761-7},
journal = {Bulletin of the American Mathematical Society},
number = 3,
pages = {237--238},
title = {Discovery of an Hadamard Matrix of Order 92},
volume = 68,
year = 1962
}
\end{filecontents}
\documentclass{article}
% for back reference in bibliography
\usepackage[colorlinks,pdfusetitle]{hyperref}
% for biblatex with biber
\usepackage[
backend=biber,
style=alphabetic,
citestyle=alphabetic,
backref=true]{biblatex}
% for DOI field
\usepackage{doi}
\addbibresource{bib.bib}
\begin{document}
The first missing order of 92 was resolved in 1962 by Baumert, Golomb,
and Hall Jr. \cite{baumert62} who ran computer experiment on Williamson's method.
%%% bibliography
\printbibliography
\end{document}
Saída:
Responder2
Apenas para completar issoocgcolorlinks
(links coloridos impressos em preto) que envolvem quebras de linha (e quebras de página, se necessário) agora são possíveis com oocgx2
pacote:
\usepackage{hyperref} \usepackage[ocgcolorlinks]{ocgx2}
MWE:
\RequirePackage{filecontents}
\begin{filecontents}{bib.bib}
@article{baumert62,
author = {Baumert, Leonard and Golomb, Solomon W. and Hall, Jr, Marshall},
doi = {10.1090/S0002-9904-1962-10761-7},
journal = {Bulletin of the American Mathematical Society},
number = 3,
pages = {237--238},
title = {Discovery of an Hadamard Matrix of Order 92},
volume = 68,
year = 1962
}
\end{filecontents}
\documentclass{article}
% for back reference in bibliography
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[pdfusetitle]{hyperref}
\usepackage[ocgcolorlinks]{ocgx2}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% for biblatex with biber
\usepackage[
backend=biber,
style=alphabetic,
citestyle=alphabetic,
backref=true]{biblatex}
% for DOI field
\usepackage{doi}
\addbibresource{bib.bib}
\begin{document}
The first missing order of 92 was resolved in 1962 by Baumert, Golomb,
and Hall Jr. \cite{baumert62} who ran computer experiment on Williamson's method.
%%% bibliography
\printbibliography
\end{document}
Responder3
Você pode usarhttp://shortdoi.orgpara criar um alias curto e persistente para o DOI, como @matth mencionou. Esses DOIs abreviados têm diversas vantagens sobre o DOI canônico:
- Eles são curtos o suficiente para que a quebra de linha não seja necessária.
- Eles são fáceis de copiar do papel. Um DOI longo é quase inútil se você tiver apenas uma cópia impressa de um artigo (é mais fácil apenas pesquisar o título/autores).
- São mais agradáveis esteticamente, o que significa menos resistência por parte de editores e coautores.
Eu escrevi um script que irá processar um arquivo BibTeX existente e substituir todos os nomes DOI por DOIs abreviados: https://github.com/mosco/bibtex-shorten-doi
Uma palavra de cautela: infelizmente, DOIs curtos não são considerados DOIs adequados e não podem ser usados para pesquisa manual em qualquer site que não seja doi.org, como CrossRef, Sci-Hub, etc. de todos os DOIs da sua bibliografia.