
Я делаю постер с помощью beamerposter
. Текст внутри блока всегда кажется без левого поля. Может кто-нибудь подсказать, как ввести левое поле в блоке ?
Вот пример того, как выглядит блок. Обратите внимание, что текст начинается без левого поля.
Было бы неплохо, если бы вы могли рассказать мне, как определить левое, правое, верхнее и нижнее поля внутри блока. Обратите внимание, что у меня есть вложенные блоки, хотя вложенные имеют другое имя окружения (я назвал then insideBlocks
). Поэтому я не хочу, чтобы поля для block
окружения влияли на поля для моего insideBlocks
окружения.
Надеюсь, я ясно выразился.
решение1
Я думаю, что этого можно достичь многими способами. Одна из возможностей — определить новую блочную среду с пользовательскими полями, например:
\documentclass{beamer}
\usetheme{Frankfurt}
\newenvironment<>{myblock}[1]{%
\begin{actionenv}#2%
\def\insertblocktitle{\leftskip=10pt\rightskip=10pt\vspace{10pt} #1\vspace{10pt}}%
\par%
\usebeamertemplate{block begin}\leftskip=10pt\rightskip=10pt\vspace{10pt}}
{\par\vspace{10pt}\usebeamertemplate{block end}
\end{actionenv}}
\begin{document}
\begin{frame}
\begin{myblock}{example title to show 10pt up, down, left and right margins}
example text to show 10pt up, down, left and right margins
\end{myblock}
\begin{block}{example title to show standard margins}
example text to show standard margins
\end{block}
\end{frame}
\end{document}
В новой среде (я назвал ее myblock
) \leftskip
и используются для установки полей. В качестве примера я установил все на 10pt. Если вам не нужно, например, правое поле, просто удалите \rightskip
из кода. Я предполагал, что вы также хотите настроить поле текста заголовка, если вы не хотите, просто удалите и т. д. из . Результат:
\vspace
rightskip
leftskip
\def\insertblocktitle{}
Другой возможностью может стать пакет tcolorbox
, который позволяет устанавливать поля следующим образом:
\documentclass{beamer}
\usepackage{tcolorbox}
\tcbuselibrary{skins}
\tcbset{ % custom tcolorbox
skin=enhanced,
frame style={fill=blue}, % sets the frame color
bottom=10pt, % distance between the body text and the bottom frame
top=10pt, % distance between the body text and the top frame
left=10pt,
right=10pt,
boxrule=0pt, % frame width
bottomtitle=10pt, % distance between the title text and the bottom title frame
toptitle=10pt, % distance between the title text and the top title frame
lefttitle=10pt, % title text left margin
righttitle=10pt
}
\begin{document}
\begin{frame}
\begin{tcolorbox}[title=test]
test
\end{tcolorbox}
\end{frame}
\end{document}
результат:
правка: Я не добавил beamerposter
пакет в свой пример кода, потому что он работает как с модификациями, так beamer
и beamerposter
без них.
решение2
Вы можете использовать предстоящую версию v0.3 внутренней темы tcolorbox (https://www.ctan.org/pkg/beamertheme-tcolorbox). При использовании этой темы вложенные блоки автоматически будут немного меньше окружающего блока:
\documentclass{beamer}
\usetheme{Warsaw}
\usepackage[size=a4,orientation=portrait]{beamerposter}
\useinnertheme{tcolorbox}
\begin{document}
\begin{frame}
\begin{block}{title}
content...
\begin{block}{title}
content...
\end{block}
\end{block}
\end{frame}
\end{document}