这是我生成带有脚注的文本的代码:
\documentclass[titlepage,paper=a4,11pt,onecolumn]{scrartcl}
\usepackage[top=3cm, bottom=3.5cm, left=2.5cm, right=2.5cm]{geometry}
\usepackage[english]{babel}
\usepackage{blindtext}
\footnoterule
\renewcommand{\footnoterule}{%
\kern -4.5pt
\hrule width \textwidth height 0.5pt
\kern 4pt
}
\begin{document}
\section{Introduction}
This a piece of text with a footnote here\footnote{This is my footnote} for testing purposes.
\blindtext[2]
\end{document}
我需要将脚注与正文分开的脚注规则更改为虚线,其他设置保持不变。
答案1
您正在寻找\leaders
。\leaders
是用于重复一个框直到填满一些空间的 TeX 基元。我\xleaders
在这里使用了:x
代表“扩展引线”,以确保点与边距对齐。
我添加了三个自定义点:\fnoterulesep
是两个连续点之间的距离,\fnoterulechar
是要重复的字符。以下是带有2pt
和 的示例.
:
这里还有5pt
和$\bullet$
:
我还添加了一个\fnoteruleaftersep
来调整规则和脚注之间的距离。
\documentclass[titlepage,paper=a4,11pt,onecolumn]{scrartcl}
\usepackage[top=3cm, bottom=3.5cm, left=2.5cm, right=2.5cm]{geometry}
\usepackage[english]{babel}
\usepackage{blindtext}
\newlength\fnoterulesep
\setlength\fnoterulesep{2pt}
\newlength\fnoteruleaftersep
\setlength\fnoteruleaftersep{4pt}
\newcommand\fnoterulechar{.}
\renewcommand{\footnoterule}{%
{\sbox0{\fnoterulechar\kern\fnoterulesep}%
\par\vspace*{\dimexpr-\baselineskip+\ht0+\dp0-\fnoteruleaftersep}%
\noindent
\xleaders\hbox{%
\fnoterulechar
\kern\fnoterulesep}%
\hfill\fnoterulechar
\par \nointerlineskip
\vspace*{\dimexpr-\ht0-\dp0+\fnoteruleaftersep}}%
}
\begin{document}
\section{Introduction}
This a piece of text with a footnote here\footnote{This is my footnote} for testing purposes.
\blindtext[2]
\end{document}
答案2
这是你想要的吗?
\documentclass[titlepage,paper=a4,11pt,onecolumn]{scrartcl}
\usepackage[top=3cm, bottom=3.5cm, hmargin=2.5cm]{geometry}
\usepackage[english]{babel}
\usepackage{blindtext}
\makeatletter
\renewcommand{\footnoterule}{%
\kern -4.5pt
\vbox to 0.5pt{\hbox to \textwidth{\leaders\hbox{\kern 4pt .\kern 4pt}\hfil}\vss}
\kern 4pt
}
\makeatother
\begin{document}
\vspace*{12cm}
\section{Introduction}
This a piece of text with a footnote here\footnote{This is my footnote} for testing purposes.
\blindtext[2]
\end{document}