有没有办法在文章文档中的普通 pdflatex 中模拟 beamer 块,例如 alert/example?有没有纯 tikz 方式可以做到这一点?
答案1
使用 2.00 版tcolorbox
并且它的skin
库可以将beamer
块包含在non-beamer
文档中。现在这些块可以在列和页面之间拆分。
这里有一个例子:
\PassOptionsToPackage{svgnames}{xcolor}
\documentclass[twocolumn,a4paper]{article}
\usepackage{tcolorbox}
\usepackage{lipsum}
\tcbuselibrary{skins,breakable}
\usetikzlibrary{shadings,shadows}
\title{Beamer blocks in \texttt{article.cls} with \texttt{tcolorbox (v 2.00)}}
\author{xxxxxx}
\newenvironment{myexampleblock}[1]{%
\tcolorbox[beamer,%
noparskip,breakable,
colback=LightGreen,colframe=DarkGreen,%
colbacklower=LimeGreen!75!LightGreen,%
title=#1]}%
{\endtcolorbox}
\newenvironment{myalertblock}[1]{%
\tcolorbox[beamer,%
noparskip,breakable,
colback=LightCoral,colframe=DarkRed,%
colbacklower=Tomato!75!LightCoral,%
title=#1]}%
{\endtcolorbox}
\newenvironment{myblock}[1]{%
\tcolorbox[beamer,%
noparskip,breakable,
colback=LightBlue,colframe=DarkBlue,%
colbacklower=DarkBlue!75!LightBlue,%
title=#1]}%
{\endtcolorbox}
\begin{document}
\maketitle
\section{Section}
\lipsum[2]
\begin{myblock}{Example of \texttt{myblock}}
\lipsum[2-3]
\end{myblock}
\begin{myexampleblock}{Example of \texttt{myexampleblock}}
\lipsum[2]
\end{myexampleblock}
\begin{myalertblock}{Example of \texttt{myalertblock}}
\lipsum[1]
\end{myalertblock}
\end{document}
其结果
答案2
使用 TikZ 在非 Beamer 文档中重现类似的框相对容易。例如,看这里。您真的需要它看起来与 beamer 中的完全相同吗?如果是这样,您可以看看它在 beamer 中是如何实现的;我认为它是在beamerbaselocalstructure.sty
或中定义的beamerinnerthemeinmargin.sty
。