Я использую класс документа на диаграмме лучей в латексе, чтобы сделать презентацию. У меня будет несколько резервных слайдов, которые доступны для автономного просмотра, ссылки и т.д. У Beamer есть функция, показывающая ход презентации через {page #}/{total pages} на каждом слайде. Мне бы очень понравилось, если {total pages} эквивалентно моему общему количеству страниц без подсчета резервных слайдов (я не хочу препятствовать моей аудитории на первой странице!). Кто-нибудь знает, как это можно сделать?
Игнорирование номеров страниц в резервных слайдах
Ответ 1
Теперь это может быть достигнуто с помощью следующей опции на всех "резервных" слайдах:
\begin{frame}[noframenumbering]{My Title}
\end{frame}
Это приведет к отображению окончательного номера (например, 25/25) на таких страницах.
Как всегда, дело вкуса.
Ответ 2
Я определил две команды для этого:
\newcommand{\beginbackup}{
\newcounter{framenumbervorappendix}
\setcounter{framenumbervorappendix}{\value{framenumber}}
}
\newcommand{\backupend}{
\addtocounter{framenumbervorappendix}{-\value{framenumber}}
\addtocounter{framenumber}{\value{framenumbervorappendix}}
}
Затем вы можете использовать \beginbackup
и \backupend
до и после слайда резервного копирования, чтобы настроить количество слайдов.
Для моего шаблона шаблона я также хотел бы добавить
\setbeamertemplate{footline}{
\leavevmode%
\hbox{%
\begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
\usebeamerfont{author in head/foot}\insertshortauthor~~(\insertshortinstitute)
\end{beamercolorbox}%
\begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}%
\usebeamerfont{title in head/foot}\insertshorttitle
\end{beamercolorbox}%
\begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,right]{date in head/foot}%
\usebeamerfont{date in head/foot}\insertshortdate{}\hspace*{2em}
\insertframenumber{} \hspace*{2ex} % hier hat sich geändert
\end{beamercolorbox}}%
\vskip0pt%
}
в определении команды \beginbackup
, чтобы скрыть общий номер страницы в резервных слайдах, иначе вы получите что-то вроде "24/18".
Используя все это, ваши слайды будут пронумерованы как "x/Y" для всех слайдов перед резервным копированием, где Y - общее количество слайдов перед первым слайдом резервного копирования, а резервные слайды будут продолжать нумерацию предыдущего слайдов.
Ответ 3
Обновлена ссылка для файла стиля appendixnumberbeamer.sty.
Ответ 4
Чтобы вручную исправить общее количество кадров до определенного числа, скажем, 25, вы можете добавить следующую команду
\renewcommand{\inserttotalframenumber}{25}
сразу после команды \begin {document}.
Вы также можете добавить команду \appendix прямо перед началом ваших слайдов резервного копирования, чтобы соответствующие разделы/подразделы не отображались в структуре содержимого/навигации.
Должна быть предусмотрена возможность настройки команды renew выше, чтобы она автоматически использовала последний номер кадра перед приложением, но я не знаю, как это сделать.
Ответ 5
Просто вставьте
\renewcommand{\inserttotalframenumber}{\pageref{lastslide}}
после \begin {document} и поместите маркер
\label{lastslide}
на вашем последнем слайде.
Ответ 6
Фанфан, спасибо за ваш ответ, ответ отвел меня на этот файл стилей, который можно включить в класс документа-указателя, который будет автоматически подсчитывать только количество кадров перед приложением, а затем перезапустить отдельный счет для приложения слайды, довольно аккуратные.
http://www.ensta.fr/~lelong/Latex/appendixnumberbeamer.sty
Спасибо также Jérôme LELONG за то, что он доступен в Интернете.
Ответ 7
Великая команда \insertpresentationendpage позаботится о вашей проблеме. Просто поставьте \appendix в начале ваших резервных слайдов.
\documentclass[t]{beamer}
\usepackage[absolute,overlay]{textpos}
\setbeamertemplate{navigation symbols}{}
\def\insertpresentationendframe{\inserttotalframenumber}
\makeatletter
\[email protected]@macro{\appendix}{\immediate\write\@auxout{\string\@writefile{nav}{\noexpand\headcommand{\noexpand\def\noexpand\insertpresentationendframe{\the\[email protected]}}}}}
\makeatother
\setbeamertemplate{footline}{%
\begin{picture}(54,12.5)(0,0)
\put(0.9,0.52){%
\begin{minipage}[b][12.5mm][c]{112.5mm}
\raggedleft
\insertframenumber/\insertpresentationendframe
\end{minipage}
}
\end{picture}
}
\begin{document}
\begin{frame}
slide in the main part
\only<2>{blub}
\end{frame}
\appendix
\section*{Backup}
\begin{frame}
\frametitle{backup}
not counting in the total frame number
\end{frame}
\end{document}
Ответ 8
Вы можете поместить все резервные слайды в приложение и использовать пакет appendixnumberbeamer
.
\documentclass[12pt]{beamer}
\usepackage{appendixnumberbeamer}
\begin{document}
\begin{frame}{Frames that counts}
\end{frame}
\appendix
\begin{frame}{Backup slides}
\end{frame}
\end{document}