提问于:
浏览数:
3540
## 编译环境
操作系统:Windows 10
Tex发行版:TeXLive 2020
## 我的问题
我希望在 LaTeX 原有的公式基础之上增加以下实现:
- 公式编号形如 `式 (2-13)`;
- 公式与编号之间用“……”(或类似 `\dotfill` 的点线)连接;
目前参考`texdoc amsmath`仅实现了第一点,对于第二点无从下手;代码如下。求指教,多谢。
```TeX
\documentclass[zihao=-4]{ctexbook}
\usepackage{amsmath,hyperref}
\newcommand\equationname{式}
\makeatletter
\def\tagform@#1{\maketag@@@{\equationname(\ignorespaces#1\unskip\@@italiccorr)}}
\renewcommand{\eqref}[1]{\equationname~\textup{(\ref{#1})}}
\renewcommand{\theequation}{\thechapter-\arabic{equation}}
\makeatother
\begin{document}
\chapter{例子}
\begin{equation}\label{1}
a+b=c
\end{equation}
参见\eqref{1}
\end{document}
```
1 回答
7
使用这段代码所产生的任何后果都与我无关。
------------
想看懂可以去看 `texdoc source2e` 然后找到 ` ltmath.dtx`,自己慢慢看定义。我只改了两处地方,出现任何后果都与我无关。
```tex
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\renewenvironment{equation}%
{\@beginparpenalty\predisplaypenalty
\@endparpenalty\postdisplaypenalty
\refstepcounter{equation}%
\trivlist \item[]\leavevmode
\hb@xt@\linewidth\bgroup $\m@th% $
\displaystyle
\hspace*{\fill}}
{$\hskip .3em minus.3em\dotfill % $
\displaywidth\linewidth\hbox{\@eqnnum}%
\egroup
\endtrivlist}
\makeatother
\begin{document}
\begin{equation}
E=mc^2
\end{equation}
\end{document}
```
-
非常感谢! – U22018 2020-11-08 12:48 回复
你的回答
请登录后回答
你的回答将会帮助更多人,请务必认真回答问题。