我需要帮助,因为我找不到一种方法来准确地将长 URL 拆分到我想要的位置。我使用 Sharelatex(因为我无法在办公室电脑上安装 LaTeX 发行版),我一直在使用,\bibliography
但现在已经不行了。所以我添加了biblatex
一个似乎运行良好的软件包。
但是,\def\UrlBreaks
也不起作用了...我尝试了给出的解决方案这里,徒劳无功......它只在“-”处破坏 URL......我们的想法是破坏位于/
、_
、=
、处的 URL ?
...
如果有帮助的话,我的序言如下:
前言
\documentclass[11pt,frenchb,fleqn,reqno]{article}
\usepackage[utf8]{inputenc}
\usepackage{ae,lmodern}
\usepackage[T1]{fontenc}
\usepackage{setspace}
\setstretch{1.2}
\makeatletter
\long\def\@makefntextFB#1{%
\ifx\thefootnote\ftnISsymbol
\@makefntextORI{#1}%
\else
\rule\z@\footnotesep
\setbox\@tempboxa\hbox{\@thefnmark}%
\ifdim\wd\@tempboxa>\z@
\kern2em\llap{\@thefnmark.\kern0.5em}%
\fi
\hangindent2em\hangafter\@ne#1
\fi}
\makeatother
\newcommand{\twobar}{/\kern-0.2em/}
\usepackage[breaklinks=true]{hyperref}
\renewcommand{\UrlFont}{\ttfamily\footnotesize}
\def\UrlBreaks{\do\/\do-\do?\do\_}
\setcounter{secnumdepth}{3}
\usepackage{array}
\usepackage{enumitem}
\usepackage[output-decimal-marker={,}]{siunitx}
\usepackage{ragged2e}
\newcommand{\pc}[1]{\SI{#1}{\percent}}
\usepackage{amssymb, amsmath}
\setlength{\mathindent}{0cm}
\usepackage{graphicx}
\usepackage{silence}
\WarningFilter{frenchb.ldf}{Figure}
\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}
\usepackage{etoolbox}
\apptocmd{\sloppy}{\hbadness 10000\relax}{}{}
\tolerance 400
\pretolerance 200
\usepackage{fancyhdr}
\setlength{\headheight}{14pt}
\usepackage[backend=bibtex,style=numeric,sorting=none]{biblatex}
\usepackage{csquotes}
\DeclareLanguageMapping{frenchb}{french}
\addbibresource{biblio.bib}
\usepackage{url}
\setcounter{biburllcpenalty}{9999}
\setcounter{biburlucpenalty}{9999}
\setcounter{biburlnumpenalty}{9999}
\usepackage{babel}
在文档中
\begin{document}
Bla bla bla \cite{obs}.
\addcontentsline{toc}{section}{Références}
\printbibliography{}
\end{document}
Bib 文件
@misc{obs,
title = "Titre",
url = {https://www.reallylongurl.fr/aaaa/bbbbbbbbbbbbbbbbb/ccccccc-ccccc_ddddddddd?eeeeeeeeee=125784.pdf}
}
我希望有人能有个好主意来解决这个问题!谢谢 :)
答案1
好吧,我从你的代码创建了一个 MWE,并用 进行编译pdflatex
。
代码中的主要问题是包hyperref
应该被调用为最后一个就你的情况而言。
请参阅以下 MWE(我用 标记了我的代码更改<======
)
\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{obs,
title = "Titre",
url = {https://www.reallylongurl.fr/aaaa/bbbbbbbbbbbbbbbbb/ccccccc-ccccc_ddddddddd?eeeeeeeeee=125784.pdf}
}
\end{filecontents}
\documentclass[11pt,frenchb,fleqn,reqno]{article}
\usepackage[utf8]{inputenc}
\usepackage{ae,lmodern}
\usepackage[T1]{fontenc}
\usepackage{babel} % <==================================================
\usepackage{showframe} % <==============================================
\usepackage{setspace}
\setstretch{1.2}
\makeatletter
\long\def\@makefntextFB#1{%
\ifx\thefootnote\ftnISsymbol
\@makefntextORI{#1}%
\else
\rule\z@\footnotesep
\setbox\@tempboxa\hbox{\@thefnmark}%
\ifdim\wd\@tempboxa>\z@
\kern2em\llap{\@thefnmark.\kern0.5em}%
\fi
\hangindent2em\hangafter\@ne#1
\fi}
\makeatother
\newcommand{\twobar}{/\kern-0.2em/}
\setcounter{secnumdepth}{3}
\usepackage{array}
\usepackage{enumitem}
\usepackage[output-decimal-marker={,}]{siunitx}
\usepackage{ragged2e}
\newcommand{\pc}[1]{\SI{#1}{\percent}}
\usepackage{amssymb, amsmath}
\setlength{\mathindent}{0cm}
\usepackage{graphicx}
\usepackage{silence}
\WarningFilter{frenchb.ldf}{Figure}
%\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}
\usepackage{etoolbox}
\apptocmd{\sloppy}{\hbadness 10000\relax}{}{}
\tolerance 400
\pretolerance 200
\usepackage{fancyhdr}
\setlength{\headheight}{14pt}
\usepackage[backend=bibtex,style=numeric,sorting=none]{biblatex}
\usepackage{csquotes}
\DeclareLanguageMapping{frenchb}{french}
\addbibresource{\jobname.bib}
\usepackage{url}
\setcounter{biburllcpenalty}{9999}
\setcounter{biburlucpenalty}{9999}
\setcounter{biburlnumpenalty}{9999}
\usepackage[breaklinks=true]{hyperref} % <==============================
\renewcommand{\UrlFont}{\ttfamily\footnotesize}
\def\UrlBreaks{\do\/\do-\do?\do\_}
\begin{document}
Bla bla bla \cite{obs}.
\addcontentsline{toc}{section}{Références}
\printbibliography{}
\end{document}
你会得到想要的结果: