【问题标题】:Links in references broken参考文献中的链接已损坏
【发布时间】:2021-10-22 11:23:59
【问题描述】:

我正在使用 \bibliographystyle{unsrt} 并且在打印参考文献后遇到了一些问题。

首先,一些链接超出了定义的范围:

.bib 文件中的条目如下所示:

@misc{noauthor_representational_2021,
    title = {Representational {State} {Transfer}. {Verfügbar} von: https://de.wikipedia.org/wiki/{Representational}\_State\_Transfer\#{Einheitliche}\_Schnittstelle. {Abruf} 01/08/2021},
    copyright = {Creative Commons Attribution-ShareAlike License},
    url = {https://de.wikipedia.org/w/index.php?title=Representational_State_Transfer&oldid=214173929},
    abstract = {Representational State Transfer (abgekürzt REST) ist ein Paradigma für die Softwarearchitektur von verteilten Systemen, insbesondere für Webservices. REST ist eine Abstraktion der Struktur und des Verhaltens des World Wide Web. REST hat das Ziel, einen Architekturstil zu schaffen, der den Anforderungen des modernen Web besser genügt. Dabei unterscheidet sich REST vor allem in der Forderung nach einer einheitlichen Schnittstelle (siehe Abschnitt Prinzipien) von anderen Architekturstilen.
Der Zweck von REST liegt schwerpunktmäßig auf der Maschine-zu-Maschine-Kommunikation. REST stellt eine einfache Alternative zu ähnlichen Verfahren wie SOAP und WSDL und dem verwandten Verfahren RPC dar. Anders als bei vielen verwandten Architekturen kodiert REST keine Methodeninformation in den URI, da der URI Ort und Namen der Ressource angibt, nicht aber die Funktionalität, die der Web-Dienst zu der Ressource anbietet. Der Vorteil von REST liegt darin, dass im WWW bereits ein Großteil der für REST nötigen Infrastruktur (z. B. Web- und Application-Server, HTTP-fähige Clients, HTML- und XML-Parser, Sicherheitsmechanismen) vorhanden ist, und viele Web-Dienste per se REST-konform sind. Eine Ressource kann dabei über verschiedene Medientypen dargestellt werden, auch Repräsentation der Ressource genannt.
So ist ein Online-Dienst, der lediglich unveränderte Seiteninhalte nach dem Internetstandard HTTP anbietet, bereits REST-konform. Dynamisch erzeugte Seiten folgen diesem Paradigma jedoch oft nicht. So bieten beispielsweise Nachrichtenseiten sich ständig ändernde Informationen mit sowohl unterschiedlichem Format als auch Inhalt an, die nur schwer automatisch verarbeitet werden können. Bliebe das Format unverändert, so wäre eine wichtige REST-Eigenschaft erfüllt. So wäre eine Webseite, auf der ständig die aktuelle Uhrzeit in immer demselben Format abrufbar ist, REST-konform.
Die Bezeichnung „Representational State Transfer“ soll den Übergang vom aktuellen Zustand zum nächsten Zustand (state) einer Applikation verbildlichen. Dieser Zustandsübergang erfolgt durch den Transfer der Daten, die den nächsten Zustand repräsentieren.},
    language = {de},
    urldate = {2021-08-01},
    journal = {Wikipedia},
    month = jul,
    year = {2021},
    note = {Page Version ID: 214173929},
    file = {Snapshot:/Users/username/Zotero/storage/2D7HXXHG/index.html:text/html},
}

我在参考文献中有几个这样的链接,但我不确定如何修复它们。我尝试了一些方法,如 \sloppy、\setlength{\emergencystretch}{8em} 等,但似乎没有解决问题。此外,我的链接是在参考标题中定义的,当它们位于多行时,是否可以使它们工作?目前它们都是可点击的,但在大多数情况下链接已断开。

【问题讨论】:

    标签: latex bibliography biblatex


    【解决方案1】:

    不要手动尝试转义 url 中的所有特殊字符,而是使用 \url{..} 宏来排版它们。你可以通过例如得到它加载urlhyperref 包。

    \documentclass{article}
    
    \usepackage{hyperref}
    
    \begin{filecontents*}[overwrite]{\jobname.bib}
    @misc{noauthor_representational_2021,
        title = {Representational {State} {Transfer}. {Verfügbar} von: \url{https://de.wikipedia.org/wiki/Representational_State_Transfer#Einheitliche_Schnittstelle}. {Abruf} 01/08/2021},
        copyright = {Creative Commons Attribution-ShareAlike License},
        url = {https://de.wikipedia.org/w/index.php?title=Representational_State_Transfer&oldid=214173929},
        abstract = {Representational State Transfer (abgekürzt REST) ist ein Paradigma für die Softwarearchitektur von verteilten Systemen, insbesondere für Webservices. REST ist eine Abstraktion der Struktur und des Verhaltens des World Wide Web. REST hat das Ziel, einen Architekturstil zu schaffen, der den Anforderungen des modernen Web besser genügt. Dabei unterscheidet sich REST vor allem in der Forderung nach einer einheitlichen Schnittstelle (siehe Abschnitt Prinzipien) von anderen Architekturstilen.
    Der Zweck von REST liegt schwerpunktmäßig auf der Maschine-zu-Maschine-Kommunikation. REST stellt eine einfache Alternative zu ähnlichen Verfahren wie SOAP und WSDL und dem verwandten Verfahren RPC dar. Anders als bei vielen verwandten Architekturen kodiert REST keine Methodeninformation in den URI, da der URI Ort und Namen der Ressource angibt, nicht aber die Funktionalität, die der Web-Dienst zu der Ressource anbietet. Der Vorteil von REST liegt darin, dass im WWW bereits ein Großteil der für REST nötigen Infrastruktur (z. B. Web- und Application-Server, HTTP-fähige Clients, HTML- und XML-Parser, Sicherheitsmechanismen) vorhanden ist, und viele Web-Dienste per se REST-konform sind. Eine Ressource kann dabei über verschiedene Medientypen dargestellt werden, auch Repräsentation der Ressource genannt.
    So ist ein Online-Dienst, der lediglich unveränderte Seiteninhalte nach dem Internetstandard HTTP anbietet, bereits REST-konform. Dynamisch erzeugte Seiten folgen diesem Paradigma jedoch oft nicht. So bieten beispielsweise Nachrichtenseiten sich ständig ändernde Informationen mit sowohl unterschiedlichem Format als auch Inhalt an, die nur schwer automatisch verarbeitet werden können. Bliebe das Format unverändert, so wäre eine wichtige REST-Eigenschaft erfüllt. So wäre eine Webseite, auf der ständig die aktuelle Uhrzeit in immer demselben Format abrufbar ist, REST-konform.
    Die Bezeichnung „Representational State Transfer“ soll den Übergang vom aktuellen Zustand zum nächsten Zustand (state) einer Applikation verbildlichen. Dieser Zustandsübergang erfolgt durch den Transfer der Daten, die den nächsten Zustand repräsentieren.},
        language = {de},
        urldate = {2021-08-01},
        journal = {Wikipedia},
        month = jul,
        year = {2021},
        note = {Page Version ID: 214173929},
        file = {Snapshot:/Users/username/Zotero/storage/2D7HXXHG/index.html:text/html},
    }
    \end{filecontents*}
    
    \begin{document}
    
    \cite{*}
    
    \bibliographystyle{unsrt} 
    \bibliography{\jobname}
    \end{document}
    

    【讨论】:

    • 感谢您的快速响应!我正在使用 Zotero 来管理我的围兜,当我使用 url 宏输入标题时 ->“Representational State Transfer.Verfügbar von: \url{de.wikipedia.org/wiki/…}.Abruf 01/08/2021”将其导出为 . bib 文件为“标题 = {Representational {State} {Transfer}。{Verfügbar} von: {\textbackslash}url\{de.wikipedia.org/wiki{Representational}_State_Transfer\#{Einheitliche}_Schnittstelle\}。{Abruf} 01/08/ 2021}" 所以宏在这种情况下不起作用
    • @igotPOWA 这就是你通过破解标题来显示网址所得到的。正确的方法是使用显示url 字段的合适样式。
    • 你能推荐一个看起来也很相似的其他参考书目风格,并允许在 url 前显示带有文本的 url 吗? -> 例如:“可从:
    • @igotPOWA 例如 natbib 包中的 unsrtnat 样式。如果您需要更多地控制结果的外观,我会使用 biblatex 而不是 bibtex
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多