Dies ist ein Codeausschnitt aus meinem Dokument.
\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}
Es wird ein Bibliographieeintrag generiert, dessenDOIFeld ist zu lang.
Natürlich möchte wohl jeder das Problem beheben. Ich weiß, dass ich Folgendes verwenden kann, wie inDasFaden.
\setcounter{biburlnumpenalty}{100} % allow breaks at numbers
\setcounter{biburlucpenalty}{100} % allow breaks at uppercase letters
\setcounter{biburllcpenalty}{100} % allow breaks at lowercase letters
Anstatt Zeilenumbrüche bei Zahlen, Kleinbuchstaben und Großbuchstaben zuzulassen, möchte ich Zeilenumbrüche bei Sonderzeichen wie /
, .
und zulassen -
. Da ich mit dem DOI-Feld arbeite, halte ich diese Stellen für geeignetere Zeilenumbrüche als gewöhnliche alphanumerische Zeichen. Wie kann ich das tun?
Antwort1
Die Option ocgcolorlinks
erlaubt keine Zeilenumbrüche in Links.
Experimentelle Option „ocgcolorlinks“
Die Idee dahinter sind farbige Links, die zwar beim Betrachten, aber ohne Farbe gedruckt werden.
...
- Hauptnachteil: Links können nicht zeilenübergreifend unterbrochen werden.
Mit anderen Worten, es ist fast dasselbe wie die Option colorlinks
, aber mit zwei Unterschieden.
colorlinks
erlaubt Zeilenumbrüche in Links,ocgcolorlinks
tut dies aber nicht;colorlinks
Behält die Farben beim Drucken des Dokuments bei,ocgcolorlinks
druckt sie jedoch in Schwarz.
Was können Sie also tun, um dies zu umgehen?
colorlinks
Nutzen Sie stattdessen die Option ocgcolorlinks
und wählen Sie beim Drucken des Dokuments den Ausdruck in „Schwarzweiß“.
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}
Ausgabe:
Antwort2
Nur der Vollständigkeit halber:ocgcolorlinks
(farbige Links werden schwarz gedruckt), die Zeilenumbrüche (und ggf. Seitenumbrüche) umschließen, sind jetzt mit democgx2
Paket:
\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}
Antwort3
Sie könnenhttp://shortdoi.orgum einen kurzen, dauerhaften Alias für den DOI zu erstellen, wie @matth erwähnte. Diese verkürzten DOIs haben gegenüber dem kanonischen DOI mehrere Vorteile:
- Sie sind kurz genug, sodass ein Zeilenumbruch nicht notwendig ist.
- Sie lassen sich leicht von Papier kopieren. Ein langer DOI ist fast nutzlos, wenn Sie nur eine Papierkopie eines Artikels haben (es ist einfacher, nur nach Titel/Autoren zu suchen).
- Sie sind ästhetisch ansprechender, was weniger Widerstand seitens der Verleger und Co-Autoren bedeutet.
Ich habe ein Skript geschrieben, das eine vorhandene BibTeX-Datei verarbeitet und alle DOI-Namen durch verkürzte DOIs ersetzt: https://github.com/mosco/bibtex-shorten-doi
Ein Wort der Warnung: Leider gelten kurze DOIs nicht als richtige DOIs und können nicht für die manuelle Suche auf anderen Websites als doi.org verwendet werden, wie etwa CrossRef, Sci-Hub usw. Daher empfehle ich derzeit keine automatische Konvertierung aller DOIs in Ihrer Bibliografie.