在以下的排版中,有以下两处希望改进:
\thesection
计数器前加入Section Sign\S{}
,但在公式编号中不要加入该符号.此前听说过counterwithout
命令,但尝试未能解决(希望编译结果中的公式不带S{}符号).amsmath
宏包提供的subequations
环境排版形如(2.3a)的命令时,希望使用\eqref
命令引用带后缀的形如(2.3a)形式的序号,而不是公式(2.3)的序号。在amsmath
宏包中未找到有关介绍。以下是MWE和部分希望达到的修改效果图
\documentclass[12pt]{ctexart}
\usepackage[margin=2cm]{geometry}
\usepackage{amsmath}
\usepackage{lipsum}
\usepackage{hyperref}
\renewcommand{\thesection}{\S{}\arabic{section}}
\renewcommand{\thesubsection}{\arabic{section}.\arabic{subsection}}
\numberwithin{equation}{section}
\begin{document}
\section{The First Section}
这是一段乱糟糟的话\ref{eq:abc}.其中引用了一个公式.根据\eqref{eq:abc},我们可以知道这个世界的秘密是这样的:\lipsum[8]
\subsection{A subsection}
\begin{equation}
a^2+b^2=c^2
\end{equation}
\lipsum[1]
\begin{equation}
3^2+4^2=5^2
\end{equation}
\subsection{A subsection}
\begin{equation}
a^2+b^2=c^2
\end{equation}
\begin{equation}
3^2+4^2=5^2
\end{equation}
\subsection{A subsection}
\begin{equation}
a^2+b^2=c^2
\end{equation}
\section{The Second Section}
\begin{equation}
a^2+b^2=c^2
\end{equation}
\begin{equation}
3^2+4^2=5^2
\end{equation}
\lipsum[2]
\subsection{A subsection}
\begin{equation}
a^2+b^2=c^2
\end{equation}
\begin{equation}
3^2+4^2=5^2
\end{equation}
\subsection{A subsection}
\begin{equation}
a^2+b^2=c^2
\label{eq:abc}
\end{equation}
\lipsum[3]
\begin{equation}
\sum_{n=1}^{\infty} \frac{1}{n^2} = \frac{\pi^2}{6}
\end{equation}
\section{The Third Section}
\begin{equation}
\sum_{n=1}^{\infty} \frac{1}{n^2} = \frac{\pi^2}{6}
\end{equation}
下面尝试使用\verb|amsmath|宏包提供的包装公式环境\verb|subequations|实现.
\begin{subequations}
\begin{align}
\sum_{n=1}^{\infty} \frac{1}{n^2} &= \frac{\pi^1}{1111} \\
\sum_{n=1}^{\infty} \frac{1}{n^2} &= \frac{\pi^2}{2222} \\
\sum_{n=1}^{\infty} \frac{1}{n^2} &= \frac{\pi^3}{3333} \\
\sum_{n=1}^{\infty} \frac{1}{n^2} &= \frac{\pi^4}{4444}
\end{align}
\label{eq:mult-lines}
\end{subequations}
本句交叉引用整个公式.生活就像海洋,只有意志坚强的人才能到达彼岸\eqref{eq:mult-lines}.
本句交叉引用子公式(what I mean is just like 3.2c).生活就像海洋,只有意志坚强的人才能到达彼岸.
\lipsum[4]
\begin{subequations}
\renewcommand{\theequation}{\theparentequation-\roman{equation}-\alph{equation}-以及公式\textbf{编号}\chinese{equation}}
\begin{align}
\sum_{n=1}^{\infty} \frac{1}{n^2} &= \frac{\pi^1}{1111} \\
\sum_{n=1}^{\infty} \frac{1}{n^2} &= \frac{\pi^2}{2222} \\
\sum_{n=1}^{\infty} \frac{1}{n^2} &= \frac{\pi^3}{3333} \\
\sum_{n=1}^{\infty} \frac{1}{n^2} &= \frac{\pi^4}{4444}
\end{align}
\label{eq:mult-lines-pro}
\end{subequations}
\lipsum[9]
\begin{equation}
\sum_{n=1}^{\infty} \frac{1}{n^2} = \frac{\pi^2}{6}
\end{equation}
\end{document}
也许这个MWE没有那么M,抱歉
可以使用一个宏 \@addtoreset
来更新 equation
计数器, 可用的代码如下:
\documentclass{article}
\usepackage{amsmath}
\usepackage{lipsum}
\renewcommand{\thesection}{\S{}\arabic{section}}
\makeatletter
\@addtoreset{equation}{section}
\renewcommand{\theequation}{\arabic{section}.\arabic{equation}}
\makeatother
\begin{document}
\tableofcontents
\vspace*{8em}
\section{equation sign}
\begin{align}
a^2 + b^2 = c^2 \\
a^2 + b^2 = c^2 \\
1 + 1 = 3
\end{align}
\section{ref style}
\begin{subequations}
\begin{align}
\sum_{n=1}^{\infty} \frac{1}{n^2} &= \frac{\pi^1}{1111} \\
\sum_{n=1}^{\infty} \frac{1}{n^2} &= \frac{\pi^2}{2222} \\
\sum_{n=1}^{\infty} \frac{1}{n^2} &= \frac{\pi^3}{3333} \\
\sum_{n=1}^{\infty} \frac{1}{n^2} &= \frac{\pi^4}{4444}\label{eq:pythagoras}
\end{align}
\label{eq:mult-lines}
\end{subequations}
Hello world \ref{eq:pythagoras}, equation ref style: \eqref{eq:pythagoras}
\end{document}
编译结果:
把
\renewcommand{\theequation}{\arabic{section}.\arabic{subsection}\alph{equation}}
放在导言区的
\numberwithin{equation}{section}
下面看看是不是你想要的效果
浅浅自问自答一下,感谢啸行大佬的热情帮助,要想实现这一效果的话,还可以直接借助ctex
宏包提供的format
选项实现这一效果.
\documentclass[12pt]{ctexart}
\usepackage[margin=1in]{geometry}
\usepackage{amsmath}
\usepackage{hyperref}
\usepackage{lipsum}
\ctexset{
section/name = {\S},
subsection/name = {\S},
}
\numberwithin{equation}{section}
\begin{document}
\section{equation sign}
\subsection{first subsection}
\begin{align}
a^2 + b^2 = c^2 \\
1 + 1 = 3
\end{align}
\subsection{second subsection}
This is a text paragraph.
\section{ref style}
\subsection{A subsection}
\begin{subequations}
\begin{align}
\sum_{n=1}^{\infty} \frac{1}{n^2} &= \frac{\pi^1}{1111} \\
\sum_{n=1}^{\infty} \frac{1}{n^2} &= \frac{\pi^2}{2222} \\
\sum_{n=1}^{\infty} \frac{1}{n^2} &= \frac{\pi^3}{3333} \\
\sum_{n=1}^{\infty} \frac{1}{n^2} &= \frac{\pi^4}{4444}\label{eq:pythagoras}
\end{align}
\label{eq:mult-lines}
\end{subequations}
\subsection{Another subsection}
\begin{equation}
a^2+b^2=c^2
\end{equation}
Hello world \ref{eq:pythagoras}, equation ref style: \eqref{eq:pythagoras}
\end{document}
谢谢你,但如此做后会出现subequations公式的混乱(如下图).
@u70550 我不知道你做了怎样的导言区声明,按照我上面的导言区设置,我试着编译了一下,并没有能够复现你说的
subequations 公式混乱
问题, 我所使用的mwe
如下:编译结果如下:
如果仍有问题,请提供
mwe
.@u73286 我的回复是针对 楼主 @u88869 提供的可能的处理方法 的,不是已采纳的答案,使用
@addtoreset
可以完美解决该问题. 再次感谢!把
放在导言区的
下面看看是不是你想要的效果