对于投影仪演示,我想将文本放在一个框中,使得:
- 框的所有行都是空白的,
- 除框的左上角和右下角为颜色 X。
\begin{\mybox}{blue}
Some text here
\end{\mybox}
(这个例子是我手工制作的,文本不必居中)。
我见过一些例子,其中框线都是相同颜色。
但我不知道如何调整它们。
答案1
以下是使用无处不在的一种可能的解决方案\tikzmark
;事实上,这是我在某些演示中使用的装饰的变体;新环境cblock
有一个可选参数,允许更改使用的颜色:
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{calc}
\definecolor{pbblue}{HTML}{0A75A8}
\definecolor{pborange}{HTML}{F57E0F}
\newcommand\tikzmark[1]{\tikz[overlay,remember picture] \coordinate (#1) {};}
\newlength\mylinewd% the length used for the lines
\setlength\mylinewd{30pt}
\def\decorateblock#1{%
\setbeamertemplate{block begin}{%
\tikzmark{start}\par{\usebeamercolor{#1}\insertblocktitle}\par}
\setbeamertemplate{block end}{%
\tikzmark{end}\par
\begin{tikzpicture}[remember picture,overlay]
\coordinate (e) at ($(start)+(-10pt,0)$);
\coordinate (f) at ($(end)+(\textwidth,0)$);
\draw[ultra thick,#1] ( $ (e) + (0pt,-\mylinewd) $ ) -- ( $ (e) + (0pt,5pt) $ ) -- ( $ (e) + (\mylinewd,5pt) $ ) ;
\draw[ultra thick,#1] ( $ (f) + (0pt,\mylinewd) $ ) -- (f) -- ( $ (f) + (-\mylinewd,0pt) $ ) ;
\end{tikzpicture}%
}%
}
\newenvironment<>{cblock}[1][pbblue]
{\decorateblock{#1}\begin{block}}
{\end{block}}
\begin{document}
\begin{frame}
\begin{cblock}{Example}
text text text text text text text text text text text text text text text text text text text text text text text text text text text text
\end{cblock}
\begin{cblock}[pborange]{Example}
text text text text text text text text text text text text text text text text text text text text
\end{cblock}
\end{frame}
\end{document}
该代码需要运行两次才能稳定下来。