
Я пытаюсь распечатать свою библиографию, но "страницы XXX-XXX" делают переполненные поля. Я уже просмотрелэтот ответно seqsplit
как уже упоминалосьISBN и другие длинные номеране работает, даже хуже, выдает следующую ошибку:
!Package etoolbox Error: Toggle 'bbx:pageranges' undefined.
Это мой файл
\RequirePackage{fix-cm}
\documentclass[12pt, table, letterpaper]{report}
\usepackage[english,spanish,es-tabla]{babel}
\usepackage[
letterpaper,
top = 18mm,
left = 20mm,
right= 20mm,
bottom = 18mm
]{geometry}
\usepackage{fontspec}
\usepackage[hidelinks]{hyperref}
\usepackage[
thresholdtype=words
]{csquotes}
\usepackage[
backend=biber,
style=ieee,
url=false,
hyperref=true,
]{biblatex}
\usepackage{xurl}
\setlength{\parindent}{0pt}
\setlength{\parskip}{1em}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont{Times New Roman}
\addbibresource{Bib/References.bib}
\DeclareFieldFormat{url}{%
% \mkbibacro{URL}\addcolon\space
\href{#1}{\nolinkurl{\thefield{urlraw}}}}
\begin{document}
\pagenumbering{gobble}
\nocite{*}
\printbibliography[heading=bibintoc]
\end{document}
Ссылки.bib
@article{palomino-resendiz_design_2018,
title = {Design and implementation of a robotic active solar distiller based on a Fresnel concentrator and a photovoltaic system},
volume = {166},
issn = {0196-8904},
url = {https://www.sciencedirect.com/science/article/pii/S0196890418304175},
doi = {10.1016/j.enconman.2018.04.069},
abstract = {},
pages = {637--647},
journaltitle = {Energy Conversion and Management},
shortjournal = {Energy Conversion and Management},
author = {Palomino-Resendiz, S. I. and Flores-Hernández, D. A. and Lozada-Castillo, N. and Guzmán-Vargas, L. and Luviano-Juárez, A.},
urldate = {2022-03-18},
date = {2018-06-15},
langid = {english},
keywords = {Desalination, Fresnel lens, Photovoltaic system, Robotic solar distiller, Solar energy},
}
@article{kabeel_performance_2022,
title = {Performance assessment of the hemispherical solar distillers with the extended cylindrical iron fins: An experimental investigation},
volume = {61},
issn = {1110-0168},
url = {https://www.sciencedirect.com/science/article/pii/S1110016822002794},
doi = {10.1016/j.aej.2022.04.018},
shorttitle = {Performance assessment of the hemispherical solar distillers with the extended cylindrical iron fins},
pages = {11149--11157},
number = {12},
journaltitle = {Alexandria Engineering Journal},
shortjournal = {Alexandria Engineering Journal},
author = {Kabeel, Abd Elnaby and El Hadi Attia, Mohammed and Abdelgaied, Mohamed and Abdullah, A. S. and Bellila, Abdelkader and Abdel-Aziz, Moataz M.},
urldate = {2022-05-29},
date = {2022-12-01},
langid = {english},
keywords = {Extended cylindrical fins, Hemispherical solar still, Iron fins, Number, Solar energy}
}
Я компилирую свой код LaTeX следующим образом:
xelatex -synctex=1 -interaction=nonstopmode --output-directory=./build --shell-escape %.tex
makeindex -t ./build/%.glg -s ./build/%.ist -o ./build/%.gls ./build/%.glo
makeindex -t ./build/%.alg -s ./build/%.ist -o ./build/%.acr ./build/%.acn
biber --output-directory=./build %
xelatex -synctex=1 -interaction=nonstopmode --output-directory=./build --shell-escape %.tex
Редактировать
Кажется, проблема возникает при добавлении csquotes
пакета. Я удалил свой файл построчно, и проблема исчезает при удалении csquotes
пакета. Но проблема в том, что мне тоже нужен этот пакет. Есть идеи?
решение1
Разрыв строки крайне чувствителен к контексту, поэтому любое решение, которое может сработать в конкретной ситуации, может оказаться неподходящим для другой ситуации, какими бы похожими они ни были.
На основе кода, показанного в вопросе, я могу воспроизвести следующее переполненное поле, если добавлю \usepackage{csquotes}
.
В этом случае с довольно короткими номерами страниц я не думаю, что разбиение самого номера случайным образом даст наилучшие результаты. На первом этапе я бы попытался разрешить перенос строки на дефисе, переопределив \bibrangedash
. По умолчанию spanish.lbx
использует дефис, на котором не может быть переноса строки.
Это дает нам
\RequirePackage{fix-cm}
\documentclass[12pt, letterpaper]{report}
\usepackage[
letterpaper,
top = 18mm,
left = 20mm,
right= 20mm,
bottom = 18mm,
]{geometry}
\usepackage{fontspec}
\usepackage[english,spanish,es-tabla]{babel}
\usepackage{csquotes}
\usepackage[
backend=biber,
style=ieee,
url=false,
]{biblatex}
\usepackage{xurl}
\usepackage[hidelinks]{hyperref}
\setlength{\parindent}{0pt}
\setlength{\parskip}{1em}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont{Times New Roman}
\DefineBibliographyExtras{spanish}{%
\protected\def\bibrangedash{-}%
}
\DeclareFieldFormat{url}{%
% \mkbibacro{URL}\addcolon\space
\href{#1}{\nolinkurl{\thefield{urlraw}}}}
\begin{filecontents}{\jobname.bib}
@article{palomino-resendiz_design_2018,
title = {Design and implementation of a robotic active solar distiller
based on a Fresnel concentrator and a photovoltaic system},
volume = {166},
issn = {0196-8904},
url = {https://www.sciencedirect.com/science/article/pii/S0196890418304175},
doi = {10.1016/j.enconman.2018.04.069},
pages = {637--647},
journaltitle = {Energy Conversion and Management},
author = {Palomino-Resendiz, S. I. and Flores-Hernández, D. A.
and Lozada-Castillo, N. and Guzmán-Vargas, L.
and Luviano-Juárez, A.},
urldate = {2022-03-18},
date = {2018-06-15},
langid = {english},
}
@article{kabeel_performance_2022,
title = {Performance assessment of the hemispherical solar distillers
with the extended cylindrical iron fins:
An experimental investigation},
volume = {61},
issn = {1110-0168},
url = {https://www.sciencedirect.com/science/article/pii/S1110016822002794},
doi = {10.1016/j.aej.2022.04.018},
pages = {11149--11157},
number = {12},
journaltitle = {Alexandria Engineering Journal},
author = {Kabeel, Abd Elnaby and El Hadi Attia, Mohammed
and Abdelgaied, Mohamed and Abdullah, A. S. and Bellila, Abdelkader
and Abdel-Aziz, Moataz M.},
urldate = {2022-05-29},
date = {2022-12-01},
langid = {english},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\pagenumbering{gobble}
\nocite{*}
\printbibliography[heading=bibintoc]
\end{document}
Судя по всему, я надеюсь, что это также будет работать в документе, показанном на вашем скриншоте (который не является MWE).
Лично я считаю, что seqsplit
решение немного радикальное (разбиение чисел на произвольные позиции может выглядеть странно). Если проблема сохранится, я, вероятно, попробую одно из универсальных решений изКак настроить перенос строк в библиографии?, например \emergencystretch
.