我即将在大学提交一份报告,需要对方程式进行一些格式化。
好像还不够清楚,他们希望我把方程式像表格或图形一样进行编号,我的意思是他们希望我把方程式编号为:方程式 1.1,而不仅仅是 (1.1)
我已经解决了这个问题,更新了命令\theequation
,\renewcommand{\theequation}{Ecuación \thechapter.\arabic{equation}}
但我遇到了一些问题:
- 我需要去掉括号。
- 当进行交叉引用时,我打印了单词 Ecuación。
我已经阅读过 amsmath 文档,但没有找到任何可以帮助我的东西,如何解决这个问题?
\documentclass[a4paper, 12pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[spanish,mexico]{babel}
\usepackage{amsmath}
\renewcommand{\theequation}{Ecuación \thechapter.\arabic{equation}}
\begin{document}
\chapter{Test}
See test equation \eqref{eq:test}
\begin{equation}
a+b=c^2 \label{eq:test}
\end{equation}
\end{document}
答案1
\tagform@
公式标签由具有默认定义的宏格式化
\def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip\@@italiccorr)}}
您可以重新定义它以使用所需的格式。
关于您的第二点:\eqref
旨在以与方程式标签中出现的格式相同的格式输出方程式编号(使用\tagform@
)。如果您只想要方程式的编号而不进行任何格式设置,则只需使用\ref
即可。
\documentclass[a4paper, 12pt]{report}
\usepackage[spanish,mexico]{babel}
\usepackage{amsmath}
\makeatletter
\renewcommand*\tagform@[1]{\maketag@@@{Ecuación~\ignorespaces #1\unskip\@@italiccorr}}
\makeatother
\begin{document}
\chapter{Test}
See test equation \eqref{eq:test}
\begin{equation}
a+b=c^2 \label{eq:test}
\end{equation}
You can also just reference the equation number: \ref{eq:test}
\end{document}
答案2
不太确定您想要什么交叉引用,但据我所知,这是如何做到的:对于括号,您可以使用中的\newtagform
和\usetagform
命令mathtools
。对于引用,只需使用\ref
而不是\eqref
。我添加了一个默认的示例\cref
,cleveref
可以自定义。
笔记:如果您还加载hyperref
,则 cleveref 必须在前一个包之后加载,并且两者都必须在前言末尾加载。
\documentclass[a4paper, 12pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[spanish,mexico]{babel}
\usepackage{mathtools}
\usepackage{cleveref}
\newtagform{Eq}{Ecuación\;}{}
\usetagform{Eq}
\begin{document}
\chapter{Test}
See test \ref{eq:test} or, with cleveref: see \cref{eq:test}
\begin{equation}
a+b=c^2 \label{eq:test}
\end{equation}
\end{document}