在我的学校 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}”是个麻烦制造者。代码本身可能需要改进,但至少你找到了继续的方法:排除这个包。
我确信,如果您在代码副本上尝试此策略,您可以缩小问题范围。