Bibliographieseiten aufteilen, um ein Überfüllen des Felds zu vermeiden

Bibliographieseiten aufteilen, um ein Überfüllen des Felds zu vermeiden

Ich versuche, meine Bibliographie auszudrucken, aber "Seiten XXX-XXX" führt zu überfüllten Kästchen. Ich habe bereitsdiese Antwortaber seqsplitwie erwähnt aufISBNs und andere lange Nummernfunktioniert nicht, schlimmer noch, es wird der nächste Fehler ausgegeben:

!Package etoolbox Error: Toggle 'bbx:pageranges' undefined.

Dies ist meine Datei

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

Referenzen.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}
}

Bildbeschreibung hier eingeben

Ich kompiliere meinen LaTeX-Code wie folgt

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

Bearbeiten

Es scheint, dass das Problem beim Hinzufügen csquoteseines Pakets auftritt. Ich habe meine Datei zeilenweise gelöscht und das Problem verschwindet, wenn ich csquotesdas Paket entferne. Aber das Problem ist, dass ich dieses Paket auch benötige. Irgendeine Idee?

Antwort1

Zeilenumbrüche sind stark kontextabhängig, d. h. eine Lösung, die in einer bestimmten Situation funktioniert, ist möglicherweise nicht für eine andere Situation geeignet, egal wie ähnlich diese auch sein mögen.

Basierend auf dem in der Frage gezeigten Code kann ich die folgende überfüllte Box reproduzieren, wenn ich hinzufüge \usepackage{csquotes}.

Überfülltes Kästchen: „págs. 637-647“ ragt in den Rand hinein (ca. „47“ liegt außerhalb des Textbereichs).

Bei diesen relativ kurzen Seitenzahlen glaube ich nicht, dass es die besten Ergebnisse bringt, die Zahl selbst willkürlich aufzuteilen. Im ersten Schritt würde ich versuchen, Zeilenumbrüche am Bindestrich zuzulassen, indem ich neu definiere \bibrangedash. Standardmäßig spanish.lbxwird ein Bindestrich verwendet, an dem kein Zeilenumbruch erfolgen kann.

Das gibt uns

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

Gleiche Bibliographie wie oben. Diesmal werden die Seitenbereiche bei "-" unterbrochen, so dass kein Text in den Rand hineinragt.

So wie es aussieht, hoffe ich, dass dies auch in dem Dokument funktioniert, das in Ihrem Screenshot angezeigt wird (das nicht das MWE ist).

Ich persönlich finde die seqsplitLösung etwas radikal (das Aufbrechen von Zahlen an beliebigen Stellen kann seltsam aussehen). Wenn das Problem weiterhin besteht, würde ich wahrscheinlich eine der generischen Lösungen vonWie passe ich den Zeilenumbruch im Literaturverzeichnis an?, z.B \emergencystretch.

verwandte Informationen