
對於我的論文,我想將定理放在一個特殊的框框中,為此我創建了一個\specialbox
利用 的命令\stackinset
,這樣我就可以得到圍繞定理的部分框架。其設計歸功於 Steven B. Segletes,我找到了設計這裡。下面我附上了一張圖片來說明設計和問題(見下文),下面我還包括了 MWE。
問題:對於我已經使用過\stackinset
四次的設計。如下圖所示,我們從定理 I 和方程式 (1) 到定理 XVII 和方程式 (17),即兩者都增加了 16 \stackinset
。的情況下\stackinset
,計數器增加 2^4 = 16。有人知道解決這個問題的方法嗎?
\documentclass[10pt,a4paper]{article}
%%% Load packages
\usepackage{stackengine}
\usepackage{amsmath}
%%% Define special box
% \specialbox{<rule width>}{<rule length hori>}{<rule length vert>}{<distance from text>}{<text>}
\newcommand{\specialbox}[5]{%
\stackinset{l}{}{t}{}{ \rule{#2}{#1} }{%
\stackinset{l}{}{t}{}{ \rule{#1}{#3} }{%
\stackinset{r}{-#1-#4}{b}{}{ \rule{#2}{#1} }{%
\stackinset{r}{-#1-#4}{b}{-#1-#4}{ \rule{#1}{#3} }{%
\hspace{\dimexpr #1+#4} \parbox{\dimexpr\textwidth-#4-#4-#1-#1}{
\vspace{\dimexpr #1+#4} #5}}}}}}
%%% Define counter
\newcounter{myThm}
\setcounter{myThm}{0}
\renewcommand*{\themyThm}{\Roman{myThm}}
\newcommand{\mythm}{ \refstepcounter{myThm} {\bfseries Theorem \themyThm.} }
\begin{document}
\specialbox{1.5pt}{35pt}{35pt}{10pt}{%
\mythm \\
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.
\begin{align}\label{eq}
\dot{x}(t) = f\big( t,x(t) \big)
\end{align}
Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt.
}
\vspace{30pt}
\specialbox{1.5pt}{35pt}{35pt}{10pt}{%
\mythm \\
Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.
\begin{align}\label{eq}
\dot{y}(t) = g\big( t,y(t) \big)
\end{align}
Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui.
}
\end{document}
答案1
在 的定義中,在呼叫 s 之前\specialbox
將參數儲存到儲存中,現在應用於儲存(名為)而不是原始參數本身。\parbox
\stackinset
\parbox
\tmpbox
\documentclass[10pt,a4paper]{article}
%%% Load packages
\usepackage{stackengine}
\usepackage{amsmath}
%%% Define special box
% \specialbox{<rule width>}{<rule length hori>}{<rule length vert>}{<distance from text>}{<text>}
\newcommand{\specialbox}[5]{%
\savestack\tmpbox{\parbox{\dimexpr\textwidth-#4-#4-#1-#1}{%
\vspace{\dimexpr #1+#4} #5}}
\stackinset{l}{}{t}{}{ \rule{#2}{#1} }{%
\stackinset{l}{}{t}{}{ \rule{#1}{#3} }{%
\stackinset{r}{-#1-#4}{b}{}{ \rule{#2}{#1} }{%
\stackinset{r}{-#1-#4}{b}{-#1-#4}{ \rule{#1}{#3} }{%
\hspace{\dimexpr #1+#4} \tmpbox}}}}}
%%% Define counter
\newcounter{myThm}
\setcounter{myThm}{0}
\renewcommand*{\themyThm}{\Roman{myThm}}
\newcommand{\mythm}{ \refstepcounter{myThm} {\bfseries Theorem \themyThm.} }
\begin{document}
\specialbox{1.5pt}{35pt}{35pt}{10pt}{%
\mythm \\
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.
\begin{align}\label{eq}
\dot{x}(t) = f\big( t,x(t) \big)
\end{align}
Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt.
}
\vspace{30pt}
\specialbox{1.5pt}{35pt}{35pt}{10pt}{%
\mythm \\
Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.
\begin{align}\label{eq}
\dot{y}(t) = g\big( t,y(t) \big)
\end{align}
Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui.
}
\end{document}