semirounded.sty 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. %% LaTeX-Beamer template for KIT design
  2. %% by Erik Burger, Christian Hammer
  3. %% title picture by Klaus Krogmann
  4. %%
  5. %% version 2.1
  6. %%
  7. %% mostly compatible to KIT corporate design v2.0
  8. %% http://intranet.kit.edu/gestaltungsrichtlinien.php
  9. %%
  10. %% Problems, bugs and comments to
  11. %% burger@kit.edu
  12. %% Semi-rounded boxes
  13. \RequirePackage{keyval}
  14. \renewcommand\beamerboxesrounded[2][]{%
  15. \global\let\beamer@firstlineitemizeunskip=\relax%
  16. \vbox\bgroup%
  17. \setkeys{beamerboxes}{upper=block title,lower=block body,width=\textwidth,shadow=false}%
  18. \setkeys{beamerboxes}{#1}%
  19. {%
  20. \usebeamercolor{\bmb@lower}%
  21. \globalcolorstrue%
  22. \colorlet{lower.bg}{bg}%
  23. }%
  24. {%
  25. \usebeamercolor{\bmb@upper}%
  26. \globalcolorstrue%
  27. \colorlet{upper.bg}{bg}%
  28. }%
  29. %
  30. % Typeset head
  31. %
  32. \vskip4bp
  33. \setbox\bmb@box=\hbox{%
  34. \begin{minipage}[b]{\bmb@width}%
  35. \usebeamercolor[fg]{\bmb@upper}%
  36. #2%
  37. \end{minipage}}%
  38. \ifdim\wd\bmb@box=0pt%
  39. \setbox\bmb@box=\hbox{}%
  40. \ht\bmb@box=1.5pt%
  41. \bmb@prevheight=-4.5pt%
  42. \else%
  43. \wd\bmb@box=\bmb@width%
  44. \bmb@temp=\dp\bmb@box%
  45. \ifdim\bmb@temp<1.5pt%
  46. \bmb@temp=1.5pt%
  47. \fi%
  48. \setbox\bmb@box=\hbox{\raise\bmb@temp\hbox{\box\bmb@box}}%
  49. \dp\bmb@box=0pt%
  50. \bmb@prevheight=\ht\bmb@box%
  51. \fi%
  52. \bmb@temp=\bmb@width%
  53. \bmb@dima=\bmb@temp\advance\bmb@dima by2.2bp%
  54. \bmb@dimb=\bmb@temp\advance\bmb@dimb by4bp%
  55. \hbox{%
  56. \begin{pgfpicture}{0bp}{+-\ht\bmb@box}{0bp}{+-\ht\bmb@box}
  57. \ifdim\wd\bmb@box=0pt%
  58. \color{lower.bg}%
  59. \else%
  60. \color{upper.bg}%
  61. \fi%
  62. \pgfpathqmoveto{-4bp}{-1bp}
  63. % Adaption for "KIT-Design"
  64. \pgfpathlineto{\pgfpoint{-4bp}{3bp}}
  65. %\pgfpathqcurveto{-4bp}{1.2bp}{-2.2bp}{3bp}{0bp}{3bp}
  66. \pgfpathlineto{\pgfpoint{\bmb@temp}{3bp}}
  67. \pgfpathcurveto%
  68. {\pgfpoint{\bmb@dima}{3bp}}%
  69. {\pgfpoint{\bmb@dimb}{1.2bp}}%
  70. {\pgfpoint{\bmb@dimb}{-1bp}}%
  71. \bmb@dima=-\ht\bmb@box%
  72. \advance\bmb@dima by-2pt%
  73. \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
  74. \pgfpathlineto{\pgfpoint{-4bp}{\bmb@dima}}
  75. \pgfusepath{fill}
  76. \end{pgfpicture}%
  77. \copy\bmb@box%
  78. }%
  79. \nointerlineskip%
  80. \vskip-1pt%
  81. \ifdim\wd\bmb@box=0pt%
  82. \else%
  83. \hbox{%
  84. \begin{pgfpicture}{0pt}{0pt}{\bmb@width}{6pt}
  85. \bmb@dima=\bmb@width%
  86. \advance\bmb@dima by8bp%
  87. \pgfpathrectangle{\pgfpoint{-4bp}{-1bp}}{\pgfpoint{\bmb@dima}{8bp}}
  88. \pgfusepath{clip}
  89. {\pgftransformshift{\pgfpoint{-4bp}{0bp}}\pgftext[left,base]{\pgfuseshading{bmb@transition}}}%
  90. \end{pgfpicture}%
  91. }%
  92. \nointerlineskip%
  93. \vskip-0.5pt%
  94. \fi%
  95. \ifbmb@shadow%
  96. \setbox\bmb@boxshadow=\hbox{\pgfuseshading{bmb@shadow}}%
  97. \setbox\bmb@boxshadowball=\hbox{\pgfuseshading{bmb@shadowball}}%
  98. \setbox\bmb@boxshadowballlarge=\hbox{\pgfuseshading{bmb@shadowballlarge}}%
  99. \fi%
  100. \setbox\bmb@colorbox=\hbox{{\pgfpicturetrue\pgfsetcolor{lower.bg}}}%
  101. \setbox\bmb@box=\hbox\bgroup\begin{minipage}[b]{\bmb@width}%
  102. \vskip2pt%
  103. \usebeamercolor[fg]{\bmb@lower}%
  104. \colorlet{beamerstructure}{upper.bg}%
  105. \colorlet{structure}{upper.bg}%
  106. %\color{.}%
  107. }
  108. \def\endbeamerboxesrounded{%
  109. \end{minipage}\egroup%
  110. \wd\bmb@box=\bmb@width%
  111. \bmb@temp=\dp\bmb@box%
  112. \advance\bmb@temp by.5pt%
  113. \setbox\bmb@box=\hbox{\raise\bmb@temp\hbox{\box\bmb@box}}%
  114. \dp\bmb@box=0pt%
  115. \bmb@temp=\wd\bmb@box%
  116. \bmb@dima=\bmb@temp\advance\bmb@dima by2.2bp%
  117. \bmb@dimb=\bmb@temp\advance\bmb@dimb by4bp%
  118. \hbox{%
  119. \begin{pgfpicture}{0bp}{0bp}{0bp}{0bp}
  120. \ifbmb@shadow%
  121. {\pgftransformshift{\pgfpoint{4bp}{-3bp}}\pgftext{\copy\bmb@boxshadowball}}
  122. \begin{pgfscope}
  123. {%
  124. \advance\bmb@temp by-1bp%
  125. \pgfpathrectangle{\pgfpoint{\bmb@temp}{-7bp}}{\pgfpoint{9bp}{9bp}}%
  126. \pgfusepath{clip}
  127. }%
  128. {\pgftransformshift{\pgfpoint{\bmb@temp}{1bp}}\pgftext{\box\bmb@boxshadowballlarge}}
  129. \end{pgfscope}
  130. \begin{pgfscope}
  131. \advance\bmb@temp by-4bp%
  132. \pgfpathrectangle{\pgfpoint{4bp}{-7bp}}{\pgfpoint{\bmb@temp}{5bp}}
  133. \pgfusepath{clip}
  134. {\pgftransformshift{\pgfpoint{4bp}{-7bp}}\pgftext[left,base]{\copy\bmb@boxshadow}}%
  135. \end{pgfscope}
  136. \begin{pgfscope}
  137. \advance\bmb@temp by 4bp%
  138. \bmb@dima=\ht\bmb@box%
  139. \advance\bmb@dima by\bmb@prevheight%
  140. \advance\bmb@dima by 4bp%
  141. \pgfpathrectangle{\pgfpoint{\bmb@temp}{1bp}}{\pgfpoint{4bp}{\bmb@dima}}
  142. \pgfusepath{clip}
  143. \advance\bmb@dima by-4bp%
  144. {\pgftransformshift{\pgfpoint{\bmb@temp}{\bmb@dima}}\pgftext{\box\bmb@boxshadowball}}
  145. \advance\bmb@dima by-1bp%
  146. \pgfpathrectangle{\pgfpoint{\bmb@temp}{1bp}}{\pgfpoint{4bp}{\bmb@dima}}
  147. \pgfusepath{clip}
  148. \advance\bmb@temp by4bp%
  149. {\pgftransformshift{\pgfpoint{\bmb@temp}{-3bp}}%
  150. \pgftransformrotate{90}%
  151. \pgftext[left,base]{\box\bmb@boxshadow}}%
  152. \end{pgfscope}
  153. \fi%
  154. \unhbox\bmb@colorbox%
  155. \pgfpathqmoveto{-4bp}{1bp}
  156. \pgfpathqcurveto{-4bp}{-1.2bp}{-2.2bp}{-3bp}{0bp}{-3bp}
  157. %KIT-Design
  158. \pgfpathlineto{\pgfpoint{\the\bmb@dimb}{-3bp}}
  159. %\pgfpathcurveto%
  160. %{\pgfpoint{\the\bmb@dima}{-3bp}}%
  161. %{\pgfpoint{\the\bmb@dimb}{-1.2bp}}%
  162. %{\pgfpoint{\the\bmb@dimb}{1bp}}%
  163. {
  164. \bmb@dima=\ht\bmb@box%
  165. \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
  166. \pgfpathlineto{\pgfpoint{-4bp}{\bmb@dima}}
  167. \pgfusepath{fill}
  168. }
  169. \ifbmb@shadow%
  170. {
  171. \color{black!50!bg}
  172. \pgfsetlinewidth{0pt}
  173. \pgfpathmoveto{\pgfpoint{\bmb@dimb}{-.5bp}}
  174. \bmb@dima=\ht\bmb@box%
  175. \advance\bmb@dima by\bmb@prevheight%
  176. \advance\bmb@dima by 1bp%
  177. \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
  178. \pgfusepath{stroke}
  179. \bmb@temp=\bmb@dima
  180. \advance\bmb@dima by 1bp%
  181. \color{black!31!bg}
  182. \pgfpathmoveto{\pgfpoint{\bmb@dimb}{\bmb@temp}}
  183. \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
  184. \pgfusepath{stroke}
  185. \advance\bmb@dima by 1bp%
  186. \advance\bmb@temp by 1bp%
  187. \color{black!19!bg}
  188. \pgfpathmoveto{\pgfpoint{\bmb@dimb}{\bmb@temp}}
  189. \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
  190. \pgfusepath{stroke}
  191. \advance\bmb@dima by 1bp%
  192. \advance\bmb@temp by 1bp%
  193. \color{black!6!bg}
  194. \pgfpathmoveto{\pgfpoint{\bmb@dimb}{\bmb@temp}}
  195. \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
  196. \pgfusepath{stroke}
  197. \advance\bmb@dima by 1.5bp%
  198. \advance\bmb@temp by 1bp%
  199. \color{bg}
  200. \pgfpathmoveto{\pgfpoint{\bmb@dimb}{\bmb@temp}}
  201. \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
  202. \pgfusepath{stroke}
  203. }
  204. \fi
  205. \end{pgfpicture}%
  206. \box\bmb@box%
  207. }%
  208. \ifbmb@shadow%
  209. \vskip4bp minus 2bp%
  210. \else%
  211. \vskip2bp%
  212. \fi%
  213. \egroup% of \vbox\bgroup
  214. }