所以我只是想熟悉如何使用 制作海报beamer
。我希望能够自定义几个不同的块类型环境,但我不确定最好的方法是什么。此外,我对不同包和主题之间可能存在的冲突感到困惑。到目前为止,我一直在探索两种方法:(1)更改中的block
s、alert block
s 和example block
sbeamer
以及(2)使用 定义新的块类型环境\newenvironment
。
这两种方法我都没成功,我对它们都有一些疑问。无论哪种情况,我使用的基本代码是:
\documentclass[final]{beamer}
\usepackage[scale=0.90]{beamerposter} %scale is for fontsize?
\usepackage[absolute,overlay]{textpos}
\usepackage{color}
\usepackage{tikz}
\usepackage{amsmath,amssymb,latexsym}
\setlength{\TPHorizModule}{\paperwidth}
\setlength{\TPVertModule}{1 cm}
\usetheme{confposter}
\title{Title}
\author{Some People}
\institute{Department of Blah}
\begin{document}
\begin{textblock}{0.3}(.01,10)
\begin{exampleblock}{An exampleblock environment}
Some text.
\end{exampleblock}
\begin{block}{A block environment}
Some text.
\end{block}
\begin{alertblock}{An alertblock environment}
Some text.
\end{alertblock}
\end{textblock}
\end{document}
因此,首先对于方法 (1),我想独立地修改和定义三种类型的块,这样我就可以获得三种不同的文本框类型的东西。查看手册beamer
似乎\setbeamertemplate{block}
可以使用但不能修改alert
和example
块。此外,我找不到有关该\setbeamertemplate
命令的不同选项的详细说明。我确实尝试了一些预制的颜色主题,例如whale
和orchid
,基本上我想自己做他们所做的事情。有没有办法亲自影响 latex 文档中的类似更改?此外,会\usetheme{confposter}
影响/与块的模板冲突吗?我使用它只是因为当我取出它时它不会在顶部编译标题和作者等。
我正在尝试的另一种方法(2)是\newenvironment
基于在 LaTeX beamer 中定义新的块环境.例如做
\newenvironment<>{test1}[1][]{
\setbeamercolor{block body example}{fg=black,bg=blue}
\setbeamercolor{block title example}{fg=white,bg=red!75!black}
\setbeamertemplate{blocks}[rounded][shadow=false]
\begin{example}[]}{\end{example}
}
然后调用
\begin{test1}[blah title]
stuff
\end{test1}
但是,我找不到真正详细介绍选项的其他文档\newenvironment
。例如,我无法让它不在标题等中说示例。您能给我指出一些关于\newenvironment
及其各自选项的文档吗?
那么总体而言,您认为这两种方法都很好吗?您能建议其他方法或与我的目标相关的详细文档吗?
答案1
您可以使用以下方法单独更改每种块的前景和背景的颜色属性
%For example blocks \setbeamercolor{block title example}{fg=red,bg=orange} \setbeamercolor{block body example}{fg=cyan,bg=yellow} %For alert blocks \setbeamercolor{block title alerted}{fg=olive,bg=pink} \setbeamercolor{block body alerted}{fg=blue,bg=magenta} %For blocks \setbeamercolor{block title}{fg=white,bg=blue} \setbeamercolor{block body}{fg=white,bg=green!40!black}
如果需要,使用具有相同名称的字体模板,您还可以控制字体属性。
示例代码:
\documentclass[final]{beamer} \usepackage[scale=0.90]{beamerposter} %scale is for fontsize? \usepackage[absolute,overlay]{textpos} \usepackage{color} \usepackage{tikz} \usepackage{amsmath,amssymb,latexsym} \setlength{\TPHorizModule}{\paperwidth} \setlength{\TPVertModule}{1 cm} %For example blocks \setbeamercolor{block title example}{fg=red,bg=orange} \setbeamercolor{block body example}{fg=cyan,bg=yellow} %For alert blocks \setbeamercolor{block title alerted}{fg=olive,bg=pink} \setbeamercolor{block body alerted}{fg=blue,bg=magenta} %For blocks \setbeamercolor{block title}{fg=white,bg=blue} \setbeamercolor{block body}{fg=white,bg=green!40!black} %\usetheme{confposter} \title{Title} \author{Some People} \institute{Department of Blah} \begin{document} \begin{textblock}{0.3}(.01,10) \begin{exampleblock}{An exampleblock environment} Some text. \end{exampleblock} \begin{block}{A block environment} Some text. \end{block} \begin{alertblock}{An alertblock environment} Some text. \end{alertblock} \end{textblock} \end{document}
我建议你看看
tcolorbox
包及其beamer
外观来定义新类型的块;这里有一个小例子:\documentclass[final,dvipsnames]{beamer} \usepackage[scale=0.90]{beamerposter} %scale is for fontsize? \usepackage[absolute,overlay]{textpos} \usepackage{color} \usepackage{tikz} \usetikzlibrary{shadings} \usepackage{amsmath,amssymb,latexsym} \usepackage[many]{tcolorbox} %\usetheme{confposter} \newtcolorbox{myblock}[1][]{ beamer, width=\textwidth+7pt, enlarge left by=-3pt, colframe=block body.bg, bottom=0pt, top=-2pt, left=0pt, right=0pt, toptitle=-1pt, bottomtitle=-1pt, fonttitle=\normalfont, adjusted title=#1, interior titled code={ \shade[left color=Maroon!80,right color=Dandelion,middle color=Salmon] (title.south west) -- (title.south east) {[rounded corners] -- (title.north east) -- (title.north west)} -- (title.south west); } } \title{Title} \author{Some People} \institute{Department of Blah} \begin{document} \begin{frame} \begin{columns} \column{0.3\textwidth} \begin{block}{A standard block} This box ia a box provided by the \texttt{beamer} class. \end{block} \begin{myblock}[An example with \texttt{tcolorbox}] This box looks like a box provided by the \texttt{beamer} class. \end{myblock} \end{columns} \end{frame} \end{document}
结果: