Я создал пример среды для своих математических заметок. Он берет заголовок примера в качестве входных данных и рисует несколько строк с помощью tikz. Однако для этого требуется длина заголовка.
Это относительно легко сделать, когда среда вызывается только один раз с использованием \newlength{\lengthname}
, за которым следует \settowidth{\lengthname}{[length]}
. Однако, как только он вызывается более одного раза, необходимо определить другую длину. Мой (по общему признанию плохой) обходной путь заключался в том, чтобы передавать имя разной длины, #2
, каждый раз, когда я использую свою примерную среду.
Как мне создать уникальный \newlength{\unique}
каждый раз, когда я использую свою среду, или есть ли лучший способ достичь моей цели?
\newenvironment{example}[2] % Example Environment
{\refstepcounter{example}
\newlength{#2}
\settowidth{#2}{\small \textbf{Example \thesection.\theexample} --- #1}
\bigskip\begin{tikzpicture}
\draw (-0.5\columnwidth,-0.2)--(-0.5\columnwidth,0)--(0.5\columnwidth,0)--(0.5\columnwidth,-0.2);
\fill[white] (-0.5#2-5pt,-1pt) rectangle (0.5#2+5pt,1pt);
\tikzlabel{0}{-0.4}{\text{\small \textbf{Example \thesection.\theexample} --- #1}}
\end{tikzpicture}}
%
{\begin{tikzpicture}
\draw (-0.5\columnwidth,0.2) -- (-0.5\columnwidth,0) -- (0.5\columnwidth,0) -- (0.5\columnwidth,0.2);
\end{tikzpicture}}
Большое спасибо.