2014 dxdy logo

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

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




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

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

Спасибо

 
 
 
 Re: Счётчики страниц, рисунков и прочего в LaTeX
Сообщение02.06.2010, 14:02 
Аватара пользователя
Ну вроде код в 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 
Нашёл общее решение для подсчёта объектов в документе здесь -- пакет 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 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group