diff options
author | Karl Berry <karl@freefriends.org> | 2025-02-11 20:49:10 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2025-02-11 20:49:10 +0000 |
commit | 21db54cd24c3d2f2fc915817e1181047bb1920c2 (patch) | |
tree | 4d99a47fc31d4f80d709c1440c6870a7843e0c93 /Master/texmf-dist | |
parent | e4bc5e2f19e2a1dfbf52ef07c4c517123883ec64 (diff) |
notebeamer (11feb25)
git-svn-id: svn://tug.org/texlive/trunk@73878 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/notebeamer/License | 415 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/notebeamer/README.md | 36 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/notebeamer/notebeamer-demo1.pdf | bin | 36500 -> 0 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/notebeamer/notebeamer-demo1.tex | 18 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/notebeamer/notebeamer-demo2.pdf | bin | 23754 -> 0 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/notebeamer/notebeamer-demo2.tex | 13 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/notebeamer/notebeamer.pdf | bin | 112745 -> 418830 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/notebeamer/notebeamer.tex | 80 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/notebeamer/notebeamer.dtx | 393 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/notebeamer/notebeamer.ins | 75 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/notebeamer/notebeamer.sty | 316 |
11 files changed, 640 insertions, 706 deletions
diff --git a/Master/texmf-dist/doc/latex/notebeamer/License b/Master/texmf-dist/doc/latex/notebeamer/License deleted file mode 100644 index 842cf85e3ce..00000000000 --- a/Master/texmf-dist/doc/latex/notebeamer/License +++ /dev/null @@ -1,415 +0,0 @@ -The LaTeX Project Public License -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - -LPPL Version 1.3c 2008-05-04 - -Copyright 1999 2002-2008 LaTeX3 Project - Everyone is allowed to distribute verbatim copies of this - license document, but modification of it is not allowed. - - -PREAMBLE -======== - -The LaTeX Project Public License (LPPL) is the primary license under -which the LaTeX kernel and the base LaTeX packages are distributed. - -You may use this license for any work of which you hold the copyright -and which you wish to distribute. This license may be particularly -suitable if your work is TeX-related (such as a LaTeX package), but -it is written in such a way that you can use it even if your work is -unrelated to TeX. - -The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE', -below, gives instructions, examples, and recommendations for authors -who are considering distributing their works under this license. - -This license gives conditions under which a work may be distributed -and modified, as well as conditions under which modified versions of -that work may be distributed. - -We, the LaTeX3 Project, believe that the conditions below give you -the freedom to make and distribute modified versions of your work -that conform with whatever technical specifications you wish while -maintaining the availability, integrity, and reliability of -that work. If you do not see how to achieve your goal while -meeting these conditions, then read the document `cfgguide.tex' -and `modguide.tex' in the base LaTeX distribution for suggestions. - - -DEFINITIONS -=========== - -In this license document the following terms are used: - - `Work' - Any work being distributed under this License. - - `Derived Work' - Any work that under any applicable law is derived from the Work. - - `Modification' - Any procedure that produces a Derived Work under any applicable - law -- for example, the production of a file containing an - original file associated with the Work or a significant portion of - such a file, either verbatim or with modifications and/or - translated into another language. - - `Modify' - To apply any procedure that produces a Derived Work under any - applicable law. - - `Distribution' - Making copies of the Work available from one person to another, in - whole or in part. Distribution includes (but is not limited to) - making any electronic components of the Work accessible by - file transfer protocols such as FTP or HTTP or by shared file - systems such as Sun's Network File System (NFS). - - `Compiled Work' - A version of the Work that has been processed into a form where it - is directly usable on a computer system. This processing may - include using installation facilities provided by the Work, - transformations of the Work, copying of components of the Work, or - other activities. Note that modification of any installation - facilities provided by the Work constitutes modification of the Work. - - `Current Maintainer' - A person or persons nominated as such within the Work. If there is - no such explicit nomination then it is the `Copyright Holder' under - any applicable law. - - `Base Interpreter' - A program or process that is normally needed for running or - interpreting a part or the whole of the Work. - - A Base Interpreter may depend on external components but these - are not considered part of the Base Interpreter provided that each - external component clearly identifies itself whenever it is used - interactively. Unless explicitly specified when applying the - license to the Work, the only applicable Base Interpreter is a - `LaTeX-Format' or in the case of files belonging to the - `LaTeX-format' a program implementing the `TeX language'. - - - -CONDITIONS ON DISTRIBUTION AND MODIFICATION -=========================================== - -1. Activities other than distribution and/or modification of the Work -are not covered by this license; they are outside its scope. In -particular, the act of running the Work is not restricted and no -requirements are made concerning any offers of support for the Work. - -2. You may distribute a complete, unmodified copy of the Work as you -received it. Distribution of only part of the Work is considered -modification of the Work, and no right to distribute such a Derived -Work may be assumed under the terms of this clause. - -3. You may distribute a Compiled Work that has been generated from a -complete, unmodified copy of the Work as distributed under Clause 2 -above, as long as that Compiled Work is distributed in such a way that -the recipients may install the Compiled Work on their system exactly -as it would have been installed if they generated a Compiled Work -directly from the Work. - -4. If you are the Current Maintainer of the Work, you may, without -restriction, modify the Work, thus creating a Derived Work. You may -also distribute the Derived Work without restriction, including -Compiled Works generated from the Derived Work. Derived Works -distributed in this manner by the Current Maintainer are considered to -be updated versions of the Work. - -5. If you are not the Current Maintainer of the Work, you may modify -your copy of the Work, thus creating a Derived Work based on the Work, -and compile this Derived Work, thus creating a Compiled Work based on -the Derived Work. - -6. If you are not the Current Maintainer of the Work, you may -distribute a Derived Work provided the following conditions are met -for every component of the Work unless that component clearly states -in the copyright notice that it is exempt from that condition. Only -the Current Maintainer is allowed to add such statements of exemption -to a component of the Work. - - a. If a component of this Derived Work can be a direct replacement - for a component of the Work when that component is used with the - Base Interpreter, then, wherever this component of the Work - identifies itself to the user when used interactively with that - Base Interpreter, the replacement component of this Derived Work - clearly and unambiguously identifies itself as a modified version - of this component to the user when used interactively with that - Base Interpreter. - - b. Every component of the Derived Work contains prominent notices - detailing the nature of the changes to that component, or a - prominent reference to another file that is distributed as part - of the Derived Work and that contains a complete and accurate log - of the changes. - - c. No information in the Derived Work implies that any persons, - including (but not limited to) the authors of the original version - of the Work, provide any support, including (but not limited to) - the reporting and handling of errors, to recipients of the - Derived Work unless those persons have stated explicitly that - they do provide such support for the Derived Work. - - d. You distribute at least one of the following with the Derived Work: - - 1. A complete, unmodified copy of the Work; - if your distribution of a modified component is made by - offering access to copy the modified component from a - designated place, then offering equivalent access to copy - the Work from the same or some similar place meets this - condition, even though third parties are not compelled to - copy the Work along with the modified component; - - 2. Information that is sufficient to obtain a complete, - unmodified copy of the Work. - -7. If you are not the Current Maintainer of the Work, you may -distribute a Compiled Work generated from a Derived Work, as long as -the Derived Work is distributed to all recipients of the Compiled -Work, and as long as the conditions of Clause 6, above, are met with -regard to the Derived Work. - -8. The conditions above are not intended to prohibit, and hence do not -apply to, the modification, by any method, of any component so that it -becomes identical to an updated version of that component of the Work as -it is distributed by the Current Maintainer under Clause 4, above. - -9. Distribution of the Work or any Derived Work in an alternative -format, where the Work or that Derived Work (in whole or in part) is -then produced by applying some process to that format, does not relax or -nullify any sections of this license as they pertain to the results of -applying that process. - -10. a. A Derived Work may be distributed under a different license - provided that license itself honors the conditions listed in - Clause 6 above, in regard to the Work, though it does not have - to honor the rest of the conditions in this license. - - b. If a Derived Work is distributed under a different license, that - Derived Work must provide sufficient documentation as part of - itself to allow each recipient of that Derived Work to honor the - restrictions in Clause 6 above, concerning changes from the Work. - -11. This license places no restrictions on works that are unrelated to -the Work, nor does this license place any restrictions on aggregating -such works with the Work by any means. - -12. Nothing in this license is intended to, or may be used to, prevent -complete compliance by all parties with all applicable laws. - - -NO WARRANTY -=========== - -There is no warranty for the Work. Except when otherwise stated in -writing, the Copyright Holder provides the Work `as is', without -warranty of any kind, either expressed or implied, including, but not -limited to, the implied warranties of merchantability and fitness for a -particular purpose. The entire risk as to the quality and performance -of the Work is with you. Should the Work prove defective, you assume -the cost of all necessary servicing, repair, or correction. - -In no event unless required by applicable law or agreed to in writing -will The Copyright Holder, or any author named in the components of the -Work, or any other party who may distribute and/or modify the Work as -permitted above, be liable to you for damages, including any general, -special, incidental or consequential damages arising out of any use of -the Work or out of inability to use the Work (including, but not limited -to, loss of data, data being rendered inaccurate, or losses sustained by -anyone as a result of any failure of the Work to operate with any other -programs), even if the Copyright Holder or said author or said other -party has been advised of the possibility of such damages. - - -MAINTENANCE OF THE WORK -======================= - -The Work has the status `author-maintained' if the Copyright Holder -explicitly and prominently states near the primary copyright notice in -the Work that the Work can only be maintained by the Copyright Holder -or simply that it is `author-maintained'. - -The Work has the status `maintained' if there is a Current Maintainer -who has indicated in the Work that they are willing to receive error -reports for the Work (for example, by supplying a valid e-mail -address). It is not required for the Current Maintainer to acknowledge -or act upon these error reports. - -The Work changes from status `maintained' to `unmaintained' if there -is no Current Maintainer, or the person stated to be Current -Maintainer of the work cannot be reached through the indicated means -of communication for a period of six months, and there are no other -significant signs of active maintenance. - -You can become the Current Maintainer of the Work by agreement with -any existing Current Maintainer to take over this role. - -If the Work is unmaintained, you can become the Current Maintainer of -the Work through the following steps: - - 1. Make a reasonable attempt to trace the Current Maintainer (and - the Copyright Holder, if the two differ) through the means of - an Internet or similar search. - - 2. If this search is successful, then enquire whether the Work - is still maintained. - - a. If it is being maintained, then ask the Current Maintainer - to update their communication data within one month. - - b. If the search is unsuccessful or no action to resume active - maintenance is taken by the Current Maintainer, then announce - within the pertinent community your intention to take over - maintenance. (If the Work is a LaTeX work, this could be - done, for example, by posting to comp.text.tex.) - - 3a. If the Current Maintainer is reachable and agrees to pass - maintenance of the Work to you, then this takes effect - immediately upon announcement. - - b. If the Current Maintainer is not reachable and the Copyright - Holder agrees that maintenance of the Work be passed to you, - then this takes effect immediately upon announcement. - - 4. If you make an `intention announcement' as described in 2b. above - and after three months your intention is challenged neither by - the Current Maintainer nor by the Copyright Holder nor by other - people, then you may arrange for the Work to be changed so as - to name you as the (new) Current Maintainer. - - 5. If the previously unreachable Current Maintainer becomes - reachable once more within three months of a change completed - under the terms of 3b) or 4), then that Current Maintainer must - become or remain the Current Maintainer upon request provided - they then update their communication data within one month. - -A change in the Current Maintainer does not, of itself, alter the fact -that the Work is distributed under the LPPL license. - -If you become the Current Maintainer of the Work, you should -immediately provide, within the Work, a prominent and unambiguous -statement of your status as Current Maintainer. You should also -announce your new status to the same pertinent community as -in 2b) above. - - -WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE -====================================================== - -This section contains important instructions, examples, and -recommendations for authors who are considering distributing their -works under this license. These authors are addressed as `you' in -this section. - -Choosing This License or Another License ----------------------------------------- - -If for any part of your work you want or need to use *distribution* -conditions that differ significantly from those in this license, then -do not refer to this license anywhere in your work but, instead, -distribute your work under a different license. You may use the text -of this license as a model for your own license, but your license -should not refer to the LPPL or otherwise give the impression that -your work is distributed under the LPPL. - -The document `modguide.tex' in the base LaTeX distribution explains -the motivation behind the conditions of this license. It explains, -for example, why distributing LaTeX under the GNU General Public -License (GPL) was considered inappropriate. Even if your work is -unrelated to LaTeX, the discussion in `modguide.tex' may still be -relevant, and authors intending to distribute their works under any -license are encouraged to read it. - -A Recommendation on Modification Without Distribution ------------------------------------------------------ - -It is wise never to modify a component of the Work, even for your own -personal use, without also meeting the above conditions for -distributing the modified component. While you might intend that such -modifications will never be distributed, often this will happen by -accident -- you may forget that you have modified that component; or -it may not occur to you when allowing others to access the modified -version that you are thus distributing it and violating the conditions -of this license in ways that could have legal implications and, worse, -cause problems for the community. It is therefore usually in your -best interest to keep your copy of the Work identical with the public -one. Many works provide ways to control the behavior of that work -without altering any of its licensed components. - -How to Use This License ------------------------ - -To use this license, place in each of the components of your work both -an explicit copyright notice including your name and the year the work -was authored and/or last substantially modified. Include also a -statement that the distribution and/or modification of that -component is constrained by the conditions in this license. - -Here is an example of such a notice and statement: - - %% pig.dtx - %% Copyright 2008 M. Y. Name - % - % This work may be distributed and/or modified under the - % conditions of the LaTeX Project Public License, either version 1.3 - % of this license or (at your option) any later version. - % The latest version of this license is in - % https://www.latex-project.org/lppl.txt - % and version 1.3c or later is part of all distributions of LaTeX - % version 2008 or later. - % - % This work has the LPPL maintenance status `maintained'. - % - % The Current Maintainer of this work is M. Y. Name. - % - % This work consists of the files pig.dtx and pig.ins - % and the derived file pig.sty. - -Given such a notice and statement in a file, the conditions -given in this license document would apply, with the `Work' referring -to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being -generated from `pig.dtx' using `pig.ins'), the `Base Interpreter' -referring to any `LaTeX-Format', and both `Copyright Holder' and -`Current Maintainer' referring to the person `M. Y. Name'. - -If you do not want the Maintenance section of LPPL to apply to your -Work, change `maintained' above into `author-maintained'. -However, we recommend that you use `maintained', as the Maintenance -section was added in order to ensure that your Work remains useful to -the community even when you can no longer maintain and support it -yourself. - -Derived Works That Are Not Replacements ---------------------------------------- - -Several clauses of the LPPL specify means to provide reliability and -stability for the user community. They therefore concern themselves -with the case that a Derived Work is intended to be used as a -(compatible or incompatible) replacement of the original Work. If -this is not the case (e.g., if a few lines of code are reused for a -completely different task), then clauses 6b and 6d shall not apply. - - -Important Recommendations -------------------------- - - Defining What Constitutes the Work - - The LPPL requires that distributions of the Work contain all the - files of the Work. It is therefore important that you provide a - way for the licensee to determine which files constitute the Work. - This could, for example, be achieved by explicitly listing all the - files of the Work near the copyright notice of each file or by - using a line such as: - - % This work consists of all files listed in manifest.txt. - - in that place. In the absence of an unequivocal list it might be - impossible for the licensee to determine what is considered by you - to comprise the Work and, in such a case, the licensee would be - entitled to make reasonable conjectures as to which files comprise - the Work. diff --git a/Master/texmf-dist/doc/latex/notebeamer/README.md b/Master/texmf-dist/doc/latex/notebeamer/README.md index bfe07955ce2..02020183f52 100644 --- a/Master/texmf-dist/doc/latex/notebeamer/README.md +++ b/Master/texmf-dist/doc/latex/notebeamer/README.md @@ -1,13 +1,35 @@ -# The `notebeamer` package +# notebeamer -This package provides macros for inputting slides on note papers quickly. +The `notebeamer` package provides a method for inputting slides on note +papers quickly. -**Welcome to pull requests [here](https://github.com/xiamyphys/notebeamer/pulls).** +Basic Usage +----------- -## License +The package provides the `\includebeamer` macro -This work may be distributed and/or modified under the conditions of the [LaTeX Project Public License](http://www.latex-project.org/lppl.txt), either version 1.3c of this license or (at your option) any later version. + \includebeamer [<keyvals>] {<filename>} [<keyvals>] -This work has the LPPL maintenance status `maintained`. +to set the format that how the slides is arranged on note papers. -The Current Maintainer of this work is [Mingyu Xia](https://www.ctan.org/author/xia-my).
\ No newline at end of file +See `notebeamer.pdf` for more. Happy TeXing! + +Copyright and License +--------------------- + + Copyright (C) 2023-2025 by Mingyu Xia <myhsia@outlook.com> + + It may be distributed and/or modified under the conditions of the + LaTeX Project Public License (LPPL), either version 1.3c of this + license or (at your option) any later version. The latest version + of this license is in the file + http://www.latex-project.org/lppl.txt + This work has the LPPL maintenance status `maintained'. + + The Current Maintainer of this work is Mingyu Xia. + + This work consists of the files notebeamer.dtx, + and the derived files notebeamer.ins, + notebeamer.sty, + notebeamer.pdf, + and README.md (this file). diff --git a/Master/texmf-dist/doc/latex/notebeamer/notebeamer-demo1.pdf b/Master/texmf-dist/doc/latex/notebeamer/notebeamer-demo1.pdf Binary files differdeleted file mode 100644 index d029b3789de..00000000000 --- a/Master/texmf-dist/doc/latex/notebeamer/notebeamer-demo1.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/notebeamer/notebeamer-demo1.tex b/Master/texmf-dist/doc/latex/notebeamer/notebeamer-demo1.tex deleted file mode 100644 index 188bfab2328..00000000000 --- a/Master/texmf-dist/doc/latex/notebeamer/notebeamer-demo1.tex +++ /dev/null @@ -1,18 +0,0 @@ - \documentclass[svgnames]{article} - - \usepackage{geometry,notebeamer} - \geometry{margin = .75in} - - \begin{document} - - \includebeamer - [ color = MidnightBlue, ratio = .54, lines = 32, nup = 4, - pages = {2 - 4, 6 - 8}, lefthead = Chapter 1, righthead = Page~\thepage - ] { example-image-duck.pdf } - - \includebeamer - [ color = MidnightBlue, ratio = .32, lines = 32, nup = 3, - pages = -, lefthead = Chapter 2, righthead = Page~\thepage - ] { example-image-a4-numbered.pdf } - - \end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/notebeamer/notebeamer-demo2.pdf b/Master/texmf-dist/doc/latex/notebeamer/notebeamer-demo2.pdf Binary files differdeleted file mode 100644 index 4eef41106a4..00000000000 --- a/Master/texmf-dist/doc/latex/notebeamer/notebeamer-demo2.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/notebeamer/notebeamer-demo2.tex b/Master/texmf-dist/doc/latex/notebeamer/notebeamer-demo2.tex deleted file mode 100644 index ad9a8c913bd..00000000000 --- a/Master/texmf-dist/doc/latex/notebeamer/notebeamer-demo2.tex +++ /dev/null @@ -1,13 +0,0 @@ - \documentclass[svgnames,landscape]{article} - - \usepackage{geometry,notebeamer} - \geometry{margin = .75in} - - \begin{document} - - \includebeamer - [ color = MidnightBlue, ratio = .57, sep = 4ex, nup = 1, - pages = -, lefthead = Chapter 3, righthead = Page~\thepage - ] { example-image-letter.pdf } - - \end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/notebeamer/notebeamer.pdf b/Master/texmf-dist/doc/latex/notebeamer/notebeamer.pdf Binary files differindex 3bd4b874b8b..c42af966acb 100644 --- a/Master/texmf-dist/doc/latex/notebeamer/notebeamer.pdf +++ b/Master/texmf-dist/doc/latex/notebeamer/notebeamer.pdf diff --git a/Master/texmf-dist/doc/latex/notebeamer/notebeamer.tex b/Master/texmf-dist/doc/latex/notebeamer/notebeamer.tex deleted file mode 100644 index ea351a29a24..00000000000 --- a/Master/texmf-dist/doc/latex/notebeamer/notebeamer.tex +++ /dev/null @@ -1,80 +0,0 @@ -\documentclass[svgnames,letterpaper]{l3doc} - -\hypersetup{urlcolor = teal, filecolor = violet} -\hologoFontSetup{general = \sffamily} -\usepackage[mono = false]{libertine} -\usepackage{hologo,verbatim,geometry,framed,notebeamer,pdfpages} -\hologoFontSetup{general = \sffamily} -\setlength{\oddsidemargin}{63pt}\setlength{\evensidemargin}{63pt} -\FrameSep = 0pt -\linespread{1.1} -\usepackage{indentfirst} -\setlength{\parindent}{2em} -\usepackage[os = mac]{menukeys} -\AddToHook{env/function/before}{\vspace{-.3\baselineskip}} -\AddToHook{env/syntax/after}{\vspace{-.2\baselineskip}} - -\title -{ - \bfseries - The \cls{notebeamer} Package - \thanks{\url{https://github.com/xiamyphys/notebeamer}} -} -\author -{ - Mingyu Xia \texttt{<\href{mailto:xiamyphys@gmail.com}{xiamyphys@gmail.com}>} -} -\date{Version 4.0A, \today} - -\begin{document} -\maketitle - -\section{Introduction} - -The \pkg{notebeamer} package provides an easy way to input slides on notepages quickly for making annotations, based on \pkg{expl3} and \pkg{tikz}. It is compatible with \hologo{TeX} Live 2019 or later distributions, they all work fine for \hologo{pdfLaTeX} and \hologo{XeLaTeX} compilers. This is the English manual for the \pkg{notebeamer} package. - -\section{Loading \pkg{notebeamer} and input} - -Just like loading any class, write - -\begin{framed} - \begin{verbatim} - \usepackage{notebeamer} - \end{verbatim} -\end{framed} - -\begin{function}{\includebeamer} - \begin{syntax} - \cs{includebeamer} \oarg{keyvals} \marg{filename} \oarg{keyvals} - \end{syntax} -\end{function} - -The \cs{includebeamer} command can create pages with note lines, and import the specific pages of the \file{.pdf} file on the left side of the note pages. The optional argument accepts the following keys: \keys{\cmdmac~color} \keys{\cmdmac~ratio} \keys{\cmdmac~sep} \keys{\cmdmac~nup} \keys{\cmdmac~pages} \keys{\cmdmac~lefthead} \keys{\cmdmac~righthead}, and the mandatory argument can set the \file{.pdf} file that you want to insert. - -\begin{itemize} - \item The key \keys{\cmdmac~color} can set the color of the note lines, its default value is \cmd{black}. - \item The key \keys{\cmdmac~ratio} can set the ratio of the widths of imported beamer frames and empty area, its default value is \cmd{0.48}. - \item The key \keys{\cmdmac~sep} can set the vertical space between beamer frames, its default value is \cmd{2ex}. - \item The key \keys{\cmdmac~nup} can set the number of beamer frames on every physical page, its default value is \cmd{3}. - \item The key \keys{\cmdmac~pages} can select pages to insert. The argument is a comma separated list, containing page numbers, ranges of page numbers or any combination. Its default value is \cmd{1}. - \item The keys \keys{\cmdmac~lefthead} and \keys{\cmdmac~righthead} can set the left header and right header of the note pages. -\end{itemize} - -\section{Working Examples} - -For 4 logical pages per physical page and 3 logical pages per physical page - -\begin{framed} - \verbatiminput{notebeamer-demo1.tex} -\end{framed} - -For one logical page per page, landscape is recommanded: - -\begin{framed} - \verbatiminput{notebeamer-demo2.tex} -\end{framed} - -\includepdfmerge[nup = 2x2] - { notebeamer-demo1, -, notebeamer-demo2, -} - -\end{document} diff --git a/Master/texmf-dist/source/latex/notebeamer/notebeamer.dtx b/Master/texmf-dist/source/latex/notebeamer/notebeamer.dtx new file mode 100644 index 00000000000..861c2e990ff --- /dev/null +++ b/Master/texmf-dist/source/latex/notebeamer/notebeamer.dtx @@ -0,0 +1,393 @@ +% \iffalse meta-comment +% +% File: notebeamer.dtx +% ----------------------------------------------------------------------- +% Copyright (C) 2023-2025 by Mingyu Xia <myhsia@outlook.com> * +% * +% It may be distributed and/or modified under the conditions of the * +% LaTeX Project Public License (LPPL), either version 1.3c of this * +% license or (at your option) any later version. The latest version * +% of this license is in the file * +% * +% http://www.latex-project.org/lppl.txt * +% * +% This work has the LPPL maintenance status `maintained'. * +% * +% The Current Maintainer of this work is Mingyu Xia. * +% * +% This work consists of the files notebeamer.dtx, * +% and the derived files notebeamer.ins, * +% notebeamer.sty, * +% notebeamer.pdf, * +% and README.md. * +% ----------------------------------------------------------------------- +% +% Any modification of this file should ensure that the copyright and +% license information is placed in the derived files. +% +% ----------------------------------------------------------------------- +% +%<*internal> +\iffalse +%</internal> +% +%<*readme> +# notebeamer + +The `notebeamer` package provides a method for inputting slides on note +papers quickly. + +Basic Usage +----------- + +The package provides the `\includebeamer` macro + + \includebeamer [<keyvals>] {<filename>} [<keyvals>] + +to set the format that how the slides is arranged on note papers. + +See `notebeamer.pdf` for more. Happy TeXing! + +Copyright and License +--------------------- + + Copyright (C) 2023-2025 by Mingyu Xia <myhsia@outlook.com> + + It may be distributed and/or modified under the conditions of the + LaTeX Project Public License (LPPL), either version 1.3c of this + license or (at your option) any later version. The latest version + of this license is in the file + http://www.latex-project.org/lppl.txt + This work has the LPPL maintenance status `maintained'. + + The Current Maintainer of this work is Mingyu Xia. + + This work consists of the files notebeamer.dtx, + and the derived files notebeamer.ins, + notebeamer.sty, + notebeamer.pdf, + and README.md (this file). +%</readme> +% +%<*internal> +\fi +%</internal> +% +%<*driver|package> +\RequirePackage{expl3, xparse} +%</driver|package> +%<*driver> +\documentclass[svgnames]{l3doc} +\usepackage[pass]{geometry} +\usepackage{notebeamer} +\AddToHook{env/function/before}{\vspace*{-.6\baselineskip}} +\def \key #1{\textcolor{red}{\textbf{\texttt{#1}}}} +\def \keyval #1#2{\key{#1} \normalfont \texttt{=} \meta{\textup{#2}}} +\begin{document} + \DocInput{\jobname.dtx} +\end{document} +%</driver> +% \fi +% +% \title{^^A +% The \pkg{notebeamer} Package\thanks +% {^^A +% \url{https://github.com/myhsia/notebeamer}, +% \url{https://ctan.org/pkg/notebeamer}^^A +% } +% } +% +% \author{^^A +% Mingyu Xia +% \texttt{<\href{mailto:myhsia@outlook.com}{myhsia@outlook.com}>}^^A +% } +% +% \date{Released 2025-02-11\quad \texttt{v4.0C}} +% +% \maketitle +% +% \begin{documentation} +% +% \section{Introduction} +% +% The \pkg{notebeamer} package provides an easy way to input slides on note +% pages quickly for making annotations, developed by \pkg{expl3} based on +% \pkg{tikz} and \pkg{l3graphics}. It is compatible with \hologo{TeX} Live 2019 +% or later distributions and supports compilation methods such as +% \hologo{pdfLaTeX}, \hologo{XeLaTeX}, and \hologo{LuaLaTeX}, etc. +% +% \section{Usage} +% +% To load this package, write the line +% \begin{quote} +% |\usepackage{notebeamer}| +% \end{quote} +% +% \begin{function}{\includebeamer} +% \begin{syntax} +% \cs{includebeamer} \oarg{keyvals} \marg{filename} \oarg{keyvals} +% \end{syntax} +% The \cs{includebeamer} command can create pages with note lines, and import +% the specific pages of the \file{.pdf} file on the left side of the note +% pages. The mandatory argument can set the \file{.pdf} file that will be +% inserted. The optional argument accepts the following keys +% \begin{description}[leftmargin = 0pt] +% \item [\keyval{color}{string}] can set the color of the note lines +% (Default: \cmd{black}), key's name could be omitted. +% \item [\keyval{ratio}{fp}] can set the ratio of imported slides' and empty +% area's width (Default: \cmd{0.5}). +% \item [\keyval{sep}{dim}] can set the vertical space between slides +% (Default: \cmd{2ex}). +% \item [\keyval{nup}{int}] can set the number of slides on every page +% (Default: \cmd3). +% \item [\keyval{pages}{comma separated list}] can select pages to insert. +% The comma separated list contains combination of (ranges of) page numbers. +% (Default: \cmd1). +% \item [\keyval{lefthead}{string}, \keyval{righthead}{string}] can set the +% left / right header of the pages. +% \end{description} +% \end{function} +% +% Meanwhile, You can use \cs{newgeometry}. For instance +% \begin{verbatim} +% \newgeometry{margin = .75in} +% \includebeamer +% [ nup = 4, pages = {2-4, 6}, lines = 32, ratio = .28, +% Navy, lefthead = Chapter 1, righthead = Page~\thepage +% ] { example-image-a4-numbered.pdf } +% \end{verbatim} +% +% \newgeometry{margin = .75in} +% \includebeamer +% [ nup = 4, pages = {2-4, 6}, lines = 32, ratio = .28, +% Navy, lefthead = Chapter 1, righthead = Page~\thepage +% ] { example-image-a4-numbered.pdf } +% +% \end{documentation} +% +% \begin{implementation} +% +% \section{The Source Code} +% +% \linespread{1.15} +% +% \begin{macrocode} +%<*package> +% \end{macrocode} +% Provides the package name. +% \begin{macrocode} +\ProvidesExplPackage{notebeamer}{2025/02/11}{v4.0C} + {Package provides macros for inputting slides on note papers quickly.} +% \end{macrocode} +% Load the \pkg{l3graphics} package to get the number of file pages, the +% \pkg{tikz} package to draw graphics, and the \pkg{tikzpagenodes} package to +% locate the text area of the physical pages. +% \begin{macrocode} +\RequirePackage{l3graphics, tikz, tikzpagenodes} +% \end{macrocode} +% +% \subsection{User's Interface} +% +% \DescribeMacro{\includebeamer} +% Define the \cs{includebeamer} command. +% \begin{macrocode} +\NewDocumentCommand \includebeamer { O{} m O{} } + { + \group_begin: + \keys_set:nn { notebeamer / includebeamer } { #1, #3 } + \__nb_includebm_aux:n {#2} + \group_end: + } +% \end{macrocode} +% +% \subsection{Keys} +% +% Define the keys for the \cs{includebeamer} command. +% \begin{macrocode} +\keys_define:nn { notebeamer / includebeamer } + { + color .tl_set:N = \l__includebm_color_tl, + color .initial:n = black, + pages .tl_set:N = \l__includebm_pages_tl, + pages .initial:n = 1, + nup .int_set:N = \l__includebm_nup_int, + nup .initial:n = 3, + lines .int_set:N = \l__includebm_lines_int, + ratio .fp_set:N = \l__includebm_ratio_fp, + ratio .initial:n = .5, + sep .dim_set:N = \l__includebm_sep_dim, + sep .initial:n = 2ex, + lefthead .tl_set:N = \l__includebm_lefthead_tl, + righthead .tl_set:N = \l__includebm_righthead_tl, + unknown .code:n = \tl_if_novalue:nF {#1} + { \tl_set_eq:NN \l__includebm_color_tl \l_keys_key_tl } + } +% \end{macrocode} +% \newpage +% \subsection{Internal Auxiliary} +% +% \begin{variable}{\l__nb_nup_dim,\l__includebm_ratio_dim} +% Store the heights and widths of the logical pages in a specific nup. +% \begin{macrocode} +\dim_new:N \l__nb_nup_dim +\dim_new:N \l__includebm_ratio_dim +% \end{macrocode} +% \end{variable} +% +% \begin{variable}{\l__nb_pages_total_int,\l__nb_pages_residue_int} +% Store the number of total physical pages and residue logical pages. +% \begin{macrocode} +\int_new:N \l__nb_pages_total_int +\int_new:N \l__nb_pages_residue_int +% \end{macrocode} +% \end{variable} +% +% \begin{variable}{\l__nb_tmpa_clist} +% Store the results of \cs{nb_range_to_list:nN}. +% \begin{macrocode} +\clist_new:N \l__nb_tmpa_clist +% \end{macrocode} +% \end{variable} +% +% \begin{macro}{\__nb_includebm_aux:n} +% Define the auxiliary command of \cs{includebeamer}. +% \begin{macrocode} +\cs_new_protected_nopar:Npn \__nb_includebm_aux:n #1 + { + \graphics_get_pagecount:nN {#1} \l__includebm_filepages_int + \dim_set:Nn \l__nb_nup_dim { \textheight/\l__includebm_nup_int } + \dim_set:Nn \l__includebm_ratio_dim + { \fp_use:N \l__includebm_ratio_fp \textwidth } + \tl_if_eq:NnTF \l__includebm_pages_tl { - } + { + \nb_range_to_list:nN + { 1 - \l__includebm_filepages_int } \l__nb_tmpa_clist + } + { + \exp_args:NV \nb_range_to_list:nN + { \l__includebm_pages_tl } \l__nb_tmpa_clist + } + \int_set:Nn \l__nb_pages_total_int + { + \fp_eval:n + { ceil(\clist_count:N \l__nb_tmpa_clist/\l__includebm_nup_int,0) } - 1 + } + \int_set:Nn \l__nb_pages_residue_int + { + \int_eval:n + { + \clist_count:N \l__nb_tmpa_clist - + \l__includebm_nup_int * \l__nb_pages_total_int + } + } + \int_step_inline:nn { \int_use:N \l__nb_pages_total_int } + { + \clearpage + \__nb_empty_note_aux: + \int_step_inline:nn { \l__includebm_nup_int } + { + \tikz [ remember~picture, overlay ] + \node [ xshift = \l__includebm_ratio_dim/2, + yshift = \fp_eval:n { -####1 + .5 } \l__nb_nup_dim + ] at (current~page~text~area.north~west) + { + \includegraphics + [ height = \dim_eval:n + { \l__nb_nup_dim - \l__includebm_sep_dim }, + page = \clist_item:Nn \l__nb_tmpa_clist + { ####1 + \l__includebm_nup_int * ( ##1 - 1 ) } + ] {#1} + }; + } + \clearpage + } + \__nb_empty_note_aux: + \int_step_inline:nn { \int_use:N \l__nb_pages_residue_int } + { + \tikz [ remember~picture, overlay ] + \node [ xshift = \l__includebm_ratio_dim/2, + yshift = \fp_eval:n {( -##1 + .5 )} \l__nb_nup_dim + ] at (current~page~text~area.north~west) + { + \includegraphics + [ height = \dim_eval:n + { \l__nb_nup_dim - \l__includebm_sep_dim }, + page = \clist_item:Nn \l__nb_tmpa_clist + { \l__includebm_nup_int * \l__nb_pages_total_int + ##1 } + ] {#1} + }; + } + \clearpage + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\__nb_empty_note_aux:} +% Define the auxiliary command for creating empty note line page. +% \begin{macrocode} +\cs_new_protected_nopar:Nn \__nb_empty_note_aux: + { + \tikzpicture [ remember~picture, overlay ] + \draw [ very~thick, \l__includebm_color_tl!80 ] + (current~page~text~area.north~west) -- + (current~page~text~area.north~east) + node [ at~start, above~right, font = \Large \bfseries ] + { \l__includebm_lefthead_tl } + node [ above~left, font = \Large \bfseries ] + { \l__includebm_righthead_tl }; + \draw [ very~thick, \l__includebm_color_tl!80 ] + (current~page~text~area.south~west) -- + (current~page~text~area.south~east); + \int_step_inline:nn { \l__includebm_lines_int - 1 } + { + \draw [ thick, \l__includebm_color_tl!60 ] + ([xshift = \l__includebm_ratio_dim, + yshift = -\textheight/\l__includebm_lines_int * ##1 + ]current~page~text~area.north~west) --++ + (\dim_eval:n { \textwidth - \l__includebm_ratio_dim },0); + } + \endtikzpicture + \pagestyle{empty} + } +% \end{macrocode} +% \end{macro} +% +% \begin{variable}{\l__nb_tmpa_seq,\l__nb_tmpb_seq} +% Store the results of 2D array segmentation. +% \begin{macrocode} +\seq_new:N \l__nb_tmpa_seq +\seq_new:N \l__nb_tmpb_seq +% \end{macrocode} +% \end{variable} +% +% \begin{macro}{\nb_range_to_list:nN} +% Convert the combination of number and number range to a list. +% \begin{macrocode} +\cs_new_protected_nopar:Npn \nb_range_to_list:nN #1#2 + { + \clist_clear:N #2 + \seq_set_split:Nnn \l__nb_tmpa_seq { , } {#1} + \seq_map_inline:Nn \l__nb_tmpa_seq + { + \tl_if_in:nnTF {##1} { - } + { + \seq_set_split:Nnn \l__nb_tmpb_seq { - } {##1} + \int_step_inline:nnn + { \seq_item:Nn \l__nb_tmpb_seq { 1 } } + { \seq_item:Nn \l__nb_tmpb_seq { 2 } } + { \clist_put_right:Nn #2 {####1} } + } { \clist_put_right:Nn #2 {##1} } + } + } +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%</package> +% \end{macrocode} +% +% \end{implementation} +% +\endinput +%% +%% End of file `notebeamer.dtx' diff --git a/Master/texmf-dist/source/latex/notebeamer/notebeamer.ins b/Master/texmf-dist/source/latex/notebeamer/notebeamer.ins new file mode 100644 index 00000000000..9d8877ef21b --- /dev/null +++ b/Master/texmf-dist/source/latex/notebeamer/notebeamer.ins @@ -0,0 +1,75 @@ +\iffalse meta-comment + +File: notebeamer.ins +----------------------------------------------------------------------- + Copyright (C) 2023-2025 by Mingyu Xia <myhsia@outlook.com> * + * + It may be distributed and/or modified under the conditions of the * + LaTeX Project Public License (LPPL), either version 1.3c of this * + license or (at your option) any later version. The latest version * + of this license is in the file * + * + http://www.latex-project.org/lppl.txt * + * + This work has the LPPL maintenance status `maintained'. * + * + The Current Maintainer of this work is Mingyu Xia. * + * + This work consists of the files notebeamer.dtx, * + and the derived files notebeamer.ins, * + notebeamer.sty, * + notebeamer.pdf, * + and README.md. * +----------------------------------------------------------------------- + + Any modification of this file should ensure that the copyright and + license information is placed in the derived files. + +----------------------------------------------------------------------- + +\fi + +\input docstrip % +\askforoverwritefalse + +\preamble +----------------------------------------------------------------------- + Copyright (C) 2023-2025 by Mingyu Xia <myhsia@outlook.com> * + * + It may be distributed and/or modified under the conditions of the * + LaTeX Project Public License (LPPL), either version 1.3c of this * + license or (at your option) any later version. The latest version * + of this license is in the file * + * + http://www.latex-project.org/lppl.txt * + * + This work has the LPPL maintenance status `maintained'. * + * + The Current Maintainer of this work is Mingyu Xia. * +----------------------------------------------------------------------- +\endpreamble + +\postamble +----------------------------------------------------------------------- + This work consists of the files notebeamer.dtx, * + and the derived files notebeamer.ins, * + notebeamer.sty, * + notebeamer.pdf, * + and README.md. * +----------------------------------------------------------------------- +\endpostamble + +\keepsilent + +\generate{ + \usedir{tex/latex/notebeamer} + \file{\jobname.sty} {\from{\jobname.dtx}{package}} + \usedir{doc/latex/notebeamer} + \nopreamble\nopostamble + \file{README.md} {\from{\jobname.dtx}{readme}} + } + +\endbatchfile +\endinput +%% +%% End of file `notebeamer.ins' diff --git a/Master/texmf-dist/tex/latex/notebeamer/notebeamer.sty b/Master/texmf-dist/tex/latex/notebeamer/notebeamer.sty index a2e941785ae..1d280219bd2 100644 --- a/Master/texmf-dist/tex/latex/notebeamer/notebeamer.sty +++ b/Master/texmf-dist/tex/latex/notebeamer/notebeamer.sty @@ -1,203 +1,173 @@ -%% *********************************************************** -%% Copyright 2024 by M.Y. XIA <xiamyphys@gmail.com> * -%% * -%% This work may be distributed and/or modified under * -%% the conditions of the LaTeX Project Public License * -%% * -%% http://www.latex-project.org/lppl.txt * -%% * -%% either version 1.3c of this license or any later * -%% version. * -%% * -%% This work has the LPPL maintenance status `maintained'. * -%% * -%% The Current Maintainers of this work is M.Y. XIA * -%% * -%% This work consists of the files notebeamer.sty, * -%% and README.md. * -%% available at https://github.com/xiamyphys/notebeamer * -%% *********************************************************** -\RequirePackage{xparse}% For TeX Live 2019 - 2020 Compatibility -\ProvidesExplPackage{notebeamer}{2024/10/15}{4.0A} +%% +%% This is file `notebeamer.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% notebeamer.dtx (with options: `package') +%% ----------------------------------------------------------------------- +%% Copyright (C) 2023-2025 by Mingyu Xia <myhsia@outlook.com> * +%% * +%% It may be distributed and/or modified under the conditions of the * +%% LaTeX Project Public License (LPPL), either version 1.3c of this * +%% license or (at your option) any later version. The latest version * +%% of this license is in the file * +%% * +%% http://www.latex-project.org/lppl.txt * +%% * +%% This work has the LPPL maintenance status `maintained'. * +%% * +%% The Current Maintainer of this work is Mingyu Xia. * +%% ----------------------------------------------------------------------- +\RequirePackage{expl3, xparse} +\ProvidesExplPackage{notebeamer}{2025/02/11}{v4.0C} {Package provides macros for inputting slides on note papers quickly.} - -\RequirePackage{l3graphics,tikz,tikzpagenodes} - -\cs_new:Nn \int_div_roundup:nn { \fp_eval:n { ceil(#1/#2,0) } } - -\seq_new:N \l__notebeamer_tmpa_seq -\seq_new:N \l__notebeamer_tmpb_seq -\clist_new:N \l__notebeamer_tmpa_clist -\cs_set_nopar:Npn \notebeamer_range_to_list:nN #1#2 +\RequirePackage{l3graphics, tikz, tikzpagenodes} +\NewDocumentCommand \includebeamer { O{} m O{} } { - \clist_clear:N #2 - \seq_set_split:Nnn \l__notebeamer_tmpa_seq { , } {#1} - \seq_map_inline:Nn \l__notebeamer_tmpa_seq - { - \tl_if_in:nnTF {##1}{ - } - { - \seq_set_split:Nnn \l__notebeamer_tmpb_seq { - } { ##1 } - \int_step_inline:nnn - { \seq_item:Nn \l__notebeamer_tmpb_seq { 1 } } - { \seq_item:Nn \l__notebeamer_tmpb_seq { 2 } } - { \clist_put_right:Nn #2 {####1} } - } - { \clist_put_right:Nn #2 {##1} } - } + \group_begin: + \keys_set:nn { notebeamer / includebeamer } { #1, #3 } + \__nb_includebm_aux:n {#2} + \group_end: } - \keys_define:nn { notebeamer / includebeamer } { - pages .tl_set:N = \l__includebeamer_pages_tl, - pages .initial:n = 1, - nup .int_set:N = \l__includebeamer_nup_int, - nup .initial:n = 3, - lines .int_set:N = \l__includebeamer_lines_int, - color .tl_set:N = \l__includebeamer_color_tl, - color .initial:n = black, - ratio .fp_set:N = \l__includebeamer_ratio_fp, - ratio .initial:n = .48, - sep .dim_set:N = \l__includebeamer_sep_dim, - sep .initial:n = 2ex, - lefthead .tl_set:N = \l__includebeamer_lefthead_tl, - righthead .tl_set:N = \l__includebeamer_righthead_tl, + color .tl_set:N = \l__includebm_color_tl, + color .initial:n = black, + pages .tl_set:N = \l__includebm_pages_tl, + pages .initial:n = 1, + nup .int_set:N = \l__includebm_nup_int, + nup .initial:n = 3, + lines .int_set:N = \l__includebm_lines_int, + ratio .fp_set:N = \l__includebm_ratio_fp, + ratio .initial:n = .5, + sep .dim_set:N = \l__includebm_sep_dim, + sep .initial:n = 2ex, + lefthead .tl_set:N = \l__includebm_lefthead_tl, + righthead .tl_set:N = \l__includebm_righthead_tl, + unknown .code:n = \tl_if_novalue:nF {#1} + { \tl_set_eq:NN \l__includebm_color_tl \l_keys_key_tl } } - -\int_new:N \l__notebeamer_pages_total_int -\int_new:N \l__notebeamer_pages_residue_int -\cs_new_protected_nopar:Npn \__notebeamer_empty_note_aux: +\dim_new:N \l__nb_nup_dim +\dim_new:N \l__includebm_ratio_dim +\int_new:N \l__nb_pages_total_int +\int_new:N \l__nb_pages_residue_int +\clist_new:N \l__nb_tmpa_clist +\cs_new_protected_nopar:Npn \__nb_includebm_aux:n #1 { - \tikz [ remember~picture, overlay ] - { - \draw [ very~thick, \l__includebeamer_color_tl!80 ] - (current~page~text~area.north~west) -- - (current~page~text~area.north~east) - node [ at~start, above~right, font = \sffamily\Large\bfseries ] - { \l__includebeamer_lefthead_tl } - node [ above~left, font = \sffamily\Large\bfseries ] - { \l__includebeamer_righthead_tl }; - \draw [ very~thick, \l__includebeamer_color_tl!80 ] - (current~page~text~area.south~west) -- - (current~page~text~area.south~east); - \int_step_inline:nn { \l__includebeamer_lines_int - 1 } - { - \draw [ thick, \l__includebeamer_color_tl!60 ] - ([shift = - {( - \fp_use:N \l__includebeamer_ratio_fp \textwidth, - -\textheight/\l__includebeamer_lines_int * ##1 - )} - ]current~page~text~area.north~west) --++ - (\fp_eval:n { 1 - \l__includebeamer_ratio_fp } \textwidth,0); - } - } - \pagestyle{empty} - } - -\cs_new_protected_nopar:Npn \__notebeamer_includebeamer_aux:n #1 - { - \graphics_get_pagecount:nN {#1} \l__includebeamer_filepages_int - \tl_if_eq:NnTF \l__includebeamer_pages_tl { - } + \graphics_get_pagecount:nN {#1} \l__includebm_filepages_int + \dim_set:Nn \l__nb_nup_dim { \textheight/\l__includebm_nup_int } + \dim_set:Nn \l__includebm_ratio_dim + { \fp_use:N \l__includebm_ratio_fp \textwidth } + \tl_if_eq:NnTF \l__includebm_pages_tl { - } { - \notebeamer_range_to_list:nN - { 1 - \l__includebeamer_filepages_int } \l__notebeamer_tmpa_clist + \nb_range_to_list:nN + { 1 - \l__includebm_filepages_int } \l__nb_tmpa_clist } { - \exp_args:NV - \notebeamer_range_to_list:nN - \l__includebeamer_pages_tl \l__notebeamer_tmpa_clist + \exp_args:NV \nb_range_to_list:nN + { \l__includebm_pages_tl } \l__nb_tmpa_clist } - \int_set:Nn \l__notebeamer_pages_total_int + \int_set:Nn \l__nb_pages_total_int { - \int_div_roundup:nn { \clist_count:N \l__notebeamer_tmpa_clist } - { \l__includebeamer_nup_int } - 1 + \fp_eval:n + { ceil(\clist_count:N \l__nb_tmpa_clist/\l__includebm_nup_int,0) } - 1 } - \int_set:Nn \l__notebeamer_pages_residue_int + \int_set:Nn \l__nb_pages_residue_int { \int_eval:n { - \clist_count:N \l__notebeamer_tmpa_clist - - \l__includebeamer_nup_int * \l__notebeamer_pages_total_int + \clist_count:N \l__nb_tmpa_clist - + \l__includebm_nup_int * \l__nb_pages_total_int } } - \int_step_inline:nn { \int_use:N \l__notebeamer_pages_total_int } + \int_step_inline:nn { \int_use:N \l__nb_pages_total_int } { \clearpage - \__notebeamer_empty_note_aux: - \int_step_inline:nn { \l__includebeamer_nup_int } + \__nb_empty_note_aux: + \int_step_inline:nn { \l__includebm_nup_int } { \tikz [ remember~picture, overlay ] - { - \node - [ - yshift = - ( ####1 - 1 ) * - \textheight/\l__includebeamer_nup_int - ] at - ([shift = - {( - \fp_use:N \l__includebeamer_ratio_fp \textwidth/2, - -\textheight/\l__includebeamer_nup_int/2 - )} - ]current~page~text~area.north~west) - { - \includegraphics - [ - height = - \dim_eval:n - { - \textheight/\l__includebeamer_nup_int - - \l__includebeamer_sep_dim - }, - page = - \clist_item:Nn \l__notebeamer_tmpa_clist - { ####1 + \l__includebeamer_nup_int * ( ##1 - 1 ) } - ] {#1} - }; - } + \node [ xshift = \l__includebm_ratio_dim/2, + yshift = \fp_eval:n { -####1 + .5 } \l__nb_nup_dim + ] at (current~page~text~area.north~west) + { + \includegraphics + [ height = \dim_eval:n + { \l__nb_nup_dim - \l__includebm_sep_dim }, + page = \clist_item:Nn \l__nb_tmpa_clist + { ####1 + \l__includebm_nup_int * ( ##1 - 1 ) } + ] {#1} + }; } \clearpage } - \__notebeamer_empty_note_aux: - \int_step_inline:nn { \int_use:N \l__notebeamer_pages_residue_int } + \__nb_empty_note_aux: + \int_step_inline:nn { \int_use:N \l__nb_pages_residue_int } { \tikz [ remember~picture, overlay ] - { - \node - [ - yshift = - ( ##1 - 1 ) * \textheight/\l__includebeamer_nup_int - ] at - ([shift = - {( - \fp_use:N \l__includebeamer_ratio_fp \textwidth/2, - -\textheight/\l__includebeamer_nup_int/2 - )} - ]current~page~text~area.north~west) - { - \includegraphics - [ - height = - \dim_eval:n - { - \textheight/\l__includebeamer_nup_int - - \l__includebeamer_sep_dim - }, - page = - \clist_item:Nn \l__notebeamer_tmpa_clist - { - \l__includebeamer_nup_int * - \l__notebeamer_pages_total_int + ##1 - } - ] {#1} - }; - } + \node [ xshift = \l__includebm_ratio_dim/2, + yshift = \fp_eval:n {( -##1 + .5 )} \l__nb_nup_dim + ] at (current~page~text~area.north~west) + { + \includegraphics + [ height = \dim_eval:n + { \l__nb_nup_dim - \l__includebm_sep_dim }, + page = \clist_item:Nn \l__nb_tmpa_clist + { \l__includebm_nup_int * \l__nb_pages_total_int + ##1 } + ] {#1} + }; } \clearpage } -\NewDocumentCommand{\includebeamer}{ O{} m O{} }{ - \group_begin: - \keys_set:nn { notebeamer / includebeamer } { #1 #3 } - \__notebeamer_includebeamer_aux:n {#2} - \group_end: -} - -% End of file notebeamer.sty +\cs_new_protected_nopar:Nn \__nb_empty_note_aux: + { + \tikzpicture [ remember~picture, overlay ] + \draw [ very~thick, \l__includebm_color_tl!80 ] + (current~page~text~area.north~west) -- + (current~page~text~area.north~east) + node [ at~start, above~right, font = \Large \bfseries ] + { \l__includebm_lefthead_tl } + node [ above~left, font = \Large \bfseries ] + { \l__includebm_righthead_tl }; + \draw [ very~thick, \l__includebm_color_tl!80 ] + (current~page~text~area.south~west) -- + (current~page~text~area.south~east); + \int_step_inline:nn { \l__includebm_lines_int - 1 } + { + \draw [ thick, \l__includebm_color_tl!60 ] + ([xshift = \l__includebm_ratio_dim, + yshift = -\textheight/\l__includebm_lines_int * ##1 + ]current~page~text~area.north~west) --++ + (\dim_eval:n { \textwidth - \l__includebm_ratio_dim },0); + } + \endtikzpicture + \pagestyle{empty} + } +\seq_new:N \l__nb_tmpa_seq +\seq_new:N \l__nb_tmpb_seq +\cs_new_protected_nopar:Npn \nb_range_to_list:nN #1#2 + { + \clist_clear:N #2 + \seq_set_split:Nnn \l__nb_tmpa_seq { , } {#1} + \seq_map_inline:Nn \l__nb_tmpa_seq + { + \tl_if_in:nnTF {##1} { - } + { + \seq_set_split:Nnn \l__nb_tmpb_seq { - } {##1} + \int_step_inline:nnn + { \seq_item:Nn \l__nb_tmpb_seq { 1 } } + { \seq_item:Nn \l__nb_tmpb_seq { 2 } } + { \clist_put_right:Nn #2 {####1} } + } { \clist_put_right:Nn #2 {##1} } + } + } +%% ----------------------------------------------------------------------- +%% This work consists of the files notebeamer.dtx, * +%% and the derived files notebeamer.ins, * +%% notebeamer.sty, * +%% notebeamer.pdf, * +%% and README.md. * +%% ----------------------------------------------------------------------- +%% +%% End of file `notebeamer.sty'. |