我正在尝试定义一种类似于 beamer 块外观的表格类型。我尝试了以下操作(使用tabu
for 表格),但没有成功。
\newenvironment<>{tabvarblock}[2][.9\textwidth]{%
%\setlength{\textwidth}{#1}
\begin{actionenv}#3%
\def\insertblocktitle{#2}
\begin{tabu}to#1{\insertblocktitle}%
\usebeamertemplate{block begin}}
{\end{tabu}%
\usebeamertemplate{block end}%
\end{actionenv}}
新结构的使用方式如下
\begin{tabvarblock}[0.5\textwidth]{X[m]X[m]}
A & B \NN
C & D \NN
\end{tabvarblock}
我也尝试过使用解决方案使用 TikZ 包的花式表格示例。它起作用了,但是外观和感觉并不完全相同。
答案1
第一种方法是\newenvironment
混合mdframed
和tabular
,但使用tcolorbox
而不是似乎mdframed
更容易,因为此包有一个beamer
皮肤选项。第一种情况是固定的两列,但第二种情况是列格式自由(新环境的第二个参数)。您可以在此 MWE 中比较这两种方法:
\documentclass{article}
\usepackage[framemethod=TikZ]{mdframed}
\usetikzlibrary{shadows}
\mdfdefinestyle{MyFrame}{%
linecolor=gray!50,
outerlinewidth=0.01em,
skipabove=.5\baselineskip,
skipbelow=.5\baselineskip,
roundcorner=1em, shadow=true,
leftmargin=.25\textwidth,
rightmargin=.25\textwidth,
innertopmargin=1ex,
innerbottommargin=.5\baselineskip,
innerrightmargin=1em,
innerleftmargin=1em,
backgroundcolor=yellow!05!white,
frametitlerule=true,
frametitlerulecolor=blue!40!,
frametitlebackgroundcolor=blue,
frametitlerulewidth=0.05em}
\newenvironment{mdbeamer}[1]
{ \begin{mdframed}[style=MyFrame,
frametitle={\hfill\color{white}#1\hfill}]
\centering
\begin{tabular}{cc}
}
{ \end{tabular}
\end{mdframed}
}
\usepackage{tcolorbox}
\tcbuselibrary{skins}
\tcbset{colback=yellow!05!white,colframe=blue!95,
width=.5\textwidth,before=\hfill,after=\hfill}
\newenvironment{skinbeamer}[2]
{
\begin{tcolorbox}[skin=beamer, adjusted title= \centering #1]
\centering
\begin{tabular}{#2}
}
{ \end{tabular}
\end{tcolorbox}
}
\begin{document}
\begin{mdbeamer}{My mdframed table}
A & B \\
C & D \\
\end{mdbeamer}
\begin{skinbeamer}{My tcolorbox table}{|c|c|}
\hline
A & B \\
\hline
C & D \\
\hline
\end{skinbeamer}
\end{document}