beamerouterthemedecolines.sty 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. % Copyright 2007 by Marco Barisione
  2. %
  3. % This file may be distributed and/or modified
  4. %
  5. % 1. under the LaTeX Project Public License and/or
  6. % 2. under the GNU Public License.
  7. \mode<presentation>
  8. % String used between the current page and the total page count.
  9. \def\beamer@decolines@pageofpages{/}
  10. \DeclareOptionBeamer{pageofpages}{\def\beamer@decolines@pageofpages{#1}}
  11. % Show a line below the frame title.
  12. \DeclareOptionBeamer{titleline}[true]{\def\beamer@decolines@titleline{#1}}
  13. % Image used for the watermark.
  14. \def\beamer@decolines@watermarkorig{}
  15. \DeclareOptionBeamer{watermark}{\def\beamer@decolines@watermarkorig{#1}}
  16. % Height of the watermark.
  17. \def\beamer@decolines@watermarkheight{80px}
  18. \DeclareOptionBeamer{watermarkheight}{\def\beamer@decolines@watermarkheight{#1}}
  19. % The original image height is watermarkheightmult * watermarkheight.
  20. \def\beamer@decolines@watermarkheightmult{1}
  21. \DeclareOptionBeamer{watermarkheightmult}{\def\beamer@decolines@watermarkheightmult{#1}}
  22. \ExecuteOptionsBeamer{titleline=false}
  23. \ProcessOptionsBeamer
  24. % Enable/disable the watermark.
  25. \def\watermarkon{%
  26. \def\beamer@decolines@watermark{\beamer@decolines@watermarkorig}%
  27. }
  28. \def\watermarkoff{\def\beamer@decolines@watermark{}}
  29. % Initially enable the watermark.
  30. \watermarkon
  31. % Colors.
  32. \setbeamercolor*{lineup}{parent=palette primary}
  33. \setbeamercolor*{linemid}{parent=palette secondary}
  34. \setbeamercolor*{linebottom}{parent=palette tertiary}
  35. \setbeamercolor*{page header}{parent=titlelike}
  36. % Lengths
  37. \newlength{\headerheight}
  38. \setlength{\headerheight}{.045\paperheight}
  39. \newlength{\beamer@decolines@lineup}
  40. \setlength{\beamer@decolines@lineup}{.025\paperheight}
  41. \newlength{\beamer@decolines@linemid}
  42. \setlength{\beamer@decolines@linemid}{.015\paperheight}
  43. \newlength{\beamer@decolines@linebottom}
  44. \setlength{\beamer@decolines@linebottom}{.01\paperheight}
  45. % The height of the watermark part below the 3 bottom lines.
  46. \newlength{\beamer@decolines@watermarkheightbottom}
  47. \addtolength{\beamer@decolines@watermarkheightbottom}{\beamer@decolines@lineup}
  48. \addtolength{\beamer@decolines@watermarkheightbottom}{\beamer@decolines@linemid}
  49. \addtolength{\beamer@decolines@watermarkheightbottom}{\beamer@decolines@linebottom}
  50. % The height of the watermark part over the 3 bottom lines before shrinking.
  51. \newlength{\beamer@decolines@watermarkheightupperorig}
  52. \setlength{\beamer@decolines@watermarkheightupperorig}{\beamer@decolines@watermarkheight}
  53. \addtolength{\beamer@decolines@watermarkheightupperorig}{-\beamer@decolines@watermarkheightbottom}
  54. \multiply\beamer@decolines@watermarkheightupperorig by \beamer@decolines@watermarkheightmult
  55. % Footer.
  56. \defbeamertemplate*{footline}{decolines theme}
  57. {
  58. \leavevmode%
  59. % Page number.
  60. \hbox{%
  61. \begin{beamercolorbox}[wd=.2\paperwidth,ht=0ex,dp=0ex,center]{}%
  62. \usebeamerfont{palette primary}\insertframenumber{} \beamer@decolines@pageofpages{} \inserttotalframenumber%
  63. \end{beamercolorbox}%
  64. \begin{beamercolorbox}[wd=.8\paperwidth,ht=0ex,dp=0ex]{}%
  65. \end{beamercolorbox}%
  66. } %
  67. % First line.
  68. \hbox{%
  69. \begin{beamercolorbox}[wd=.2\paperwidth,ht=\beamer@decolines@lineup,dp=0pt]{}%
  70. \end{beamercolorbox}%
  71. \begin{beamercolorbox}[wd=.8\paperwidth,ht=\beamer@decolines@lineup,dp=0pt]{lineup}%
  72. \end{beamercolorbox}%
  73. } %
  74. % Second line.
  75. \hbox{%
  76. \begin{beamercolorbox}[wd=\paperwidth,ht=\beamer@decolines@linemid,dp=0pt]{linemid}%
  77. \end{beamercolorbox}%
  78. } %
  79. % Third line.
  80. \hbox{%
  81. \begin{beamercolorbox}[wd=.1\paperwidth,ht=\beamer@decolines@linebottom,dp=0pt]{}%
  82. \end{beamercolorbox}%
  83. \begin{beamercolorbox}[wd=.9\paperwidth,ht=\beamer@decolines@linebottom,dp=0pt]{linebottom}%
  84. \end{beamercolorbox}%
  85. }%
  86. % This seems to fix some alignment problems with the watermark. It has to be
  87. % always applied if you do not want to see the footer moving up and down when
  88. % moving from a page with watermark to a page without or vice versa.
  89. \vskip-.5px%
  90. % Watermark.
  91. % \if\beamer@decolines@watermark\@empty\else%
  92. % \vskip-\beamer@decolines@watermarkheightbottom%
  93. % \llap{\includegraphics[height=\beamer@decolines@watermarkheightbottom,clip=true,%
  94. % trim=0pt 0pt 0pt \beamer@decolines@watermarkheightupperorig]{\beamer@decolines@watermark}\hskip-\paperwidth}%
  95. % \fi%
  96. }
  97. \defbeamertemplate*{headline}{decolines theme}
  98. {
  99. \leavevmode%
  100. \hbox{%
  101. \begin{beamercolorbox}[wd=\paperwidth,ht=\headerheight,dp=0pt]{page header}%
  102. \end{beamercolorbox}%
  103. } %
  104. \vskip0pt%
  105. }
  106. \defbeamertemplate*{frametitle}{decolines theme}[1][left]
  107. {
  108. \ifbeamercolorempty[bg]{frametitle}{}{\nointerlineskip}%
  109. \@tempdima=\textwidth%
  110. \advance\@tempdima by\beamer@leftmargin%
  111. \advance\@tempdima by\beamer@rightmargin%
  112. \vbox{}\vskip-.5\beamer@leftmargin%
  113. \begin{beamercolorbox}[sep=\beamer@leftmargin,#1,wd=\the\@tempdima]{}
  114. \usebeamerfont{frametitle}\usebeamercolor[bg]{framesubtitle}%
  115. \vbox{}\vskip0ex%
  116. \if@tempswa\else\csname beamer@fte#1\endcsname\fi%
  117. \strut\insertframetitle\strut\par%
  118. {%
  119. \ifx\insertframesubtitle\@empty%
  120. \else%
  121. {\usebeamerfont{framesubtitle}\usebeamercolor[bg]{framesubtitle}\insertframesubtitle\strut\par}%
  122. \fi
  123. }%
  124. \vskip-1ex%
  125. \if@tempswa\else\vskip-\beamer@leftmargin\fi
  126. \end{beamercolorbox}%
  127. \def\beamer@decolines@truetext{true}%
  128. \ifx\beamer@decolines@titleline\beamer@decolines@truetext%
  129. \vskip-.5\beamer@leftmargin%
  130. \begin{beamercolorbox}[wd=\textwidth,ht=.1ex,dp=0ex]{linemid}%
  131. \end{beamercolorbox}%
  132. \fi
  133. }
  134. % Frame title continuations, default
  135. \defbeamertemplate*{frametitle continuation}{decolines theme}{(\insertcontinuationcount)}
  136. \defbeamertemplate*{sidebar right}{decolines theme}
  137. {
  138. \vfill%
  139. \llap{\begin{minipage}{100px}
  140. \if\beamer@decolines@watermark\@empty\else
  141. \hfill{\transparent{0.5}{\includegraphics[height=\beamer@decolines@watermarkheight]{\beamer@decolines@watermark}}\hskip7px}
  142. \fi
  143. \end{minipage}
  144. }%
  145. \vskip7px
  146. }
  147. \mode
  148. <all>