From 55361ee45fe0afd48d8511ff1d2944966d1e5cb6 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 6 Jun 2020 21:12:52 +0000 Subject: beamerswitch (6jun20) git-svn-id: svn://tug.org/texlive/trunk@55441 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/beamerswitch/beamerswitch.cls | 89 +++++++++++++++++++++- 1 file changed, 85 insertions(+), 4 deletions(-) (limited to 'Master/texmf-dist/tex/latex/beamerswitch') diff --git a/Master/texmf-dist/tex/latex/beamerswitch/beamerswitch.cls b/Master/texmf-dist/tex/latex/beamerswitch/beamerswitch.cls index 7591022cc8c..98d8c5b898a 100644 --- a/Master/texmf-dist/tex/latex/beamerswitch/beamerswitch.cls +++ b/Master/texmf-dist/tex/latex/beamerswitch/beamerswitch.cls @@ -15,7 +15,7 @@ %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesClass{beamerswitch} - [2020/01/20 v1.6.1 Convenient mode selection in Beamer documents] + [2020/06/06 v1.7 Convenient mode selection in Beamer documents] \RequirePackage{xkeyval,xkvltxp,etoolbox,xstring,shellesc,iftex} \define@boolkey[DC]{beamerswitch}{beamer}[true]{% \ifbool{DC@beamerswitch@beamer}{% @@ -165,12 +165,12 @@ \def\beamerswitch@handoutpaper{#1}% } \newcounter{beamerswitch@nupcase} -\setcounter{beamerswitch@nupcase}{5} -\define@choicekey+[HL]{beamerswitch}{nup}[\val\nr]{2, 3, 3plus, 4, 4plus, 6, 8}{% +\setcounter{beamerswitch@nupcase}{7} +\define@choicekey+[HL]{beamerswitch}{nup}[\val\nr]{1, 1plus, 2, 3, 3plus, 4, 4plus, 6, 8}{% \setcounter{beamerswitch@nupcase}{\nr} }{% \ClassWarning{beamerswitch}{Value of `nup' not recognized. - Allowed values are 2, 3, 3plus, 4, 4plus, 6, and 8.}% + Allowed values are 1, 1plus, 2, 3, 3plus, 4, 4plus, 6, and 8.}% } \newcommand*{\beamerswitch@Border}{\relax} \define@key[HL]{beamerswitch}{border}[0.4pt]{% @@ -223,6 +223,10 @@ }% \ifbool{HL@beamerswitch@align}{% \ifcase\value{beamerswitch@nupcase}\relax + \relax + \or + \addtolength{\beamerswitch@pnoadjust}{-0.333\beamerswitch@margin}% + \or \addtolength{\beamerswitch@pnoadjust}{-0.333\beamerswitch@margin}% \or \addtolength{\beamerswitch@pnoadjust}{-0.5\beamerswitch@margin}% @@ -247,6 +251,14 @@ \def\beamerswitch@footer{\stepcounter{handoutpno}}% }% \ifcase\value{beamerswitch@nupcase}\relax + \def\beamerswitch@nup{1}% + \pgfpagesuselayout{1 by 1}[\beamerswitch@handoutpaper,% + landscape,border shrink=\the\beamerswitch@margin]% + \or + \def\beamerswitch@nup{1}% + \pgfpagesuselayout{1 by 1 narrow}[\beamerswitch@handoutpaper,% + border shrink=\the\beamerswitch@margin]% + \or \def\beamerswitch@nup{2}% \pgfpagesuselayout{1 by 2}[\beamerswitch@handoutpaper,% border shrink=\the\beamerswitch@margin]% @@ -283,6 +295,75 @@ }% } \mode{% + \pgfpagesdeclarelayout{1 by 1} + { + \edef\pgfpageoptionheight{\the\paperheight} + \edef\pgfpageoptionwidth{\the\paperwidth} + \edef\pgfpageoptionborder{0pt} + \def\pgfpageoptionfirstshipout{1} + } + { + \pgfpagesphysicalpageoptions + {% + logical pages=1,% + physical height=\pgfpageoptionheight,% + physical width=\pgfpageoptionwidth,% + current logical shipout=\pgfpageoptionfirstshipout% + } + \pgfpageslogicalpageoptions{1} + {% + border shrink=\pgfpageoptionborder,% + border code=\beamerswitch@Border,% + resized width=\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\pgfpoint{.5\pgfphysicalwidth}{.5\pgfphysicalheight}% + }% + }% + \pgfpagesdeclarelayout{1 by 1 narrow} + { + \edef\pgfpageoptionheight{\the\paperwidth} % landscaped by default + \edef\pgfpageoptionwidth{\the\paperheight} + \def\pgfpageoptionborder{0pt} + \def\pgfpageoptionfirstshipout{1} + } + { + \pgfpagesphysicalpageoptions + {% + logical pages=1,% + physical height=\pgfpageoptionheight,% + physical width=\pgfpageoptionwidth,% + current logical shipout=\pgfpageoptionfirstshipout% + } + \ifdim\paperheight>\paperwidth\relax + % put side-by-side + \pgfpageslogicalpageoptions{1} + {% + border shrink=\pgfpageoptionborder,% + border code=\beamerswitch@Border,% + resized width=.5\pgfphysicalwidth,% + resized height=\pgfphysicalheight,% + center=\ifbool{HL@beamerswitch@align}{% + \pgfpoint{.25\pgfphysicalwidth + 0.333\beamerswitch@margin}{.5\pgfphysicalheight}% + }{% + \pgfpoint{.25\pgfphysicalwidth}{.5\pgfphysicalheight}% + }% + }% + \else + % stack on top of one another + \pgfpageslogicalpageoptions{1} + {% + border shrink=\pgfpageoptionborder,% + border code=\beamerswitch@Border,% + resized width=\pgfphysicalwidth,% + resized height=.5\pgfphysicalheight,% + center=\ifbool{HL@beamerswitch@align}{% + \pgfpoint{.5\pgfphysicalwidth}{.75\pgfphysicalheight - 0.333\beamerswitch@margin}% + }{% + \pgfpoint{.5\pgfphysicalwidth}{.75\pgfphysicalheight}% + }% + }% + \fi + } \pgfpagesdeclarelayout{1 by 2} { \edef\pgfpageoptionheight{\the\paperwidth} % landscaped by default -- cgit v1.2.3