summaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2025-02-17 03:05:07 +0000
committerNorbert Preining <norbert@preining.info>2025-02-17 03:05:07 +0000
commit0c3a21bcb44747437f8602ddc3ad23da95ff8fae (patch)
tree15c9aeff888d0eab3410e52c7cabb7a0e594074c /graphics
parentbaf3f1749d75c5089256144019c074d60b182d4b (diff)
CTAN sync 202502170305
Diffstat (limited to 'graphics')
-rw-r--r--graphics/callouts-box/LICENCE415
-rw-r--r--graphics/callouts-box/README.md169
-rw-r--r--graphics/callouts-box/callouts-box.dtx249
-rw-r--r--graphics/callouts-box/callouts-box.ins25
-rw-r--r--graphics/callouts-box/callouts-box.pdfbin0 -> 151490 bytes
-rw-r--r--graphics/mcf2graph/CHANGELOG10
-rw-r--r--graphics/mcf2graph/README34
-rw-r--r--graphics/mcf2graph/main_lib.mcf19
-rw-r--r--graphics/mcf2graph/mcf2graph.mp19
-rw-r--r--graphics/mcf2graph/mcf_exa_soc.mp13
-rw-r--r--graphics/mcf2graph/mcf_example.pdfbin1132714 -> 1132791 bytes
-rw-r--r--graphics/mcf2graph/mcf_example.tex22
-rw-r--r--graphics/mcf2graph/mcf_manual.pdfbin446207 -> 446440 bytes
-rw-r--r--graphics/mcf2graph/mcf_manual.tex6
-rw-r--r--[-rwxr-xr-x]graphics/mcf2graph/mcf_to_graph.cmd53
-rw-r--r--graphics/mcf2graph/template_lib.mcf10
-rw-r--r--graphics/mcf2graph/template_soc.mp24
-rw-r--r--graphics/pgf/contrib/maritime/LICENSE21
-rw-r--r--graphics/pgf/contrib/maritime/README.md39
-rw-r--r--graphics/pgf/contrib/maritime/doc/maritime-doc.pdfbin0 -> 45057 bytes
-rw-r--r--graphics/pgf/contrib/maritime/doc/maritime-doc.tex160
-rw-r--r--graphics/pgf/contrib/maritime/tex/maritime.sty671
22 files changed, 1859 insertions, 100 deletions
diff --git a/graphics/callouts-box/LICENCE b/graphics/callouts-box/LICENCE
new file mode 100644
index 0000000000..842cf85e3c
--- /dev/null
+++ b/graphics/callouts-box/LICENCE
@@ -0,0 +1,415 @@
+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/graphics/callouts-box/README.md b/graphics/callouts-box/README.md
new file mode 100644
index 0000000000..7ac6d873fe
--- /dev/null
+++ b/graphics/callouts-box/README.md
@@ -0,0 +1,169 @@
+# The `callouts-box` Package
+
+## Version 1.0
+**Date:** 2025/02/14
+**Author:** julinux60
+
+## Table of Contents
+1. [Introduction](#introduction)
+2. [Installation](#installation)
+3. [Usage](#usage)
+ - [Basic Examples](#basic-examples)
+ - [Advanced Examples](#advanced-examples)
+ - [Customization](#customization)
+4. [Defining Custom Boxes](#defining-custom-boxes)
+5. [Complete Example](#complete-example)
+6. [License](#license)
+
+---
+
+## Introduction
+The `callouts-box` package provides a collection of visually appealing, structured callout boxes for LaTeX documents. These boxes are useful for highlighting important information such as warnings, errors, notes, and success messages. The package is built on top of `tcolorbox` for highly customizable, breakable callout boxes and `xcolor` for predefined color schemes.
+
+## Installation
+To install the `callouts-box` package, place the following files in your LaTeX directory:
+
+- `callouts-box.sty` (Core functionality and environment definitions)
+- `callouts-box-colors.sty` (Predefined color definitions for callouts)
+
+Then, include the package in your document preamble:
+
+```latex
+\usepackage{callouts-box}
+```
+
+## Usage
+The package provides four predefined callout box environments:
+
+- `warningbox`
+- `errorbox`
+- `notebox`
+- `successbox`
+
+Each environment takes an optional argument for the box title. If no title is provided, a default title is used.
+
+### Basic Examples
+Here are some examples of how to use the predefined callout boxes:
+
+```latex
+\begin{warningbox}[Custom Warning Title]
+ This is a warning message.
+\end{warningbox}
+
+\begin{errorbox}
+ This is an error message.
+\end{errorbox}
+
+\begin{notebox}[Important Note]
+ This is a note.
+\end{notebox}
+
+\begin{successbox}
+ This is a success message.
+\end{successbox}
+```
+
+### Advanced Examples
+You can nest callout boxes inside each other:
+
+```latex
+\begin{warningbox}[Outer Warning]
+ This is an outer warning message.
+
+ \begin{notebox}[Nested Note]
+ This is a nested note inside a warning.
+ \end{notebox}
+\end{warningbox}
+```
+
+You can add equations, lists, or images inside callout boxes:
+
+```latex
+\begin{successbox}[Success with Equation]
+ The famous Pythagorean theorem:
+ \[
+ a^2 + b^2 = c^2
+ \]
+\end{successbox}
+```
+
+```latex
+\begin{notebox}[Note with List]
+ Key points to remember:
+ \begin{itemize}
+ \item Callout boxes can contain lists.
+ \item They can also include images.
+ \end{itemize}
+\end{notebox}
+```
+
+### Customization
+Users can modify the visual appearance of callout boxes by editing `callouts-box-colors.sty` or overriding the `tcbset` settings in their document.
+
+To adjust layout settings, use the `tcbset` command:
+
+```latex
+\tcbset{
+ boxsettings/.style={
+ boxrule=2pt, rounded corners=10pt, arc=10pt,
+ left=10pt, right=10pt, top=10pt, bottom=10pt,
+ boxsep=10pt, before skip=15pt, after skip=15pt,
+ breakable, before upper={\ignorespaces},
+ }
+}
+```
+
+## Defining Custom Boxes
+You can define your own callout box styles using `NewTColorBox`. Example:
+
+```latex
+\definecolor{custom-border}{HTML}{FFA500}
+\definecolor{custom-content}{HTML}{FFF3E0}
+\definecolor{custom-text}{HTML}{FF6D00}
+
+\NewTColorBox{custombox}{ O{Custom Box} o }{
+ colframe=custom-border,
+ colback=custom-content,
+ coltitle=custom-text,
+ fonttitle=\bfseries,
+ coltext=custom-text,
+ title={#1},
+}
+```
+
+To use the custom box:
+
+```latex
+\begin{custombox}[My Custom Box]
+ This is a custom box.
+\end{custombox}
+```
+
+## Complete Example
+Here is a complete document using the `callouts-box` package:
+
+```latex
+\documentclass{article}
+\usepackage{callouts-box}
+
+\begin{document}
+
+\begin{warningbox}[Warning]
+ This is a warning message.
+\end{warningbox}
+
+\begin{successbox}[Success]
+ This is a success message.
+\end{successbox}
+
+\begin{notebox}[Math Example]
+ \[
+ E = mc^2
+ \]
+\end{notebox}
+
+\end{document}
+```
+
+## License
+This package is distributed under the LaTeX Project Public License (LPPL), version 1.3 or later. For more details, see the `LICENSE` file.
diff --git a/graphics/callouts-box/callouts-box.dtx b/graphics/callouts-box/callouts-box.dtx
new file mode 100644
index 0000000000..39228d09bf
--- /dev/null
+++ b/graphics/callouts-box/callouts-box.dtx
@@ -0,0 +1,249 @@
+% \iffalse
+% callouts-box.dtx
+% --------------------------------------
+% Documented LaTeX source for the callouts-box package
+% --------------------------------------
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{makeidx}
+\makeindex
+\begin{document}
+
+\title{The \texttt{callouts-box} Package\\
+\smallskip
+\small Version 1.0\\
+\small Date: 2025/02/14}
+\author{julinux60}
+\date{14/02/2025}
+
+\maketitle
+\tableofcontents
+
+\section{Introduction}
+The \texttt{callouts-box} package provides a collection of visually appealing, structured callout boxes for \LaTeX{} documents. These boxes are useful for highlighting important information such as warnings, errors, notes, and success messages. The package is built on top of \texttt{tcolorbox} for highly customizable, breakable callout boxes and \texttt{xcolor} for predefined color schemes.
+
+\section{Installation}
+To install the \texttt{callouts-box} package, place the following files in your \LaTeX{} directory:
+\begin{itemize}
+ \item \texttt{callouts-box.sty} (Core functionality and environment definitions)
+ \item \texttt{callouts-box-colors.sty} (Predefined color definitions for callouts)
+\end{itemize}
+Then, include the package in your document preamble:
+\begin{verbatim}
+\usepackage{callouts-box}
+\end{verbatim}
+
+\section{Usage}
+The package provides four predefined callout box environments:
+\DescribeEnv{warningbox}
+\DescribeEnv{errorbox}
+\DescribeEnv{notebox}
+\DescribeEnv{successbox}
+Each environment takes an optional argument for the box title. If no title is provided, a default title is used.
+
+\subsection{Basic Examples}
+Here are some examples of how to use the predefined callout boxes:
+
+\begin{verbatim}
+\begin{warningbox}[Custom Warning Title]
+ This is a warning message.
+\end{warningbox}
+
+\begin{errorbox}
+ This is an error message.
+\end{errorbox}
+
+\begin{notebox}[Important Note]
+ This is a note.
+\end{notebox}
+
+\begin{successbox}
+ This is a success message.
+\end{successbox}
+\end{verbatim}
+
+\subsection{Advanced Examples}
+You can nest callout boxes inside each other:
+\begin{verbatim}
+\begin{warningbox}[Outer Warning]
+ This is an outer warning message.
+
+ \begin{notebox}[Nested Note]
+ This is a nested note inside a warning.
+ \end{notebox}
+\end{warningbox}
+\end{verbatim}
+You can add equations, lists, or images inside callout boxes:
+\begin{verbatim}
+\begin{successbox}[Success with Equation]
+ The famous Pythagorean theorem:
+ \[
+ a^2 + b^2 = c^2
+ \]
+\end{successbox}
+\end{verbatim}
+
+\begin{verbatim}
+\begin{notebox}[Note with List]
+ Key points to remember:
+ \begin{itemize}
+ \item Callout boxes can contain lists.
+ \item They can also include images.
+ \end{itemize}
+\end{notebox}
+\end{verbatim}
+
+\subsection{Customization}
+Users can modify the visual appearance of callout boxes by editing \texttt{callouts-box-colors.sty} or overriding the \texttt{tcbset} settings in their document.
+
+\DescribeMacro{\tcbset}
+To adjust layout settings, use the \texttt{tcbset} command:
+\begin{verbatim}
+\tcbset{
+ boxsettings/.style={
+ boxrule=2pt, rounded corners=10pt, arc=10pt,
+ left=10pt, right=10pt, top=10pt, bottom=10pt,
+ boxsep=10pt, before skip=15pt, after skip=15pt,
+ breakable, before upper={\ignorespaces},
+ }
+}
+\end{verbatim}
+
+\section{Defining Custom Boxes}
+You can define your own callout box styles using \texttt{NewTColorBox}. Example:
+\begin{verbatim}
+\definecolor{custom-border}{HTML}{FFA500}
+\definecolor{custom-content}{HTML}{FFF3E0}
+\definecolor{custom-text}{HTML}{FF6D00}
+
+\NewTColorBox{custombox}{ O{Custom Box} o }{
+ colframe=custom-border,
+ colback=custom-content,
+ coltitle=custom-text,
+ fonttitle=\bfseries,
+ coltext=custom-text,
+ title={#1},
+}
+\end{verbatim}
+
+To use the custom box:
+\begin{verbatim}
+\begin{custombox}[My Custom Box]
+ This is a custom box.
+\end{custombox}
+\end{verbatim}
+
+\section{Complete Example}
+Here is a complete document using the \texttt{callouts-box} package:
+
+\begin{verbatim}
+\documentclass{article}
+\usepackage{callouts-box}
+
+\begin{document}
+
+\begin{warningbox}[Warning]
+ This is a warning message.
+\end{warningbox}
+
+\begin{successbox}[Success]
+ This is a success message.
+\end{successbox}
+
+\begin{notebox}[Math Example]
+ \[
+ E = mc^2
+ \]
+\end{notebox}
+
+\end{document}
+\end{verbatim}
+
+\section{License}
+This package is distributed under the \LaTeX{} Project Public License (LPPL), version 1.3 or later. For more details, see the \texttt{LICENSE} file.
+
+\PrintIndex
+
+\end{document}
+%</driver>
+% \fi
+
+% --------------------------------------
+% Package Code
+% --------------------------------------
+% \iffalse
+%<*package>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{callouts-box}[2025/02/14 v1.0 Styled callout boxes]
+
+\RequirePackage{xcolor}
+\RequirePackage{tcolorbox}
+\tcbuselibrary{breakable}
+\RequirePackage{callouts-box-colors}
+
+\tcbset{
+ boxsettings/.style={
+ boxrule=1pt, rounded corners=all, arc=5pt,
+ left=5pt, right=5pt, top=5pt, bottom=5pt,
+ boxsep=5pt, before skip=10pt, after skip=10pt,
+ breakable, before upper={\ignorespaces},
+ }
+}
+
+% Define callout box environments
+\NewTColorBox{warningbox}{ O{Warning} }{
+ colframe=warning-border, colback=warning-content,
+ coltitle=warning-text, fonttitle=\bfseries,
+ coltext=warning-text, title={#1}, boxsettings,
+}
+
+\NewTColorBox{errorbox}{ O{Error} }{
+ colframe=error-border, colback=error-content,
+ coltitle=error-text, fonttitle=\bfseries,
+ coltext=error-text, title={#1}, boxsettings,
+}
+
+\NewTColorBox{notebox}{ O{Note} }{
+ colframe=note-border, colback=note-content,
+ coltitle=note-text, fonttitle=\bfseries,
+ coltext=note-text, title={#1}, boxsettings,
+}
+
+\NewTColorBox{successbox}{ O{Success} }{
+ colframe=success-border, colback=success-content,
+ coltitle=success-text, fonttitle=\bfseries,
+ coltext=success-text, title={#1}, boxsettings,
+}
+%</package>
+% \fi
+
+% --------------------------------------
+% Colors Package Code
+% --------------------------------------
+% \iffalse
+%<*colors>
+\ProvidesPackage{callouts-box-colors}[2025/02/14 v1.0 Predefined colors for callouts-box]
+\RequirePackage{xcolor}
+
+% Define colors for callout boxes
+\definecolor{warning-title}{HTML}{FAE2A0}
+\definecolor{warning-content}{HTML}{FFFCF4}
+\definecolor{warning-text}{HTML}{5C4813}
+\definecolor{warning-border}{HTML}{FAE2A0}
+
+\definecolor{error-title}{HTML}{FAA0A0}
+\definecolor{error-content}{HTML}{FFF4F4}
+\definecolor{error-text}{HTML}{5C1313}
+\definecolor{error-border}{HTML}{FAA0A0}
+
+\definecolor{note-title}{HTML}{A3A0FA}
+\definecolor{note-content}{HTML}{F4F6FF}
+\definecolor{note-text}{HTML}{1E135C}
+\definecolor{note-border}{HTML}{A3A0FA}
+
+\definecolor{success-title}{HTML}{91DF96}
+\definecolor{success-content}{HTML}{F7FFF4}
+\definecolor{success-text}{HTML}{104F20}
+\definecolor{success-border}{HTML}{91DF96}
+%</colors>
+% \fi \ No newline at end of file
diff --git a/graphics/callouts-box/callouts-box.ins b/graphics/callouts-box/callouts-box.ins
new file mode 100644
index 0000000000..82b7235afa
--- /dev/null
+++ b/graphics/callouts-box/callouts-box.ins
@@ -0,0 +1,25 @@
+% callouts-box.ins
+% --------------------------------------
+% Installation file for the callouts-box package
+% --------------------------------------
+\input docstrip.tex
+\keepsilent
+\usedir{tex/latex/callouts-box}
+\preamble
+This is a generated file.
+
+Copyright (C) 2025 by julinux60
+
+This file 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.
+\endpreamble
+\generate{\file{callouts-box.sty}{\from{callouts-box.dtx}{package}}}
+\generate{\file{callouts-box-colors.sty}{\from{callouts-box.dtx}{colors}}}
+\endbatchfile \ No newline at end of file
diff --git a/graphics/callouts-box/callouts-box.pdf b/graphics/callouts-box/callouts-box.pdf
new file mode 100644
index 0000000000..8bd1d1ec07
--- /dev/null
+++ b/graphics/callouts-box/callouts-box.pdf
Binary files differ
diff --git a/graphics/mcf2graph/CHANGELOG b/graphics/mcf2graph/CHANGELOG
index b65b764669..c5bbcf621b 100644
--- a/graphics/mcf2graph/CHANGELOG
+++ b/graphics/mcf2graph/CHANGELOG
@@ -1,6 +1,14 @@
*******************************************************************************
- Changelog of mcf2graph software package by Akira Yamaji 2025-02-02
+ Changelog of mcf2graph software package by Akira Yamaji 2025-02-16
*******************************************************************************
+[ver. 5.19 / 2025-02-16]
+ -update mcf_to_graph.cmd
+ -update template_soc.mp
+ -update mcf_exa_soc.mp
+ -update mcf2graph.mp
+ -update main_lib.mcf
+ -update template_lib.mcf
+
[ver. 5.18 / 2025-02-02]
-fix bug in MOL file output
-update mcf2graph.mp
diff --git a/graphics/mcf2graph/README b/graphics/mcf2graph/README
index 27dc0cbec0..416bc447ff 100644
--- a/graphics/mcf2graph/README
+++ b/graphics/mcf2graph/README
@@ -1,7 +1,7 @@
********************************************************************************
mcf2graph : Convert Molecular Coding Format to graphics with MetaPost
Author : Akira Yamaji
- version : 5.18 2025-02-02
+ version : 5.19 2025-02-16
E-mail : mcf2graph@gmail.com
Located at : http://www.ctan.org/pkg/mcf2graph
********************************************************************************
@@ -10,36 +10,44 @@
Molecular Coding Format(MCF) is new linear notation represent
chemical structure diagrams.
This Coding is named from programing technique
- such as operator, array, scope, macro, adressing, etc.
- mcf2graph convert from MCF to SVG, PNG, EPS, MOL file.
- It is also able to calculate molecular weight, exact mass, molecular formula.
+ such as operator,array,scope,macro,adressing,etc.
+ mcf2graph convert from MCF to SVG,PNG,EPS,MOL file.
+ It is also able to calculate molecular weight,exact mass,molecular formula.
2. The distribution of software
( 1) README This file
( 2) CHANGELOG Changelog file of mcf2graph
- ( 3) mcf_to_graph.cmd Batch file for compile MCF lib
+ ( 3) mcf_to_graph.cmd Batch file for compile mcf library file
+ drag and drop library file on this batch
+ >mcf_to_graph main_lib.mcf
+ create svg(default) in ./main_lib
>mcf_to_graph template_lib.mcf
- drag and drop library files on this batch
- create svg(default) in ./template_lib
+ create svg(default) in ./template_lib
( 4) mcf2graph.mp Main macro of Metapost
- ( 5) mcf_exa_soc.mp Metapost source file example
- ( 6) main_lib.mcf MCF library file
- ( 7) template_lib.mcf Template library file
- ( 8) template_soc.mp Template metapost source file
+ ( 5) main_lib.mcf MCF library file
+ ( 6) template_lib.mcf Template library file
+ ( 7) mcf_exa_soc.mp Metapost source file for main_lib.mcf
+ ( 8) template_soc.mp Metapost source file for any library file
( 9) mcf_manual.tex MCF syntax manual
(10) mcf_manual.pdf PDF of (9) typeset with LuaLaTeX
(11) mcf_example.tex List of Molecule
(12) mcf_example.pdf PDF of (11) typeset with LuaLaTeX
3. Minimum required files to use mcf2graph
+ Install texlive or other distribution
+ These files are available from texlive2024.iso in the case of texlive
(1) mpost.exe
+ (TeXLive2024/archive/metapost.<os>.r<number>.tar/bin/<os>/mpost.exe)
(2) mpost.dll
+ (TeXLive2024/archive/metapost.<os>.r<number>.tar/bin/<os>/mpost.dll)
(3) mpost.mp
+ (TeXLive2024/archive/metapost.r<number>.tar/texmf-dist/metapost/base/mpost.mp)
(4) plain.mp
+ (TeXLive2024/archive/metapost.r<number>.tar/texmf-dist/metapost/base/plain.mp)
4. Use mcf2graph with MetaPost
-command line-
- (1) >mcf_to_graph filename.mcf => output svg(default),png,mol,report
+ (1) >mcf_to_graph filename.mp => output svg(default),png,mol,report
(2) >mpost filename.mp => output svg file
(3) >mpost -s ahangle=1 filename.mp => output png file (600dpi)
(4) >mpost -s ahangle=11 filename.mp => output png file (1200dpi)
@@ -50,7 +58,7 @@
(9) >mpost -s ahlength=7 filename.mp => output report file
5. License
- mcf2graph ver 5.18 Copyright (c) 2013-2025 Akira Yamaji
+ mcf2graph ver 5.19 Copyright (c) 2013-2025 Akira Yamaji
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/graphics/mcf2graph/main_lib.mcf b/graphics/mcf2graph/main_lib.mcf
index 2442321584..5b63cf0517 100644
--- a/graphics/mcf2graph/main_lib.mcf
+++ b/graphics/mcf2graph/main_lib.mcf
@@ -1,7 +1,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% molecular library file main_lib.mcf by Akira Yamaji 2025.02.02
+% molecular library file main_lib.mcf by Akira Yamaji 2025.02.16
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% must use version 5.18
+% must use version 5.19
% tag1:var1;tag2:var2;tag3:var3 .....
% first character of line "%" comment out
% first character of line ":" start MCF
@@ -14,9 +14,9 @@
%==============================================================================
CAT:nucleic acid;EN:Adenine;MW:135.13;EXA:-
=
- sw_frame:=Atom;
+ sw_frame:=Atom;
:
-<30,?6,3=?5,1'3'5'9=db,2'6'9:N,5:/NH2,7:NH
+ <30,?6,3=?5,1'3'5'9=db,2'6'9:N,5:/NH2,7:NH
*
defaultscale:=.5;
label.bot(decimal(fig_num)&":"&EN,(.5w,0));
@@ -26,7 +26,16 @@ CAT:nucleic acid;EN:Adenine;MW:135.13;EXA:-
label.top("A6",A6) withcolor red;
label.top("A9",A9) withcolor red;
;
-%==============================================================================
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% new molecular making lines (EXA:0) %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+CAT:nucleic acid;EN:Adenine;MW:135.13;EXA:0
+:
+<30,?6,3=?5,1'3'5'9=db,2'6'9:N,5:/NH2,7:NH
+;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%------------------------------------------------------------------------------
CAT:nucleic acid;EN:Adenine;MW:135.13;EXA:1
:
<30,?6,3=?5,1'3'5'9=db,2'6'9:N,5:/NH2,7:NH
diff --git a/graphics/mcf2graph/mcf2graph.mp b/graphics/mcf2graph/mcf2graph.mp
index 6f57c5df6b..cf334bf7ec 100644
--- a/graphics/mcf2graph/mcf2graph.mp
+++ b/graphics/mcf2graph/mcf2graph.mp
@@ -1,5 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mcf2graph ver 5.18 Copyright (c) 2013-2025 Akira Yamaji
+% mcf2graph ver 5.19 Copyright (c) 2013-2025 Akira Yamaji
%
% Permission is hereby granted, free of charge, to any person obtaining a copy of this software
% and associated documentation files (the "Software"), to deal in the Software without restriction,
@@ -22,7 +22,7 @@
% This package is located at : http://www.ctan.org/pkg/mcf2graph
% Suggestion or request mail to : mcf2graph@gmail.com
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-message "* This is mcf2graph ver 5.18 2025.02.02";
+message "* This is mcf2graph ver 5.19 2025.02.16";
tracingstats:=1; prologues:=3;
%-------------------------------------------------------------------------------------------------
newinternal string EN_,tempc,temps,blanks,line_s,atom_s,forbiddens,firstc,file_output;
@@ -89,7 +89,6 @@ max_blength:=10mm; blength:=mangle:=0; max_labelsize:=20mm; dottedline_gap:=1.5;
fsize:=(30mm,20mm); fmargin:=(0.4mm,0.4mm); msize:=(1,1); mposition:=(0.5,0.5);
ahangle:=45; ahlength:=4; defaultsize:=8; defaultscale:=1; labeloffset:=3; ext_defaultline:=0.5;
lonepairdiam:=lonepairspace:=circlediam:=circlepen:=bboxmargin:=0; mc_length:=100;
-outputformatoptions:="";
%-------------------------------------------------------------------------------------------------
let DIV= /; let MUL= *; let LT= <; let GT= >; let AND= &; let :: = : ; let == = =; let +++ = ++;
let ISP=intersectionpoint; def ]]]=] ] ] enddef; vardef Incr suffix $ == $:=$+1; $ enddef;
@@ -1130,13 +1129,13 @@ def draw_char(expr s,p)=
hP:=fP/2; qP:=fP/4; fW:=aW-hP; hW:=aW/2; fH:=aH-hP; hH:=aH/2; qH:=aH/4;
%-----------------------------------------------------------------------------------------------
pickup pencircle scaled fP;
- if s="C": cdw sbp(.05,.95)circ_O;
- ef s="H": dwv Z_b--Z_w; dw Z_m--Z_o; dwv Z_e--Z_t;
- ef s="O": dw circ_O;
- ef s="N": dwv Z_b--Z_w; dwv Z_e--Z_t; dwvs(1.4)(1.4hP,aH)--(aW-1.4hP,0);
- ef s="S": cdw sbp(.05,.45)circ_O; cdw sbp(.55,.95)circ_O; dw (fW,.3aH){up}..{up}(hP,.7aH);
- ef s="F": dwh Z_q--Z_u; dwh (.1hP,.48aH)--(fW-hP,.48aH); dwv Z_b--Z_r;
- ef s="P": dwv Z_b--Z_w; dw Z_r--(.65aW,fH){right}..(fW,.7aH)..{left}(.65aW,.44aH)..(hP,.44aH);
+ if s="C": cdw sbp(.05,.95)circ_O;
+ ef s="H": dwv Z_b--Z_w; dw Z_m--Z_o; dwv Z_e--Z_t;
+ ef s="O": dw circ_O;
+ ef s="N": dwv Z_b--Z_w; dwv Z_e--Z_t; dwvs(1.4)(1.4hP,aH)--(aW-1.4hP,0);
+ ef s="S": cdw sbp(.05,.45)circ_O; cdw sbp(.55,.95)circ_O; dw (fW,.3aH){up}..{up}(hP,.7aH);
+ ef s="F": dwh Z_q--Z_u; dwh (.1hP,.48aH)--(fW-hP,.48aH); dwv Z_b--Z_r;
+ ef s="P": dwv Z_b--Z_w; dw Z_r--(.65aW,fH){right}..(fW,.7aH)..{left}(.65aW,.44aH)..(hP,.44aH);
ef s="I": dwv Z_x--Z_s; dwh (hW-fP,hP)--(hW+fP,hP); dwh (hW-fP,fH)--(hW+fP,fH);
ef s="l": dwv Z_g--Z_f; dwh Z_s--Z_r; dwh Z_x--Z_z;
ef s="2": cdw (hP,1.3hP)..(.4fW,.35fH)..(fW,.65aH)..Z_s..(hP,.65aH); dwh Z_d--Z_a;
diff --git a/graphics/mcf2graph/mcf_exa_soc.mp b/graphics/mcf2graph/mcf_exa_soc.mp
index 9ef687ae1d..b3144d2028 100644
--- a/graphics/mcf2graph/mcf_exa_soc.mp
+++ b/graphics/mcf2graph/mcf_exa_soc.mp
@@ -1,5 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% MCF metapost souce file example by Akira Yamaji 2025.02.02
+% MCF metapost souce file example by Akira Yamaji 2025.02.16
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%------------------------------------------------------------------------------
%%%%ahlength:=3; %%% output figure(expanded)
@@ -7,8 +7,8 @@
%%%%ahlength:=6; %%% output MOL(V3000) ** max 500files
%%%%ahlength:=7; %%% output report
%------------------------------------------------------------------------------
-input mcf2graph; %%% it must be version 5.18
-message "* mcf_template 2025.02.02";
+input mcf2graph; %%% it must be version 5.19
+message "* mcf_template 2025.02.16";
message "";
%------------------------------------------------------------------------------
%%%%sw_output:=Fig+Report;
@@ -18,16 +18,15 @@ max_blength:=4mm;
%%%%sw_frame:=Atom;
%%%%ext(defaultscale:=.3; label.rt(EN,(0,0));)
%------------------------------------------------------------------------------
-ext(defaultfont:=mpfont; defaultscale:=.3;
-label.rt(EN&" / "&mw&" / "&fdr(7)(MW_n-scantokens(MW)),(0,0));)
+%%%%ext(defaultfont:=mpfont; defaultscale:=.3;
+%%%%label.rt(EN&" / "&mw&" / "&fdr(7)(MW_n-scantokens(MW)),(0,0));)
%------------------------------------------------------------------------------
%%%%loadm("CAT=biological","MW<200","a:MW");
%%%%loadm("CAT=biological","MW<50.0","a:EN");
%%%%loadm("CAT=biological","MW>=285","MW<=288","a:EN");
%%%%sw_comment:=1; loadm("CAT=biological","MW>=100","MW<=250","a:MW");
-%%%%savem("temp.mcf"); % save to temp.mcf
%%%%loadm("EN<>*"); % select all
-loadm("EXA=9"); % select EXA=1
+loadm("EXA=0"); % select EXA=0
%------------------------------------------------------------------------------
for i=1 upto ucount: beginfigm $(i) \\ endfigm endfor
%******************************************************************************
diff --git a/graphics/mcf2graph/mcf_example.pdf b/graphics/mcf2graph/mcf_example.pdf
index 53c1365e77..de575c88ce 100644
--- a/graphics/mcf2graph/mcf_example.pdf
+++ b/graphics/mcf2graph/mcf_example.pdf
Binary files differ
diff --git a/graphics/mcf2graph/mcf_example.tex b/graphics/mcf2graph/mcf_example.tex
index f72991e5e4..ed2b633bf3 100644
--- a/graphics/mcf2graph/mcf_example.tex
+++ b/graphics/mcf2graph/mcf_example.tex
@@ -1,7 +1,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Example of MCF Typeset with LuaLaTeX(luamplib) by A.Yamaji 2025.02.02
+% Example of MCF Typeset with LuaLaTeX(luamplib) by A.Yamaji 2025.02.16
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% ** mcf2graph.mf must be version 5.18
+% ** mcf2graph.mf must be version 5.19
% ** use mcf_library.mcf
% ** typeset by LuaLaTeX(luamplib)
%-------------------------------------------------------------------------
@@ -51,7 +51,7 @@
draw (col_w,h)--(col_w,h-header_h) wpcs thickness_frame;
endfor
enddef;
-%--------------------------------------------------------------
+%-------------------------------------------------------------------------
loadm("EN=Benzene");
fig_num:=0;
beginfigm
@@ -79,7 +79,7 @@
)
fi
endfigm
-%--------------------------------------------------------------
+%------------------------------------------------------------------------------
loadm("EXA=1");
fig_num:=0;
fsize:=(50mm,15.2mm);
@@ -113,21 +113,19 @@
label.lrt(fm,(150mm,h));
make_frame;
defaultfont:="cmtt9"; defaultscale:=1; row_h:=10;
- for i=1 upto mc_row:
- label.lrt(mc[i],(w+mc_indent[i]*4.25,h-(i-1)*row_h-11.5));
- endfor
+ for i=1 upto mc_row: label.lrt(mc[i],(w+mc_indent[i]*4.25,h-(i-1)*row_h-11.5)); endfor
)
VerbatimTeX("\gdef\EN{"&EN&"}");
fi
endfigm
\end{mplibcode}\vspace{-1.2pt}\\
-%------------------------------------------------------------------------
+%------------------------------------------------------------------------------
\fi%
\message{[\the\fig@num:\EN]}%
\ifCONT@ \repeat%
%------------------------------------------------------------------------------
\newpage%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{mplibcode}
loadm("EXA=2");
fig_num:=0;
@@ -161,16 +159,14 @@
label.lrt(mw,(130mm,h));
label.lrt(fm,(150mm,h));
make_frame;
+ defaultfont:="cmtt9"; defaultscale:=1;
if mc_row>12: defaultscale:=0.6; row_h:=5.8;
ef mc_row>7: defaultscale:=0.8; row_h:=6.5;
ef mc_row>6: row_h:=10;
ef mc_row>5: row_h:=11;
else: row_h:=12;
fi
- defaultfont:="cmtt9";
- for i=1 upto mc_row:
- label.lrt(mc[i],(w+mc_indent[i]*4.25,h-(i-1)*row_h-12));
- endfor
+ for i=1 upto mc_row: label.lrt(mc[i],(w+mc_indent[i]*4.25,h-(i-1)*row_h-12)); endfor
)
VerbatimTeX("\gdef\EN{"&EN&"}");
fi
diff --git a/graphics/mcf2graph/mcf_manual.pdf b/graphics/mcf2graph/mcf_manual.pdf
index 29c2450d23..669f144542 100644
--- a/graphics/mcf2graph/mcf_manual.pdf
+++ b/graphics/mcf2graph/mcf_manual.pdf
Binary files differ
diff --git a/graphics/mcf2graph/mcf_manual.tex b/graphics/mcf2graph/mcf_manual.tex
index e80ad6c69a..71bc7a55f5 100644
--- a/graphics/mcf2graph/mcf_manual.tex
+++ b/graphics/mcf2graph/mcf_manual.tex
@@ -1,7 +1,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format manual by Akira Yamaji 2025.02.02
+% Molecular Coding Format manual by Akira Yamaji 2025.02.16
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% ** mcf2graph.mf must be version 5.18
+% ** mcf2graph.mf must be version 5.19
% ** use main_lib.mcf
% ** typeset by LuaLaTeX(luamplib)
%----------------------------------------------------------------------------
@@ -37,7 +37,7 @@
\author{Akira Yamaji}
\date{\today}
\maketitle
-\begin{center} mcf2graph version 5.18 \end{center}
+\begin{center} mcf2graph version 5.19 \end{center}
\begin{center} Located at http://www.ctan.org/pkg/mcf2graph \end{center}
\begin{center} Suggestion or request mail to: mcf2graph@gmail.com \end{center}
%-----------------------------------------------------------------------------
diff --git a/graphics/mcf2graph/mcf_to_graph.cmd b/graphics/mcf2graph/mcf_to_graph.cmd
index 4633e4f1dc..060a5a025c 100755..100644
--- a/graphics/mcf2graph/mcf_to_graph.cmd
+++ b/graphics/mcf2graph/mcf_to_graph.cmd
@@ -1,27 +1,26 @@
-rem Batch file for compile MCF 2024.12.01
-rem rename filename by purpose
-rem <drag and drop library files on this batch>
-
-@echo off
-for %%f in (%*) do (
- mkdir %%~nf
- copy %%f temp.mcf
-
- rem *** mcf_to_svg create svg in ./filename (default)
- mpost -output-directory=./%%~nf template_soc.mp
-
- rem *** mcf_to_png create png in ./filename
- rem mpost -output-directory=./%%~nf -s ahangle=1 template_soc.mp
-
- rem *** mcf_to_mol2k create MOL(V2000) in ./filename
- rem mpost -output-directory=./%%~nf -s ahlength=5 template_soc.mp
-
- rem *** mcf_to_mol3k create MOL(V3000) in ./filename
- rem mpost -output-directory=./%%~nf -s ahlength=6 template_soc.mp
-
- rem *** mcf_to_report create report
- rem mpost -numbersystem=double -s ahlength=7 template_soc.mp
-
- del temp.mcf
- )
- \ No newline at end of file
+rem Batch file for compile MCF 2025.02.16
+rem rename filename by purpose
+rem <drag and drop library files on this batch>
+
+@echo off
+for %%f in (%*) do (
+ mkdir %%~nf
+ copy %%f temp.mcf
+
+ rem *** mcf_to_svg create svg in ./filename (default)
+ mpost -output-directory=./%%~nf ./template_soc.mp
+
+ rem *** mcf_to_png create png in ./filename
+ rem mpost -output-directory=./%%~nf -s ahangle=1 ./template_soc.mp
+
+ rem *** mcf_to_mol2k create MOL(V2000) in ./filename
+ rem mpost -output-directory=./%%~nf -s ahlength=5 ./template_soc.mp
+
+ rem *** mcf_to_mol3k create MOL(V3000) in ./filename
+ rem mpost -output-directory=./%%~nf -s ahlength=6 ./template_soc.mp
+
+ rem *** mcf_to_report create report
+ rem mpost -numbersystem=double -s ahlength=7 ./template_soc.mp
+
+ del temp.mcf
+ )
diff --git a/graphics/mcf2graph/template_lib.mcf b/graphics/mcf2graph/template_lib.mcf
index c2863d9d24..e2f72eb3d0 100644
--- a/graphics/mcf2graph/template_lib.mcf
+++ b/graphics/mcf2graph/template_lib.mcf
@@ -1,7 +1,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mcf template file mcf_template.mcf by Akira Yamaji 2025.02.02
+% mcf template file mcf_template.mcf by Akira Yamaji 2025.02.16
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% must use version 5.18
+% must use version 5.19
% tag1:var1;tag2:var2;tag3:var3 .....
% first character of line "%" comment out
% first character of line ":" start MCF
@@ -11,7 +11,7 @@
% first character of line ";" end of unit
% Cat = Category,EN = Name,MW = Molecular weight
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Cat:biological;EN:Paclitaxel;MW:853.918;EXA:1
+Cat:biological;EN:Paclitaxel;MW:853.918;EXA:0
%-------------------------------------------------------------------
= %%%%%% start parameter setting %%%%%%
sw_frame:=Outside;
@@ -33,7 +33,7 @@ Cat:biological;EN:Paclitaxel;MW:853.918;EXA:1
label.lrt("MW:"&MW,(0,h-3em));
; %% end of unit
%==============================================================================
-Cat:biological;EN:Erythromycin;MW:733.93
+Cat:biological;EN:Erythromycin;MW:733.93;EXA:0
%-------------------------------------------------------------------
= %%%%%% start parameter setting %%%%%%
sw_frame:=Outside;
@@ -56,7 +56,7 @@ Cat:biological;EN:Erythromycin;MW:733.93
label.lrt("MW:"&MW,(0,h-3em));
; %% end of unit
%==============================================================================
-EN:chain strech direction
+EN:chain strech direction;EXA:0
= %%%%%% start parameter setting %%%%%%
fsize:=(40mm,30mm);
fmargin:=(2mm,2mm);
diff --git a/graphics/mcf2graph/template_soc.mp b/graphics/mcf2graph/template_soc.mp
index 3cd9137add..2bd5f18fa5 100644
--- a/graphics/mcf2graph/template_soc.mp
+++ b/graphics/mcf2graph/template_soc.mp
@@ -1,25 +1,17 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% MCF compile template file by Akira Yamaji 2025.02.02
+% MCF metapost souce template file by Akira Yamaji 2025.02.16
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%------------------------------------------------------------------------------
-%%%%ahlength:=3; %%% output figure(expanded)
-%%%%ahlength:=5; %%% output MOL(V2000) ** max 500files
-%%%%ahlength:=6; %%% output MOL(V3000) ** max 500files
-%%%%ahlength:=7; %%% output report
-%------------------------------------------------------------------------------
-input mcf2graph; %%% it must be version 5.18
-message "* mcf_template 2025.02.02";
+input mcf2graph; %%% it must be version 5.19
+message "* mcf_template 2025.02.16";
message "";
%------------------------------------------------------------------------------
-%%%%sw_output:=Fig+Report;
-%%%%ext(defaultscale:=.3; label.rt(EN,(0,0));)
-%------------------------------------------------------------------------------
-%%%%ext(defaultfont:=mpfont; defaultscale:=.3;
-%%%%label.rt(EN&" / "&mw&" / "&decimal(num_MW-scantokens(MW)),(0,0));)
+fsize:=(30mm,20mm);
+max_blength:=4mm;
%------------------------------------------------------------------------------
-loadm("f:temp");
+default_library:="temp.mcf"; % default main_lib.mcf
+loadm("EXA=0"); % select EXA=0 (new mcf making lines)
%------------------------------------------------------------------------------
-for i=1 upto ucount: beginfigm $(i) \\ endfigm endfor
-%******************************************************************************
+for i=1 upto ucount: beginfigm $(i) \\ endfigm endfor
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
bye
diff --git a/graphics/pgf/contrib/maritime/LICENSE b/graphics/pgf/contrib/maritime/LICENSE
new file mode 100644
index 0000000000..d470a91845
--- /dev/null
+++ b/graphics/pgf/contrib/maritime/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2025 N. E. Davis
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/graphics/pgf/contrib/maritime/README.md b/graphics/pgf/contrib/maritime/README.md
new file mode 100644
index 0000000000..bd84664f1d
--- /dev/null
+++ b/graphics/pgf/contrib/maritime/README.md
@@ -0,0 +1,39 @@
+# `maritime`
+
+International maritime signal flags using TikZ.
+
+The `maritime` package provides LaTeX commands for drawing international maritime signal flags using TikZ. The [documentation](./doc/maritime-doc.pdf) covers the basic usage of the package.
+
+## Contact
+
+Author: N. E. Davis
+Email: neal.davis@protonmail.com
+GitHub username: @sigilante
+
+## License
+
+The `maritime` package is made available under the MIT License.
+
+```
+MIT License
+
+Copyright (c) 2025 N. E. Davis
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
diff --git a/graphics/pgf/contrib/maritime/doc/maritime-doc.pdf b/graphics/pgf/contrib/maritime/doc/maritime-doc.pdf
new file mode 100644
index 0000000000..08e4947289
--- /dev/null
+++ b/graphics/pgf/contrib/maritime/doc/maritime-doc.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/maritime/doc/maritime-doc.tex b/graphics/pgf/contrib/maritime/doc/maritime-doc.tex
new file mode 100644
index 0000000000..9f0cebc06c
--- /dev/null
+++ b/graphics/pgf/contrib/maritime/doc/maritime-doc.tex
@@ -0,0 +1,160 @@
+\documentclass{article}
+\usepackage{maritime}
+\usepackage{longtable} % For multi-page tables
+\usepackage{hyperref} % For hyperlinks
+\usepackage{xcolor} % For color in examples if needed
+
+\title{International Maritime Signal Flags Documentation}
+\author{N.\ E.\ Davis, \texttt{@sigilante}, \texttt{\textasciitilde lagrev-nocfep}}
+\date{\today}
+
+\begin{document}
+
+\maketitle
+
+\section{Introduction}
+
+The \textbf{maritime} package provides LaTeX commands for drawing international maritime signal flags using TikZ. This documentation covers the basic usage of the package.
+
+\section{Installation}
+To use this package, ensure your \texttt{maritime.sty} file is in a directory where LaTeX can find it (like \texttt{texmf-local/tex/latex/maritime/}) or in the same directory as your document.
+
+\section{Usage}
+
+\subsection{Drawing Flags}
+Flags are drawn using specific commands:
+
+\begin{itemize}
+ \item \verb|\flagZ|: Draws flag Z.
+ \item \verb|\flagO|: Draws flag O.
+ \item \verb|\flagR|: Draws flag R.
+ \item \verb|\flagP|: Draws flag P.
+\end{itemize}
+
+Here's how to use them. We suggest using \verb|\quad| to separate the flags as otherwise they abut.
+
+\begin{verbatim}
+ \flagZ
+ \flagO
+ \flagR
+ \flagP
+\end{verbatim}
+
+Example:
+
+\flagZ \quad \flagO \quad \flagR \quad \flagP
+
+Furthermore, we provide the standard name at \verb|\flagXname| and the blazon at \verb|\flagXblazon| for each flag \verb|X|.
+
+Example:
+
+\begin{verbatim}
+ \flagZname: \flagZblazon
+ \flagOname: \flagOblazon
+ \flagRname: \flagRblazon
+ \flagPname: \flagPblazon
+\end{verbatim}
+
+\noindent
+\flagZname: \flagZblazon \\
+\flagOname: \flagOblazon \\
+\flagRname: \flagRblazon \\
+\flagPname: \flagPblazon
+
+\section{The Flags}
+
+We supply the alphabetical International Code of Symbols maritime flags and the NATO number flags.
+
+\begin{longtable}{lcl}
+ \caption{International Maritime Signal Flags, Letters} \\
+ A \flagAname & \flagA & \flagAblazon \\
+ B \flagBname & \flagB & \flagBblazon \\
+ C \flagCname & \flagC & \flagCblazon \\
+ D \flagDname & \flagD & \flagDblazon \\
+ E \flagEname & \flagE & \flagEblazon \\
+ F \flagFname & \flagF & \flagFblazon \\
+ G \flagGname & \flagG & \flagGblazon \\
+ H \flagHname & \flagH & \flagHblazon \\
+ I \flagIname & \flagI & \flagIblazon \\
+ J \flagJname & \flagJ & \flagJblazon \\
+ K \flagKname & \flagK & \flagKblazon \\
+ L \flagLname & \flagL & \flagLblazon \\
+ M \flagMname & \flagM & \flagMblazon \\
+ N \flagNname & \flagN & \flagNblazon \\
+ O \flagOname & \flagO & \flagOblazon \\
+ P \flagPname & \flagP & \flagPblazon \\
+ Q \flagQname & \flagQ & \flagQblazon \\
+ R \flagRname & \flagR & \flagRblazon \\
+ S \flagSname & \flagS & \flagSblazon \\
+ T \flagTname & \flagT & \flagTblazon \\
+ U \flagUname & \flagU & \flagUblazon \\
+ V \flagVname & \flagV & \flagVblazon \\
+ W \flagWname & \flagW & \flagWblazon \\
+ X \flagXname & \flagX & \flagXblazon \\
+ Y \flagYname & \flagY & \flagYblazon \\
+ Z \flagZname & \flagZ & \flagZblazon \\
+\end{longtable}
+
+\begin{longtable}{lcl}
+ \caption{International Maritime Signal Flags, Numbers} \\
+ 0 \flagZeroName & \flagZero & \flagZeroBlazon \\
+ 1 \flagOneName & \flagOne & \flagOneBlazon \\
+ 2 \flagTwoName & \flagTwo & \flagTwoBlazon \\
+ 3 \flagThreeName & \flagThree & \flagThreeBlazon \\
+ 4 \flagFourName & \flagFour & \flagFourBlazon \\
+ 5 \flagFiveName & \flagFive & \flagFiveBlazon \\
+ 6 \flagSixName & \flagSix & \flagSixBlazon \\
+ 7 \flagSevenName & \flagSeven & \flagSevenBlazon \\
+ 8 \flagEightName & \flagEight & \flagEightBlazon \\
+ 9 \flagNineName & \flagNine & \flagNineBlazon \\
+\end{longtable}
+
+\subsection{Customization}
+
+\subsubsection{Size}
+
+The standard flag size is \verb|15ex|, meaning the height of the flag is 15 times the height of the letter `x'.
+
+\begin{verbatim}
+ \flagSix
+ \flagNine
+\end{verbatim}
+
+Example:
+
+\flagSix \quad \flagNine
+
+Flags can be scaled using standard LaTeX font size commands:
+
+\begin{verbatim}
+{\Large \flagU}
+{\normalsize \flagR}
+{\tiny \flagB}
+\end{verbatim}
+
+Example:
+
+{\Large \flagU} \quad {\normalsize \flagR} \quad {\tiny \flagB}
+
+They may also be explicitly scaled using the \verb|\resizebox| command:
+
+\begin{verbatim}
+ \resizebox{!}{5cm}{\flagI}
+ \resizebox{!}{0.5cm}{\flagT}
+\end{verbatim}
+
+Example:
+
+\resizebox{!}{5cm}{\flagI} \quad \resizebox{!}{0.5cm}{\flagT}
+
+\section{Conclusion}
+
+% enjoy yourself
+\begin{center}
+\flagE \space \flagN \space \flagJ \space \flagO \space \flagY \\
+
+\flagY \quad \flagO \quad \flagU \quad \flagR \\
+\quad \flagS \quad \flagE \quad \flagL \quad \flagF
+\end{center}
+
+\end{document}
diff --git a/graphics/pgf/contrib/maritime/tex/maritime.sty b/graphics/pgf/contrib/maritime/tex/maritime.sty
new file mode 100644
index 0000000000..fde4922fa7
--- /dev/null
+++ b/graphics/pgf/contrib/maritime/tex/maritime.sty
@@ -0,0 +1,671 @@
+% =============================================================================
+% worldflags.sty - International Maritime Signal Flags with TikZ
+% (c) N. E. Davis 2025-02-15
+% =============================================================================
+\ProvidesPackage{maritime}[2025/02/15 v1.0 International Maritime Signal Flags with TikZ]
+\RequirePackage{tikz}
+\RequirePackage{xcolor}
+\RequirePackage{etex}
+\RequirePackage{xkeyval}
+\RequirePackage{graphicx}
+\RequirePackage{xstring}
+\usetikzlibrary{calc,shadows,shapes,shapes.symbols,positioning,math,decorations.text}
+
+% ----------------------------------------------------------------------------
+% Default values
+% ----------------------------------------------------------------------------
+\makeatletter
+\newdimen\fl@gwidth
+\newdimen\fl@glength
+\newdimen\cutdepth
+\newdimen\saltiredepth
+
+\def\setflagdimensions{%
+ \fl@gwidth=15ex
+ \fl@glength=\fl@gwidth
+ \cutdepth=0.75\fl@gwidth
+ % 1.414 / 10 = 0.1414
+ \saltiredepth=0.1414\fl@gwidth
+}
+\def\fl@gvariant{0} % 2022-07-09
+\def\fl@gstretch{0}
+\def\fr@mecolor{black!60}
+\def\gr@dcolor{black!80}
+\newif\if@mbl@m\@mbl@mtrue
+\newif\if@rid\@ridfalse
+\newif\ifn@@mbl@m\n@@mbl@mtrue
+\def\view@ngle{0}
+\def\hang@ngle{0}
+
+% ----------------------------------------------------------------------------
+% Colors
+% ----------------------------------------------------------------------------
+\definecolor{gridcolor}{rgb}{0.8,0.8,0.8}
+
+\definecolor{argent}{rgb}{1.0,1.0,1.0}
+\definecolor{or}{rgb}{1.0,1.0,0.0}
+\definecolor{gules}{rgb}{1.0,0.0,0.0}
+\definecolor{azure}{rgb}{0.0,0.5,1.0}
+\definecolor{vert}{rgb}{0.0,0.5,0.0}
+\definecolor{sable}{rgb}{0.0,0.0,0.0}
+
+% ----------------------------------------------------------------------------
+% Base flag
+% ----------------------------------------------------------------------------
+% A Alfa, swallowtailed per pale argent and azure
+\newcommand{\flagAname}{Alfa}
+\newcommand{\flagAblazon}{swallowtailed per pale argent and azure}
+\newcommand{\flagA}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [argent] (0,0) rectangle (0.5\fl@gwidth,\fl@glength);
+ \fill [azure] (0.5\fl@gwidth,0)
+ -- (\fl@gwidth,0)
+ -- (\cutdepth,0.5\fl@glength)
+ -- (\fl@gwidth,\fl@glength)
+ -- (0.5\fl@gwidth,\fl@glength)
+ -- cycle;
+ \draw [gridcolor] (0,0)
+ -- (\fl@gwidth,0)
+ -- (\cutdepth,0.5\fl@glength)
+ -- (\fl@gwidth,\fl@glength)
+ -- (0,\fl@glength)
+ -- cycle;
+ \end{tikzpicture}%
+}
+
+% B Bravo, swallowtailed gules
+\newcommand{\flagBname}{Bravo}
+\newcommand{\flagBblazon}{swallowtailed gules}
+\newcommand{\flagB}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [gules] (00,0)
+ -- (\fl@gwidth,0)
+ -- (\cutdepth,0.5\fl@glength)
+ -- (\fl@gwidth,\fl@glength)
+ -- (0,\fl@glength)
+ -- cycle;
+ \draw [gridcolor] (0,0)
+ -- (\fl@gwidth,0)
+ -- (\cutdepth,0.5\fl@glength)
+ -- (\fl@gwidth,\fl@glength)
+ -- (0,\fl@glength)
+ -- cycle;
+ \end{tikzpicture}%
+}
+
+% C Charlie, azure a fess gules fimbriated argent
+\newcommand{\flagCname}{Charlie}
+\newcommand{\flagCblazon}{azure a fess gules fimbriated argent}
+\newcommand{\flagC}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [azure] (0,0) rectangle (\fl@gwidth,0.2\fl@glength);
+ \fill [argent] (0,0.2\fl@glength) rectangle (\fl@gwidth,0.4\fl@glength);
+ \fill [gules] (0,0.4\fl@glength) rectangle (\fl@gwidth,0.6\fl@glength);
+ \fill [argent] (0,0.6\fl@glength) rectangle (\fl@gwidth,0.8\fl@glength);
+ \fill [azure] (0,0.8\fl@glength) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% D Delta, gules a pale argent
+\newcommand{\flagDname}{Delta}
+\newcommand{\flagDblazon}{gules a pale argent}
+\newcommand{\flagD}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [or] (0,0) rectangle (\fl@gwidth,0.25\fl@glength);
+ \fill [azure] (0,0.25\fl@glength) rectangle (\fl@gwidth,0.75\fl@glength);
+ \fill [or] (0,0.75\fl@glength) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% E Echo, per fess azure and gules
+\newcommand{\flagEname}{Echo}
+\newcommand{\flagEblazon}{per fess azure and gules}
+\newcommand{\flagE}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [gules] (0,0) rectangle (\fl@gwidth,0.5\fl@glength);
+ \fill [azure] (0,0.5\fl@glength) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% F Foxtrot, argent, a lozenge throughout gules
+\newcommand{\flagFname}{Foxtrot}
+\newcommand{\flagFblazon}{argent, a lozenge throughout gules}
+\newcommand{\flagF}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [argent] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [gules] (0.5\fl@gwidth,0)
+ -- (\fl@gwidth,0.5\fl@glength)
+ -- (0.5\fl@gwidth,\fl@glength)
+ -- (0,0.5\fl@glength)
+ -- cycle;
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% G Golf, Paly of six or and azure
+\newcommand{\flagGname}{Golf}
+\newcommand{\flagGblazon}{Paly of six or and azure}
+\newcommand{\flagG}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [or] (0,0) rectangle (0.1666667\fl@gwidth,\fl@glength);
+ \fill [azure] (0.1666667\fl@gwidth,0) rectangle (0.3333333\fl@gwidth,\fl@glength);
+ \fill [or] (0.3333333\fl@gwidth,0) rectangle (0.5\fl@gwidth,\fl@glength);
+ \fill [azure] (0.5\fl@gwidth,0) rectangle (0.6666667\fl@gwidth,\fl@glength);
+ \fill [or] (0.6666667\fl@gwidth,0) rectangle (0.8333333\fl@gwidth,\fl@glength);
+ \fill [azure] (0.8333333\fl@gwidth,0) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% H Hotel, per pale argent and gules
+\newcommand{\flagHname}{Hotel}
+\newcommand{\flagHblazon}{per pale argent and gules}
+\newcommand{\flagH}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [argent] (0,0) rectangle (0.5\fl@gwidth,\fl@glength);
+ \fill [gules] (0.5\fl@gwidth,0) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% I India, or, a pellet
+\newcommand{\flagIname}{India}
+\newcommand{\flagIblazon}{or, a pellet}
+\newcommand{\flagI}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [or] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [sable] (0.5\fl@gwidth,0.5\fl@glength) circle (0.25\fl@gwidth);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% J Juliet, azure, a fess argent
+\newcommand{\flagJname}{Juliet}
+\newcommand{\flagJblazon}{azure, a fess argent}
+\newcommand{\flagJ}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [azure] (0,0) rectangle (\fl@gwidth,0.333333*\fl@glength);
+ \fill [argent] (0,0.333333*\fl@glength) rectangle (\fl@gwidth,0.666667*\fl@glength);
+ \fill [azure] (0,0.666667*\fl@glength) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% K Kilo, per pale or and azure
+\newcommand{\flagKname}{Kilo}
+\newcommand{\flagKblazon}{per pale or and azure}
+\newcommand{\flagK}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [or] (0,0) rectangle (0.5\fl@gwidth,\fl@glength);
+ \fill [azure] (0.5\fl@gwidth,0) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% L Lima, quarterly or and sable
+\newcommand{\flagLname}{Lima}
+\newcommand{\flagLblazon}{quarterly or and sable}
+\newcommand{\flagL}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [sable] (0,0) rectangle (0.5\fl@gwidth,0.5\fl@glength);
+ \fill [or] (0.5\fl@gwidth,0) rectangle (\fl@gwidth,0.5\fl@glength);
+ \fill [or] (0,0.5\fl@glength) rectangle (0.5\fl@gwidth,\fl@glength);
+ \fill [sable] (0.5\fl@gwidth,0.5\fl@glength) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% M Mike, azure, a saltire argent
+\newcommand{\flagMname}{Mike}
+\newcommand{\flagMblazon}{azure, a saltire argent}
+\newcommand{\flagM}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [azure] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [argent] (0,0)
+ -- (\saltiredepth,0)
+ -- (\fl@gwidth,\fl@glength-\saltiredepth)
+ -- (\fl@gwidth,\fl@glength)
+ -- (\fl@gwidth-\saltiredepth,\fl@glength)
+ -- (0,\saltiredepth)
+ -- cycle;
+ \fill [argent] (0,\fl@glength)
+ -- (\saltiredepth,\fl@glength)
+ -- (\fl@gwidth,\saltiredepth)
+ -- (\fl@gwidth,0)
+ -- (\fl@gwidth-\saltiredepth,0)
+ -- (0,\fl@glength-\saltiredepth)
+ -- cycle;
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% N November, chequy of sixteen azure and argent
+\newcommand{\flagNname}{November}
+\newcommand{\flagNblazon}{chequy of sixteen azure and argent}
+\newcommand{\flagN}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [argent] (0,0) rectangle (0.25\fl@gwidth,0.25\fl@glength);
+ \fill [azure] (0.25\fl@gwidth,0) rectangle (0.5\fl@gwidth,0.25\fl@glength);
+ \fill [argent] (0.5\fl@gwidth,0) rectangle (0.75\fl@gwidth,0.25\fl@glength);
+ \fill [azure] (0.75\fl@gwidth,0) rectangle (\fl@gwidth,0.25\fl@glength);
+ \fill [azure] (0,0.25\fl@glength) rectangle (0.25\fl@gwidth,0.5\fl@glength);
+ \fill [argent] (0.25\fl@gwidth,0.25\fl@glength) rectangle (0.5\fl@gwidth,0.5\fl@glength);
+ \fill [azure] (0.5\fl@gwidth,0.25\fl@glength) rectangle (0.75\fl@gwidth,0.5\fl@glength);
+ \fill [argent] (0.75\fl@gwidth,0.25\fl@glength) rectangle (\fl@gwidth,0.5\fl@glength);
+ \fill [argent] (0,0.5\fl@glength) rectangle (0.25\fl@gwidth,0.75\fl@glength);
+ \fill [azure] (0.25\fl@gwidth,0.5\fl@glength) rectangle (0.5\fl@gwidth,0.75\fl@glength);
+ \fill [argent] (0.5\fl@gwidth,0.5\fl@glength) rectangle (0.75\fl@gwidth,0.75\fl@glength);
+ \fill [azure] (0.75\fl@gwidth,0.5\fl@glength) rectangle (\fl@gwidth,0.75\fl@glength);
+ \fill [azure] (0,0.75\fl@glength) rectangle (0.25\fl@gwidth,\fl@glength);
+ \fill [argent] (0.25\fl@gwidth,0.75\fl@glength) rectangle (0.5\fl@gwidth,\fl@glength);
+ \fill [azure] (0.5\fl@gwidth,0.75\fl@glength) rectangle (0.75\fl@gwidth,\fl@glength);
+ \fill [argent] (0.75\fl@gwidth,0.75\fl@glength) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% O Oscar, per bend gules and or
+\newcommand{\flagOname}{Oscar}
+\newcommand{\flagOblazon}{per bend gules and or}
+\newcommand{\flagO}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [or] (0,0) -- (0,\fl@glength) -- (\fl@gwidth,0) -- cycle;
+ \fill [gules] (0,\fl@glength) -- (\fl@gwidth,\fl@glength) -- (\fl@gwidth,0) -- cycle;
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% P Papa, azure, an inescutcheon argent
+\newcommand{\flagPname}{Papa}
+\newcommand{\flagPblazon}{azure, an inescutcheon argent}
+\newcommand{\flagP}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [azure] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [argent] (0.333333\fl@gwidth,0.333333\fl@glength) rectangle (0.666667\fl@gwidth,0.666667\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% Q Quebec, or
+\newcommand{\flagQname}{Quebec}
+\newcommand{\flagQblazon}{or}
+\newcommand{\flagQ}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [or] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% R Romeo, gules, a cross or
+\newcommand{\flagRname}{Romeo}
+\newcommand{\flagRblazon}{gules, a cross or}
+\newcommand{\flagR}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [gules] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [or] (0.4\fl@gwidth,0) rectangle (0.6\fl@gwidth,\fl@glength);
+ \fill [or] (0,0.4\fl@glength) rectangle (\fl@gwidth,0.6\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% S Sierra, argent, an inescutcheon azure
+\newcommand{\flagSname}{Sierra}
+\newcommand{\flagSblazon}{argent, an inescutcheon azure}
+\newcommand{\flagS}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [argent] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [azure] (0.333333\fl@gwidth,0.333333\fl@glength) rectangle (0.666667\fl@gwidth,0.666667\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% T Tango, tierced in pale gules, argent and azure
+\newcommand{\flagTname}{Tango}
+\newcommand{\flagTblazon}{tierced in pale gules, argent and azure}
+\newcommand{\flagT}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [gules] (0,0) rectangle (0.333333\fl@gwidth,\fl@glength);
+ \fill [argent] (0.333333\fl@gwidth,0) rectangle (0.666667\fl@gwidth,\fl@glength);
+ \fill [azure] (0.666667\fl@gwidth,0) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% U Uniform, quarterly gules and argent
+\newcommand{\flagUname}{Uniform}
+\newcommand{\flagUblazon}{quarterly gules and argent}
+\newcommand{\flagU}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [argent] (0,0) rectangle (0.5\fl@gwidth,0.5\fl@glength);
+ \fill [gules] (0.5\fl@gwidth,0) rectangle (\fl@gwidth,0.5\fl@glength);
+ \fill [gules] (0,0.5\fl@glength) rectangle (0.5\fl@gwidth,\fl@glength);
+ \fill [argent] (0.5\fl@gwidth,0.5\fl@glength) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% V Victor, argent, a saltire gules
+\newcommand{\flagVname}{Victor}
+\newcommand{\flagVblazon}{argent, a saltire gules}
+\newcommand{\flagV}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [argent] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [gules] (0,0)
+ -- (\saltiredepth,0)
+ -- (\fl@gwidth,\fl@glength-\saltiredepth)
+ -- (\fl@gwidth,\fl@glength)
+ -- (\fl@gwidth-\saltiredepth,\fl@glength)
+ -- (0,\saltiredepth)
+ -- cycle;
+ \fill [gules] (0,\fl@glength)
+ -- (\saltiredepth,\fl@glength)
+ -- (\fl@gwidth,\saltiredepth)
+ -- (\fl@gwidth,0)
+ -- (\fl@gwidth-\saltiredepth,0)
+ -- (0,\fl@glength-\saltiredepth)
+ -- cycle;
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% W Whiskey, azure, an inescutcheon gules fimbriated argent
+\newcommand{\flagWname}{Whiskey}
+\newcommand{\flagWblazon}{azure, an inescutcheon gules fimbriated argent}
+\newcommand{\flagW}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [azure] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [argent] (0.2\fl@gwidth,0.2\fl@glength) rectangle (0.8\fl@gwidth,0.8\fl@glength);
+ \fill [gules] (0.4\fl@gwidth,0.4\fl@glength) rectangle (0.6\fl@gwidth,0.6\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% X X-ray, argent, a cross azure
+\newcommand{\flagXname}{X-ray}
+\newcommand{\flagXblazon}{argent, a cross azure}
+\newcommand{\flagX}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [argent] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [azure] (0.4\fl@gwidth,0) rectangle (0.6\fl@gwidth,\fl@glength);
+ \fill [azure] (0,0.4\fl@glength) rectangle (\fl@gwidth,0.6\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% Y Yankee, bendy sinister of ten or and gules
+\newcommand{\flagYname}{Yankee}
+\newcommand{\flagYblazon}{bendy sinister of ten or and gules}
+\newcommand{\flagY}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [or] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [gules] (0,0.8\fl@glength)
+ -- (0.2\fl@gwidth,\fl@glength)
+ -- (0.4\fl@gwidth,\fl@glength)
+ -- (0,0.6\fl@glength)
+ -- cycle;
+ \fill [gules] (0,0.4\fl@glength)
+ -- (0.6\fl@gwidth,\fl@glength)
+ -- (0.8\fl@gwidth,\fl@glength)
+ -- (0,0.2\fl@glength)
+ -- cycle;
+ \fill [gules] (0,0)
+ -- (\fl@gwidth,\fl@glength)
+ -- (\fl@gwidth,0.8\fl@glength)
+ -- (0.2\fl@gwidth,0)
+ -- cycle;
+ \fill [gules] (0.4\fl@gwidth,0)
+ -- (\fl@gwidth,0.6\fl@glength)
+ -- (\fl@gwidth,0.4\fl@glength)
+ -- (0.6\fl@gwidth,0)
+ -- cycle;
+ \fill [gules] (0.8\fl@gwidth,0)
+ -- (\fl@gwidth,0.2\fl@glength)
+ -- (\fl@gwidth,0)
+ -- cycle;
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% Z Zulu, per saltire or, sable, gules, and azure
+\newcommand{\flagZname}{Zulu}
+\newcommand{\flagZblazon}{per saltire or, sable, gules, and azure}
+\newcommand{\flagZ}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [or] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [sable] (0,0) -- (0,\fl@glength) -- (0.5\fl@gwidth,0.5\fl@glength) -- cycle;
+ \fill [gules] (0,0) -- (\fl@gwidth,0) -- (0.5\fl@gwidth,0.5\fl@glength) -- cycle;
+ \fill [azure] (\fl@gwidth,0) -- (\fl@gwidth,\fl@glength) -- (0.5\fl@gwidth,0.5\fl@glength) -- cycle;
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% 0 Zero, argent, five crosses hummetty azure in saltire
+\newcommand{\flagZeroName}{Zero}
+\newcommand{\flagZeroBlazon}{argent, five crosses hummetty azure in saltire}
+\newcommand{\flagZero}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [argent] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ %
+ \fill [azure] (0.066667\fl@gwidth,0.066667\fl@glength) rectangle (0.266667\fl@gwidth,0.266667\fl@glength);
+ \fill [argent] (0.066667\fl@gwidth,0.066667\fl@glength) rectangle (0.133333\fl@gwidth,0.133333\fl@glength);
+ \fill [argent] (0.066667\fl@gwidth,0.2\fl@glength) rectangle (0.133333\fl@gwidth,0.266667\fl@glength);
+ \fill [argent] (0.2\fl@gwidth,0.066667\fl@glength) rectangle (0.266667\fl@gwidth,0.133333\fl@glength);
+ \fill [argent] (0.2\fl@gwidth,0.2\fl@glength) rectangle (0.266667\fl@gwidth,0.266667\fl@glength);
+ \draw [argent] (0.066667\fl@gwidth,0.066667\fl@glength) rectangle (0.266667\fl@gwidth,0.266667\fl@glength);
+ %
+ \fill [azure] (0.066667\fl@gwidth,0.733333\fl@glength) rectangle (0.266667\fl@gwidth,0.933333\fl@glength);
+ \fill [argent] (0.066667\fl@gwidth,0.733333\fl@glength) rectangle (0.133333\fl@gwidth,0.8\fl@glength);
+ \fill [argent] (0.066667\fl@gwidth,0.866667\fl@glength) rectangle (0.133333\fl@gwidth,0.933333\fl@glength);
+ \fill [argent] (0.2\fl@gwidth,0.733333\fl@glength) rectangle (0.266667\fl@gwidth,0.8\fl@glength);
+ \fill [argent] (0.2\fl@gwidth,0.866667\fl@glength) rectangle (0.266667\fl@gwidth,0.933333\fl@glength);
+ \draw [argent] (0.066667\fl@gwidth,0.733333\fl@glength) rectangle (0.266667\fl@gwidth,0.933333\fl@glength);
+ %
+ \fill [azure] (0.733333\fl@gwidth,0.066667\fl@glength) rectangle (0.933333\fl@gwidth,0.266667\fl@glength);
+ \fill [argent] (0.733333\fl@gwidth,0.066667\fl@glength) rectangle (0.8\fl@gwidth,0.133333\fl@glength);
+ \fill [argent] (0.733333\fl@gwidth,0.2\fl@glength) rectangle (0.8\fl@gwidth,0.266667\fl@glength);
+ \fill [argent] (0.866667\fl@gwidth,0.066667\fl@glength) rectangle (0.933333\fl@gwidth,0.133333\fl@glength);
+ \fill [argent] (0.866667\fl@gwidth,0.2\fl@glength) rectangle (0.933333\fl@gwidth,0.266667\fl@glength);
+ \draw [argent] (0.733333\fl@gwidth,0.066667\fl@glength) rectangle (0.933333\fl@gwidth,0.266667\fl@glength);
+ %
+ \fill [azure] (0.733333\fl@gwidth,0.733333\fl@glength) rectangle (0.933333\fl@gwidth,0.933333\fl@glength);
+ \fill [argent] (0.733333\fl@gwidth,0.733333\fl@glength) rectangle (0.8\fl@gwidth,0.8\fl@glength);
+ \fill [argent] (0.733333\fl@gwidth,0.866667\fl@glength) rectangle (0.8\fl@gwidth,0.933333\fl@glength);
+ \fill [argent] (0.866667\fl@gwidth,0.733333\fl@glength) rectangle (0.933333\fl@gwidth,0.8\fl@glength);
+ \fill [argent] (0.866667\fl@gwidth,0.866667\fl@glength) rectangle (0.933333\fl@gwidth,0.933333\fl@glength);
+ \draw [argent] (0.733333\fl@gwidth,0.733333\fl@glength) rectangle (0.933333\fl@gwidth,0.933333\fl@glength);
+ % cross centered on 0.5\fl@gwidth, 0.5\fl@glength
+ \fill [azure] (0.4\fl@gwidth,0.4\fl@glength) rectangle (0.6\fl@gwidth,0.6\fl@glength);
+ \fill [argent] (0.4\fl@gwidth,0.4\fl@glength) rectangle (0.466667\fl@gwidth,0.466667\fl@glength);
+ \fill [argent] (0.4\fl@gwidth,0.533333\fl@glength) rectangle (0.466667\fl@gwidth,0.6\fl@glength);
+ \fill [argent] (0.533333\fl@gwidth,0.4\fl@glength) rectangle (0.6\fl@gwidth,0.466667\fl@glength);
+ \fill [argent] (0.533333\fl@gwidth,0.533333\fl@glength) rectangle (0.6\fl@gwidth,0.6\fl@glength);
+ \draw [argent] (0.4\fl@gwidth,0.4\fl@glength) rectangle (0.6\fl@gwidth,0.6\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% 1 One, gules, a fess or
+\newcommand{\flagOneName}{One}
+\newcommand{\flagOneBlazon}{gules, a fess or}
+\newcommand{\flagOne}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [gules] (0,0) rectangle (\fl@gwidth,0.333333\fl@glength);
+ \fill [or] (0,0.333333\fl@glength) rectangle (\fl@gwidth,0.666667\fl@glength);
+ \fill [gules] (0,0.666667\fl@glength) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% 2 Two, or, a fess gules
+\newcommand{\flagTwoName}{Two}
+\newcommand{\flagTwoBlazon}{or, a fess gules}
+\newcommand{\flagTwo}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [or] (0,0) rectangle (\fl@gwidth,0.333333\fl@glength);
+ \fill [gules] (0,0.333333\fl@glength) rectangle (\fl@gwidth,0.666667\fl@glength);
+ \fill [or] (0,0.666667\fl@glength) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% 3 Three, azure, a fess gules
+\newcommand{\flagThreeName}{Three}
+\newcommand{\flagThreeBlazon}{azure, a fess gules}
+\newcommand{\flagThree}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [azure] (0,0) rectangle (\fl@gwidth,0.333333\fl@glength);
+ \fill [gules] (0,0.333333\fl@glength) rectangle (\fl@gwidth,0.666667\fl@glength);
+ \fill [azure] (0,0.666667\fl@glength) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% 4 Four, gules, a saltire argent
+\newcommand{\flagFourName}{Four}
+\newcommand{\flagFourBlazon}{gules, a saltire argent}
+\newcommand{\flagFour}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [gules] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [argent] (0,0)
+ -- (\saltiredepth,0)
+ -- (\fl@gwidth,\fl@glength-\saltiredepth)
+ -- (\fl@gwidth,\fl@glength)
+ -- (\fl@gwidth-\saltiredepth,\fl@glength)
+ -- (0,\saltiredepth)
+ -- cycle;
+ \fill [argent] (0,\fl@glength)
+ -- (\saltiredepth,\fl@glength)
+ -- (\fl@gwidth,\saltiredepth)
+ -- (\fl@gwidth,0)
+ -- (\fl@gwidth-\saltiredepth,0)
+ -- (0,\fl@glength-\saltiredepth)
+ -- cycle;
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% 5 Five, or, a saltire azure
+\newcommand{\flagFiveName}{Five}
+\newcommand{\flagFiveBlazon}{or, a saltire azure}
+\newcommand{\flagFive}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [or] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [azure] (0,0)
+ -- (\saltiredepth,0)
+ -- (\fl@gwidth,\fl@glength-\saltiredepth)
+ -- (\fl@gwidth,\fl@glength)
+ -- (\fl@gwidth-\saltiredepth,\fl@glength)
+ -- (0,\saltiredepth)
+ -- cycle;
+ \fill [azure] (0,\fl@glength)
+ -- (\saltiredepth,\fl@glength)
+ -- (\fl@gwidth,\saltiredepth)
+ -- (\fl@gwidth,0)
+ -- (\fl@gwidth-\saltiredepth,0)
+ -- (0,\fl@glength-\saltiredepth)
+ -- cycle;
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% 6 Six, bendy sinister of seven argent and azure
+\newcommand{\flagSixName}{Six}
+\newcommand{\flagSixBlazon}{bendy sinister of seven argent and azure}
+\newcommand{\flagSix}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [argent] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \fill [azure] (0,0.142857\fl@glength)
+ -- (0.857143\fl@gwidth,\fl@glength)
+ -- (\fl@gwidth,\fl@glength)
+ -- (\fl@gwidth,0.857143\fl@glength)
+ -- (0.142857\fl@gwidth,0)
+ -- (0,0)
+ -- cycle;
+ \fill [azure] (0,0.428571\fl@glength)
+ -- (0.571429\fl@gwidth,\fl@glength)
+ -- (0.285714\fl@gwidth,\fl@glength)
+ -- (0,0.714286\fl@glength)
+ -- cycle;
+ \fill [azure] (\fl@gwidth,0.571429\fl@glength)
+ -- (\fl@gwidth,0.285714\fl@glength)
+ -- (0.714286\fl@gwidth,0)
+ -- (0.428571\fl@gwidth,0)
+ -- cycle;
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% 7 Seven, gules, a pale argent
+\newcommand{\flagSevenName}{Seven}
+\newcommand{\flagSevenBlazon}{gules, a pale argent}
+\newcommand{\flagSeven}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [gules] (0,0) rectangle (0.333333\fl@gwidth,\fl@glength);
+ \fill [argent] (0.333333\fl@gwidth,0) rectangle (0.666667\fl@gwidth,\fl@glength);
+ \fill [gules] (0.666667\fl@gwidth,0) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% 8 Eight, or, a pale azure
+\newcommand{\flagEightName}{Eight}
+\newcommand{\flagEightBlazon}{or, a pale azure}
+\newcommand{\flagEight}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [or] (0,0) rectangle (0.333333\fl@gwidth,\fl@glength);
+ \fill [azure] (0.333333\fl@gwidth,0) rectangle (0.666667\fl@gwidth,\fl@glength);
+ \fill [or] (0.666667\fl@gwidth,0) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}
+
+% 9 Nine, azure, a pale argent
+\newcommand{\flagNineName}{Nine}
+\newcommand{\flagNineBlazon}{azure, a pale argent}
+\newcommand{\flagNine}{%
+ \setflagdimensions
+ \begin{tikzpicture}
+ \fill [azure] (0,0) rectangle (0.333333\fl@gwidth,\fl@glength);
+ \fill [argent] (0.333333\fl@gwidth,0) rectangle (0.666667\fl@gwidth,\fl@glength);
+ \fill [azure] (0.666667\fl@gwidth,0) rectangle (\fl@gwidth,\fl@glength);
+ \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength);
+ \end{tikzpicture}%
+}