2009-06-16 3 views
5

У меня проблема с нумерацией теорем в LaTeX. Я могу сделать это число подраздела, напримерТеоретическая нумерация в LaTeX

теоремы 1.2.1

для первой теоремы во второй части первой секции. Но мне нужно, чтобы показать мне только номера подраздела и теоремы, но не номер раздела, как это:

теорема 2.1

я использую

\newtheorem{thm}{Theorem}[subsection] 

для нумерации.

+18

Пожалуйста, не делайте этого. Являясь частым читателем математических книг, я * ненавижу * это, когда книги используют этот стиль нумерации. Если вы это сделаете, то «Теорема 3.2» станет двусмысленной: она может ссылаться на многие возможные теоремы во многих местах и ​​не делает сложный материал более понятным. – kquinn

+1

Я на десять лет поздно отвечаю на kquinn, но я действительно никогда не считал это двусмысленным. Утверждение «Теорема 3.2» означает вторую теорему третьего раздела этой главы. Чтобы обратиться к другой главе, авторы скажут «Теорема 3.2 главы 1». Кроме того, мне гораздо легче читать теоремы как (а) большую часть времени, главы либо автономны, либо называются результатами из других разделов, на которые ссылаются, и (б) я лучше разбираюсь Английский, чем я, при анализе последовательностей цифр. –

+0

@BenKushigian задает вопрос о нумерации теорем, который сбрасывается с каждым новым * секцией *, а не с каждой новой главой – McDuffin

ответ

8

Собирает следующий код в преамбуле, кажется, желаемый эффект:

\usepackage{amsthm} 
\newtheorem{thm}{Theorem}[subsection] 
\renewcommand{\thethm}{\arabic{subsection}.\arabic{thm}} 

Я не понимаю, почему вы хотите именно этой систему нумерации теоремы, но код делает то, что вы хотите: LaTeX output

+1

Умный. Обратите внимание, что, хотя это и делает то, что было запрошено, это зависит от внутренних элементов amsthm, поэтому он может быть хрупким. Кроме того, разве это не путало бы читателей, поскольку у вас есть «Теорема 1.1» для первой теоремы в каждом пункте? – Naaff

+3

@Naaff Я прав, когда вы задаетесь вопросом, почему вопрос, который задает вопрос, хочет таким образом сформулировать теоремы. Я лично избегал двусмысленности перекрестных ссылок, которую вы упоминаете, придерживаясь стандартного раздела section.subsection.theorem или путем нумерации последовательностей без перезагрузки для всего документа. – las3rjock

+0

Что здесь делает «imagehack»? –

1

Это работает?

\newtheorem{thm}{Theorem}[section] 

См. Эти LaTeX tips.

+0

Я уже пробовал это. Это дает мне нумерацию, подобную этой 'section_number.theorem_number', но мне нужно' subsection_number.theorem_number' – jbradaric

+0

Ссылка на советы LaTeX нарушена – PaulrBear

-1

Вставьте эту строку в вашем преамбуле (или где-нибудь еще перед оператором \ newtheorem):

\renewcommand{\thesubsection}{\arabic{subsection}} 

Это сбросит команду нумерации среды THM игнорировать номера раздела (при нумерации теорем) и дисплей только номера подсекций и числа теорем. Номера разделов будут отображаться перед заголовками разделов, а не теоремами, включенными в разделы. Итак, как вы описали, первая теорема во втором подразделе первого раздела будет пронумерована 2.1. Альтернативы \ аравийские включают в себя:

  • \ Roman - производят капитальный римский номер, такие как II.1
  • \ романского - производит строчные римские цифры, например II.1
  • \ Альф - производит прописные буквы, такие как В.1
  • \ Альф - производит строчные буквы, такие как В.1
+0

Не повлияет ли это на заголовки заголовков с номерами? – las3rjock

+0

Да, вы правы, это приведет к тому, что нумерации теорем и нумерации заголовков подраздела будут игнорировать номера разделов. –

+0

Я * думаю *, хотя я не уверен, что вы можете сделать перенумерацию, специфичную для теорем, если вы включили строку \ renewcommand в определение среды \ newtheorem. Но, конечно, для этого потребуется вручную повторить реализацию определения \ newtheorem, что может и не стоить. –

1

Там нет легко способа сделать это. AMS Theorem Package предоставляет только способ управления при нумерации сбрасывания (раздел, подраздел), если он привязан к другим средам (следствие, лемма) и порядку чисел («1.1. Теорема» против «Теорема 1.1»).

Теорема получает свою нумерацию от команды \thesection или \thesubsection. Вы можете переопределить команду \thesubsection, чтобы получить нумерацию, которую хотите, но это также повлияет на все остальное, которое использует \thesubsection.

-2

Вы можете использовать эту команду для возобновлять команду раздел и подраздел и теорема-х и ...

\renewcommand{\theequation}{\thesection.\arabic{equation}} 
\renewcommand{\thesection}{\arabic{section}} 
\renewcommand{\thesubsection}{(\alph{subsection})}‎‎‎ 
0

В качестве слегка менее Hacky образом, вы можете создать фальшивый счетчик, который сбрасывается с subsection и переопределить его \the по своему вкусу:

\newcounter{fakecnt}[subsection] 
\def\thefakecnt{\arabic{subsection}} 
\newtheorem{thm}{Theorem}[fakecnt] 
Смежные вопросы