在 Latex 中的 cls 中调整脚注编号和脚注文本之间的间距?

在 Latex 中的 cls 中调整脚注编号和脚注文本之间的间距?

在我的学校 Latex 模板中,脚注编号和脚注文本之间的间距太近,所以我想把它弄宽一点。以前我使用这些代码时\begin{document}

\usepackage[hang]{footmisc}
\setlength{\footnotemargin}{2mm}

显示错误,因为有一个分类控制脚注样式的文件夹中的文件。

然后我打开cls,发现这些代码可能和脚注样式有关。但是我不知道该怎么调整,因为我看不懂分类。我希望在脚注编号之间添加~脚注文字。

\tl_set:Nn \@makefnmark
  {
    \kern \c_zero_dim \textsuperscript { \circled { \@thefnmark } }
  }

\RenewDocumentCommand { \@makefntext } { m }
  {
    \noindent \hangindent 1 em \circled { \@thefnmark } #1 \hangafter 1
  }

\skip_set_eq:NN \headheight \baselineskip
\skip_set_eq:NN \footskip   \baselineskip

\dim_set:Nn \footnotesep { 6 pt }
\setlength { \skip \footins } { \skip_eval:n { 2 \baselineskip } plus 1 fill }
\tl_set:Nn \footnotesize { \songti \zihao { 5 } }
\tl_set:Nn \footnoterule
  { \noindent \rule [ 1 pt ] { 0.3 \columnwidth } { 1 pt } }

\NewDocumentCommand { \circled } { m }
  {
    \resizebox { 1 em } { ! }
      {
        \tikz [ baseline = ( char.base ) ]
          {
            \node [ shape = circle , draw , inner ~ sep = \c_zero_dim ,
              minimum ~ size = 1 em ] ( char ) {#1};
          } 
      }
  }

你能帮助我吗?谢谢。

答案1

根据我们的谈话,在这里发布中文代码很困难。正如承诺的那样,我会给你一个指南,它可以帮助你追踪错误。

此代码与最近发布的代码类似,并且包含一个错误;它可能不是最好的例子,但你应该明白:

\documentclass{article}
\usepackage{hyperref}
\let\foo\textit

\begin{document}

\section{Command \foo{aliasing}}
Here I use \texttt{\textbackslash foo} to
\foo{to typeset this in italic}.

\end{document}

错误如下: 在此处输入图片描述

我们就假装这些迹象不够有帮助吧。该怎么办呢?

策略:将代码分成“一半”,这样每一半仍然可以编译,然后编译两者。检查错误。对包含错误的简化版本重复此操作,直到您能发现它。

想法:“一半”=内容,“一半”=序言

因此,在添加一些文本后,这个就通过了:

\documentclass{article}
\usepackage{hyperref}
\let\foo\textit

\begin{document}
hello world
\end{document}

“half2”:删除 hyperref 和 \let 部分,编译时会出现(不同的)错误。

因此,让我们再次将前言分成“两半”。这个编译:

\documentclass{article}
%\usepackage{hyperref}
\let\foo\textit

\begin{document}

\section{Command \foo{aliasing}}
Here I use \texttt{\textbackslash foo} to
\foo{to typeset this in italic}.

\end{document}

而这个没有:

\documentclass{article}
\usepackage{hyperref}
%\let\foo\textit

\begin{document}

\section{Command \foo{aliasing}}
Here I use \texttt{\textbackslash foo} to
\foo{to typeset this in italic}.

\end{document}

不能,因为使用的定义已被删除。

现在,是时候分析一下新的见解了。在这个设置中,“\usepackage{hyperref}”是个麻烦制造者。代码本身可能需要改进,但至少你找到了继续的方法:排除这个包。

我确信,如果您在代码副本上尝试此策略,您可以缩小问题范围。

相关内容