我想在 Beamer 中创建一个与下图完全相同的块。有人知道怎么做吗?
答案1
我不知道你使用哪种字体,我做了示例pdflatex
,所以你必须适应xetex
。但这个框与你想要的框非常相似。它由tcolorbox
。
\documentclass{beamer}
\usetheme{Madrid}
\usepackage{tcolorbox}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage{lmodern}
\tcbuselibrary{skins}
\newtcolorbox{myblock}[1]{
enhanced,
frame hidden, interior hidden, segmentation hidden,
coltitle=black,
fonttitle=\bfseries\rmfamily,
fontupper=\tiny,
title={#1},
overlay unbroken={\draw[gray,line width=1pt] (frame.north west) rectangle (frame.south east);
\draw[gray,line width=1pt] ([xshift=5mm]interior.north west)--([xshift=-5mm]interior.north east);
\shade (frame.south west)--++(0,-1mm)--(frame.south)--cycle;
\shade (frame.south east)--++(0,-1mm)--(frame.south)--cycle;}
}
\begin{document}
\begin{frame}{A nice box for beamer}
\begin{myblock}{Oups, nous avons rencontré une erreur.}
Note partagée non trouvée
L'URL fornie ne correspond pas à une note partagée valide. Cela a pu être causé par une erreur typographique dans le lien, ou le propiétaire l'a privaisée.
\end{myblock}
\end{frame}
\end{document}
第二版本
tcolorboxes
宽度是textwidth
默认的,你可以改变它的大小,但如果你想使用根据其内容调整的盒子,你需要tcboxes
。
tcbox
宽度由其文本宽度决定,如果标题长于文本则自动换行。\newtcbox
创建一个command
,同时\newtcolorbox
定义一个新的环境。
下一个代码显示了如何调整前一个框以用作tcbox
。前一个框略有修改,现在它使用 2 个参数,第一个是可选的。它可用于修改一些默认样式参数,如边距。并且由于边距可以更改,因此中间线也是根据默认或更改后的边距绘制的。
\documentclass{beamer}
\usetheme{Madrid}
\usepackage{tcolorbox}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage{lmodern}
\tcbuselibrary{skins}
\makeatletter
\newtcolorbox{myblock}[2][]{
enhanced,
frame hidden, interior hidden, segmentation hidden,
coltitle=black,
fonttitle=\bfseries\rmfamily,
fontupper=\tiny,
title={#2},
overlay unbroken={\draw[gray,line width=1pt] (frame.north west) rectangle (frame.south east);
\draw[gray,line width=1pt] ([xshift=\kvtcb@lefttitle+\kvtcb@boxsep]interior.north west)--([xshift=-(\kvtcb@righttitle+\kvtcb@boxsep)]interior.north east);
\shade (frame.south west)--++(0,-1mm)--(frame.south)--cycle;
\shade (frame.south east)--++(0,-1mm)--(frame.south)--cycle;},
#1
}
\newtcbox{mybox}[2][]{
enhanced,
frame hidden, interior hidden, segmentation hidden,
coltitle=black,
fonttitle=\bfseries\rmfamily,
fontupper=\tiny,
title={#2},
overlay unbroken={\draw[gray,line width=1pt] (frame.north west) rectangle (frame.south east);
\draw[gray,line width=1pt] ([xshift=\kvtcb@lefttitle+\kvtcb@boxsep]interior.north west)--([xshift=-(\kvtcb@righttitle+\kvtcb@boxsep)]interior.north east);
\shade (frame.south west)--++(0,-1mm)--(frame.south)--cycle;
\shade (frame.south east)--++(0,-1mm)--(frame.south)--cycle;},
#1
}
\makeatother
\begin{document}
\begin{frame}{A nice box for beamer}
\begin{myblock}{Oups, nous avons rencontré une erreur.}
Note partagée non trouvée
L'URL fornie ne correspond pas à une note partagée valide. Cela a pu être causé par une erreur typographique dans le lien, ou le propiétaire l'a privaisée.
\end{myblock}
\mybox{Oups, this is a long title}{Note partagée non trouvée}
\mybox[left=0mm,right=1cm]{Oups}{Note partagée non trouvée}
\end{frame}
\end{document}
笔记由于tcolorbox 3.05
提升阴影可以作为 tcolorbox 选项。一些示例如下凸起或弯曲的阴影