Латекс: текст должен автоматически заполнять рамку в слайдах Beamer - PullRequest
4 голосов
/ 12 июля 2010

В фреймах beamer я хочу, чтобы содержимое было равномерно распределено по фрейму.

Используя option \ documentclass [slidestop] {beamer}, я могу легко указать, чтобы содержимое было выровнено по верху / центру, но когда яна слайде всего несколько пуль, они сгруппированы сверху, я хочу, чтобы beamer автоматически определил расстояние между ними, чтобы равномерно распределить их.

Возможно ли это без использования метода проб и ошибок vspace?

Ответы [ 2 ]

7 голосов
/ 12 июля 2010

Я думаю, что использование \ vfill уменьшит количество проб и ошибок.Одно заполнение между пулями должно обеспечивать равномерное расстояние.Попробуйте \ vfill до и / или после маркеров, чтобы отделиться от предыдущего текста или от нижней части страницы.Я не использую или не знаю Beamer, но подозреваю, что есть способ поместить команды \ vfill в шаблон Beamer.

\documentclass{article}
\begin{document}
\begin{itemize}
\vfill\item This is text of first item
\vfill\item This is text of second item
\vfill\item This is text of third item
\end{itemize}
\end{document}

Согласно вашему комментарию, вот один из способов, которым вы можете определить, чтобы vfill автоматически использовалсяв элементах основного списка, но не имеют vfill в подпунктах.Этот способ позволяет использовать одну и ту же команду \ item независимо от того, находитесь ли вы в главном списке или во вложенном списке, но требует, чтобы вы определяли или переопределяли среды, а также знали, когда добавляете основной (т. Е. Vfilled) списоки когда вы добавляете не заполненный (т.е. вложенный) список:

\documentclass{article}

\newenvironment{novfillenum}{\begin{enumerate}\let\item\olditem}%
{\end{enumerate}}
\newenvironment{vfilleditems}{\begin{itemize} \let\olditem\item \renewcommand\item{\vfill\olditem}}%
{\end{itemize}}

\begin{document}
\begin{vfilleditems}
\item Item One 
   \begin{novfillenum}
        \item subitem1
        \item s2
        \item s3
    \end{novfillenum}
\item Item Two 
   \begin{novfillenum}
        \item subitem1
        \item s2
        \item s3
    \end{novfillenum}
\item item three
   \begin{novfillenum}
        \item subitem1
        \item s2
        \item s3
    \end{novfillenum}
\end{vfilleditems}

\end{document}
1 голос
/ 17 июля 2010

Добавление еще одного образца здесь, потому что первый ответ становится слишком многолюдным.Протестировано изменение команд метки и, как вы знаете, похоже, работает, вроде.Это дает ошибки, которые, я уверен, связаны с наличием \ vfill как части конструкции метки.Я удивлен, что кажется, что он создает желаемый результат, но метод должен быть немного подправлен, чтобы он работал без ошибок:

...