我创建了一个包含许多数学公式的外部参考文件。与此非常相似: 外部页面的脚注 这方程式.tex结构如下:
\documentclass[10pt]{article}
\usepackage{amssymb,amsmath}
%\usepackage{catchfilebetweentags}
\usepackage{stackengine} %% barbII
\usepackage{cancel}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage[overload]{empheq}
\newcommand{\for}{\text{for }}
\begin{document}
\begin{enumerate}
\item \underline{\textit{Principio di conservazione della massa }}:
%<*eq001>
\begin{center}
\begin{equation}\label{eq001}
\textbf{m} = \Intlim{V_{m}}\rho(x,t)\de{V}
\end{equation}
\end{center}
%</eq001>
%<*eq002>
\begin{center}
\begin{equation}\label{eq002}
\Dtot{m}{t} =\Dtot{}{t} \Intlim{V_{m}}\rho(x,t)\de{V} = 0
\end{equation}
\end{center}
%</eq002>
\item \underline{\textit{Principio di bilancio della quantità di moto}} (Eulero, 1752):
%<*eq003>
\begin{center}
\begin{equation}\label{eq003}
\textbf{q} = \Intlim{V_{m}}\rho\textbf{u}\de{V}
\end{equation}
\end{center}
%</eq003>
\end{enumerate}
\end{document}
在序言中主文本我插入了这个:
\usepackage{catchfilebetweentags}
\newcommand{\loadeq}[1]{%
\ExecuteMetaData[equations.tex]{eq#1}%
}
我把各种公式称为第一章.tex使用 loadeq {方程式编号} 命令:
bla bla bla bla bla bla bla
\loadeq{003}
问题出现于:
- 我想对齐两个方程;
\loadeq{003} = \loadeq{003}
- 我想对齐等式和文本;
ciao = \loadeq{003}
- 我想将特定的符号与等式对齐。
$\vec{\Pi}=$ \loadeq{003}
了解如何连接不同的\loadeq{arg}
答案1
你应该构造你的方程式。不需要catchfilebetweentags
。
下面,如果调用\useeq*{<number>}
,则保存的等式的两边都会排版;如果\useeq{<number>}
调用 ,则只排版右侧。如有需要,可以使用 轻松扩充,\useeq[<side>]{<number>}
其中<side>
是l
或 ,r
打印左侧或右侧。
\begin{filecontents}{antonio-equations}
\EQ{001}{
\mathbf{p} = \Intlim{V_{m}}\rho(x,t)\de{V}
}
\EQ{002}{
\Dtot{m}{t} = \Dtot{}{t} \Intlim{V_{m}}\rho(x,t)\de{V}
}
\EQ{003}{
\mathbf{q} = \Intlim{V_{m}}\rho\mathbf{u}\de{V}
}
\end{filecontents}
\documentclass{article}
\usepackage{amsmath}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand{\EQ}{mm}
{
\prop_new:c { g_antonio_eq_#1_prop }
\seq_set_split:Nnn \l__antonio_eq_temp_seq { = } { #2 }
\prop_gput:cnx { g_antonio_eq_#1_prop }
{ l } { \seq_item:Nn \l__antonio_eq_temp_seq { 1 } }
\prop_gput:cnx { g_antonio_eq_#1_prop }
{ r } { \seq_item:Nn \l__antonio_eq_temp_seq { 2 } }
}
\NewDocumentCommand{\useeq}{sm}
{
\IfBooleanT { #1 }
{
\prop_item:cn { g_antonio_eq_#2_prop } { l } =
}
\prop_item:cn { g_antonio_eq_#2_prop } { r }
}
\seq_new:N \l__antonio_eq_temp_seq
\ExplSyntaxOff
\newcommand{\de}[1]{\mathop{}\!d#1}
\newcommand{\Dtot}[2]{\frac{\de{#1}}{\de{#2}}}
\newcommand{\Intlim}[1]{\int\limits_{#1}}
\input{antonio-equations} % load the equations
\begin{document}
\begin{enumerate}
\item \textit{Principio di conservazione della massa}:
\begin{gather}
\useeq*{001} \label{eq001}
\\
\useeq*{002}=0 \label{eq002}
\end{gather}
\item \textit{Principio di bilancio della quantità di moto} (Eulero, 1752):
\begin{equation}
\useeq*{003} \label{eq003}
\end{equation}
\item Combiniamo
\begin{align}
\vec{\Pi} &= \useeq{001}
\\
x &= \useeq{003}
\end{align}
\end{enumerate}
\end{document}
请不要在斜体文本中加下划线:双重强调太多,并且下划线是印刷工不赞成的手段。
还要注意,你永远不应该被 包围equation
。center
并且绝不应按字面意思理解。还应equation
避免使用连续环境:amsmath
提供丰富的显示环境。