Biblatex 脚注到页边距

Biblatex 脚注到页边距

有没有办法(有力地)将 biblatex 脚注引用推送到边缘?

我试过

\usepackage{sidenotes}
\renewcommand*{\footnote}[1]{\sidenote{#1}}

但有时我会得到 MWE 中所示的丑陋效果:

在此处输入图片描述

% !TEX TS-program = xelatex
% !TEX encoding = UTF-8 Unicode
% !TeX TXS-program:bibliography = txs:///biber
\documentclass[a4paper,twoside]{scrbook}

% packages
\usepackage{blindtext}
\usepackage{hyperref}

% bib-file
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
  @book{Knu86,
    author = {Knuth, Donald E.},
    year = {1986},
    title = {The \TeX book},
  }
    @BOOK{KandR,
      AUTHOR    = {Kernighan, Brian W. and Ritchie, Dennis M.},
      TITLE     = {{The C Programming Language Second Edition}},
      PUBLISHER = {Prentice-Hall, Inc.},
      YEAR      = {1988},
    }  
@article{greenwade93,
    author  = "George D. Greenwade",
    title   = "The {C}omprehensive {T}ex {A}rchive {N}etwork ({CTAN})",
    year    = "1993",
    journal = "TUGBoat",
    volume  = "14",
    number  = "3",
    pages   = "342--351"
}

@book{goossens93,
    author    = "Michel Goossens and Frank Mittelbach and Alexander Samarin",
    title     = "The LaTeX Companion",
    year      = "1993",
    publisher = "Addison-Wesley",
    address   = "Reading, Massachusetts"
}   
\end{filecontents}

% biber
\usepackage[backend=biber,bibencoding=utf8,
    bibstyle=philosophy-classic,
    citestyle=authortitle-icomp,
    hyperref,
    firstinits=true,    
    isbn=false,
    dashed=false,
    backref,
    sortcites=true, 
    url=false, 
    doi=false, 
    dateabbrev=false,
    scauthorsbib=true,  
]{biblatex}
\addbibresource{\jobname}

% layout
\usepackage[a4paper,
    showframe,
    top=3cm,
    bottom=3cm,
    innermargin=2.5cm,
    textwidth=336pt,
    textheight=750pt,
    marginparwidth=5cm,
    marginparsep=1cm,
    heightrounded,
]{geometry}

% footnotes to sidenote
\usepackage{sidenotes}
\renewcommand*{\footnote}[1]{\sidenote{#1}}


% doc
\begin{document}
\blindtext
\autocite{Knu86}
\autocite{Knu86}
\autocite{Knu86}
\blindtext[3]
sed elit sit amet ante lobortis sollicitudin. Praesent
blandit blandit mauris. Praesent lectus tellus, aliquet aliquam, luctus
a, egestas a, turpis. Mauris lacinia lorem sit amet ipsum. Nunc ia lorem sit amet 
pis. Mauris lacinia lorem sit amet ipsum. Nunc ia lorem sit amet  sit amet  lorem sit
\autocite{KandR,greenwade93,goossens93}

\printbibliography
\end{document}

答案1

我不知道这是否能解决所有这些问题,但只需添加

\usepackage{marginfix}

该包至少解决了你的 MWE 中的问题。

旁注:除一些例外情况外——请参阅哪些包应该在 hyperref 之后加载而不是之前加载?——hyperref应该是你序言中的最后一个包。

在此处输入图片描述

\documentclass[a4paper,twoside]{scrbook}

% packages
\usepackage{blindtext}

% bib-file
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
  @book{Knu86,
    author = {Knuth, Donald E.},
    year = {1986},
    title = {The \TeX book},
  }
    @BOOK{KandR,
      AUTHOR    = {Kernighan, Brian W. and Ritchie, Dennis M.},
      TITLE     = {{The C Programming Language Second Edition}},
      PUBLISHER = {Prentice-Hall, Inc.},
      YEAR      = {1988},
    }  
@article{greenwade93,
    author  = "George D. Greenwade",
    title   = "The {C}omprehensive {T}ex {A}rchive {N}etwork ({CTAN})",
    year    = "1993",
    journal = "TUGBoat",
    volume  = "14",
    number  = "3",
    pages   = "342--351"
}

@book{goossens93,
    author    = "Michel Goossens and Frank Mittelbach and Alexander Samarin",
    title     = "The LaTeX Companion",
    year      = "1993",
    publisher = "Addison-Wesley",
    address   = "Reading, Massachusetts"
}   
\end{filecontents}

% biber
\usepackage[backend=biber,bibencoding=utf8,
    bibstyle=philosophy-classic,
    citestyle=authortitle-icomp,
    hyperref,
    firstinits=true,    
    isbn=false,
    dashed=false,
    backref,
    sortcites=true, 
    url=false, 
    doi=false, 
    dateabbrev=false,
    scauthorsbib=true,  
]{biblatex}
\addbibresource{\jobname}

% layout
\usepackage[a4paper,
    showframe,
    top=3cm,
    bottom=3cm,
    innermargin=2.5cm,
    textwidth=336pt,
    textheight=750pt,
    marginparwidth=5cm,
    marginparsep=1cm,
    heightrounded,
]{geometry}

% footnotes to sidenote
\usepackage{sidenotes,marginfix}
\renewcommand*{\footnote}[1]{\sidenote{#1}}

\usepackage{hyperref}

% doc
\begin{document}
\blindtext
\autocite{Knu86}
\autocite{Knu86}
\autocite{Knu86}
\blindtext[3]
sed elit sit amet ante lobortis sollicitudin. Praesent
blandit blandit mauris. Praesent lectus tellus, aliquet aliquam, luctus
a, egestas a, turpis. Mauris lacinia lorem sit amet ipsum. Nunc ia lorem sit amet 
pis. Mauris lacinia lorem sit amet ipsum. Nunc ia lorem sit amet  sit amet  lorem sit
\autocite{KandR,greenwade93,goossens93}

\printbibliography
\end{document}

相关内容