summaryrefslogtreecommitdiff
path: root/graphics/pgf
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-04-18 03:01:14 +0000
committerNorbert Preining <norbert@preining.info>2024-04-18 03:01:14 +0000
commit01aeff9f14b706b8b64c4f782f2253e431e89e49 (patch)
tree1c111c83ed48646133936a24432af81a0e023e39 /graphics/pgf
parent5e39b1cb205459cadf7e418c73567bf999923ce7 (diff)
CTAN sync 202404180301
Diffstat (limited to 'graphics/pgf')
-rw-r--r--graphics/pgf/contrib/tikzmarmots/LICENSE.txt415
-rw-r--r--graphics/pgf/contrib/tikzmarmots/README.md2
-rw-r--r--graphics/pgf/contrib/tikzmarmots/tikzlibrarymarmots.code.tex4
-rw-r--r--graphics/pgf/contrib/tikzmarmots/tikzmarmots-doc-settings.sty182
-rw-r--r--graphics/pgf/contrib/tikzmarmots/tikzmarmots-doc.pdfbin226107 -> 209675 bytes
-rw-r--r--graphics/pgf/contrib/tikzmarmots/tikzmarmots-doc.tex339
-rw-r--r--graphics/pgf/contrib/tikzmarmots/tikzmarmots-v1.sty186
-rw-r--r--graphics/pgf/contrib/tikzmarmots/tikzmarmots.sty173
8 files changed, 510 insertions, 791 deletions
diff --git a/graphics/pgf/contrib/tikzmarmots/LICENSE.txt b/graphics/pgf/contrib/tikzmarmots/LICENSE.txt
deleted file mode 100644
index f8b699e6eb..0000000000
--- a/graphics/pgf/contrib/tikzmarmots/LICENSE.txt
+++ /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 2005 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
- % http://www.latex-project.org/lppl.txt
- % and version 1.3 or later is part of all distributions of LaTeX
- % version 2005/12/01 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/graphics/pgf/contrib/tikzmarmots/README.md b/graphics/pgf/contrib/tikzmarmots/README.md
index dcc8ed647c..5dbde87676 100644
--- a/graphics/pgf/contrib/tikzmarmots/README.md
+++ b/graphics/pgf/contrib/tikzmarmots/README.md
@@ -1,5 +1,7 @@
# Tikzmarmots
+> *Notice: this package has been merged into the TikZlings package and, starting with version 2.0, is now a wrapper around the `tikzlings-marmots` package. The previous version can be accessed via `\usepackage{tikzmarmots}[v1]`.*
+
This is a little LaTeX package for marmots to be used in TikZ pictures.
This project is licensed under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
diff --git a/graphics/pgf/contrib/tikzmarmots/tikzlibrarymarmots.code.tex b/graphics/pgf/contrib/tikzmarmots/tikzlibrarymarmots.code.tex
index 2f34797f53..dc93fdbf5d 100644
--- a/graphics/pgf/contrib/tikzmarmots/tikzlibrarymarmots.code.tex
+++ b/graphics/pgf/contrib/tikzmarmots/tikzlibrarymarmots.code.tex
@@ -10,8 +10,8 @@
% Released under the LaTeX Project Public License v1.3c or later
% See http://www.latex-project.org/lppl.txt
%
-% Version 1.0
-% Nov 8, 2018
+% Version 2.0
+% Apr 17, 2024
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{tikzmarmots}
diff --git a/graphics/pgf/contrib/tikzmarmots/tikzmarmots-doc-settings.sty b/graphics/pgf/contrib/tikzmarmots/tikzmarmots-doc-settings.sty
new file mode 100644
index 0000000000..9f7307dc87
--- /dev/null
+++ b/graphics/pgf/contrib/tikzmarmots/tikzmarmots-doc-settings.sty
@@ -0,0 +1,182 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Personal helper theme for package documentations
+% Copyright samcarter
+%
+% This file may be distributed and/or modified
+% under the LaTeX Project Public License 1.3c or later
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Usage:
+% ln ~/Life/latex/beamertheme-sam/themesam.sty package-doc-settings.sty
+% \usepackage[
+% themecolor=samdblue
+% ]{\jobname-settings}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Colours
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{xcolor}
+\definecolor{samyellow}{RGB}{246,193,65}
+\definecolor{samorange}{RGB}{241,147,45}
+\definecolor{samred}{RGB}{191,26,46}% TikZbricks
+\definecolor{sammagenta}{RGB}{170,42,104}% TikZmarmots
+\definecolor{samviolet}{RGB}{136,46,114}% TikZlings
+\definecolor{samlila}{RGB}{101,67,159}% Rainbow beamer theme
+\definecolor{samdblue}{RGB}{0,51,134}% beamer theme
+\definecolor{samlblue}{RGB}{22,89,155}% TikZducks
+\definecolor{samteal}{RGB}{25,143,157}% Tcolorbox beamer theme
+\definecolor{samlgreen}{RGB}{68,170,153}% Jigsaw
+\definecolor{samdgreen}{RGB}{78,178,125}
+\definecolor{samlgray}{RGB}{160,160,185}
+\definecolor{samdgray}{RGB}{60,60,85}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Package options
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{xkeyval}
+\DeclareOptionX{themecolor}[samdblue]{\colorlet{themecolor}{#1}}
+\DeclareOptionX{listingcolor}[samlblue]{\colorlet{listingcolor}{#1}}
+\ExecuteOptionsX{themecolor,listingcolor}
+\ProcessOptionsX
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Packages
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\@ifclassloaded{beamer}{}{%
+ \RequirePackage[english]{babel}
+ \RequirePackage[paper=a4paper,margin=2.9cm]{geometry}
+ \RequirePackage{scrlayer-scrpage}
+ \let\hrulefillx\hrulefill
+ \RequirePackage[bitstream-charter]{mathdesign}
+ \let\hrulefill\hrulefillx
+ \RequirePackage[hang,flushmargin,bottom]{footmisc}
+ \RequirePackage[colorlinks=true,breaklinks=true,allcolors=themecolor]{hyperref}
+}
+\RequirePackage[T1]{fontenc}
+\RequirePackage{xspace}
+\RequirePackage{inconsolata}% mono font with bold, but italic is missing
+% \RequirePackage[scale=0.85]{cascadia-code}
+% \AddToHook{cmd/ttfamily/before}{\fontseries{sl}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Listings
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage[
+ cachedir=./build/
+]{minted}
+
+% smuggling custom pygmentize style in cache folder
+% (a real pygmentise style would need installtion in some python folder)
+\begin{filecontents*}[noheader]{./build/sam.pygstyle}
+\makeatletter
+\def\PYG@reset{\let\PYG@it=\relax \let\PYG@bf=\relax%
+ \let\PYG@ul=\relax \let\PYG@tc=\relax%
+ \let\PYG@bc=\relax \let\PYG@ff=\relax}
+\def\PYG@tok#1{\csname PYG@tok@#1\endcsname}
+\def\PYG@toks#1+{\ifx\relax#1\empty\else%
+ \PYG@tok{#1}\expandafter\PYG@toks\fi}
+\def\PYG@do#1{\PYG@bc{\PYG@tc{\PYG@ul{%
+ \PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}}
+\def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}}
+
+% optional arguments
+\expandafter\def\csname PYG@tok@na\endcsname{\def\PYG@tc##1{\textcolor{black}{##1}}}
+
+% macros
+\expandafter\def\csname PYG@tok@k\endcsname{\def\PYG@tc##1{\textcolor{listingcolor}{\bfseries ##1}}}
+% curly brakets
+\expandafter\def\csname PYG@tok@nb\endcsname{\def\PYG@tc##1{\textcolor{listingcolor}{\bfseries ##1}}}
+
+% comments (italics won't work with the inconsolata font)
+\expandafter\def\csname PYG@tok@c\endcsname{\def\PYG@tc##1{\textcolor{gray}{##1}}}
+
+\def\PYGZbs{\char`\\}
+\def\PYGZus{\char`\_}
+\def\PYGZob{\char`\{}
+\def\PYGZcb{\char`\}}
+\def\PYGZca{\char`\^}
+\def\PYGZam{\char`\&}
+\def\PYGZlt{\char`\<}
+\def\PYGZgt{\char`\>}
+\def\PYGZsh{\char`\#}
+\def\PYGZpc{\char`\%}
+\def\PYGZdl{\char`\$}
+\def\PYGZhy{\char`\-}
+\def\PYGZsq{\char`\'}
+\def\PYGZdq{\char`\"}
+\def\PYGZti{\char`\~}
+% for compatibility with earlier versions
+\def\PYGZat{@}
+\def\PYGZlb{[}
+\def\PYGZrb{]}
+\makeatother
+\end{filecontents*}
+
+\usemintedstyle{sam}
+\setminted{
+ breaksymbolleft={},
+ tabsize=2,
+ breaklines=true,
+}
+\newminted[samcode]{latex}{}
+\newmintinline[saminline]{latex}{}
+
+% use non-bold and all coloured for inline code in articles
+\ifdefined\insertaspectratio\else
+ \patchcmd{\minted@inputpyg@inline}{\minted@input}{\color{listingcolor}\renewcommand\textcolor[3][]{##3}\renewcommand\bfseries{}\minted@input}{}{}
+\fi
+
+\RequirePackage[most]{tcolorbox}
+\tcbuselibrary{minted}
+\tcbset{%
+ colframe=themecolor,
+ arc=2mm,
+ fonttitle=\bfseries,
+ sidebyside,
+ center lower,
+ righthand width=5.7cm,
+ bottom=2pt,
+ top=2pt,
+ sidebyside gap=10pt,
+ lower separated=false,
+ listing engine=minted,
+ minted language=latex,
+ colback=themecolor!10
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% document settings
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\@ifclassloaded{scrartcl}{%
+ \addtokomafont{sectioning}{\color{themecolor}}
+ \addtokomafont{date}{\normalsize}
+ \addtokomafont{author}{\normalsize}
+ \setlength{\footnotemargin}{0.7em}
+}{}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Custom macros
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\providecommand*{\CTAN}{\textsc{CTAN}\xspace}
+\providecommand*{\TikZ}{Ti\emph{k}Z\xspace}
+\providecommand*{\miktex}{MiK\TeX\xspace}
+\providecommand*{\texlive}{\TeX{}Live\xspace}
+\providecommand*{\tikzbrick}{Ti\emph{k}Zbrick\xspace}
+\providecommand*{\tikzducks}{Ti\emph{k}Zducks\xspace}
+\providecommand*{\tikzlings}{Ti\emph{k}Zlings\xspace}
+\providecommand*{\tikzmarmots}{Ti\emph{k}Zmarmots\xspace}
+\providecommand*{\ConTeXt}{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikzmarmots/tikzmarmots-doc.pdf b/graphics/pgf/contrib/tikzmarmots/tikzmarmots-doc.pdf
index a05c431384..2df83aafbf 100644
--- a/graphics/pgf/contrib/tikzmarmots/tikzmarmots-doc.pdf
+++ b/graphics/pgf/contrib/tikzmarmots/tikzmarmots-doc.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/tikzmarmots/tikzmarmots-doc.tex b/graphics/pgf/contrib/tikzmarmots/tikzmarmots-doc.tex
index 20569b0aba..52d20b781b 100644
--- a/graphics/pgf/contrib/tikzmarmots/tikzmarmots-doc.tex
+++ b/graphics/pgf/contrib/tikzmarmots/tikzmarmots-doc.tex
@@ -10,117 +10,131 @@
% Released under the LaTeX Project Public License v1.3c or later
% See http://www.latex-project.org/lppl.txt
%
-% Version 1.0
-% Nov 8, 2018
+% Version 2.0
+% Apr 17, 2024
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% !TeX program = txs:///arara
+% arara: latexmk: {
+% arara: --> engine: pdflatex,
+% arara: --> options: [
+% arara: --> '-shell-escape',
+% arara: --> '-synctex=1',
+% arara: --> '-interaction=nonstopmode',
+% arara: --> ]
+% arara: --> }
\documentclass[parskip=half]{scrartcl}
-% packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[T1]{fontenc}
-\usepackage[utf8]{inputenc}
-\usepackage[english]{babel}
-\usepackage[bitstream-charter]{mathdesign}
+% meta %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\title{The \texorpdfstring{\tikzmarmots}{tikzmarmots} package}
+\subtitle{using marmots in \TikZ}
+\author{%
+ \texorpdfstring{
+ \begin{tikzpicture}
+ \marmot
+ \end{tikzpicture}\\[0.8em]
+ \texttt{samcarter}\\
+ \url{https://github.com/samcarter/tikzmarmots}\\
+ \url{https://www.ctan.org/pkg/tikzmarmots}
+ }{samcarter}}
+\date{Version 2.0 -- \today}
+
+\usepackage[
+ themecolor=sammagenta
+]{\jobname-settings}
+
+\colorlet{blue}{samlblue}
+
\usepackage{tikzducks}
\usetikzlibrary{ducks}
\usepackage{tikzmarmots}
\usetikzlibrary{marmots}
-\usepackage[most]{tcolorbox}
-\usepackage[paper=a4paper,margin=3cm]{geometry}
-\usepackage{url}
-\usepackage{xspace}
-\usepackage{scrlayer-scrpage}
+\usepackage{tikzlings-addons}
\usepackage{marvosym}
\usepackage{fontawesome}
-\usepackage[hang,flushmargin,bottom]{footmisc}
-\usepackage{imakeidx}
-\usepackage[colorlinks=true,breaklinks=true,urlcolor=duckblue,linkcolor=duckblue,citecolor=duckblue,filecolor=duckblue]{hyperref}
-
-% macros %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newcommand{\CTAN}{\textsc{CTAN}\xspace}
-\newcommand{\TikZ}{Ti\emph{k}Z\xspace}
-\newcommand{\tikzducks}{Ti\emph{k}Zducks\xspace}
-\newcommand{\tikzmarmots}{Ti\emph{k}Zmarmots\xspace}
-\newcommand{\miktex}{MiK\TeX\xspace}
-\newcommand{\texlive}{\TeX{}Live\xspace}
+
+% including commented lines from the .sty files %%%%%%%%%%%%%%%%%%%%%%
+% thanks to Phelype Oleinik https://topanswers.xyz/tex?q=1861#a2092
+\ExplSyntaxOn
+\makeatletter
+\iow_new:N \l__tikzlings_iow
+\tl_new:N \l__tikzlings_file_name_tl
+\NewDocumentCommand \CommentInput { m }
+ { \tikzlings_comment_input:n {#1} }
+\cs_new_protected:Npn \tikzlings_comment_input:n #1
+ {
+ \file_get_full_name:nNTF {#1} \l__tikzlings_file_name_tl
+ { \__tikzlings_comment_input: }
+ { \msg_error:nnn { tikzlings } { file-not-found } {#1} }
+ }
+\msg_new:nnn { tikzlings } { file-not-found } { File~'#1'~not~found. }
+\cs_new_protected:Npn \__tikzlings_comment_input:
+ {
+ \group_begin:
+ \cctab_select:N \c_other_cctab
+ \int_set:Nn \tex_endlinechar:D { `\^^M }
+ \use:x { \tex_everyeof:D { \exp_not:N \q_nil \char_generate:nn { 13 } { 13 } } }
+ \char_set_active_eq:NN \^^M \__tikzlings_process_line:w
+ \char_set_catcode_active:N \^^M
+ \iow_open:Nn \l__tikzlings_iow { \c_sys_jobname_str . cif } % cif => comment input file
+ \exp_after:wN \__tikzlings_process_line:w
+ \tex_input:D { \l__tikzlings_file_name_tl }
+ \iow_close:N \l__tikzlings_iow
+ \group_end:
+ \declare@file@substitution { \l__tikzlings_file_name_tl } { \c_sys_jobname_str . cif }
+ \input { \l__tikzlings_file_name_tl }
+ \undeclare@file@substitution { \l__tikzlings_file_name_tl }
+ }
+\group_begin:
+\char_set_catcode_active:N \^^M
+\char_set_active_eq:NN \^^M \scan_stop:
+\cs_new_protected:Npx \__tikzlings_process_line:w #1 ^^M
+ { \exp_not:N \__tikzlings_parse_line:w ^^M #1 ^^M \c_percent_str \s_stop }
+\cs_set_protected:Npn \__tikzlings_tmp:w #1
+ {
+ \cs_new_protected:Npn \__tikzlings_parse_line:w ##1 ^^M #1 ##2 \s_stop
+ {
+ \tl_if_empty:nTF {##1}
+ {
+ \peek_charcode_remove:NTF #1
+ { \__tikzlings_ignore_line:w }
+ { \__tikzlings_output_line:w }
+ ##2 \s_stop ^^M
+ }
+ {
+ \tl_set:Nx \l_tmpa_tl { \tl_tail:n {##1} }
+ \tl_if_eq:NNF \l_tmpa_tl \q_nil { ^^M }
+ }
+ }
+ \cs_new_protected:Npn \__tikzlings_output_line:w ##1 ^^M #1 \s_stop
+ { \iow_now:Nn \l__tikzlings_iow {##1} }
+ \cs_new_protected:Npn \__tikzlings_ignore_line:w ##1 \s_stop { }
+ }
+\exp_args:No \__tikzlings_tmp:w { \c_percent_str }
+\group_end:
+\makeatother
+\ExplSyntaxOff
% customisation %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\definecolor{duckblue}{RGB}{0,70,140}
-\definecolor{marmotred}{RGB}{140,20,40}
-\addtokomafont{sectioning}{\color{marmotred}}
-\addtokomafont{date}{\normalsize}
-\addtokomafont{author}{\normalsize}
\setlength{\footnotemargin}{0.7em}
-
-\lstdefinestyle{marmotstyle}{%
- language={[latex]TeX},
- tabsize=2,
- breaklines,
- basicstyle=\footnotesize\ttfamily,
- commentstyle={\color{green!50!black}\slshape},
- columns=fullflexible,
- emphstyle=\color{orange!70!black},
- emph=[1]{body,blush,whiskers,invisible,cake,crown,teeth,3D,shadow,askphil,scale,xshift,yshift},
- texcsstyle=*\color{duckblue}\bfseries,
- keywordstyle=\color{red!60!black}\bfseries,
- morekeywords={tikzpicture,scope,patterns,calc,pgfinterruptboundingbox},
- moretexcs={marmot,path,definecolor,scalebox,foreach,node,draw,PassOptionsToPackage,usetikzlibrary,selectcolormodel,colorlet,includegraphics,tikzset,shade,duck},
- delim ={[s][\ttfamily\color{green!50!black}]{$}{$}},
- moredelim=[is][\footnotesize\ttfamily\color{orange!70!black}]{|}{|},
- index=[1][emph]
-}
-
-\tcbset{%
- colframe=marmotred,
- arc=2mm,
- fonttitle=\bfseries,
- sidebyside,
- listing options={style=marmotstyle},
- center lower,
- righthand width=6.5cm,
- bottom=0pt,
- top=0pt,
- before lower={%
- \setlength{\parskip}{0.5cm}%
- \spaceskip=5\fontdimen2\font%
- },
-}
-
-\lstset{style=marmotstyle}
-
\setlength{\footheight}{45pt}
\cfoot{%
- \begin{tikzpicture}[scale=0.5]
- \marmot
- \duck[invisible,signpost=\scalebox{0.6}{\thepage}]
- \end{tikzpicture}
-}
+ \begin{tikzpicture}[scale=0.5]
+ \marmot
+ \thing[scale=0.8,signpost=\scalebox{0.6}{\thepage}]
+ \end{tikzpicture}
+}
\pagestyle{scrheadings}
-%\indexsetup{firstpagestyle=scrheadings}
-%\makeindex
-
-% meta %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\title{The \texorpdfstring{\tikzmarmots}{tikzmarmots} package}
-\subtitle{using marmots in \TikZ}
-\author{%
- \texorpdfstring{\texttt{samcarter} (alias
- \begin{tikzpicture}[scale=0.3,baseline=3pt]
- \duck[body=yellow!50!brown!50!white,
- longhair=red!50!brown,
- jacket=blue!50!black]
- \end{tikzpicture})\\[0.8em]
- \url{https://github.com/samcarter/tikzmarmots}\\
- \url{https://www.ctan.org/pkg/tikzmarmots}
- }{samcarter}}
-\date{Version 1.0 -- \today}
\begin{document}
\maketitle
\thispagestyle{scrheadings}
-\begin{tcolorbox}[coltext=marmotred,width=.8\textwidth,center, sidebyside=false, bottom=10pt,top=10pt]
-The \tikzmarmots package was merged into the Ti\emph{k}Zlings package. To get an up-to-date version, please load the {\color{duckblue}\lstinline|tikzlings-marmots|} or the more general {\color{duckblue}\lstinline|tikzlings|} package instead.
+\begin{tcolorbox}[coltext=themecolor,width=.8\textwidth,center,sidebyside=false,bottom=10pt,top=10pt]
+The \tikzmarmots package was merged into the Ti\emph{k}Zlings package and, starting with version 2.0, is now a wrapper around the \saminline|tikzlings-marmots| package.
+
+To access the previous version, use \saminline|\usepackage{tikzmarmots}[v1]|.
\end{tcolorbox}
@@ -135,117 +149,34 @@ This package is work in progress, therefore I would be happy to hear your feedba
A more stable package version can be found on \CTAN (\url{www.ctan.org/pkg/tikzmarmots}) and is included in both \miktex and \texlive as \tikzmarmots.
If you seek any other assistance (not bug reports/feature requests), I suggest asking on \href{https://tex.stackexchange.com}{TeX.Stackexchange}.
-%\subsection{Acknowledgements}
-%
-%Without the friendly and helpful community of \href{https://tex.stackexchange.com/}{TeX.Stackexchange} this package would not exist.
-%
-%%I would like to thank a few fellow users in particular:
-%%TODO marmot
-%%TODO ulrike
-
-\subsection{License}
-
Copyright \raisebox{0.2em}{\tiny\fontfamily{cmr}\selectfont\textcopyright}
\texttt{samcarter}. Permission is granted to copy, distribute and\slash or modify this software under the terms of the LaTeX project public licence, version 1.3c or later \url{http://www.latex-project.org/lppl.txt}.
The shown example marmots are purely fictional characters, any resemblance to real marmots or persons is purely coincidental and no copyright infringement is intended.
-\subsection{Dependencies}
-
-The \tikzmarmots package loads \TikZ, which in turn loads the \lstinline|xcolor| package (amongst others). If you require one of these packages to be loaded with some option, please consider loading it yourself before the \tikzmarmots package or use, e.g.
-
-\begin{lstlisting}[aboveskip=1.2em,morekeywords={xcolor,svgnames}]
- \PassOptionsToPackage{svgnames}{xcolor}
-\end{lstlisting}
-
-\section{Usage}
-
-The basic usage is fairly simple, to draw a marmot:
-\begin{tcblisting}{title={Basic marmot}}
-\begin{tikzpicture}
- \marmot
-\end{tikzpicture}
-\end{tcblisting}
-
-To customise this basic marmot, the package uses \lstinline|pgf| keys.
-
-These keys can for example be used to change the marmot's colour via \lstinline|body=<colour name>|.
-
-\begin{tcblisting}{title={Blue marmot}}
-\begin{tikzpicture}
- \marmot[body=blue]
-\end{tikzpicture}
-\end{tcblisting}
-
-The colour of the belly and muzzle will use a lighter shade of the selected colour, while a darker shade is chosen for paws, nose and eyes.
-
-The key \lstinline|3D| will make the marmot 3-dimensional:
-
-\begin{tcblisting}{title={3D marmot}}
-\begin{tikzpicture}
- \marmot[3D]
-\end{tikzpicture}
-\end{tcblisting}
-
-Keys can also be used to add whiskers to the marmot:
-
-\begin{tcblisting}{title={Whiskers}}
-\begin{tikzpicture}
- \marmot[whiskers]
-\end{tikzpicture}
-\begin{tikzpicture}
- \marmot[whiskers=blue]
-\end{tikzpicture}
-\end{tcblisting}
-
-Or to make it blush:
-
-\begin{tcblisting}{title={Blushing marmot}}
-\begin{tikzpicture}
- \marmot[blush]
-\end{tikzpicture}
-\end{tcblisting}
-
-Some marmots even show their chisel teeth:
-
-\begin{tcblisting}{title={Chisel teeth}}
-\begin{tikzpicture}
- \marmot[teeth]
-\end{tikzpicture}
-\end{tcblisting}
-
-The marmots also can cast a shadow:
-
-\begin{tcblisting}{title={Shadow}}
-\begin{tikzpicture}
- \marmot[shadow]
-\end{tikzpicture}
-\end{tcblisting}
-
-This ability is important if you want to ask Punxsutawney Phil\footnote{\url{https://en.wikipedia.org/wiki/Punxsutawney_Phil}} on Groundhog Day how the weather is going to be. With a probability derived from the statistics of 120 Groundhog Days\footnote{\url{https://www.livescience.com/32974-punxsutawney-phil-weather-prediction-accuracy.html}} the option \lstinline|askphil| might or might not result in a shadow.
-
-\begin{tcblisting}{title={Ask Phil}}
-\begin{tikzpicture}
- \marmot[askphil]
-\end{tikzpicture}
-\end{tcblisting}
-
+\begingroup
+ \tcbset{tikz lower}
+ \CommentInput{tikzlings-marmots.sty}
+\endgroup
If the size of the marmots should be changed or shifted:
\begin{tcblisting}{title={Scaled and shifted marmots}, righthand width=3cm}
\begin{tikzpicture}[scale=0.6]
- \marmot
- \marmot[xshift=90pt, scale=.5, yshift=150pt,body=brown!80!gray]
- \marmot[xshift=60pt, scale=.5, yshift=100pt,body=brown!80!yellow]
- \marmot[xshift=80pt, scale=.5, yshift=50pt,body=brown!80!red]
+ \marmot
+ \marmot[xshift=90pt, scale=.5,
+ yshift=150pt,body=brown!80!gray]
+ \marmot[xshift=60pt, scale=.5,
+ yshift=100pt,body=brown!80!yellow]
+ \marmot[xshift=80pt, scale=.5,
+ yshift=50pt,body=brown!80!red]
\end{tikzpicture}
\end{tcblisting}
-To make the usage easier for the \TikZ-savvy users, the marmots can also be used as \TikZ library. It can be loaded with \lstinline|\usetikzlibrary{marmots}|. In addition to the normal functionality of the \tikzmarmots package, the marmots are now also available as \lstinline|pic|. A short example:
+To make the usage easier for the \TikZ-savvy users, the marmots can also be used as \TikZ library. It can be loaded with \saminline|\usetikzlibrary{marmots}|. In addition to the normal functionality of the \tikzmarmots package, the marmots are now also available as \saminline|pic|. A short example:
\begin{tcolorbox}[title={\TikZ library ``marmots''}]
-\begin{lstlisting}[morekeywords={marmots,duck,standalone,tikz,document}]
+\begin{samcode}
\documentclass{standalone}
\usepackage{tikz}
@@ -264,7 +195,7 @@ To make the usage easier for the \TikZ-savvy users, the marmots can also be used
\end{tikzpicture}
\end{document}
-\end{lstlisting}
+\end{samcode}
\tcblower
\begin{tikzpicture}
@@ -284,45 +215,43 @@ The above list of available customisations does not sound very exhaustive, but t
\begin{tcblisting}{title={Adding things to the marmot}}
\begin{tikzpicture}
- \marmot
- \fill[blue] (2,0) rectangle (1,1);
+ \marmot
+ \fill[blue] (0,0) rectangle (1,1);
\end{tikzpicture}
\end{tcblisting}
%\begin{tcblisting}{title={Monochrome marmot}}
%\begin{tikzpicture}
-% \selectcolormodel{gray}
-% \marmot
+% \selectcolormodel{gray}
+% \marmot
%\end{tikzpicture}
%\end{tcblisting}
-\section{Re-using accessories from the \tikzducks package}
+\section{Re-using accessories from the \tikzlings package}
As already said in the introduction, this package focuses on the marmots themselves and does not provide additional accessories.
-However there is no need to despair! Many of the accessories from the \tikzducks package (\url{https://www.ctan.org/pkg/tikzducks}) can be re-used using the \lstinline|invisible| key which will only produce the desired item without a duck.
-
-The marmots are designed to have the same height as the ducks, so many items can be adopted without any modifications. One example:
+However there is no need to despair! There are many accessories available from the \saminline|tikzlings-addons| package (\url{https://www.ctan.org/pkg/tikzlings}).
\addtocounter{footnote}{1}
\begin{tcblisting}{title={Marmot Queen$^{\thefootnote}$}}
-%\usepackage{tikzducks}
+%\usepackage{tikzlings-addons}
\begin{tikzpicture}
- \marmot
- \duck[invisible,crown]
-\end{tikzpicture}
+ \marmot
+ \thing[crown]
+\end{tikzpicture}
\end{tcblisting}
\footnotetext[\thefootnote]{The Marmot Queen is inspired by \href{http://www.ilregnodeifanes.it/inglese/summary.htm}{The Fanes' saga}}
-Unfortunately not all accessories will work. Some are entirely unsuitable (e.g. clothing which shape was specially designed for the ducks), others can be modified to fit:
-
+The items can be modified with the usual \TikZ keys and come with additional options. Here one example:
\begin{tcblisting}{title={Happy Birthday!}}
-%\usepackage{tikzducks}
+%\usepackage{tikzlings-addons}
\begin{tikzpicture}
- \marmot
- \duck[invisible, cake=red!50!violet, scale=0.7, xshift=9, yshift=18]
-\end{tikzpicture}
+ \marmot
+ \thing[cake=red!50!violet,
+ scale=1.2]
+\end{tikzpicture}
\end{tcblisting}
-For a complete list of available accessories, please see the documentation of the \tikzducks package (\url{http://mirrors.ctan.org/graphics/pgf/contrib/tikzducks/tikzducks-doc.pdf})
+ Please consult the \href{http://mirrors.ctan.org/graphics/pgf/contrib/tikzlings/tikzlings-doc.pdf}{\tikzlings package documentation} for an exhaustive list of options.
\end{document} \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikzmarmots/tikzmarmots-v1.sty b/graphics/pgf/contrib/tikzmarmots/tikzmarmots-v1.sty
new file mode 100644
index 0000000000..ae2bf3d937
--- /dev/null
+++ b/graphics/pgf/contrib/tikzmarmots/tikzmarmots-v1.sty
@@ -0,0 +1,186 @@
+% !TeX root = ./testing/test.tex
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% The tikzmarmots package
+% A package to bring little marmots into tikz
+% Maintained by samcarter
+%
+% Project repository and bug tracker:
+% https://github.com/samcarter/tikzmarmots
+%
+% Released under the LaTeX Project Public License v1.3c or later
+% See http://www.latex-project.org/lppl.txt
+%
+% Version 1.0
+% Nov 8, 2018
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ProvidesPackage{tikzmarmots}
+ [2018/11/09 v1.0 Drawing marmots in TikZ]
+
+\PackageWarning{tikzmarmots}{The TikZmarmots package was merged into the TikZlings package, please load the package `tikzlings-marmots` or the more general `tikzlings` package instead}
+
+\RequirePackage{tikz}
+\usetikzlibrary{shadows.blur}
+\usetikzlibrary{fadings}
+
+\tikzfading[name=marmot@blush,
+inner color=transparent!50,
+outer color=transparent!100]
+
+\RequirePackage{ifluatex}
+\RequirePackage{ifxetex}
+
+\ifluatex
+ \let\pdfrandomseed\randomseed
+\fi
+
+\ifxetex
+ \pgfmathsetseed{\time}
+\else
+ \pgfmathsetseed{\number\pdfrandomseed}
+\fi
+
+\newcommand*{\marmot}[1][]{%
+ \begin{scope}%
+ \tikzset{/marmot/.cd,#1}%
+ \marmot@draw%
+ \end{scope}%
+}
+
+\newif\ifmarmot@blush
+\newif\ifmarmot@whiskers
+\newif\ifmarmot@teeth
+\newif\ifmarmot@threeD
+\newif\ifmarmot@shadow
+\newif\ifmarmot@askphil
+
+\tikzset{
+ %
+ % Pass unknown keys on to tikz
+ %
+ /marmot/.search also={/tikz,/pgf},
+ /marmot/.cd,
+ %
+ % body
+ %
+ body/.code = \def\marmot@body{#1},
+ body = brown,
+ %
+ % options
+ %
+ blush/.code = \marmot@blushtrue,
+ whiskers/.code = \marmot@whiskerstrue \def\marmot@whiskers{#1},
+ whiskers/.default = gray,
+ teeth/.code = \marmot@teethtrue,
+ 3D/.code = \marmot@threeDtrue,
+ shadow/.code = \marmot@shadowtrue,
+ askphil/.code = \marmot@askphiltrue,
+ ask phil/.forward to=/marmot/askphil,
+}
+
+\def\marmot@draw{%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% minimal bounding box size
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\path (0.3,0.1) rectangle (1.83,2.17);
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% switch between 2D and 3D, from
+% https://chat.stackexchange.com/transcript/message/45991801#45991801
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifmarmot@threeD
+ \def\marmot@part@draw##1{\shade[ball color=##1]}
+\else
+ \def\marmot@part@draw##1{\fill[##1]}
+\fi
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% shadow
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+\ifmarmot@askphil
+ \pgfmathparse{int(random(1,120))}
+ \let\marmot@random=\pgfmathresult
+ \ifnum\marmot@random>17
+ \marmot@shadowtrue
+ \fi
+\fi
+%
+\ifmarmot@shadow
+ \fill[opacity=0,blur shadow,rotate=-80] (-0.25,1.3) ellipse (0.28 and 0.8);
+\fi
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Body parts (center: x=0.925)
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\marmot@part@draw{\marmot@body!50!black} (1.18,0.2) ellipse (0.23 and 0.09);
+\marmot@part@draw{\marmot@body!50!black} (0.67,0.2) ellipse (0.23 and 0.09);
+%
+% Ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\marmot@part@draw{\marmot@body!50!black} (1.18,2.03) ellipse (0.09 and 0.13);
+\marmot@part@draw{\marmot@body!50!black} (0.67,2.03) ellipse (0.09 and 0.13);
+%
+% Tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\marmot@part@draw{\marmot@body!50!black} (1.81,0.67) .. controls (1.79,0.40) and (1.27,0.24) .. (1.26,0.44) .. controls (1.24,0.56) and (1.37,0.51) .. (1.50,0.53) .. controls (1.62,0.54) and (1.81,0.72) .. (1.81,0.67) -- cycle;
+%
+% Body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\marmot@part@draw{\marmot@body} (1.52,0.92) .. controls (1.52,0.26) and (1.28,0.18) .. (0.925,0.18) .. controls (0.57,0.18) and (0.33,0.26) .. (0.33,0.92) .. controls (0.32,1.58) and (0.59,2.11) .. (0.925,2.11) .. controls (1.26,2.11) and (1.53,1.58) .. (1.52,0.92) -- cycle;
+%
+% Belly %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\marmot@part@draw{\marmot@body!50!white} (1.35,0.71) .. controls (1.35,0.41) and (1.17,0.37) .. (0.925,0.37) .. controls (0.68,0.37) and (0.5,0.41) .. (0.5,0.71) .. controls (0.5,1.01) and (0.7,1.26) .. (0.925,1.26) .. controls (1.15,1.26) and (1.35,1.01) .. (1.35,0.71) -- cycle;
+%
+% Arms %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\marmot@part@draw{\marmot@body!50!black,rotate around={70:(1.31,0.93)}} (1.31,0.93) ellipse (0.24 and 0.13);
+\marmot@part@draw{\marmot@body!50!black,rotate around={-70:(0.54,0.93)}} (0.54,0.93) ellipse (0.24 and 0.13);
+%
+% Muzzle %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\marmot@part@draw{\marmot@body!50!white} (0.925,1.47) ellipse (0.23 and 0.13);
+%
+% Nose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\marmot@part@draw{\marmot@body!50!black} (0.925,1.6) circle (0.08);
+%
+% Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\marmot@part@draw{\marmot@body!50!black} (0.77,1.77) circle (0.05);
+\marmot@part@draw{\marmot@body!50!black} (1.08,1.77) circle (0.05);
+%
+% Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\draw[\marmot@body!50!black] (1.07,1.51) arc [start angle=-20, end angle=-160, radius=0.16];
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% optional
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Blushed %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifmarmot@blush
+ \fill[red,path fading=marmot@blush] (0.63,1.6) circle (0.1);
+ \fill[red,path fading=marmot@blush] (1.22,1.6) circle (0.1);
+\fi
+%
+% Wiskers %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifmarmot@whiskers
+ \foreach \X in {10,20,33}{%
+ \filldraw[line width=0pt,\marmot@whiskers] (0.925,1.6) + (\X:0.08) to[out=\X,in={180-\X}] ++({\X-20}:0.3) --++(0,0.005) to[out={180-\X},in=\X] cycle (0.925,1.6) + ({180-\X}:0.08) to[out={180-\X},in=\X] ++({200-\X}:0.3) --++(0,0.005) to[out=\X,in={180-\X}] cycle;
+ }
+\fi
+%
+% Teeth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifmarmot@teeth
+ \draw[very thin,fill=white] (0.88,1.41) -- (0.88,1.38) to[out=-5,in=-175] (0.97,1.38) -- (0.97,1.41) to[out=-170,in=-10] cycle;
+ \draw[very thin] (0.925,1.405) -- (0.925,1.38);
+\fi
+%
+}
+
diff --git a/graphics/pgf/contrib/tikzmarmots/tikzmarmots.sty b/graphics/pgf/contrib/tikzmarmots/tikzmarmots.sty
index ae2bf3d937..f773854489 100644
--- a/graphics/pgf/contrib/tikzmarmots/tikzmarmots.sty
+++ b/graphics/pgf/contrib/tikzmarmots/tikzmarmots.sty
@@ -11,176 +11,11 @@
% Released under the LaTeX Project Public License v1.3c or later
% See http://www.latex-project.org/lppl.txt
%
-% Version 1.0
-% Nov 8, 2018
+% Version 2.0
+% Apr 17, 2024
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ProvidesPackage{tikzmarmots}
- [2018/11/09 v1.0 Drawing marmots in TikZ]
-
-\PackageWarning{tikzmarmots}{The TikZmarmots package was merged into the TikZlings package, please load the package `tikzlings-marmots` or the more general `tikzlings` package instead}
-
-\RequirePackage{tikz}
-\usetikzlibrary{shadows.blur}
-\usetikzlibrary{fadings}
-
-\tikzfading[name=marmot@blush,
-inner color=transparent!50,
-outer color=transparent!100]
-
-\RequirePackage{ifluatex}
-\RequirePackage{ifxetex}
-
-\ifluatex
- \let\pdfrandomseed\randomseed
-\fi
-
-\ifxetex
- \pgfmathsetseed{\time}
-\else
- \pgfmathsetseed{\number\pdfrandomseed}
-\fi
-
-\newcommand*{\marmot}[1][]{%
- \begin{scope}%
- \tikzset{/marmot/.cd,#1}%
- \marmot@draw%
- \end{scope}%
-}
-
-\newif\ifmarmot@blush
-\newif\ifmarmot@whiskers
-\newif\ifmarmot@teeth
-\newif\ifmarmot@threeD
-\newif\ifmarmot@shadow
-\newif\ifmarmot@askphil
-
-\tikzset{
- %
- % Pass unknown keys on to tikz
- %
- /marmot/.search also={/tikz,/pgf},
- /marmot/.cd,
- %
- % body
- %
- body/.code = \def\marmot@body{#1},
- body = brown,
- %
- % options
- %
- blush/.code = \marmot@blushtrue,
- whiskers/.code = \marmot@whiskerstrue \def\marmot@whiskers{#1},
- whiskers/.default = gray,
- teeth/.code = \marmot@teethtrue,
- 3D/.code = \marmot@threeDtrue,
- shadow/.code = \marmot@shadowtrue,
- askphil/.code = \marmot@askphiltrue,
- ask phil/.forward to=/marmot/askphil,
-}
-
-\def\marmot@draw{%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% minimal bounding box size
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\path (0.3,0.1) rectangle (1.83,2.17);
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% switch between 2D and 3D, from
-% https://chat.stackexchange.com/transcript/message/45991801#45991801
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifmarmot@threeD
- \def\marmot@part@draw##1{\shade[ball color=##1]}
-\else
- \def\marmot@part@draw##1{\fill[##1]}
-\fi
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% shadow
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-\ifmarmot@askphil
- \pgfmathparse{int(random(1,120))}
- \let\marmot@random=\pgfmathresult
- \ifnum\marmot@random>17
- \marmot@shadowtrue
- \fi
-\fi
-%
-\ifmarmot@shadow
- \fill[opacity=0,blur shadow,rotate=-80] (-0.25,1.3) ellipse (0.28 and 0.8);
-\fi
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% Body parts (center: x=0.925)
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% Feet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\marmot@part@draw{\marmot@body!50!black} (1.18,0.2) ellipse (0.23 and 0.09);
-\marmot@part@draw{\marmot@body!50!black} (0.67,0.2) ellipse (0.23 and 0.09);
-%
-% Ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\marmot@part@draw{\marmot@body!50!black} (1.18,2.03) ellipse (0.09 and 0.13);
-\marmot@part@draw{\marmot@body!50!black} (0.67,2.03) ellipse (0.09 and 0.13);
-%
-% Tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\marmot@part@draw{\marmot@body!50!black} (1.81,0.67) .. controls (1.79,0.40) and (1.27,0.24) .. (1.26,0.44) .. controls (1.24,0.56) and (1.37,0.51) .. (1.50,0.53) .. controls (1.62,0.54) and (1.81,0.72) .. (1.81,0.67) -- cycle;
-%
-% Body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\marmot@part@draw{\marmot@body} (1.52,0.92) .. controls (1.52,0.26) and (1.28,0.18) .. (0.925,0.18) .. controls (0.57,0.18) and (0.33,0.26) .. (0.33,0.92) .. controls (0.32,1.58) and (0.59,2.11) .. (0.925,2.11) .. controls (1.26,2.11) and (1.53,1.58) .. (1.52,0.92) -- cycle;
-%
-% Belly %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\marmot@part@draw{\marmot@body!50!white} (1.35,0.71) .. controls (1.35,0.41) and (1.17,0.37) .. (0.925,0.37) .. controls (0.68,0.37) and (0.5,0.41) .. (0.5,0.71) .. controls (0.5,1.01) and (0.7,1.26) .. (0.925,1.26) .. controls (1.15,1.26) and (1.35,1.01) .. (1.35,0.71) -- cycle;
-%
-% Arms %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\marmot@part@draw{\marmot@body!50!black,rotate around={70:(1.31,0.93)}} (1.31,0.93) ellipse (0.24 and 0.13);
-\marmot@part@draw{\marmot@body!50!black,rotate around={-70:(0.54,0.93)}} (0.54,0.93) ellipse (0.24 and 0.13);
-%
-% Muzzle %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\marmot@part@draw{\marmot@body!50!white} (0.925,1.47) ellipse (0.23 and 0.13);
-%
-% Nose %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\marmot@part@draw{\marmot@body!50!black} (0.925,1.6) circle (0.08);
-%
-% Eyes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\marmot@part@draw{\marmot@body!50!black} (0.77,1.77) circle (0.05);
-\marmot@part@draw{\marmot@body!50!black} (1.08,1.77) circle (0.05);
-%
-% Mouth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\draw[\marmot@body!50!black] (1.07,1.51) arc [start angle=-20, end angle=-160, radius=0.16];
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% optional
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% Blushed %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifmarmot@blush
- \fill[red,path fading=marmot@blush] (0.63,1.6) circle (0.1);
- \fill[red,path fading=marmot@blush] (1.22,1.6) circle (0.1);
-\fi
-%
-% Wiskers %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifmarmot@whiskers
- \foreach \X in {10,20,33}{%
- \filldraw[line width=0pt,\marmot@whiskers] (0.925,1.6) + (\X:0.08) to[out=\X,in={180-\X}] ++({\X-20}:0.3) --++(0,0.005) to[out={180-\X},in=\X] cycle (0.925,1.6) + ({180-\X}:0.08) to[out={180-\X},in=\X] ++({200-\X}:0.3) --++(0,0.005) to[out=\X,in={180-\X}] cycle;
- }
-\fi
-%
-% Teeth %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifmarmot@teeth
- \draw[very thin,fill=white] (0.88,1.41) -- (0.88,1.38) to[out=-5,in=-175] (0.97,1.38) -- (0.97,1.41) to[out=-170,in=-10] cycle;
- \draw[very thin] (0.925,1.405) -- (0.925,1.38);
-\fi
-%
-}
+ [2024/04/17 v2.0 Drawing marmots in TikZ]
+\RequirePackage{tikzlings-marmots} \ No newline at end of file