配置:Windows 10, TeXLive2024, WinEdt
编译:XeLaTeX
一方面,将一级标题的编号改为了中文样式:
\renewcommand{\thesection}{\chinese{section}}另一方面,插图标题设置为了添加所在章节编号:
\numberwithin{figure}{section}但编译后发现,插图标题和图目录中的编号也是中文数字样式。请问如何在不影响一级标题编号样式修改的情况下,将插图标题的编号样式改为其他数字样式(e.g. 阿拉伯数字的)?
MWE:
\documentclass{article}
\usepackage[UTF8, heading=true]{ctex}
\usepackage{lipsum, zhlipsum}
% ---------- 示例区域(导言区) ---------- %
\renewcommand{\thesection}{\chinese{section}}
\usepackage{amsmath} %\numberwithin
\usepackage{graphicx}
\usepackage{float} %option H
\numberwithin{figure}{section}
% ======================================== %
\begin{document}
\tableofcontents
\listoffigures
\section{占位}
hallo LaTeX
% ---------- 示例区域(正文) ---------- %
\section{图片在这一章}
\begin{figure}[H]
\centering
\includegraphics[width=0.6\textwidth]{fig/示例图片1}
\caption{示例图片1}%\label{}
\end{figure}
% ======================================== %
\end{document} 
既然使用了 ctex,建议读一下 ctex 包手册,使用其接口
\ctexset{
section = {
name = {,},
number = \chinese{section}
}
}MWE
\documentclass{article}
\usepackage[UTF8, heading=true]{ctex}
\usepackage{lipsum, zhlipsum}
% ---------- 示例区域(导言区) ---------- %
% \renewcommand{\thesection}{\chinese{section}}
\usepackage{amsmath} %\numberwithin
\usepackage{graphicx}
\usepackage{float} %option H
\numberwithin{figure}{section}
% ======================================== %
\ctexset{
section = {
name = {,},
number = \chinese{section}
}
}
\begin{document}
\tableofcontents
\listoffigures
\section{占位}
hallo LaTeX
% ---------- 示例区域(正文) ---------- %
\section{图片在这一章}
\begin{figure}[H]
\caption{示例图片1}%\label{}
\end{figure}
% ======================================== %
\end{document} 
谢谢解惑。我之前考虑过
\ctexset{}的方案,只不过用的是\zhnumber命令,即:但在添加了
appendices环境所生成的附录后(由于需求原因,要在附录之后添加其他内容,因此不能用\appendix命令而是用appendices环境界定附录范围):所有章节的编号固定在了“零”、无计数行为,即:
以及:

请问
\zhnumber与\chinses在设置中文数字这一方面有什么区别呢?(ctex包手册中也未提及)\zhnumber用于将阿拉伯数字按照中文格式输出, 可以texdoc zhnumber查看其使用方法, 也即是说\zhnumber接受的参数应该是阿拉伯数字, 而不是计数器名称.\chinese是一种计数器格式, 类似于\arabic,\roman, ...,\alph等等. 接受参数为一个计数器名称.认真阅读手册,不要想当然的认为是这样.
好的明白,受教。