我还没有找到一种方法来删除文章文档中特定章节的子章节编号中初始数字(在我的情况下是一个字母)后面的所有内容。我
Section
A.1 subsection
B.2 subsection
C.3 subsection
而且我要
Section
A subsection
B subsection
C subsection
我以为我能从中找到答案问题但我没有找到。我没有找到任何相关问题,只有改变整个文档子部分的问题。我设法用以下代码将字母代替数字:
\newcounter{alphasect}
\def\alphainsection{0}
\let\oldsection=\subsection
\def\subsection{%
\ifnum\alphainsection=1%
\addtocounter{alphasect}{1}
\fi%
\oldsection}%
\renewcommand\thesection{%
\ifnum\alphainsection=1%
\Alph{alphasect}
\else%
\arabic{section}
\fi%
}%
\newenvironment{alphasection}{%
\ifnum\alphainsection=1%
\errhelp={Let other blocks end at the beginning of the next block.}
\errmessage{Nested Alpha section not allowed}
\fi%
\setcounter{alphasect}{0}
\def\alphainsection{1}
}{%
\setcounter{alphasect}{0}
\def\alphainsection{0}
}%
我按如下方式使用它
\begin{alphasection}
%all the subsections
\end{alphasection}
我几乎不懂 LaTeX,这是我的第二篇文档。我从这个网站获取了上面的代码,直观地说,通过修改相同的脚本可以获得所需的结果。我非常希望得到一个解决方案,这样我就可以继续写论文,而不必考虑 LaTeX 编程。
编辑:问题是关于更改文档的一个部分,而不是所有部分。所以\renewcommand\thesubsection{\Alph{subsection}}
没有帮助。Zarko 的另一个建议是一个很好的技巧,但不幸的是,它把子部分从目录中删除了。它们应该在那里。
答案1
好吧,有两件事。首先,问题在于:
\renewcommand\thesection{%
\ifnum\alphainsection=1%
\Alph{alphasect}
\else%
\arabic{section}
\fi%
}%
您正在更改节的编号,而不是子节的编号。将其更改为:
\renewcommand\thesubsection{%
\ifnum\alphainsection=1%
\Alph{alphasect}
\else%
\arabic{subsection}
\fi%
}%
应该会产生预期的结果。但,我更倾向于放弃这一切,转而支持:
\NewDocumentEnvironment{alphasection}{} % ❶
{%
\RenewExpandableDocumentCommand{\thesubsection}{} % ❷
{\Alph{subsection}}%
}
{}
请注意,一般来说,\NewDocumentEnvironment
❶(以及\NewDocumentCommand
和它们的相关命令)更适合\newcommand
定义新命令。
环境在组内执行,这意味着任何重新定义 ❷ 都将在环境结束时恢复。此外,我们在这里使用 定义子节编号,\RenewExandableDocumentCommand
以便在引用该编号或将其打印在目录中时,我们将获得正确的值。
答案2
我看到了你的“我有……”和“但我想要……”,但我没有遵循你的 MWE 中的代码。我不明白你为什么要求不编号的章节,但要求对子章节进行双重编号。以下 MWE 产生了你的“我有”和“我想要”。也许这会有所帮助。
% subsecnumprob.tex SE 623022
\documentclass{article}
\begin{document}
\renewcommand{\thesection}{}
\renewcommand{\thesubsection}{\Alph{subsection}.\arabic{subsection}}
\section{First section}
\subsection{First subsection}
\subsection{Second subsection}
\renewcommand{\thesubsection}{\Alph{subsection}}
\section{Second section}
\subsection{Third subsection}
\subsection{Fourth subsection}
\renewcommand{\thesubsection}{\Alph{subsection}.\arabic{subsection}}
\section{Third section}
\subsection{Fifth subsection}
\subsection{Sixth subsection}
\end{document}