Как определить два счетчика в LaTeX? - PullRequest
0 голосов
/ 08 июля 2010

В одном документе я хочу, чтобы два счетчика «теорема» и «подраздел» были одним и тем же. Есть идеи?

Редактировать: Поскольку математические части потенциально запутаны, я перефразирую вопрос следующим образом без каких-либо ссылок.

Я использую определенный счетчик «mycounter» для подсчета чего-либо, и этот счетчик предопределен в определенном пакете. Когда подраздел поднимается, я хочу, чтобы «mycounter» пошел вверх. И наоборот. Когда подраздел сбрасывается, я хочу, чтобы "mycounter" был сброшен.

Это то, чего я надеюсь достичь, идентифицируя два счетчика.

Ответы [ 4 ]

2 голосов
/ 08 июля 2010

Герберт Сизт почти у цели.

\newtheorem{theorem}{Theorem}[subsection] будет нумеровать теоремы в пределах подразделов (т. Е. Теоремы в разделе 1.2 будут 1.2.1, 1.2.2 и т. Д.)Вместо этого \newtheorem{theorem}[subsection]{Theorem}, кажется, делает то, что требует OP.Раздел 1.5 (скажем) будет сопровождаться теоремой 1.6, за которой следует раздел 1.7.Теорема отформатирована иначе, чем разделы.

Альтернативный способ - сделать

\def\theorem#1{\begingroup
  \let\tempsubsection\thesubsection
  \def\thesubsection{Thm.~\tempsubsection}%
  \subsection{#1}%
  \endgroup
}

Это немного более "домашний", но делает теоремы точно такими же, как и \subsection что может или не может быть тем, что требуется.

1 голос
/ 08 июля 2010

Я думаю, что один из способов сделать это - создать пользовательский счетчик (скажем, «mycounter»), а затем изменить команды секций и теорем, чтобы оба (1) использовали этот счетчик вместо встроенных \ thesectionили \ thetheorem и (2) для автоматического увеличения вашего общего пользовательского счетчика при каждом его использовании.

Я считаю, что пакеты titlesec или secsty позволят вам переопределить стили раздела для использования и увеличить свой пользовательский счетчик,Не уверен насчет теорем, но я предполагаю, что есть какой-то пакет, который позволил бы вам их тоже модифицировать.

Это всего лишь один подход.Не уверен, что есть что-то, что будет чище или проще.Мне кажется, это довольно простой и понятный метод, хотя мне пришлось бы просматривать документы о том, как использовать пользовательские счетчики, не зная, где он находится в Интернете, я знаю, что есть много информации в Руководстве по латексу от Kopka..

РЕДАКТИРОВАТЬ: Извините, может быть, выше, это больше, чем нужно, я не занимаюсь математикой с LaTeX и ничего не знаю о команде / среде Теорема.Может ли быть так, что вы можете определить теорему окружения, которая автоматически использует нумерацию разделов?Мне интересно, что после просмотра этой страницы: http://www.maths.tcd.ie/~dwilkins/LaTeXPrimer/Theorems.html

EDIT_2: после просмотра Руководства Копки, да, похоже, что вы можете использовать команду \ newtheorem для создания среды теорем, в которой используется счетчик сечений,Например, \ newtheorem {теорема} {теорема} [подраздел] создаст новую среду "теоремы", в которой используется счетчик подразделов.Не уверен, что тогда его можно перемежать с подразделами и правильно увеличивать его и сбрасывать при каждом новом «разделе», но я ожидаю, что это идея.

0 голосов
/ 08 июля 2010

Это пример ответа, который дал Норман Грей, который мне очень нравится, когда я его запускаю.Очень хороший Норман, спасибо.(Вы можете поменять местами элементы [подраздел] и {Теорема} в строке \ newtheorem, чтобы увидеть, как это влияет на вещи.

0 голосов
/ 08 июля 2010

Это не очевидно, но изначально кажется, что это почти дубликат другой вопрос ;но это не совсем та же проблема.То, о чем вы конкретно просите, может быть решено аналогичным хакерским способом, но не совсем понятно, о чем вы просите - есть ли более «мета» версия вашего вопроса?

Идея, что вы хотите объявить каждую теорему в отдельном подразделе, и поэтому хотите сослаться на нее по этому номеру?В этом случае, ...see Theorem~\ref{sec:foo} может получить вас как минимум на полпути без какой-либо специальной настройки.

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