Помеченные константы в LaTeX - PullRequest
5 голосов
/ 29 июня 2010

У меня есть несколько лемм, в которых я указываю константы $ C_1 $, $ C_2 $ и т. Д. Для дальнейшего использования.Естественно, это раздражает, когда я позже вставляю новое определение константы в середину.Что мне нужно, так это макрос, который позволяет мне назначать метки константам и обрабатывать нумерацию для меня.Я думаю о чем-то вроде

%% Pseudocode
\begin{lemma}
    \newconstant{important-bound}
    We will show that $f(x) \le \ref{important-bound} g(x)$ for all $x$.
\end{lemma}

Возможно ли это?

Ответы [ 3 ]

3 голосов
/ 30 июня 2010

Расширение предложений rcollyer об использовании счетчика:

%counter of current constant number:    
  \newcounter{constant} 
%defines a new constant, but does not typeset anything:
  \newcommand{\newconstant}[1]{\refstepcounter{constant}\label{#1}} 
%typesets named constant:
  \newcommand{\useconstant}[1]{C_{\ref{#1}}}

(Этот код был отредактирован, чтобы разрешить метки длиннее одного символа)

А вот фрагмент кода, который, кажется, работает:

I want to define two constants:\newconstant{A}\newconstant{B}$\useconstant{A}$ and
$\useconstant{B}$. Then I want to use $\useconstant{A}$ again.
0 голосов
/ 30 сентября 2012

Расширяя ответ Анико, я использовал этот многослойный макрос , так что он создал сокращение для метки,

\newcounter{constant}
\newcommand{\newconstant}[1]{\refstepcounter{constant}\label{#1}}
\newcommand{\useconstant}[1]{C_{\ref{#1}}}
\newcommand{\defconstant}[1]{ \newconstant{c_#1}\expandafter\newcommand\csname c#1\endcsname{\useconstant{c_#1}} }  %

Таким образом, чтобы использовать это, вы должны сделать

\defconstant{a}
\defconstant{b}
There exist constant $\ca$ and $\cb$ such that ....

старайтесь не перезаписывать существующие команды (я уверен, что это все равно вас предупредит)

0 голосов
/ 29 июня 2010

Что вам нужно, так это создать свой собственный counter .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...