Kategoria: LaTeX

LaTeX FAQ Numeracja

2008 Styczeń 23 – 01:51

Jak zmienić wygląd automatycznej numeracji theoremów ?
Np. żeby zamiast „1.2.3” otrzymać „1.2.3.” (kropka na końcu).

Metod jest prawdopodobnie kilka, na myśl przychodzi mi w miarę proste rozwiązanie przedefiniowania komendy \thetheorem odpowiedzialnej za wygląd numeracji. Komenda \thetheorem jest wywoływana przy każdym wywołaniu środowiska (np \begin{theorem}, \begin{definition}) i odpowiada ona licznikowi theorem.
Jako że z natury licznik theorem stosuje się jednocześnie do większości środowisk (czyli theorem, definition, uwaga mają niepowtarzalne numery), upraszcza to sprawę gdyż wystarczy przedefiniować tylko jeden licznik, naturalnie theorem, wywolywany przez komende \thetheorem. Czyli

\renewcommand{\thetheorem}{\thesection.\arabic{theorem}.}

da efekt typu „1.1.„, „1.2.” itp przy czym pierwsza cyferka to numer section (wywołany komendą \thesection), a druga to numer twierdzenia/definicji w danym section.
Jeśli chcemy zachować trzy cyferki, tak jak jest w pytaniu to zakładam że są one zdefiniowane nasępująco „sekcja.subsekcja.nr_theorem” (domyślnie). Tak więc zamiast \thesection piszemy \thesubsection

\renewcommand{\thetheorem}{\thesubsection.\arabic{theorem}.}

da efekt typu „1.1.1.„, „1.1.2.” itp. Ciekawe ze funkcja \thesubsection wyświetla od razu numeracje w stylu „sekcja.subsekcja„, tak że nie ma potrzeby wywoływania \thesection.

WAZNE: \renewcommand powinno byc po definicji \newtheorem (ponieważ funkcja \newtheorem dopiero tworzy odpowiedni licznik). Użycie \newtheorem przed \renewcommand spowoduje eror, ponieważ nie można przedefiniować nieistniejącej jeszcze komendy.

Na ten temat można również poczytać na:
http://noodle.med.yale.edu/latex/latex2e-html/ltx-3.html

  1. 1 Trackback(s)

  2. Maj 19, 2008: LaTeX FAQ Footnote | Jedrzej Schmeidel (aka Yunnan)

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *