2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Счётчики страниц, рисунков и прочего в LaTeX
Сообщение02.06.2010, 08:18 


02/06/10
2
Приветствую!

Хотел бы добавить в аннотацию число страниц и рисунков в тексте, но нашёл способ только для числа страниц (пакет lastpage и \pageref{LastPage}) и способ для указания числа объектов до текущего момента (стандартные LaTeX счётчики). Может кто-нибудь сможет подсказать как получить число рисунков в начале документа или общее решение для подсчёта разных объектов (страницы, рисунки, таблицы, библиография)?

Спасибо

 Профиль  
                  
 
 Re: Счётчики страниц, рисунков и прочего в LaTeX
Сообщение02.06.2010, 14:02 
Заслуженный участник
Аватара пользователя


14/02/07
2648
Ну вроде код в lastpage не такой уж и сложный, чтобы в нем разобраться:
Используется синтаксис LaTeX
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
\ProvidesPackage{lastpage}[\filedate\space\fileversion\space
             LaTeX2e package for refs to last page number (JPG)]
\def\lastpage@putlabel{\addtocounter{page}{-1}%
   \immediate\write\@auxout{\string
   \newlabel{LastPage}{{}{\thepage}}}%
   \addtocounter{page}{1}}
\AtEndDocument{%
   \message{AED: lastpage setting LastPage}%
   \clearpage\lastpage@putlabel}%
\endinput
 

Добавьте свой счетчик, замените LastPage своей меткой, lastpage своей командой и будет Вам счастье.

Где-то так (код, который считает нумерованные уравнения (и заодно страницы)):
код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
\makeatletter
\def\lastnumeq@putlabel{\addtocounter{page}{-1}
   \immediate\write\@auxout{\string
   \newlabel{LastNumberedEquation}{{\arabic{equation}}{\thepage}}}%
}
\AtEndDocument{%
      \clearpage\lastnumeq@putlabel}%
\makeatother
%----- пример использования--------
\begin{document}
There are \ref{LastNumberedEquation} equations and \pageref{LastNumberedEquation} pages.
\begin{equation}
x^2+y^2=z^2
\end{equation}
\begin{equation}
x^2+y^2=z^2
\end{equation}
\newpage
\begin{equation}
x^2+y^2=z^2
\end{equation}
\begin{equation}
x^2+y^2=z^2
\end{equation}
\newpage
\begin{equation}
x^2+y^2=z^2
\end{equation}
\begin{equation}
x^2+y^2=z^2
\end{equation}
\begin{equation}
x^2+y^2=z^2
\end{equation}
\end{document}
 

(Оффтоп)

Не знаю, зачем там нужны \clearpage и \addtocounter{page}{-1}. Наверное, автор пакета lastpage что-то такое знает, чего не знаю я.

 Профиль  
                  
 
 Re: Счётчики страниц, рисунков и прочего в LaTeX
Сообщение02.06.2010, 14:54 


02/06/10
2
Нашёл общее решение для подсчёта объектов в документе здесь -- пакет totcount. Правда для случая вложенной нумерации мне пришлось переопределить окружение figure на увеличение собственного счётчика и обращаться к нему вместо стандартного figures из totcount:
Код:
\newtotcounter{foofigure}

\makeatletter
\renewenvironment{figure}[1][\fps@figure]{
  \edef\@tempa{\noexpand\@float{figure}[#1]}
  \@tempa
  \addtocounter{foofigure}{1}
}{
  \end@float
}
\makeatother

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

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



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

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


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

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