LINUX.ORG.RU

LaTex количество объектов в документе


0

0

День добрый.
Мне необходимо автоматически получать количество:
1. страниц в документе;
2. рисунков;
3. таблиц;
4. литературных источников;
5. глав/секций.
Возможно что-то еще.

Основой документу служит:
\documentclass[a4paper,14pt,russian]{extarticle}
Получить 1 можно используя вот это:
\usepackage{lastpage}
Данный документ состоит из
\begin{NoHyper}{\pageref{LastPage}}\end{NoHyper} страниц.
Получить 2,3 можно используя счетчик (например для рисунков):
\newcounter{totalpics}
\begin{figure}[!h]
\addtocounter{totalpics}{1} %<--Увеличиваем значение счетчика
%...
Количество рисунок в документе - \thetotalpics!\\
Аналогично можно получить значения 5.
Для красоты можно переопределить chapter\section
Сложнее всего получается с 4.
Я нашел вариант с использованием пакета totcount:
\usepackage{totcount}
%...
\newcounter{totalbibs}
\regtotcounter{totalbibs}
\newcommand{\bibix}[1]{\addtocounter{totalbibs}{1}%
\bibitem{#1}}
%...
Количество использованных источников - \total{totalbibs}!\\
\begin{thebibliography}{99}

\bibix{azbuka}%<--Используем новую команду
С.\,Б.\,Лохов, \textit{О Фигне для чайников.} —
М.:Высш.шк., 1993.

Теперь несколько вопросов:
1. Почему для 4 не работает такой вариант:
Количество использованных источников - \thetotalbibs!
У меня всегда «0». Что такого дает пакет totcount?

2.Если количество страниц получать с помощью totcount, то их
получается на 1 стр больше. Почему так?
Я делаю таким образом:
\regtotcounter{page}
%...
Страниц в документе \total{page} стр.
У меня в документе 8 стр. первая титульная на второй страница номер 2.
\setcounter{page}{2}%Начинаем нумерацию с 2
Пакет lastpage возврашает правильное количество страниц.

3. Не хочется использовать в документе кучу пакетов. Нужно как-то
сделать все с помощью единого подхода. Например, пакет lastpage +
счетчики без totcount или использовать только totcount + счетчики.

Заранее спасибо.


Таки руками или grep (кроме lastpage)

В любом случае всё это нужно автореферат вставлять, а это совсем _другой_ документ.

Evgueni ★★★★★
()
Ответ на: комментарий от Evgueni

А про диссертацию разговора не было! Руками писать это не по ПАЦАНОВСКИ! Я точно уверен, что можно модифицировать стандартный bibitem для учета общего количества источников. Но как???

Youra_P
() автор топика
Ответ на: комментарий от Youra_P

Тогда Дональд Э. Кнут - не пацан :) Он, страшно подумать, библиографию к своему пятитомнику руками обрабатывает.

Нет цели всё сделать автоматизировано. Цель - автоматизировать 95%.

Evgueni ★★★★★
()
Ответ на: комментарий от Youra_P

По теме я всё, кроме последней страницы, посчитал руками ;)

Evgueni ★★★★★
()

Из eskdx можно попробовать подключить eskdtotal.

srj ★★
()

Может быть, вам поможет макрос для определения количества условных печатных листов:

newcount{\podp}\newcount{\podpfr}
\podp=\c@page
\podpfr=\c@page
\divide\podp by 16
\multiply\podp by 100
\multiply\podpfr by 100
\divide\podpfr by 16
\advance\podpfr by -\podp
\divide\podp by 100
...
Усл.печ.л.~{\the\podp.\ifnum\podpfr<10 0\fi\the\podpfr}
...
Правда, количество учетно-издательских листов приходится считать вручную. Я, чтобы сильно не мучиться, просто перевожу pdftotext'ом скомпилированный pdf в текстовый формат, делю объем файла на 40000, и получаю количество этих самых листов :)

Eddy_Em ☆☆☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.