消除由于 setspace 设置而导致的单个脚注(以及显示在页面底部的脚注)内不需要的垂直间距

消除由于 setspace 设置而导致的单个脚注(以及显示在页面底部的脚注)内不需要的垂直间距

我正在写一篇论文,并添加了一些旧代码来实现引用样式,其中简短的引用与附加脚注一起放在页面底部。这需要 manyfoot 包,下面给出的代码基于以下问题:

Biblatex 仅引用一次脚注,并使用括号Biblatex footcite:自定义 biblatex 和参考书目样式如何删除 doi 字段中的前缀(如果存在)

我正在使用 newpxtext 包,希望整个文档(包括标题、脚注等)的行距略有增加,文本的行距更明显。如果我理解正确的话,这应该通过以下方式实现

\linespread{1.05}
\usepackage{setspace}
\setstretch{1.3}

不幸的是,setstretch 设置会导致脚注内出现不必要的间距,但只会在单个脚注的行之间出现(!),而不会在两个不同的脚注之间出现(见图片)。这与我在几个问题中读到的相反(例如双倍行距在脚注中设置 1.5 行间距)。如果我排除setstretch命令,脚注内的垂直间距看起来是统一且正确的。

如何摆脱较长脚注(对于脚注A和脚注B)中的额外间距并实现所需的间距?

MWE(第一张图片没有使用 \setstretch{1.3};第二张图片使用了 \setstretch{1.3}):

\documentclass[fontsize=11pt,DIV=11]{scrbook}
\usepackage[USenglish]{babel}
\frenchspacing
\usepackage{newpxtext}
\usepackage{newpxmath}
\linespread{1.05}
\usepackage{setspace}
%\setstretch{1.3}

\usepackage{xcolor}                 
\usepackage{manyfoot}
\usepackage[babel]{csquotes}
\usepackage[backend=biber,style=chem-angew,mcite,subentry]{biblatex}
\usepackage{hyperref}               
\hypersetup{%
    colorlinks,
    linkcolor={red!0!black},
    citecolor={blue!0!black},
    urlcolor={blue!80!black}
}

\ExecuteBibliographyOptions{citetracker=true,sorting=none,maxcitenames=10,doi=false,url=false,isbn=false,hyperref=true,backref=false}

\DefineBibliographyStrings{ngerman}{
   andothers = {\textit{et~al\adddot}}            
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% The following code defines two different types of footnotes and the citation command for the described citation style

% Citation footnotes: use \footnoteA
\DeclareNewFootnote{A}

% Vanilla footnotes: use \footnoteB
\DeclareNewFootnote{B}

% Number of each bibliography entry in brackets
\DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{#1}}

\makeatletter

\newtoggle{cbx@togcite}

% Citation number superscript in brackets
\renewcommand\@makefntext[1]{%
  \iftoggle{cbx@togcite}
    {\@textsuperscript{\normalfont[\@thefnmark]}\enspace #1}
    {\@textsuperscript{\normalfont\@thefnmark}\enspace #1}%
  \global\togglefalse{cbx@togcite}}

% Citation number superscript in brackets (for babel french)
\ifdef{\@makefntextFB}{%
\renewcommand\@makefntextFB[1]{%
  \iftoggle{cbx@togcite}
    {\@textsuperscript{\normalfont[\@thefnmark]}\enspace #1}
    {\@textsuperscript{\normalfont\@thefnmark}\enspace #1}%
  \global\togglefalse{cbx@togcite}}}{}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Mostly verbatim from Joseph Wright
% http://www.texdev.net/2010/03/08/biblatex-numbered-citations-as-footnotes/

\DeclareCiteCommand{\sfcite}[\cbx@superscript]%
  {\usebibmacro{cite:init}%
   \let\multicitedelim=\supercitedelim
   \iffieldundef{prenote}
     {}
     {\BibliographyWarning{Ignoring prenote argument}}%
   \iffieldundef{postnote}
     {}
     {\BibliographyWarning{Ignoring postnote argument}}}
  {\usebibmacro{citeindex}%
   \usebibmacro{sfcite}%
   \usebibmacro{cite:comp}}
  {}
  {\usebibmacro{cite:dump}}

\newbibmacro*{sfcite}{%
  \ifciteseen
  {}
  {\xappto\cbx@citehook{%
   \global\toggletrue{cbx@togcite}%
   \noexpand\footnotetextA[\thefield{labelnumber}]{%
     \fullcite{\thefield{entrykey}}\addperiod}}}}

\newrobustcmd{\cbx@superscript}[1]{%
  \mkbibsuperscript{\mkbibbrackets{#1}}%
  \cbx@citehook%
  \global\let\cbx@citehook=\empty}

\let\cbx@citehook=\empty

\makeatother

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\newbibmacro{string+doiurlisbn}[1]{%
  \iffieldundef{doi}{%
    \iffieldundef{url}{%
      \iffieldundef{isbn}{%
        \iffieldundef{issn}{%
          #1%
        }{%
          \href{http://books.google.com/books?vid=ISSN\thefield{issn}}{#1}%
        }%
      }{%
        \href{http://books.google.com/books?vid=ISBN\thefield{isbn}}{#1}%
      }%
    }{%
      \href{\thefield{url}}{#1}%
    }%
  }{%
    \href{https://doi.org/\thefield{doi}}{#1}%
  }%
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\DeclareFieldFormat{journaltitle}{\usebibmacro{string+doiurlisbn}{\mkbibemph{#1}}}

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[
        fieldsource=doi,
        match=\regexp{https?://(dx.)?doi.org/(.+)},
        replace=\regexp{$2}%$
      ]
    }
  }
}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\begin{filecontents}{\jobname.bib}
@Article{Frank1953,
  author  = {Frank, F. C.},
  title   = {On spontaneous asymmetric synthesis},
  journal = {Biochim. Biophys. Acta},
  year    = {1953},
  volume  = {11},
  pages   = {459-463},
  doi     = {http://dx.doi.org/10.1016/0006-3002(53)90082-1},
  url     = {http://www.sciencedirect.com/science/article/pii/0006300253900821},
}

@Article{Kagan1986,
  author  = {Puchot, C. and Samuel, O. and Dunach, E. and Zhao, S. and Agami, C. and Kagan, H. B.},
  title   = {Nonlinear effects in asymmetric synthesis. Examples in asymmetric oxidations and aldolization reactions},
  journal = {J. Am. Chem. Soc.},
  year    = {1986},
  volume  = {108},
  number  = {9},
  pages   = {2353-2357},
  doi     = {10.1021/ja00269a036},
  url     = {http://dx.doi.org/10.1021/ja00269a036},
}

@article{Soai1995,
   author = {Soai, Kenso and Shibata, Takanori and Morioka, Hiroshi and Choji, Kaori},
   title = {Asymmetric autocatalysis and amplification of enantiomeric excess of a chiral molecule},
   journal = {Nature},
   year = {1995},
   volume = {378},
   number = {6559},
   pages = {767-768},
   url = {http://dx.doi.org/10.1038/378767a0}
}

@Article{Brown2001,
  author  = {Blackmond, Donna G. and McMillan, Christopher R. and Ramdeehul, Shailesh and Schorm, Andrea and Brown, John M.},
  title   = {Origins of Asymmetric Amplification in Autocatalytic Alkylzinc Additions},
  journal = {J. Am. Chem. Soc.},
  year    = {2001},
  volume  = {123},
  number  = {41},
  pages   = {10103-10104},
  doi     = {10.1021/ja0165133},
  url     = {http://dx.doi.org/10.1021/ja0165133},
}
\end{filecontents}

\addbibresource{\jobname.bib}



\begin{document}
\chapter{Title}
\null\vfill\noindent
Vanilla footnote.\footnoteB{This is a very very very very very very very very very very very very very very very very very very long Vanilla footnote text.}
First citation.\sfcite{Frank1953}
First citation.\sfcite{Brown2001}
Vanilla footnote.\footnoteB{Vanilla footnote text.}
First ``multi'' citation.\sfcite{Frank1953,Brown2001,Soai1995}
\chapter{Title}
\null\vfill\noindent
Second citation.\sfcite{Frank1953}
Vanilla footnote.\footnoteB{Vanilla footnote text.}
Second citation.\sfcite{Soai1995}
Second citation.\sfcite{Brown2001}\footnoteB{Vanilla footnote text.}
First citation.\sfcite{Kagan1986}
\printbibliography
\end{document}

图片 1:没有 \setstretch{1.3} 的 MWE 图片 2:带有 \setstretch{1.3} 的 MWE

答案1

setspace通过重新定义来明确重置脚注中的行距,\@footnotetext以包含

\def\baselinestretch {\setspace@singlespace}%

在您的设置中,您只使用由 控制的脚注manyfoot,它不会调用\@footnotetext也不会被 修补setspace

我们可以通过重新定义setspace等价于manyfootmanyfoot\@footnotetext

\makeatletter
\long\def\MFL@fnoteplain#1#2#3{\NCC@makefnmark{#2}%
  \MFL@insert#1{\def\baselinestretch {\setspace@singlespace}%
    \reset@font\footnotesize
    \interlinepenalty\interfootnotelinepenalty
    \hsize\MFL@columnwidth \@parboxrestore
    \protected@edef\@currentlabel{\@thefnmark}%
    \color@begingroup
      \MFL@applyhook{#1}%
      \@makefntext{%
        \rule\z@\footnotesep\ignorespaces#3\@finalstrut\strutbox}%
    \color@endgroup
  }%
}
\makeatother

我改为\setstretch{1.3}夸大\setstretch{2}MWE 中的效果

\documentclass[fontsize=11pt,DIV=11]{scrbook}
\usepackage[USenglish]{babel}
\frenchspacing
\usepackage{newpxtext}
\usepackage{newpxmath}
\linespread{1.05}
\usepackage{setspace}
\setstretch{2}

\usepackage{xcolor}
\usepackage{manyfoot}
\usepackage[babel]{csquotes}
\usepackage[backend=biber,style=chem-angew,mcite,subentry]{biblatex}
\usepackage{hyperref}
\hypersetup{%
    colorlinks,
    linkcolor={red!0!black},
    citecolor={blue!0!black},
    urlcolor={blue!80!black}
}

\makeatletter
\long\def\MFL@fnoteplain#1#2#3{\NCC@makefnmark{#2}%
  \MFL@insert#1{\def\baselinestretch {\setspace@singlespace}%
    \reset@font\footnotesize
    \interlinepenalty\interfootnotelinepenalty
    \hsize\MFL@columnwidth \@parboxrestore
    \protected@edef\@currentlabel{\@thefnmark}%
    \color@begingroup
      \MFL@applyhook{#1}%
      \@makefntext{%
        \rule\z@\footnotesep\ignorespaces#3\@finalstrut\strutbox}%
    \color@endgroup
  }%
}
\makeatother

\ExecuteBibliographyOptions{citetracker=true,
  sorting=none,
  maxcitenames=10,
  doi=false, url=false, isbn=false,
  backref=false,
}

\DefineBibliographyStrings{german}{
   andothers = {\textit{et~al\adddot}}
}

\DeclareNewFootnote{A}

\DeclareNewFootnote{B}

\DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{#1}}

\makeatletter
\newtoggle{cbx@togcite}

% Citation number superscript in brackets
\renewcommand\@makefntext[1]{%
  \iftoggle{cbx@togcite}
    {\@textsuperscript{\normalfont[\@thefnmark]}\enspace #1}
    {\@textsuperscript{\normalfont\@thefnmark}\enspace #1}%
  \global\togglefalse{cbx@togcite}}

% Citation number superscript in brackets (for babel french)
\ifdef{\@makefntextFB}{%
\renewcommand\@makefntextFB[1]{%
  \iftoggle{cbx@togcite}
    {\@textsuperscript{\normalfont[\@thefnmark]}\enspace #1}
    {\@textsuperscript{\normalfont\@thefnmark}\enspace #1}%
  \global\togglefalse{cbx@togcite}}}{}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Mostly verbatim from Joseph Wright
% http://www.texdev.net/2010/03/08/biblatex-numbered-citations-as-footnotes/

\DeclareCiteCommand{\sfcite}[\cbx@superscript]%
  {\usebibmacro{cite:init}%
   \let\multicitedelim=\supercitedelim
   \iffieldundef{prenote}
     {}
     {\BibliographyWarning{Ignoring prenote argument}}%
   \iffieldundef{postnote}
     {}
     {\BibliographyWarning{Ignoring postnote argument}}}
  {\usebibmacro{citeindex}%
   \usebibmacro{sfcite}%
   \usebibmacro{cite:comp}}
  {}
  {\usebibmacro{cite:dump}}

\newbibmacro*{sfcite}{%
  \ifciteseen
  {}
  {\xappto\cbx@citehook{%
   \global\toggletrue{cbx@togcite}%
   \noexpand\footnotetextA[\thefield{labelnumber}]{%
     \fullcite{\thefield{entrykey}}\addperiod}}}}

\newrobustcmd{\cbx@superscript}[1]{%
  \mkbibsuperscript{\mkbibbrackets{#1}}%
  \cbx@citehook%
  \global\let\cbx@citehook=\empty}

\let\cbx@citehook=\empty

\makeatother



\newbibmacro{string+doiurlisbn}[1]{%
  \iffieldundef{doi}{%
    \iffieldundef{url}{%
      \iffieldundef{isbn}{%
        \iffieldundef{issn}{%
          #1%
        }{%
          \href{http://books.google.com/books?vid=ISSN\thefield{issn}}{#1}%
        }%
      }{%
        \href{http://books.google.com/books?vid=ISBN\thefield{isbn}}{#1}%
      }%
    }{%
      \href{\thefield{url}}{#1}%
    }%
  }{%
    \href{https://doi.org/\thefield{doi}}{#1}%
  }%
}



\DeclareFieldFormat{journaltitle}{\usebibmacro{string+doiurlisbn}{\mkbibemph{#1}}}

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[
        fieldsource=doi,
        match=\regexp{https?://(dx.)?doi.org/(.+)},
        replace=\regexp{$2}%$
      ]
    }
  }
}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\addbibresource{biblatex-examples.bib}



\begin{document}
\chapter{Title}
\null\vfill\noindent
Vanilla footnote.\footnoteB{This is a very very very very very very very very very very very very very very very very very very long Vanilla footnote text.}
First citation.\sfcite{sigfridsson}
First citation.\sfcite{aksin}
First citation.\sfcite{companion}
Vanilla footnote.\footnoteB{Vanilla footnote text.}
First ``multi'' citation.\sfcite{sigfridsson,nussbaum,worman}
\chapter{Title}
\null\vfill\noindent
Second citation.\sfcite{sigfridsson}
Vanilla footnote.\footnoteB{Vanilla footnote text.}
Second citation.\sfcite{worman}
Second citation.\sfcite{nussbaum}\footnoteB{Vanilla footnote text.}
First citation.\sfcite{geer}
\printbibliography
\end{document}

脚注间距适宜。

答案2

您是否尝试使用以下代码指定脚注后的空格:

\footnote{xxx\\[-.2cm]}

相关内容