我正在尝试制作一个盒子中的盒子,盒子外面有方程式计数器。第一幅图像可以通过我的代码获取,如下所示,
\documentclass[a4paper]{article}
\usepackage{amsmath,amssymb,array,cases}
\usepackage{empheq}
\newcommand*\widefbox[1]{\fbox{\hspace{2em}#1\hspace{2em}}}
\usepackage{tikz}
\usetikzlibrary{math}
\usetikzlibrary{tikzmark}
\begin{document}
This is what I get as follows:
\begin{empheq}[left=(M)\qquad, innerbox=\widefbox]{align}
&\text{The equations are given as follows:} \notag\\
&\qquad M=A+B \\
&\qquad c=a+b \\
&\qquad d=b+c \\
&\text{where} \notag\\
&\qquad A=C+D \\
& \qquad a=f+g \\
& \qquad b=e+f
\end{empheq}
By tikzmark, the result what I obtain is not my desired one in the following.
\begin{tikzpicture}[remember picture,overlay]
\draw ([yshift=-3mm,xshift=3cm]{pic cs:start}) rectangle ([yshift=1mm,xshift=-2cm]{pic cs:end});
\end{tikzpicture}
\tikzmark{start}
\begin{align}
&\text{Equations are as follows:} \notag\\
&\qquad M=A+B
\end{align}
\begin{empheq}[box=\fbox]{align}
c=a+b \\
d=b+c
\end{empheq}
\begin{align}
&\text{where} \notag\\
&A=C+D
\end{align}
\begin{empheq}[box=\fbox]{align}
a=f+g \\
b=e+f
\end{empheq}
\hfill
\tikzmark{end}
\end{document}
你能帮帮我吗?非常感谢。
答案1
在您的尝试中,您并没有真正使用该tikzmark
库。
现在,在一个真实的例子中,您应该注意并SEn
在最长的方程上设置第二个标记(在我的例子中),然后相应地调整校正坐标。
代码
\documentclass[a4paper]{article}
\usepackage{amsmath,amssymb,array,cases}
\usepackage{empheq}
\newcommand*\widefbox[1]{\fbox{\hspace{2em}#1\hspace{2em}}}
\usepackage{tikz}
\usetikzlibrary{math, calc}
\usetikzlibrary{tikzmark}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\begin{empheq}[left=(M)\qquad, innerbox=\widefbox]{align}
&\text{The equations are given as follows:} \notag\\
&\qquad M=A+B \\
&\qquad \tikzmark{NW1} c=a+b \\
&\qquad d=b+c \tikzmark{SE1}\\
&\text{where} \notag\\
&\qquad A=C+D \\
& \qquad \tikzmark{NW2} a=f+g \\
& \qquad b=e+f \tikzmark{SE2}
\end{empheq}
\begin{tikzpicture}[remember picture]
\draw[overlay] ($(pic cs:NW1)+(-1ex, 2.5ex)$)
rectangle ($(pic cs:SE1)+(1ex, -1ex)$);
\draw[overlay] ($(pic cs:NW2)+(-1ex, 2.5ex)$)
rectangle ($(pic cs:SE2)+(1ex, -1ex)$);
\end{tikzpicture}
\lipsum[2]
\end{document}