带有 newtxttext 的小页面脚注未标记

带有 newtxttext 的小页面脚注未标记

随着newtxtextLaTeX 包,小页面内的脚注没有达到目的。

\documentclass{article}

\usepackage[papersize={6cm,4cm},margin={2mm,2mm}]{geometry}
\usepackage{newtxtext}

\begin{document}

This a paragraph\footnote{A footnote inside a paragraph} with a
footnote.

\vfil

\framebox{
\begin{minipage}[b]{4cm}
  This a minipage\footnote{A footnote inside a minipage} with a
  footnote.
\end{minipage}
}

\end{document}

输出

这似乎仅在newtxtext使用该包时才会发生。

如何解决这个问题?

答案1

使用:

[...]
\usepackage{newtxtext}
\makeatletter
\def\@makefnmark{%
   \ifx\thefootnote\orig@footnote 
      \orig@makefnmark
   \else
      \hbox{\sustyle\hspace*{.04em}\thefnnote}%
   \fi}
\makeatother
[...]

看起来像一个错误...

答案2

newtxtext包重新定义了@makefnmark,但忘记检查minipage脚注。这被视为一个错误(请参阅newtx 与 pifont 不兼容?

修复此问题的方法是恢复原始定义或添加检查minipage。请注意脚注数字排版的差异。

添加脚注minipage检查

\documentclass{article}

\usepackage[papersize={6cm,4cm},margin={2mm,2mm}]{geometry}
\usepackage{newtxtext}

\makeatletter
\def\@makefnmark{%
  \ifx\thefootnote\orig@footnote
    \ifx\@footnotetext\@mpfootnotetext
      \orig@makefnmark
    \else
      \hbox{\sustyle\hspace*{.04em}\@thefnmark}%
    \fi
  \else
    \orig@makefnmark
  \fi}
\makeatother

\begin{document}

This a paragraph\footnote{A footnote inside a paragraph} with a
footnote.

\vfil

\fbox{\begin{minipage}[b]{4cm}
  This a minipage\footnote{A footnote inside a minipage} with a
  footnote.
\end{minipage}}


\end{document}

在此处输入图片描述

恢复原来的定义\@makefnmark

\documentclass{article}

\usepackage[papersize={6cm,4cm},margin={2mm,2mm}]{geometry}
\usepackage{newtxtext}

\makeatletter
\let\@makefnmark\orig@makefnmark
\makeatother

\begin{document}

This a paragraph\footnote{A footnote inside a paragraph} with a
footnote.

\vfil

\fbox{\begin{minipage}[b]{4cm}
  This a minipage\footnote{A footnote inside a minipage} with a
  footnote.
\end{minipage}}


\end{document}

在此处输入图片描述

相关内容