2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Автоматическая нумерация своих команд
Сообщение22.11.2015, 21:08 


23/10/15
4
Доброго времени суток!

Возникла проблема с нумерацией алгоритмов.

Сначала создаю свой счетчик и новую команду для оформления алгоритмов в документе.
Код:
\newcounter{algs}
\setcounter{algs}{0}
\newcommand{\alg}{\addtocounter{algs}{1}%
\textbf{Алгоритм \arabic{algs}.} }


Далее в тексте имеется такая структура:
Код:
\chapter{Названиме главы}
\section{Подзаголовок}
\textbf{\alg{\label{alg1}} Название алгоритма.}


Когда в документе встречается:
Код:
Алгоритм \ref{alg1}

выводится номер подзаголовка (section), а не номер алгоритма.

Подскажите, как пронумеровать алгоритм?

 Профиль  
                  
 
 Re: Автоматическая нумерация своих команд
Сообщение22.11.2015, 22:15 
Заслуженный участник
Аватара пользователя


31/01/14
11348
Hogtown
deniskat в сообщении #1075772 писал(а):
Подскажите, как пронумеровать алгоритм?


deniskat в сообщении #1075772 писал(а):
Используется синтаксис LaTeX
\newcommand{\alg}{\addtocounter{algs}{1}%
\textbf{Алгоритм \arabic{algs}.} }


Никак. Так введённый "алгоритм" не нумеруется, потому что это не environment. А как правильно? Самое простое в преамбуле

Используется синтаксис LaTeX
\usepackage{amsthm}
\theoremstyle{definition}
\newtheorem{algorithm}{Алгоритм}
 

а затем

Используется синтаксис LaTeX
\begin{algorithm}\label{alg-1}
Дёрнуть козу за хвост и отскочить
\end{algorithm}
 

 Профиль  
                  
 
 Re: Автоматическая нумерация своих команд
Сообщение22.11.2015, 22:21 


06/06/13
71
Чтобы увеличить счетчик на 1, можно использовать команду \stepcounter{counter}. Она также обнуляет все "подчиненные" счетчики. Подчиненный счетчик -- этот тот, который объявлен командой \newcounter{subordinate}[counter].

Чтобы делать то же, но еще и объявлять ссылку, на которую реагирует команда \label, есть команда \refstepcounter{counter}.

Но лучше действительно воспользоваться каким-нибудь пакетом для оформления алгоритмов, например, listings.

 Профиль  
                  
 
 Re: Автоматическая нумерация своих команд
Сообщение22.11.2015, 23:06 


13/07/14
257
И, на всякий случай, пример применения разных листинговых вариантов:
http://github.com/AndreyAkinshin/Russian-Phd-LaTeX-Dissertation-Template/blob/master/Dissertation/appendix.tex

 Профиль  
                  
 
 Re: Автоматическая нумерация своих команд
Сообщение22.11.2015, 23:56 


23/10/15
4
Огромное всем спасибо за помощь! Заработало :D
За подсказку с листингами - отдельное спасибо. Очень полезная вещь для оформления кода :D

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group