![使用 multicol 捕获文件间标签错误](https://linux22.com/image/315231/%E4%BD%BF%E7%94%A8%20multicol%20%E6%8D%95%E8%8E%B7%E6%96%87%E4%BB%B6%E9%97%B4%E6%A0%87%E7%AD%BE%E9%94%99%E8%AF%AF.png)
我正在使用该catchfilebetweentags
库将方程式存储在外部文件中,然后将其导入我的文档中。当您需要在多个文档中使用相同的方程式时,这很有用。这适用于简单的方程式,但与包一起使用时会引入偏移误差multicols
。有人知道这个问题的解决方案吗?
平均能量损失
main.tex
\documentclass{article}
\usepackage{amsmath}
\usepackage{catchfilebetweentags}
\usepackage{multicol}
\newcommand{\loadeq}[1] {
\ExecuteMetaData[./equations.tex]{eq#1}
}
\begin{document}
Loading equations from external file:
\loadeq{001}
Local equations:
\begin{multicols}{2}
\begin{equation}
\label{equ:X2}
X =
\begin{bmatrix}
X_0 \\
X_1 \\
X_2 \\
X_3
\end{bmatrix}
\end{equation}
\begin{equation}
\label{equ:Y2}
Y =
\begin{bmatrix}
Y_0 \\
Y_1 \\
Y_2 \\
Y_3
\end{bmatrix}
\end{equation}
\end{multicols}
\end{document}
equations.tex
\documentclass{article}
\begin{document}
%<*eq001>
\begin{multicols}{2}
\begin{equation}
\label{equ:X}
X =
\begin{bmatrix}
X_0 \\
X_1 \\
X_2 \\
X_3
\end{bmatrix}
\end{equation}
\begin{equation}
\label{equ:Y}
Y =
\begin{bmatrix}
Y_0 \\
Y_1 \\
Y_2 \\
Y_3
\end{bmatrix}
\end{equation}
\end{multicols}
%</eq001>
\end{document}
答案1
问题是catchfilebetweentags
忽略了空白行。如果你删除“本地”部分的空白行,结果是一样的。
解决方法:\par
在辅助文件中使用而不是空行。
\documentclass{article}
\begin{document}
%<*eq001>
\begin{multicols}{2}
\begin{equation}
\label{equ:X}
X =
\begin{bmatrix}
X_0 \\
X_1 \\
X_2 \\
X_3
\end{bmatrix}
\end{equation}
\par
\begin{equation}
\label{equ:Y}
Y =
\begin{bmatrix}
Y_0 \\
Y_1 \\
Y_2 \\
Y_3
\end{bmatrix}
\end{equation}
\end{multicols}
%</eq001>
\end{document}
但是,用来multicol
并排显示方程式并不是最好的方法,我会选择两个minipage
。