我正在尝试删除 LaTeX 文档中脚注开头的缩进。这是我的代码。我无法删除脚注开头的缩进。
\documentclass[12pt, a4paper]{book}
\usepackage{graphicx}
\usepackage{titlesec}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[utf8]{inputenc}
\usepackage{geometry}
\usepackage{setspace}
\usepackage{indentfirst}
\usepackage{fancyhdr}
\usepackage{lipsum}
%\usepackage{enumitem}
\usepackage[french]{babel}
\usepackage{csquotes}
\usepackage{hyperref}
\usepackage{xcolor}
%\usepackage[hang, flushmargin, bottom]{footmisc}
\usepackage{etoolbox}
\usepackage[authordate, backend=biber]{biblatex-chicago}
\graphicspath{{images/}}
\setstretch{1.2}
\setlength{\parindent}{3em}
\setlength{\parskip}{0pt}
\frenchspacing
\makeatletter
\long\def\@makefntext#1{\parindent 0em\noindent
\hbox{\@textsuperscript{\@thefnmark}\,}#1}
\makeatother
\begin{document}
我尝试使用不同的解决方案,例如
\usepackage[hang, flushmargin, bottom]{footmisc}
甚至这个:
\makeatletter
\long\def\@makefntext#1{\parindent 0em\noindent
\hbox{\@textsuperscript{\@thefnmark}\,}#1}
\makeatother
但它不起作用...
谢谢!
这是默认脚注的视图,没有任何实际修改:
\documentclass{book}
\usepackage{lipsum}
\usepackage[french]{babel}
\usepackage{hyperref}
\setlength{\parindent}{3em}
\frenchspacing
\begin{document}
Some text\footnote{\lipsum*[1]}.
\end{document}
使用
\usepackage[french]{babel}
重新定义脚注的处理方式(除其他外),使您对
\@makefntext
的重新定义毫无用处;它从未被使用过。事实上,它是一个不同的宏 - \insertfootnotemarkFB
- 控制脚注在该点的插入和放置。这是该宏的定义(取自 babel
的法语定义 french.ldf
):
\providecommand*{\insertfootnotemarkFB}{%
\parindent=\parindentFFN
\rule\z@\footnotesep
\setbox\@tempboxa\hbox{\@thefnmark}%
\ifdim\wd\@tempboxa>\z@
\llap{\@thefnmark}\dotFFN\kernFFN
\fi}
它将段落缩进设置为
\parindentFFN
,然后使用零宽度\rule
调整连续脚注之间的间隙,将脚注标记存储在一个框中,进行一些测量,如果宽度非零则设置它;如果标记为空,这将跳过打印任何内容。因此,一个相当基本的解决方案是将段落缩进设置为“适当的值”,注意实际的脚注标记(任何非零值)设置在右对齐的零宽度框中(通过\llap{\@thefnmark}
) 。所以,人们可以做类似的事情
\settowidth{\parindentFFN}{\footnotesize 0}
在序言中,结果如下:
这对于少量脚注(少于 10 个)而言是足够,因为所有数字 (1-9) 的宽度都小于或等于 0。但是,您也可以重新定义
\insertfootnotemarkFB
以满足您的需要(其中可以在脚注中包含上标脚注标记,而不带任何以下点):
\makeatletter
\renewcommand\insertfootnotemarkFB{%
\setlength{\parindent}{0pt}% Remove paragraph indent
\rule\z@\footnotesep
\hbox{\@textsuperscript{\@thefnmark}\,}}
\makeatother