在 LaTeX 中删除脚注中的缩进

问题描述 投票:0回答:1

我正在尝试删除 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

但它不起作用...

谢谢!

syntax latex tex
1个回答
0
投票

这是默认脚注的视图,没有任何实际修改:

\documentclass{book}

\usepackage{lipsum}
\usepackage[french]{babel}
\usepackage{hyperref}

\setlength{\parindent}{3em}
\frenchspacing

\begin{document}

Some text\footnote{\lipsum*[1]}.

\end{document}

enter image description here

使用

\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}

在序言中,结果如下:

enter image description here

这对于少量脚注(少于 10 个)而言是足够,因为所有数字 (1-9) 的宽度都小于或等于 0。但是,您也可以重新定义

\insertfootnotemarkFB
以满足您的需要(其中可以在脚注中包含上标脚注标记,而不带任何以下点):

\makeatletter
\renewcommand\insertfootnotemarkFB{%
  \setlength{\parindent}{0pt}% Remove paragraph indent
  \rule\z@\footnotesep
  \hbox{\@textsuperscript{\@thefnmark}\,}}
\makeatother

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.