在Latex中調整cls中註腳編號和腳註文字之間的間距?

在Latex中調整cls中註腳編號和腳註文字之間的間距?

在我的學校 Latex 範本中,腳註編號和腳註文字之間的間距太近,所以我想讓它更寬。當我之前使用這些程式碼時\begin{document}

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

它顯示錯誤,因為有一個CLS文件位於控制腳註樣式的資料夾中。

然後我打開cls,發現這些代碼可能與腳註樣式有關。但是,我不知道如何調整它,因為我無法理解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}

以下是錯誤: 在此輸入影像描述

讓我們假設這些指示沒有足夠的幫助。怎麼辦?

策略:將程式碼分成“一半”,這樣每一部分仍然可以編譯,並且都可以編譯。檢查是否有錯誤。對包含錯誤的簡化版本重複此操作,直到您發現它。

想法:「half1」=內容,「half2」=序言

因此,在包含一些文本後,這個就通過了:

\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}」是一個麻煩製造者。程式碼本身可能需要改進,但至少您找到了繼續的方法:排除此套件。

我確信,如果您在程式碼副本上嘗試此策略,您可以縮小問題範圍。

相關內容