From 6afb45c00f4bcfea8efffe384d8c4fff3b3150d3 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 20 Apr 2021 20:13:00 +0000 Subject: worldflags (20apr21) git-svn-id: svn://tug.org/texlive/trunk@58924 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/worldflags/README | 18 + .../texmf-dist/doc/latex/worldflags/worldflags.pdf | Bin 0 -> 2141935 bytes .../texmf-dist/doc/latex/worldflags/worldflags.tex | 1143 ++++++++++++++++++++ 3 files changed, 1161 insertions(+) create mode 100644 Master/texmf-dist/doc/latex/worldflags/README create mode 100644 Master/texmf-dist/doc/latex/worldflags/worldflags.pdf create mode 100644 Master/texmf-dist/doc/latex/worldflags/worldflags.tex (limited to 'Master/texmf-dist/doc') diff --git a/Master/texmf-dist/doc/latex/worldflags/README b/Master/texmf-dist/doc/latex/worldflags/README new file mode 100644 index 00000000000..529f1ec1ece --- /dev/null +++ b/Master/texmf-dist/doc/latex/worldflags/README @@ -0,0 +1,18 @@ +Worldflags is a package for drawing flags using TikZ. +Currently the national flags of all independent nations are included, +additionally some other flags of various organizations. + +A flag can be drawn + +- as a single TikZ-picture within ordinary text +- as a picture element within a TikZ-picture + +The appearance of a flag (size, frame etc.) can be adapted using optional +parameters. + +The description of every flag resides in a particular "flag description file". + +License: LaTeX Project Public License version 1.3 or above + +Wilhelm Haager +2021-04-19 diff --git a/Master/texmf-dist/doc/latex/worldflags/worldflags.pdf b/Master/texmf-dist/doc/latex/worldflags/worldflags.pdf new file mode 100644 index 00000000000..8f9584467ae Binary files /dev/null and b/Master/texmf-dist/doc/latex/worldflags/worldflags.pdf differ diff --git a/Master/texmf-dist/doc/latex/worldflags/worldflags.tex b/Master/texmf-dist/doc/latex/worldflags/worldflags.tex new file mode 100644 index 00000000000..1dfe21e2b33 --- /dev/null +++ b/Master/texmf-dist/doc/latex/worldflags/worldflags.tex @@ -0,0 +1,1143 @@ +% ============================================================================= +% Flags of the world with TikZ Wilhelm Haager, 2021-04-19 +% ============================================================================= +\documentclass[11pt,a4paper,headsepline]{scrreprt} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage[american]{babel} +\usepackage[width=150mm,height=230mm]{geometry} +\usepackage{helvet} +\usepackage[bitstream-charter]{mathdesign} +\usepackage{charter} +\usepackage[nottoc,numbib]{tocbibind} % bibliography as numbered chapter +\usepackage{array} +\usepackage{ragged2e} +\usepackage{tabularx} +\usepackage{graphicx} +\usepackage{verbatimbox} +\usepackage{xcolor,colors} +\usepackage{pifont} +\usepackage{scrlayer-scrpage} + \pagestyle{scrheadings} + \clearpairofpagestyles + \KOMAoptions{headsepline} + \setkomafont{pagehead}{\small\rmfamily\slshape} + \setkomafont{pagenumber}{\small\rmfamily\slshape} + \lehead{\pagemark} + \rehead{Worldflags} + \lohead{Worldflags} + \rohead{\pagemark} + \def\chapterheadstartvskip{\vspace*{0mm}} + \def\chapterpagestyle{scrheadings} +\raggedbottom + +\usepackage{worldflags} + +\definecolor{emphcolor}{rgb}{0.6,0.1,0} +\definecolor{tablefcolor}{rgb}{0.8,0.7,0.5} +\colorlet{tablecolor}{tablefcolor!40} +\definecolor{codecolor}{rgb}{0.23,0.37,0.17} +\colorlet{cbcolor}{codecolor!20} % codebox background +\colorlet{cfcolor}{codecolor!40} % codebox frame +\colorlet{ctcolor}{codecolor!60} % codebox text +\definecolor{rcolor}{rgb}{1,0.66,0.14} +\colorlet{rbcolor}{rcolor!20} % resultbox background +\colorlet{rfcolor}{rcolor!50} % resultbox frame +\colorlet{rtcolor}{rcolor!80} % resultbox text + +\def\tb{\textbackslash} +\let\ti=\textit +\let\tt=\texttt +\def\m{\mbox{}} +\def\xx#1{\mbox{}\foreach \n in {1,...,#1}{~}} +\def\colwidth{45mm} % with of the left hand column in tables +\def\command#1{{\color{emphcolor}\texttt{#1}}} + +\parskip\bigskipamount +\parindent0pt +\newcount\zaehler\zaehler0 +\def\show#1#2{% + \advance\zaehler by 1 + \parbox{0.23\textwidth}{% + \centering + \worldflag{#2}\\ + {\small #1\\[-\smallskipamount](#2)}} + \ifnum\zaehler=4\zaehler=0\par\fi +} + +% ------------------------------------------------------------------------ +% Frames +% ------------------------------------------------------------------------ + +\long\def\wideframe#1{{\fboxsep5mm\fboxrule0.5pt% + \newdimen\pbwidth\pbwidth\textwidth + \advance\pbwidth by -2\fboxsep + \advance\pbwidth by -2\fboxrule + \fcolorbox{tablefcolor}{tablecolor}% + {\begin{minipage}{\pbwidth}#1\end{minipage}}}} + +\long\def\codebox#1#2{\begin{minipage}[t]{#1\textwidth} + \fboxsep1mm\fboxrule0.5pt% + \newdimen\pbwidth\pbwidth\textwidth + \advance\pbwidth by -2\fboxsep + \advance\pbwidth by -2\fboxrule + \fcolorbox{cfcolor}{cbcolor}% + {\begin{minipage}[t]{\pbwidth}% + {\footnotesize\sffamily\bfseries\color{ctcolor}Code:\\[\smallskipamount]}% + \footnotesize\ttfamily\color{codecolor}#2\end{minipage}} + \end{minipage}} + +\long\def\resultbox#1#2{\begin{minipage}[t]{#1\textwidth} + \fboxsep1mm\fboxrule0.5pt% + \newdimen\pbwidth\pbwidth\textwidth + \advance\pbwidth by -2\fboxsep + \advance\pbwidth by -2\fboxrule + \fcolorbox{rfcolor}{rbcolor}% + {\begin{minipage}[t]{\pbwidth}% + {\footnotesize\sffamily\bfseries\color{rtcolor}Result:\\[\smallskipamount]}% + \small#2\end{minipage}} + \end{minipage}} + +% Weird hack from stackexchange to enable § as shortverb-character with utf8: +\begingroup\uccode`~="C2 \uppercase{\endgroup +\DeclareUnicodeCharacter{00A7}{\verb~}} +\begingroup\uccode`~="A7 \uppercase{\endgroup\def~}{} + +\begin{document} +% -------------------------------------------------------------------------- +% titlepage +% -------------------------------------------------------------------------- +\title{Worldflags} +\subtitle{Drawing flags with TikZ} +\author{\slshape Wilhelm Haager\\\slshape wilhelm.haager@htlstp.ac.at} +\vfill +\vfill +\date{Version 1.0\\\today} +\vfill +\maketitle + +% -------------------------------------------------------------------------- +% table of contents +% -------------------------------------------------------------------------- + \tableofcontents + +% -------------------------------------------------------------------------- +\chapter{Introduction} +% -------------------------------------------------------------------------- + +\emph{Worldflags} is a package for drawing flags using TikZ. +Currently the national flags of all independent nations are included, +additionally some other flags of various organizations; +there's more to come. + +A particular flag is selected via a parameter; for national flags that is the +two-letter country code (i.\,e. the domain name). +A flag can be drawn in two ways: +\begin{itemize} +\item As a single TikZ-picture within ordinary text. +\item As a picture element \emph{within} a TikZ-picture. +\end{itemize} + +The appearance of a flag (size, frame etc.) can be adapted using +optional parameters. + +The description of every flag resides in a particular flag description file +{\color{emphcolor}\texttt{worldflag\_}\textit{xx}\texttt{.tex}}, +wherein \textit{xx} is the parameter for selecting a particular flag, +as listed in section \ref{FLAGS}. +That saves memory and computing time on the one hand, +as only the required flags have to be loaded. +On the other hand, the package can easily be extended by adding new +flag description files. + +Some flags with complicated emblems (e.\,g. Afghanistan, Ecuador) +require a lot of memory. Thus an expansion of \TeX's main memory size +is recommended. + +The flag descriptions are based on the construction sheets in +\cite{VEXILLAMUNDI} +(thanks to Mello Luchten\-berg for that great website), +complex emblems have been taken from the svg-files on Wikipedia +and have been translated into Tikz via Inkscape +(with a reasonable amount of manual post editing). + +% -------------------------------------------------------------------------- +\chapter{Usage} +% -------------------------------------------------------------------------- + +\section{Flags as single TikZ-pictures} +% ------------------------------------------------ +%{\color{emphcolor}§worldflag[§\textit{opts}§]{§\textit{xx}§}§} draws the flag +%\textit{xx} with the Options \textit{opts}. \the\textwidth + +% +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +\wideframe{ +\textsl{Commands:}\\[\medskipamount] +\begin{tabularx}{\textwidth}{@{}>{\RaggedRight}p{\colwidth}X@{}} +{\m\color{emphcolor}\texttt{\tb worldflag[}\textit{opts}\texttt{]\{}\textit{xx}\texttt{\}}} +& +draws the flag \textit{xx} with the optional parameters \textit{opts} as a particular TikZ-picture.\\[\medskipamount] +{\m\color{emphcolor}\texttt{\tb flagsdefault[}\textit{opts}\texttt{]}} +& +sets default values for the options \textit{opts} for subsequent flags. +\end{tabularx} + +\bigskip +\textsl{Options:}\\[\medskipamount] +\begin{tabularx}{\textwidth}{@{}p{\colwidth}X@{}} +{\m\color{emphcolor}\texttt{width=}\textit{dimension}} +& +sets the flag width, default: $15\,\mathrm{mm}$.\\[\medskipamount] +{\m\color{emphcolor}\texttt{length=}\textit{dimension}} +& +sets the flag length; if set to 0\,pt (default), the length is calculated according to the proper aspect ratio of the flag.\\[\medskipamount] +{\m\color{emphcolor}\texttt{framewidth=}\textit{dimension}} +& +sets the line width of the frame around the flag, default: 0.2\,mm.\\[\medskipamount] +{\m\color{emphcolor}\texttt{framecolor=}\textit{colorname}} +& +sets the color of the flag frame, default: \texttt{black!60}.\\[\medskipamount] +{\m\color{emphcolor}\texttt{stretch=}\textit{number}} +& +controls stretching and shrinking of geometric shapes when the aspect ratio differs from its proper value.\\[\medskipamount] +{\m\color{emphcolor}\texttt{grid}} +& +causes a millimeter-grid drawn on the flag as an aid for constructing new flags.\\[\medskipamount] +{\m\color{emphcolor}\texttt{noemblem}} +& +supresses the drawing of an emblem, which is part of many flags.\\[\medskipamount] +{\m\color{emphcolor}\texttt{emblem}} +& +enforces the drawing of an emblem onto the flag which is otherwise supressed (currently only applies to the flags of Austria and Germany).\\[\medskipamount] +{\m\color{emphcolor}\texttt{emblemdefault}} +& +restores the default behavior for drawing emblems.\\[\medskipamount] +\end{tabularx}} +% +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +\bigskip +\command{\tb worldflag\{{\rmfamily\itshape xx}\}} draws a flag, +selected by the parameter \textit{xx}, as a single TikZ-picture. +Section \ref{FLAGS} lists all available flags and their selection code \textit{xx}. +Various properties of the flag can be specified with additional optional parameters +as key-value pairs. + +\command{\tb flagsdefault[{\rmfamily\itshape opts}]} specifies default values +for the Options {\rmfamily\itshape opts} for subsequent flags. + +The \emph{width} of a flag defaults to 15\,mm, it can be overridden with the option +\command{width}. +If one of the dimensions \emph{width} or \emph{length} is set to 0\,pt +(which is the default value for \emph{length}), its value +results from the proper aspect ratio width/length, which is proprietary to every flag. +E.\,g. the Swiss flag is quadratic, it has an aspect ratio of 1:1, +the British flag has an aspect ratio of 1:2. +If \command{width} is set to 0\,pt, \command{length} \emph{must} be specified. +If both dimensions are specified, flags loose their proper aspect ratio +but get the same size: + +%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +\codebox{0.45}{\tb worldflag\{CH\}\\\tb worldflag\{GB\}\\ + proper sizes\tb\tb[6pt]\\ + \tb worldflag[length=22.5mm]\{CH\}\\\tb worldflag[length=22.5mm]\{GB\}\\ + distorted}\hfill +\resultbox{0.54}{\worldflag{CH} \worldflag{GB} proper sizes\\[6pt] + \worldflag[length=22.5mm]{CH} \worldflag[length=22.5mm]{GB} distorted} +%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +\medskip +If both width and length of a flag are specified, which differs from ist +proper aspect ratio, some geometries on the flag will unavoidably +get distorted. +There is presumably no general rule whether certain \emph{distances} on the flag +should remain unchanged in that case, or certain \emph{ratios} +-- as flag owners do not intend to distort their flags -- +but that behavior can be influenced for many flags applying the option +\command{stretch}. +If stretch is set to 0 (which is default), certain \emph{distances} and +\emph{sizes} on the flag remain unchanged, when the flag is stretched; +if set to 1, certain \emph{ratios} remain unchanged in that case. +Values within the range of 0\dots 1 are possible to get a compromise +between both cases. + +The following examples illustrate that behavior: + +\begin{tabularx}{\textwidth}{@{}llX@{}} +Canada: & \command{stretch=0} & The \emph{size} of the maple leaf remains unchanged.\\ + & \command{stretch=1} & The \emph{ratio} of the widths -- maple leaf and pale -- remains unchanged; the maple leaf has to shrink. +\end{tabularx} + +%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +\codebox{0.45}{ + \tb flagsdefault[width=12mm] + \tb worldflag\{CA\}\\ + \tb worldflag[length=18mm]\{CA\}\\ + \tb worldflag[length=18mm,stretch=1]\{CA\} }\hfill +\resultbox{0.54}{% + \flagsdefault[width=12mm] + \worldflag{CA} + \worldflag[length=18mm]{CA} + \worldflag[length=18mm,stretch=1]{CA} + } +%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +\begin{tabularx}{\textwidth}{@{}llX@{}} +Denmark: & \command{stretch=0} & The \emph{distance} from the vertical bar to the hoist remains unchanged.\\ + & \command{stretch=1} & The \emph{ratio} of the distances to the hoist and to the fly remains unchanged. +\end{tabularx} + +%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +\codebox{0.45}{ + \tb flagsdefault[width=12mm] + \tb worldflag\{DK\}\\ + \tb worldflag[length=18mm]\{DK\}\\ + \tb worldflag[length=18mm,stretch=1]\{DK\} }\hfill +\resultbox{0.54}{% + \flagsdefault[width=12mm] + \worldflag{DK} + \worldflag[length=25mm]{DK} + \worldflag[length=25mm,stretch=1]{DK} + } +%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +\medskip +The option \command{grid} causes a millimeter-grid drawn over the flag. +That is primarily a measuring aid for the construction of new flags. + +The options \command{framecolor} and \command{framewidth} set the color +and the line width of the frame drawn around the flag, respectively. +The default value for the line width is 0.2\,mm, the default color is +\texttt{black!60}. +If \command{framewidth} is set to 0\,mm (or 0\,pt), no frame is drawn at all. + +\flagsdefault[length=0mm,width=15mm] +%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +\codebox{0.45}{ + \tb flagsdefault[framecolor=blue] + \tb worldflag[grid]\{IT\}\\ + \tb worldflag[framewidth=1mm]\{IT\}\\ + \tb worldflag[framewidth=0mm]\{IT\} }\hfill +\resultbox{0.54}{% + \flagsdefault[framecolor=blue] + \worldflag[grid]{IT} + \worldflag[framewidth=1mm]{IT} + \worldflag[framewidth=0mm]{IT} + } +%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +\medskip +Many flags have an emblem on it, +e.\,g. a coat of arms or a special symbol. +Those emblems are often very complex and require a lot of computing time and +memory. +The depiction of such an emblem can be supressed with the option +\command{noemblem}, either for the sake of saving computing time +(for dafts) or just because simplified version of the flag is required. +Some countries distinguish between a \emph{civil} flag without an emblem +and a \emph{state} flag containing an emblem. + +Some flags don't have an emblem by default, but an emblem is available +for special purposes. +In that case the depiction of the emblem can be enforced with the option +\command{emblem}. +Currently that only applies to the country flags of Austria and Germany +(more will come). +The option \command{emblemdefault} restores the default behavior for drawing +emblems. + + +\flagsdefault[length=25mm,width=15mm] +%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +\codebox{0.45}{% + \tb worldflag\{AT\}\\ + \tb worldflag[emblem]\{AT\}\\ + \tb worldflag[noemblem]\{AT\}\tb\tb[6pt]\\ + \tb worldflag\{HR\}\\ + \tb worldflag[emblem]\{HR\}\\ + \tb worldflag[noemblem]\{HR\}% + }\hfill +\resultbox{0.54}{% + \worldflag{AT} + \worldflag[emblem]{AT} + \worldflag[noemblem]{AT}\\[6pt] + \worldflag{HR} + \worldflag[emblem]{HR} + \worldflag[noemblem]{HR}% + } +%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +\medskip +The emblem (i.\,e. the coat of arms) in the Austrian flag is supressed by default, +the emblem in the Croatian flag is depicted default. + +\section{Flags as picture elements within a TikZ-picture}\label{SECTION_PIC} +% ------------------------------------------------ + +Within a Tikz-picture the flags are available as \emph{pic}-Elements +named \command{worldflag}. +A particular flag is selectet with the option \command{country}. +Unlike \emph{nodes}, \emph{pic}-elements cannot be referenced by name, +but named nodes and coordinates within the \emph{pic}-element can be referenced. +Hence every flag has special coordinates for referencing: + +\qquad{\divide\tabcolsep by 3 +\begin{tabular}{@{}lclllcl} +\command{-0} & \dots & center of flag &~~~& & & \\ +\command{-nw} & \dots & upper left corner (``north-west'')&~~~& \command{-n} & \dots & top edge center (``north'') \\ +\command{-ne} & \dots & upper right corner (``north-east'')&~~~& \command{-e} & \dots & fly edge center (``east'') \\ +\command{-sw} & \dots & lower left corner (``south-west'') &~~~& \command{-w}& \dots & hoist edge center (``west'') \\ +\command{-se} & \dots & lower right corner (``south-east'') &~~~& \command{-s}& \dots & bottom edge center (``south'') +\end{tabular} +} + +\newpage + + +% +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +\wideframe{ +\textsl{Commands:}\\[\medskipamount] +\begin{tabularx}{\textwidth}{@{}>{\RaggedRight}p{\colwidth}X@{}} +{\m\color{emphcolor}\makebox[0pt][l]{\texttt{\tb pic (}\textit{xy}\texttt{) [country=}\textit{xx\,, \dots}\texttt{]~at }\textit{pos}\texttt{ \{worldflag\};}}} +& \\ +& draws the flag \textit{xx} and gives it the name \textit{xy}; the flag is centerd at the coordinate \textit{pos}.\\[\medskipamount] +{\m\color{emphcolor}\texttt{\tb flagsdefault[}\textit{opts}\texttt{]}} +& +sets default values for the options \textit{opts}. +\end{tabularx} + +\bigskip +\textsl{Options:}\\[\medskipamount] +\begin{tabularx}{\textwidth}{@{}p{\colwidth}X@{}} +{\m\color{emphcolor}\texttt{width=}\textit{dimension}} +& +sets the flag width, default: $15\,\mathrm{mm}$.\\[\medskipamount] +{\m\color{emphcolor}\texttt{length=}\textit{dimension}} +& +sets the flag length; if set to 0\,pt (default), the length is calculated according to the proper aspect ratio of the flag.\\[\medskipamount] +{\m\color{emphcolor}\texttt{framewidth=}\textit{dimension}} +& +sets the line width of the frame around the flag, default: 0.2\,mm.\\[\medskipamount] +{\m\color{emphcolor}\texttt{framecolor=}\textit{colorname}} +& +sets the color of the flag frame, default: \texttt{black!60}.\\[\medskipamount] +{\m\color{emphcolor}\texttt{stretch=}\textit{number}} +& +controls stretching and shrinking of geometric shapes when the aspect ratio differs from its proper value.\\[\medskipamount] +{\m\color{emphcolor}\texttt{grid}} +& +causes a millimeter-grid drawn on the flag.\\[\medskipamount] +{\m\color{emphcolor}\texttt{noemblem}} +& +supresses the drawing of an emblem onto the flag.\\[\medskipamount] +{\m\color{emphcolor}\texttt{emblem}} +& +enforces the drawing of an emblem onto the flag.\\[\medskipamount] +{\m\color{emphcolor}\texttt{emblemdefault}} +& +restores the default behavior for drawing emblems.\\[\medskipamount] +{\m\color{emphcolor}\texttt{rotate=}$\alpha$} +& +rotates the flag $\alpha$ degrees around its center.\\[\medskipamount] +{\m\color{emphcolor}\texttt{turn=}$\beta$} +& +rotates the flag $\beta$ degrees around the (imaginary) flagpole.\\[\medskipamount] +{\m\color{emphcolor}\texttt{hang=}$\gamma$} +& +lets the flag ``hang down'' $\gamma$ degrees from the (imaginary) flag pole.\\[\medskipamount] +\end{tabularx}} +% +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +The following example illustrates the usage of the special coordinates: + +\flagsdefault[length=25mm,width=15mm] +%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +\codebox{0.63}{% + \tb begin{tikzpicture}[draw=cyan,>=stealth,x=1mm,y=1mm]\\ + \tb draw (de-e){-}-++(45:5) node [above right,cyan] \{fly\};\\ + \tb draw (de-w)--++(45:14)\\\mbox{}~~~~~~node [above right,cyan] \{hoist\};\\ + \tb draw (de-0)--++(45:14)\\\mbox{}~~~~~~node [above right,cyan] \{coat of arms\};\\ + \tb draw (de-nw)--++(-5,0) (de-sw)--++(-5,0);\\ + \tb draw [<->] (\$(de-nw)-(4,0)\$){-}-(\$(de-sw)-(4,0)\$)\\\mbox{}~~~~~~node [midway,above,rotate=90,cyan] \{width\};\\ + \tb draw [<->] (\$(de-sw)-(0,6)\$){-}-(\$(de-se)-(0,6)\$)\\\mbox{}~~~~~~node [midway,above,cyan] \{length\};\\ + \tb end{tikzpicture}% + }\hfill +\resultbox{0.36}{% + \begin{tikzpicture}[draw=cyan,>=stealth,x=1mm,y=1mm] + \pic (de) [country=DE,emblem] {worldflag}; + \draw (de-e)--++(45:5) node [above right,cyan] {fly}; + \draw (de-w)--++(45:14) node [above right,cyan] {hoist}; + \draw (de-0)--++(45:14) node [above right,cyan] {coat of arms}; + \draw (de-nw)--++(-5,0) (de-sw)--++(-5,0); + \draw [<->] ($(de-nw)-(4,0)$)--($(de-sw)-(4,0)$) node [midway,above,rotate=90,cyan] {width}; + \draw (de-sw)--++(0,-7) (de-se)--++(0,-7); + \draw [<->] ($(de-sw)-(0,6)$)--($(de-se)-(0,6)$) node [midway,above,cyan] {length}; + \end{tikzpicture} + } +%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +% ************************************************************************** +% \fi % Ende Kommentar +% ************************************************************************** + +\newpage +The option \command{rotate} causes the flag to be rotated around the +flag center with a given angle in degree. + +Note: That option is not proprietary to flags, it is a general option for +\emph{any} {pic}-element. +Hence it is \emph{not} possible to give it a default value +% -- unlike all other options -- +with the command \texttt{flagsdefault}. + +%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +\codebox{0.53}{% + \tb begin\{tikzpicture\}\\ + \tb flagsdefault[width=12mm,length=18mm]\\ + \tb foreach \tb c/\tb n in \{HU/0,SK/1,IT/6,SI/7\}\\ + \xx3\tb pic [country=\tb c,rotate=\tb n*45]\\ + \xx7 at (\tb n*45:24mm) \{worldflag\};\\ + \tb foreach \tb c/\tb n in \{CZ/2,DE/3,LI/4,CH/5\}\\ + \xx3\tb pic [country=\tb c,rotate=\tb n*45-180]\\ + \xx7 at (\tb n*45:24mm) \{worldflag\};\\ + \tb end\{tikzpicture\} + }\hfill +\resultbox{0.46}{% + \begin{tikzpicture} + \flagsdefault[width=12mm,length=18mm] + \foreach \c/\n in {HU/0,SK/1,IT/6,SI/7} + \pic [country=\c,rotate=\n*45] at (\n*45:24mm) {worldflag}; + \foreach \c/\n in {CZ/2,DE/3,LI/4,CH/5} + \pic [country=\c,rotate=\n*45-180] at (\n*45:24mm) {worldflag}; + \end{tikzpicture} + } +%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The option \command{turn} lets the flag rotate around the imaginary flagpole +with a given angle $\beta$ (in degrees). +The length of the flag will \emph{seemingly} shrink with a factor of $\cos\beta$. +With a value of $\beta\!=\!180$ the flag will just appear mirrored. +The option \command{hang} lets the flag ``hang down'' from the imaginary flagpole +with a given angle $\gamma$ (in degrees); +the flag will be sheared and compressed accordingly. + +The following example shows a combination of +\command{rotate}, \command{turn} and \command{hang}. + +%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +\codebox{0.53}{% + \tb begin\{tikzpicture\}[x=1mm,y=1mm]\\ + \tb def\tb w\{30\}\\ + \tb def\tb d\{20\}\\ + \tb pgfdeclarehorizontalshading\{flagpole\}\\ + \xx3\{30mm\}\{color(0mm)=(white);\\ + \xx3color(1mm)=(brown); color(2mm)=(black)\}\\ + \tb flagsdefault[width=15mm,hang=20]\\ + \tb pic (gb) [country=GB,rotate=-\tb w]\\ + \xx5at (\tb d,0) \{worldflag\};\\ + \tb pic (us) [country=US,rotate=\tb w,turn=180]\\ + \xx5at (-\tb d,0) \{worldflag\};\\ + \tb fill [shading=flagpole,shading angle=-\tb w,\\ + \xx6rotate around=\{-\tb w:(gb-nw)\}]\\ + \xx6(gb-nw)-|++(-2,-60)-|cycle;\\ + \tb fill [shading=flagpole,shading angle=\tb w,\\ + \xx6rotate around=\{\tb w:(us-nw)\}]\\ + \xx6(us-nw)-|++(2,-60)-|cycle;\\ + \tb end\{tikzpicture\} + }\hfill +\resultbox{0.46}{% + \begin{tikzpicture}[x=1mm,y=1mm] + \def\w{30} + \def\d{20} + \pgfdeclarehorizontalshading{flagpole}{30mm} + {color(0mm)=(white); color(1mm)=(brown); color(2mm)=(black)} + \flagsdefault[width=15mm,hang=20] + \pic (gb)[country=GB,rotate=-\w] at (\d,0) {worldflag}; + \pic (us)[country=US,rotate=\w,turn=180] at (-\d,0) {worldflag}; + \fill [shading=flagpole,shading angle=-\w,rotate around={-\w:(gb-nw)}] (gb-nw)-|++(-2,-60)-|cycle; + \fill [shading=flagpole,shading angle=\w,rotate around={\w:(us-nw)}] (us-nw)-|++(2,-60)-|cycle; + \end{tikzpicture} + } +%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +% -------------------------------------------------------------------------- +\chapter{Internals} +% -------------------------------------------------------------------------- + +This section is intended for those who want to \emph{extend} the worldflag +package and {create} new flags. +Those who just want to \emph{use} the package and {draw} existing flags, +need not read it. + +Evey flag resides in a particular ``flag description file'' +named \command{worldflag\_}\textit{\color{emphcolor}xx}\command{.tex}, wherein +\textit{\color{emphcolor}xx} is the code for selecting a flag. +Extending the package with new flags is quite easy: +Just a flag description file for every new flag has to be written and put into +a directory, where \TeX\ can find it. +No configuraion files, no other actions; that's it. + +\section{Flag description file}\label{SEC_FLAG_DESCRIPTION} +% ----------------------------- + +Every flag description file has the following structure: + +{\color{emphcolor}\small +\tt{\tb BeginFlagDescription\{}\ti{y}\tt{\}\{}\ti{x}\tt{\}}~~~{\normalsize\color{black}\ding{192}}\\ +\tt{\tb definecolor\{red\}\{RGB\}\{}\ti{r}\tt{,}\ti{g}\tt{,}\ti{b}\tt{\}}~~~{\normalsize\color{black}\ding{193}}\\ +\tt{\tb definecolor\{gold\}\{RGB\}\{}\ti{r}\tt{,}\ti{g}\tt{,}\ti{b}\tt{\}}\\ +\xx9\makebox[0pt]{$\vdots$}\\ +\xx9{\makebox[0pt]{\normalsize\color{black}\ding{194}}}\\ +\xx9\makebox[0pt]{$\vdots$}\\ +\tt{\tb FrameCode}~~~{\normalsize\color{black}\ding{195}}\\ +\tt{\tb EndFlagDescription}~~~{\normalsize\color{black}\ding{196}}\\ +} + +\begin{itemize} +\item[\ding{192}] +This command calculates the flag length, +which will be stored in the dimension register \command{\tb flaglength}, from +the flag width, which is stored in the dimension register \command{\tb flagwidth} +(or vice versa) using the proper aspect ratio of the flag. +That aspect ratio has to be specified with the two parameters +{\color{emphcolor}\ti{y}} (width) and {\color{emphcolor}\ti{x}} (length). +Those parameters have to be interger numbers, +their absolute values don't matter. + +Furthermore, two nested scopes are opened: +The outer scope sets the drawing unit to \command{\tb flagwidth} +(note: the top edge of a flag has always a \ti{y}-coordinate of 1) +and performs the coordinate transformation according to the options +\command{turn} and \command{hang}. +The inner scope shifts the coordinate system to the flag center. + +In the sequel, the special coordinates +\command{-0}, \command{-n}, \command{-ne}, \command{-e}, \command{-se}, +\command{-s}, \command{-sw}, \command{-w} and \command{-nw} +are established -- as described in section \ref{SECTION_PIC}. + +\item[\ding{193}] +Every flag has proprietary shadings of colors. +Hence even common colors have to be redefined for every flag separately. + +\item[\ding{194}] +TikZ commands for drawing and filling of shapes make up the core of +a flag description file. +A couple of macros (see section \ref{SEC_MACROS}) +for common geometric figures facilitate the creation of the flag image. + +\item[\ding{195}] +This command draws a rectangular frame around the flag. +The line width, set with the option \command{framewidth}, is stored in the +dimension register \command{\tb flagframe}; +the frame color, set with the option \command{framecolor}, is stored in the +macro \command{\tb framecolor}. +For non-rectangular flags (e.\,g. Nepal) the flag frame has to be programmed +``manually''. + +\item[\ding{196}] +This command draws a millimeter-grid onto the flag, if invoked with the option +\command{grid} and closes the two previously opened scopes. +\end{itemize} + +\section{Variables} +% ----------------- + +A couple of properties of a flag are kept in variables, +which are either dimension registers or macros. +Those variables are set by the user, specifying options or are calculated +internally. +They are used in the code for the flag description, +but need not be set directly. + + % +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +\wideframe{ +\textsl{Dimension registers:}\\[\medskipamount] +\begin{tabularx}{\textwidth}{@{}>{\RaggedRight}p{\colwidth}X@{}} +{\m\color{emphcolor}\texttt{\tb flagwidth}} +& +width of the flag (vertical extent)\\[\medskipamount] +{\m\color{emphcolor}\texttt{\tb flaglength}} +& +length of the flag (horizontal extent)\\[\medskipamount] +{\m\color{emphcolor}\texttt{\tb flagframe}} +& +line width of the flag frame\\[\medskipamount] +\end{tabularx} + +\bigskip +\begin{tabularx}{\textwidth}{@{}>{\RaggedRight}p{\colwidth}X@{}} +\textsl{Macros:}\\[\medskipamount] +{\m\color{emphcolor}\texttt{\tb framecolor}} +& +color name of the flag frame\\[\medskipamount] +{\m\color{emphcolor}\texttt{\tb viewangle}} +& +angle of the rotation around the flagpole\\[\medskipamount] +{\m\color{emphcolor}\texttt{\tb hangangle}} +& +angle of the ``hanging down'' from the flagpole\\[\medskipamount] +{\m\color{emphcolor}\texttt{\tb flagstretch}} +& +conrols stretching of certain geometries, when stretching the entire flag\\[\medskipamount] +{\m\color{emphcolor}\texttt{\tb StretchFactor}} +& +factor for stretching of certain geometries according to \tt{\tb flagstretch}\\[\medskipamount] +\end{tabularx}} +% +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +\command{\tb flagwidth} and \command{\tb flaglength} specify the width and +length of a flag. +They are set by the user with the options \command{width} and \command{length} +or are calculaterd from each other by \command{\tb AspectRatio} internally. +\command{\tb flagwidth} is the unit for coordinates and lengths +in the flag description. + +The properties of the flag frame are kept in the variables +\command{\tb flagframe} and \command{\tb framecolor}; +they can be set with the options +\command{framewidth} and \command{framecolor}. + +\command{\tb StretchFactor} is a factor for stretching certain \ti{x}-coordinates, +when the whole flag is stretched (or compressed), +i.\,e. when the aspect ratio differs from its proper value. +It is calculated by \command{\tb AspectRatio} +from the variable \command{\tb flagstretch}, +which itself is user-specified with the Option \command{stretch}. + +\section{Commands}\label{SEC_MACROS} +% ---------------------------------- + + % +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +\wideframe{ +\begin{tabularx}{\textwidth}{@{}>{\RaggedRight}p{\colwidth}>{\RaggedRight}X@{}} +{\m\color{emphcolor}\tt{\tb BeginFlagDescription\{}\ti{y}\tt{\}\{}\ti{x}\tt{\}}} +& +\qquad\qquad see section \ref{SEC_FLAG_DESCRIPTION}\\[\medskipamount] +{\m\color{emphcolor}\tt{\tb EndFlagDescription}} +& +see section \ref{SEC_FLAG_DESCRIPTION}\\[\medskipamount] +{\m\color{emphcolor}\tt{\tb AspectRatio\{}\ti{y}\tt{\}\{}\ti{x}\tt{\}}} +& +calculates the dimensions of the flag and the\newline variable \tt{\tb StretchFactor}; called by \tt{\tb BeginFlagDescription}.\\[\medskipamount] +{\m\color{emphcolor}\tt{\tb FrameCode}} +& +draws the rectangular frame around the flag.\\[\medskipamount] +{\m\color{emphcolor}\tt{\tb GridCode}} +& +draws a millimeter-grid onto the flag; called by \tt{\tb EndFlagDescription}.\\[\medskipamount] +\end{tabularx} + +\bigskip +\begin{tabularx}{\textwidth}{@{}>{\RaggedRight}p{\colwidth}X@{}} +\textsl{Geometric flag elements:} +\\[\medskipamount] % -------------------------- +{\m\color{emphcolor}\tt{\tb hstripesII\{}{$c_1$}\tt{\}\{}{$c_2$}\tt{\}}} +& partitions the flag into two horizontal stripes with the colors $c_1$ and $c_2$. +\\[\medskipamount] % -------------------------- +{\m\color{emphcolor}\tt{\tb hstripesIII\{}{$c_1$}\tt{\}\{}{$c_2$}\tt{\}\{}{$c_3$}\tt{\}}} +& three horizontal stripes with the colors $c_1$, \dots +\\[\medskipamount] % -------------------------- +{\m\color{emphcolor}\tt{\tb hstripesIV\{}{$c_1$}\tt{\}\{}{$c_2$}\tt{\}\{}{$c_3$}\tt{\}\{}{$c_4$}\tt{\}}} +& \qquad four horizontal stripes with the colors $c_1$, \dots +\\[\medskipamount] % -------------------------- +{\m\color{emphcolor}\tt{\tb vstripesII\{}{$c_1$}\tt{\}\{}{$C_2$}\tt{\}}} +& partitions the flag into two vertical stripes with the colors $c_1$ and $c_2$. +\\[\medskipamount] % -------------------------- +{\m\color{emphcolor}\tt{\tb vstripesIII\{}{$c_1$}\tt{\}\{}{$c_2$}\tt{\}\{}{$c_3$}\tt{\}}} +& three vertical stripes with the colors $c_1$, \dots +\\[\medskipamount] % -------------------------- +{\m\color{emphcolor}\tt{\tb hbar\{}{$c$}\tt{\}\{}{$y$}\tt{\}\{}{$w$}\tt{\}}} +& horizontal bar with the color $c$ and the line width $w$ at the \ti{y}-coordinate $y$ +\\[\medskipamount] % -------------------------- +{\m\color{emphcolor}\tt{\tb vbar\{}{$c$}\tt{\}\{}{$x$}\tt{\}\{}{$w$}\tt{\}}} +& vertical bar with the color $c$ and the line width $w$ at the \ti{x}-coordinate $x$ +\\[\medskipamount] % -------------------------- +{\m\color{emphcolor}\tt{\tb chevron\{}{$c$}\tt{\}\{}{$x$}\tt{\}}} +& isosceles triangle at the hoist with the color $c$ and the vertex at the \ti{x}-coordinate $x$ +\\[\medskipamount] % -------------------------- +{\m\color{emphcolor}\tt{\tb starV\{}{$c$}\tt{\}\{}{$p$}\tt{\}\{}{$r$}\tt{\}\{}{$\alpha$}\tt{\}}} +& 5-pointed star as a compex polygon with the fill color $c$, an outer raduis $r$, an angle $\alpha$ at the coordinate $p$ +\\[\medskipamount] % -------------------------- +{\m\color{emphcolor}\tt{\tb starVI\{}{$c$}\tt{\}\{}{$p$}\tt{\}\{}{$r$}\tt{\}\{}{$\alpha$}\tt{\}}} +& 6-pointed star as a compex polygon with the fill color $c$, an outer raduis $r$, an angle $\alpha$ at the coordinate $p$ +\\[\medskipamount] % -------------------------- +{\m\color{emphcolor}\tt{\tb starn\{}{$c$}\tt{\}\{}{$n$}\tt{\}\{}{$p$}\tt{\}\{}{$r_1$}\tt{\}\{}{$r_2$}\tt{\}\{}{$\alpha$}\tt{\}}} +& \qquad n-pointed star with the fill color $c$, an outer raduis $r_a$, an inner raduis $r_i$ and an angle $\alpha$ at the coordinate $p$ +\\[\medskipamount] % -------------------------- +{\m\color{emphcolor}\tt{\tb moon\{}{$c$}\tt{\}\{}{$p_1$}\tt{\}\{}{$r_1$}\tt{\}\{}{$p_2$}\tt{\}\{}{$r_2$}\tt{\}}} +& crescent moon with the fill color $c$, as a difference set of two generating circles with the radii $r_1$, $r_2$, and center coordinates $p_1$ and $p_2$ +\\[\medskipamount] % -------------------------- +{\m\color{emphcolor}\tt{\tb UnionJack\{}{$x_1$}\tt{\}\{}{$y_1$}\tt{\}\{}{$x_2$}\tt{\}\{}{$y_2$}\tt{\}}} +& \qquad Union Jack between the coordinates $(x_1,y_1)$ and $(x_2,y_2)$ +\\[\medskipamount] % -------------------------- +\end{tabularx}} +% +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +The macros +\command{\tb hstripesII}, \command{\tb hstripesIII}, \command{\tb hstripesIV}, +\command{\tb vstripesII}, \command{\tb vstripesIII} partition the flag into an +according number of horizontal or vertical colored stripes. +\command{\tb hbar} draws a horizontal bar of given width and color +at a specified \ti{y}-coordinate across the flag; +\command{\tb vbar} does the same vertically. +\command{\tb chevron} draws an isosceles triangle with a given height over +the hoist. +Those macros need to know the variables \command{\tb flagwidth} and +\command{\tb flaglength} which have to be defined, if called +outside a flag description file: + +%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +\codebox{0.65}{% + \tb newdimen\tb flagwidth\tb flagwidth=15mm \\ + \tb newdimen\tb flaglength\tb flaglength=20mm\\\\ + \tb begin\{tikzpicture\}[x=\tb flagwidth,y=\tb flagwidth]\\ + \tb begin\{scope\}\tb hstripesIII\{cyan\}\{white\}\{red\} \\ + \xx3\tb FrameCode\tb end\{scope\}\\ + \tb begin\{scope\}[shift={(1.5,0)}]\\ + \xx3\tb vstripesIII\{cyan\}\{white\}\{red\} \\ + \xx3\tb FrameCode\tb end\{scope\}\\ + \tb begin\{scope\}[shift=\{(0,-1.2)\}]\\ + \xx3\tb hbar\{cyan\}\{0.5\}\{1\}\\ + \xx3\tb hbar\{white\}\{0.5\}\{0.3\}\\ + \xx3\tb vbar\{white\}\{0.5\}\{0.3\}\\ + \xx3\tb FrameCode\tb end\{scope\}\\ + \tb begin\{scope\}[shift={(1.5,-1.2)}]\\ + \xx3\tb chevron\{cyan\}\{1\}\tb FrameCode\tb end\{scope\} + \tb end\{tikzpicture\} + }\hfill +\resultbox{0.34}{% + \newdimen\flagwidth\flagwidth=15mm + \newdimen\flaglength\flaglength=20mm + \begin{tikzpicture}[x=\flagwidth,y=\flagwidth] + \begin{scope} + \hstripesIII{cyan}{white}{red} + \FrameCode + \end{scope} + \begin{scope}[shift={(1.5,0)}] + \vstripesIII{cyan}{white}{red} + % \FrameCode + \end{scope} + \begin{scope}[shift={(0,-1.2)}] + \hbar{cyan}{0.5}{1} + \hbar{white}{0.5}{0.3} + \vbar{white}{0.5}{0.3} + \FrameCode + \end{scope} + \begin{scope}[shift={(1.5,-1.2)}] + \chevron{cyan}{1} + \FrameCode + \end{scope} +% \begin{scope}[shift={(0,-2.4)}] +% \colorlet{blue}{cyan} +% \UnionJack{0mm}{0.5\flagwidth}{0.8\flaglength}{\flagwidth} +% \FrameCode +% \end{scope} + \end{tikzpicture} +} +%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Note: A flag needs no background. + +The following commands don't require the variables +\command{\tb flagwidth} and \command{\tb flaglength}; +they can be used arbitrarily outside a flag, anywhere in a TikZ-picture. + +\command{\tb Union Jack} draws the Union Jack +(which is part of a couple of flags) +between a lower left and an upper right point. +Their coordinates -- $x_1$, $y_1$, $x_2$,$y_2$ -- are separate +parameters, which \emph{must} be specified as dimensions +(i.\,e. using a unit), not just as numbers. +The colors \command{blue}, \command{red} and \command{white} +can be redefined arbitrarily. + +The various types of stars \command{\tb starV} \command{\tb starVI} +\command{\tb starn} and \command{\tb moon} are self-explanatory. +In the following example \tt{\tb starn} and \tt{\tb moon} +are overlayed with the generating circles. + +%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +\codebox{0.65}{% + \tb begin\{tikzpicture\}[x=1mm,y=1mm]\\ + \tb UnionJack\{0mm\}\{0mm\}\{30mm\}\{15mm\}\\ + \tb colorlet\{blue\}\{cyan\} \\ + \tb definecolor\{red\}\{rgb\}\{0.8,0,0\} \\ + \tb UnionJack\{32mm\}\{0mm\}\{47mm\}\{15mm\}\\ + \tb begin\{scope\}[shift=\{(12,-28)\}]\\ + \xx3\tb starV\{cyan\}\{(0,17)\}\{6\}\{0\}\\ + \xx3\tb starVI\{cyan\}\{(22,17)\}\{6\}\{0\}\\ + \xx3\tb starn\{cyan\}\{9\}\{(22,0)\}\{8\}\{3\}\{0\}\\ + \xx3\tb draw[gray] (22,0)circle(8) (22,0)circle(3);\\ + \xx3\tb moon\{cyan\}\{(0,0)\}\{8\}\{(4,2)\}\{7\}\\ + \xx3\tb draw[gray] (0,0)circle(8) (4,2)circle(7);\\ + \tb end\{scope\}\\ + \tb end\{tikzpicture\} + }\hfill +\resultbox{0.34}{% + \begin{tikzpicture}[x=1mm,y=1mm] + \UnionJack{0mm}{0mm}{30mm}{15mm} + \colorlet{blue}{cyan} + \definecolor{red}{rgb}{0.8,0,0} + \UnionJack{32mm}{0mm}{47mm}{15mm} + \begin{scope}[shift={(12,-28)}] + \starV{cyan}{(0,17)}{6}{0} + \starVI{cyan}{(22,17)}{6}{0} + \starn{cyan}{9}{(22,0)}{8}{3}{0} + \draw[gray] (22,0)circle(8) (22,0)circle(3); + \moon{cyan}{(0,0)}{8}{(4,2)}{7} + \draw[gray] (0,0)circle(8) (4,2)circle(7); + \end{scope} + \end{tikzpicture} +} +%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +% -------------------------------------------------------------------------- +\chapter{Flags}\label{FLAGS} +% -------------------------------------------------------------------------- + +\section{Country Flags} +% ------------------------ + +\flagsdefault[width=18mm,length=30mm,stretch=1] + +\show{Afghanistan}{AF} +\show{Albania}{AL} +\show{Algeria}{DZ} +\show{Andorra}{AD} +\show{Angola}{AO} +\show{Antigua \& Barbuda}{AG} +\show{Argentina}{AR} +\show{Armenia}{AM} +\show{Australia}{AU} +\show{Austria}{AT} +\show{Azerbaijan}{AZ} +\show{Bahamas}{BS} +\show{Bahrein}{BH} +\show{Bangladesh}{BD} +\show{Barbados}{BB} +\show{Belarus}{BY} +\show{Belgium}{BE} +\show{Belize}{BZ} +\show{Benin}{BJ} +\show{Bhutan}{BT} +\show{Bolivia}{BO} +\show{Bosnia \& Herzogovina}{BA} +\show{Botswana}{BW} +\show{Brazil}{BR} +\show{Brunei}{BN} +\show{Bulgaria}{BG} +\show{Burkina Faso}{BF} +\show{Burundi}{BI} +\show{Cambodia}{KH} +\show{Cameroon}{CM} +\show{Canada}{CA} +\show{Cape Verde}{CV} +\show{Central African Rep.}{CF} +\show{Chad}{TD} +\show{Chile}{CL} +\show{China}{CN} +\show{Colombia}{CO} +\show{Comoros}{KM} +\show{Congo, Democratic Rep.}{CD} +\show{Congo, Republic}{CG} +\show{Costa Rica}{CR} +\show{Cote d'Ivoire}{CI} +\show{Croatia}{HR} +\show{Cuba}{CU} +\show{Cyprus}{CY} +\show{Czech Republic}{CZ} +\show{Denmark}{DK} +\show{Djibouti}{DJ} +\show{Dominica}{DM} +\show{Dominican Republic}{DO} +\show{Ecuador}{EC} +\show{Egypt}{EG} +\show{EL Salvador}{SV} +\show{Equatorial Guinea}{GQ} +\show{Eritrea}{ER} +\show{Estonia}{EE} +\show{Ethiopia}{ET} +\show{Fiji}{FJ} +\show{Finnland}{FI} +\show{France}{FR} +\show{Gabon}{GA} +\show{Gambia}{GM} +\show{Georgia}{GE} +\show{Germany}{DE} +\show{Ghana}{GH} +\show{Great Britain}{GB} +\show{Greece}{GR} +\show{Grenada}{GD} +\show{Guatemala}{GT} +\show{Guinea}{GN} +\show{Guinea Bissau}{GW} +\show{Guyana}{GY} +\show{Haiti}{HT} +\show{Honduras}{HN} +\show{Hungary}{HU} +\show{Iceland}{IS} +\show{India}{IN} +\show{Indonesia}{ID} +\show{Iran}{IR} +\show{Iraq}{IQ} +\show{Ireland}{IE} +\show{Israel}{IL} +\show{Italy}{IT} +\show{Jamaica}{JM} +\show{Japan}{JP} +\show{Jordan}{JO} +\show{Kazakhstan}{KZ} +\show{Kenya}{KE} +\show{Kiribati}{KI} +\show{Kuwait}{KW} +\show{Kyrgystan}{KG} +\show{Laos}{LA} +\show{Latvia}{LV} +\show{Lebanon}{LB} +\show{Lesotho}{LS} +\show{Liberia}{LR} +\show{Libya}{LY} +\show{Liechtenstein}{LI} +\show{Lithuania}{LT} +\show{Luxembourg}{LU} +\show{Madagaskar}{mg} +\show{Malawi}{MW} +\show{Malaysia}{MY} +\show{Maledives}{MV} +\show{Mali}{ML} +\show{Malta}{MT} +\show{Marshall Islands}{MH} +\show{Mauritania}{MR} +\show{Mauritius}{MU} +\show{Mexico}{MX} +\show{Micronesia}{FM} +\show{Moldova}{MD} +\show{Mongolia}{MN} +\show{Montenegro}{ME} +\show{Morocco}{MA} +\show{Mozambique}{MZ} +\show{Myanmar}{MM} +\show{Namibia}{NA} +\show{Nauru}{NR} +\show{Nepal}{NP} +\show{Netherlands}{NL} +\show{New Zealsnd}{NZ} +\show{Nicaragua}{NI} +\show{Niger}{NE} +\show{Nigeria}{NG} +\show{North Korea}{KP} +\show{North Macedonia}{MK} +\show{Norway}{NO} +\show{Oman}{OM} +\show{Pakistan}{PK} +\show{Palau}{PW} +\show{Panama}{PA} +\show{Papua New Guinea}{PG} +\show{Paraguay}{PY} +\show{Peru}{PE} +\show{Philippines}{PH} +\show{Poland}{PL} +\show{Portugal}{pt} +\show{Quatar}{QA} +\show{Romania}{RO} +\show{Russia}{RU} +\show{Rwanda}{RW} +\show{St. Kitts \& Nevis}{KN} +\show{St. Lucia}{LC} +\show{St. Vincent}{VC} +\show{Samoa}{WS} +\show{San Marino}{SM} +\show{Sao Tome \& Principe}{ST} +\show{Saudi Arabia}{SA} +\show{Senegal}{SN} +\show{Serbia}{RS} +\show{Seychelles}{SC} +\show{Sierra Leone}{SL} +\show{Singapore}{SG} +\show{Slovakia}{SK} +\show{Slovenia}{SI} +\show{Solomon Islands}{SB} +\show{Somalia}{SO} +\show{South Africa}{ZA} +\show{South Korea}{KR} +\show{South Sudan}{SS} +\show{Spain}{ES} +\show{Sri Lanka}{LK} +\show{Sudan}{SD} +\show{Suriname}{SR} +\show{Swaziland}{SZ} +\show{Sweden}{SE} +\show{Switzerland}{CH} +\show{Syria}{SY} +\show{Taiwan}{TW} +\show{Tajikistan}{TJ} +\show{Tanzania}{TZ} +\show{Thailand}{TH} +\show{Togo}{TG} +\show{Tonga}{TO} +\show{Trinidad \& Tobago}{TT} +\show{Tunisia}{TN} +\show{Turkey}{TR} +\show{Turkmenistan}{TM} +\show{Tuvalu}{TV} +\show{Uganda}{UG} +\show{Ukraine}{UA} +\show{United Arab Emirates}{AE} +\show{United States}{US} +\show{Uruguay}{UY} +\show{Uzbekistan}{UZ} +\show{Vanuatu}{VU} +\show{Vatican}{VA} +\show{Venezuela}{VE} +\show{Viet Nam}{VN} +\show{Yemen}{YE} +\show{Zambia}{ZM} +\show{Zimbabwe}{ZW} + +\section{Other Flags} +% ---------------------- + +\zaehler0 +\show{European Union}{EU} +\show{United Nations}{UNO} +\show{Red Cross}{RedCross} +\show{Olympics}{Olympics} +\show{Jolly Roger}{JollyRoger} +\show{Rainbow fag}{Rainbow} + +% -------------------------------------------------------------------------- +% Links +% -------------------------------------------------------------------------- +{ +\raggedright +\def\web#1{{\color{emphcolor}\texttt{#1}}: } +\def\txt#1{#1} +\def\bibname{Links} +% \addcontentsline{toc}{chapter}{\bibname} + +\begin{thebibliography}{88} +% --------------------------------------------------------------------------- +\bibitem{VEXILLAMUNDI} +\web{http://www.vexilla-mundi.com} +\txt{Comprehensive website with flags of all nations including construction + sheets, historical flags, flags of many cities and regions.} +% --------------------------------------------------------------------------- +\bibitem{FOTW} +\web{https://www.fotw.info} +\txt{Website of the FOTW (``Flags Of The World''), vexillological association + and internet resource; many background informations about flags and vexillology.} +% --------------------------------------------------------------------------- +\bibitem{WELTFLAGGEN} +\web{https://www.welt-flaggen.de} +\txt{Flags of and information about all countries ofthe world; +contains flag quizzes.} + +% --------------------------------------------------------------------------- +\bibitem{NATIONALFLAGGEN} +\web{https://www.nationalflaggen.de} +\txt{Provides various images and animated gifs of all national flags.} +\end{thebibliography} +% --------------------------------------------------------------------------- +} +\end{document} -- cgit v1.2.3