
Estoy haciendo un cartel usando beamerposter
. El texto dentro de un bloque siempre parece no tener margen izquierdo. ¿Alguien puede decirme una forma de introducir un margen izquierdo en un bloque?
Aquí hay una muestra de cómo se ve un bloque. Observe que el texto comienza sin margen izquierdo.
Sería bueno si pudieras decirme cómo definir los márgenes izquierdo, derecho, superior e inferior dentro del bloque. Tenga en cuenta que tengo bloques anidados, aunque los anidados tienen un nombre de entorno diferente (llamé entonces insideBlocks
). Por lo tanto, no quisiera que los márgenes del block
medio ambiente afectaran los márgenes de mi insideBlocks
entorno.
Espero ser claro.
Respuesta1
Creo que esto se puede lograr de muchas maneras. Una posibilidad es definir un nuevo entorno de bloque con márgenes personalizados, como este:
\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}
En el nuevo entorno (lo llamé myblock
) \leftskip
, \rightskip
ya \vspace
se utilizan para establecer los márgenes. Como ejemplo, puse todo en 10 puntos. Si no desea, por ejemplo, un margen derecho, simplemente elimine el rightskip
del código. Supuse que también querías personalizar el margen del texto del título, si no quieres simplemente eliminar el leftskip
etc. de \def\insertblocktitle{}
. el resultado es:
Otra posibilidad sería con el tcolorbox
paquete, que te permite establecer márgenes como este:
\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}
resultado es:
editar: no agregué el beamerposter
paquete en mi código de ejemplo porque funciona con beamer
y beamerposter
sin modificaciones.
Respuesta2
Puede utilizar la próxima versión v0.3 del tema interno de tcolorbox (https://www.ctan.org/pkg/beamertheme-tcolorbox). Usando este tema, los bloques anidados serán automáticamente un poco más pequeños que el bloque circundante:
\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}