Como quebrar elegantemente o campo doi longo

Como quebrar elegantemente o campo doi longo

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.

insira a descrição da imagem aqui

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 ocgcolorlinksnão permite quebras de linha em links.

DehyperrefLEIA-ME

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.

  • colorlinkspermite quebras de linha em links, enquantoocgcolorlinks não;
  • colorlinkspreserva as cores quando o documento é impresso, enquanto ocgcolorlinksas imprime em preto.

Então, o que você pode fazer para contornar isso?

Utilize a colorlinksopção no lugar de ocgcolorlinkse, 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:

insira a descrição da imagem aqui

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 oocgx2pacote:

\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:

  1. Eles são curtos o suficiente para que a quebra de linha não seja necessária.
  2. 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).
  3. 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.

informação relacionada