使用自定义脚注放置脚注

使用自定义脚注放置脚注

我一直在努力尝试让脚注符合我的要求。我希望页面每边有 0.9 英寸的边框,页眉和页脚包含在剩余区域。我还希望在页眉下方1\baselineskip/脚注上方有一条虚线,并且2\baselineskip虚线和文本主体之间有垂直空间。

有人能告诉我我遇到的问题的根源吗?提前谢谢!

%!TEX TS-program = xetex
%!TEX encoding = UTF-8 Unicode

\documentclass[
    12pt,
    oneside
]{article}

\usepackage{calc}

\usepackage[
    showframe,
    driver=xetex,
    paper=a4paper,
    top=0.9in,
    bottom=0.9in,
    left=0.9in,
    right=0.9in,
    includeheadfoot,
    headheight=0in,
    headsep=4\baselineskip,
    footskip=0in,
]{geometry}

\usepackage[onehalfspacing]{setspace}
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}

\usepackage{titlesec}
\usepackage{titleps}
\usepackage{titletoc}

\usepackage[hang,flushmargin,bottom]{footmisc}
\renewcommand{\thefootnote}{\textcolor{gray!50}{\arabic{footnote}}}

\usepackage{dashrule}

\usepackage{lipsum}

\newcommand{\drule}{
    \renewcommand\makeheadrule{
        \vspace{\baselineskip}
        \begin{minipage}{\textwidth}
            \color{gray!50}
            \centering
            \hdashrule[-2.5\baselineskip]{\textwidth}{0.7pt}{3pt}
        \end{minipage}
    }
    \renewcommand\footnoterule{ 
        \begin{minipage}{\textwidth}
            \color{gray!50}
            \centering
            \hspace{-25pt}\hdashrule[\baselineskip]{\textwidth}{0.7pt}{3pt}
        \end{minipage}
    }
    \renewcommand\footnotelayout{\onehalfspacing\normalsize\color{gray!50}}
    \setlength{\footnotemargin}{5pt}
    \setlength{\skip\footins}{2\baselineskip}
    \setlength{\footnotesep}{.5\baselineskip}
    \interfootnotelinepenalty=10000
}

\newpagestyle{main}{%
    \drule
    \sethead{\normalsize\color{gray!50}\toptitlemarks\sectiontitle}{}{\normalsize\color{gray!50}\thepage}
}
\newpagestyle{1st_page}{%
    \drule
    \sethead{\normalsize\color{gray!50}\firsttitlemarks\sectiontitle}{}{\normalsize\color{gray!50}\thepage}
}

\begin{document}
\pagestyle{main}
\thispagestyle{1st_page}

\section{1st section}

\lipsum[1] TEST\footnote{test} TEST\footnote{test}
\lipsum[2-3]

\section{2nd section}

\lipsum[1] TEST TEST\footnote{\lipsum[2]} \lipsum[1-3] test\footnote{test} \lipsum \lipsum[1]

\end{document}

答案1

要求\footnoterule占用 0 垂直空间。所以我把你的定义改成了(我认为\parbox比 更轻量minipage

\renewcommand\footnoterule{%
  \parbox[0pt]{\textwidth}{\color{gray}\centering\hspace{-25pt}\hdashrule[\baselineskip]{\textwidth}{0.7pt}{3pt}}%
\vss}

请注意,\footnotesep\footnoterule或前一个脚注到基线脚注第一行的。因此0.5\baselineskip不会产生任何影响。它只有在 >\baselineskip

相关内容