\documentclass{article} \usepackage[a4paper, textwidth=150mm]{geometry} \usepackage{qworld} \usepackage{bookmark} \usepackage{fontspec} \usepackage{pdfpages} \usepackage{amsmath} \usepackage{amssymb} \usepackage{amsfonts} \usepackage{mathtools} \usepackage{ascmac} \usepackage{fancybox} \usepackage{float} \usepackage{bbm} \usepackage{mathrsfs} %\numberwithin{equation}{subsection} \usepackage{changelog} \usepackage{framed} \newenvironment{longshadowbox}{% \def\FrameCommand{\fboxsep=\FrameSep \shadowbox}% \MakeFramed {\FrameRestore}}% {\endMakeFramed} \usepackage{url} \usepackage{hyperref} \hypersetup{colorlinks=true, linkcolor=blue} \usepackage{iitem} \usepackage{xspace} \newcommand{\qworldname}{\texttt{QWorld}\xspace} \newcommand{\tikzname}{Ti\emph{k}Z\xspace} \newcommand{\texlivename}{\TeX{} \textsf{Live}\xspace} \setcounter{tocdepth}{3} \usepackage[most]{tcolorbox} \newtcblisting{mybox}[2][]{ colback=red!5!white, colframe=red!75!black, fonttitle=\bfseries, title=#2, #1 } \tcbset { codeinfo/.style= { colframe=cyan!90, coltitle=cyan!60, colbacktitle=black, fonttitle=\small\sffamily\bfseries, fontupper=\small, fontlower=\small }, exampletitleinfo/.style 2 args= { codeinfo, title={Example \thetcbcounter : #1}, label={#2} }, failurecodeinfo/.style= { colframe=red!90, coltitle=red!60, colbacktitle=black, fonttitle=\small\sffamily\bfseries, fontupper=\small, fontlower=\small }, failureexampletitleinfo/.style 2 args= { failurecodeinfo, title={Failure Example \thetcbcounter : #1}, label={#2} } } \newtcblisting{texexp}[1] { codeinfo, #1 } \newtcblisting[auto counter,number within=section]{codebox}[3][center lower,listing side text,righthand width=3.5cm,bicolor,colbacklower=white] { exampletitleinfo={#2}{#3}, breakable, #1 } \newtcblisting[use counter from=codebox,number within=section]{CODEBOX}[3][center lower,bicolor,colbacklower=white] { exampletitleinfo={#2}{#3}, breakable, #1 } \newtcolorbox[use counter from=codebox]{codeboxspec}[3][] { exampletitleinfo={#2}{#3}, breakable, #1 } \newtcblisting{texfexp}[1] { failurecodeinfo, #1 } \newtcblisting[auto counter,number within=section]{fcodebox}[3][center lower,listing side text,righthand width=3.5cm,bicolor,colbacklower=white] { failureexampletitleinfo={#2}{#3}, breakable, #1 } \newtcblisting[use counter from=fcodebox,number within=section]{FCODEBOX}[3][center lower,bicolor,colbacklower=white] { failureexampletitleinfo={#2}{#3}, breakable, #1 } \newtcolorbox[use counter from=fcodebox]{fcodeboxspec}[3][] { failureexampletitleinfo={#2}{#3}, breakable, #1 } \usepackage{xcolor} \NewDocumentCommand{\showcmd}{O{\textbackslash} m O{black}}{% \leavevmode% \ifthenelse{\equal{#3}{new}}{% \textcolor{green!50!black}{\texttt{#1#2}}% }{% \ifthenelse{\equal{#3}{old}}{% \textcolor{red}{\texttt{#1#2}}% }{% \textcolor{#3}{\texttt{#1#2}}% }% }% } \begin{document} \title{ \Huge\textbf{The QWorld Package}\\[4pt] \scriptsize\texttt{Version 1.1.1} \\[4pt] } \author{ \textbf{Niina Ryota} \\[4pt] } \date{\today} \maketitle \begin{abstract} \qworldname is a \LaTeX\ package designed for efficiently rendering complex graphical calculus in monoidal categories. In particular, it supports the typesetting of diagrammatic languages in category theory, quantum theory, and related fields, where diagrammatic reasoning plays a crucial role. \end{abstract} \tableofcontents \section{Introduction} This document aims to provide a step-by-step guide to installing and using the \qworldname package, from basic commands to advanced applications. \qworldname is a \LaTeX\ package specifically designed for the typesetting of diagrammatic languages, offering an intuitive command set for describing diagrams related to monoidal categories, Frobenius structures, braiding, Hopf algebras, symmetries, dualities, pivotal structures, and dagger categories using \tikzname\cite{tikz-manual}. \section{Basic Usage} \subsection{Fundamental Elements} The following are the most fundamental commands in the \qworldname package, forming the basis for drawing diagrams: \begin{itemize} \item \showcmd{q}: A canvas for placing diagram elements. \item \showcmd{qbox}: Draws a box\(\q[scale=0.5]{\qbox}\). \item \showcmd{qwire}: Draws a wire\(\q[scale=0.5]{\qwire}\). \item \showcmd{qcirc}: Compositon. \end{itemize} These commands are used within the canvas environment, denoted by \verb|\q{...}|. For example, writing \verb|\q{\qbox}| results in the rendering of a box\(\q[scale=0.5]{\qbox}\).\par To compose \(\q[scale=0.5]{\qbox}\)and\(\q[scale=0.5]{\qbox}\), use \verb|\qcirc|. This is analogous to function composition in mathematics, such as \(g\circ f\) (\verb|\(g\circ f\)|). \begin{codebox}{}{Ex:78129738917} \q{ \qbox \qcirc \qbox } \end{codebox} Additionally, placing multiple \verb|\qbox| commands in sequence results in boxes\(\q[scale=0.5]{\qbox}\)being arranged horizontally: \begin{codebox}{}{boxs2} \q{ \qbox \qbox \qbox } \end{codebox} It is also possible to compose multiple boxes using\verb|\qcirc|: \begin{codebox}{}{boxsbr} \q { \qbox \qbox \qbox \qcirc \qbox \qbox \qbox } \end{codebox} Note that \verb|\n| is synonymous with\verb|\qcirc| \begin{codebox}{}{boxsn} \q { \qbox \qbox \qbox \n \qbox \qbox \qbox } \end{codebox} \begin{codebox}{}{ex:hopflink} \q{ \qcaprev \qcap \n \qwire \qbraid \qwire \n \qwire \qbraid \qwire \n \qcup \qcuprev } \end{codebox} \begin{itemize} \item \verb|\qcaprev| draws \(\q[scale=0.6]{\qcaprev}\). \item \verb|\qcap| draws \(\q[scale=0.6]{\qcap}\). \item \verb|\qwire| draws \(\q[scale=0.5]{\qwire}\). \item \verb|\qbraid| draws \(\q[scale=0.5]{\qbraid}\). \item \verb|\qcup| draws\(\q[scale=0.6]{\qcup}\). \item \verb|\qcuprev| draws \(\q[scale=0.6]{\qcuprev}\). \end{itemize} As a whole, the elements are arranged in the diagram according to the order in which the commands are written.\par \subsection{Mathematical Mode} When writing equations that include diagrammatic language, use the mathematical mode. \begin{CODEBOX}{}{IntroEx} \[ \operatorname{Tr}\left(\q{\qbraid\qcirc\qbraid}\right) =\q{ \qcap \qcap \n \qwire \qbraidinv \qwire \n \qwire \qbraidinv \qwire \n \qcuprev \qcuprev } \] \end{CODEBOX} \subsection{Installation} The style file for the \qworldname package, \showcmd[]{qworld.sty}, is available for download from CTAN. To use it, place the file in your \TeX\ package directory and include the following line in the preamble: \begin{verbatim} \usepackage{qworld} \end{verbatim} \paragraph{Dependencies} The package depends on the following: \begin{itemize} \item \tikzname, with the following libraries: \iitem \showcmd[]{cd} \iitem \showcmd[]{positioning} \iitem \showcmd[]{arrows} \iitem \showcmd[]{arrows.meta} \iitem \showcmd[]{calc} \iitem \showcmd[]{intersections} \iitem \showcmd[]{shapes.symbols} \iitem \showcmd[]{shapes.geometric} \iitem \showcmd[]{shapes.misc} \iitem \showcmd[]{decorations.pathreplacing} \iitem \showcmd[]{decorations.markings} \iitem \showcmd[]{decorations.pathmorphing} \item \showcmd[]{pgffor} \item \showcmd[]{ifthen} \item \showcmd[]{xparse} \item \showcmd[]{xfp} \item \showcmd[]{xstring} \end{itemize} These dependencies are included by default in the \texlivename distribution, so no additional setup is required. \section{Basic Customization} This section explains how to customize commands in the \qworldname package. \subsection{Identification Number} All commands placed within \verb|\q{...}| are automatically assigned unique identification numbers based on their execution order. For example, in the previous example \ref{boxsn}, each \verb|\qbox| is numbered as follows: \[\q{\qloop[2]{\qloop[3]{\qbox[show id={true}]}\n}}\] For more details, see Section \ref{subsec:show id} on page \pageref{subsec:show id}. \subsection{Bounding Box} \[ \q{ \qcaprev \qcap \n \qwire \qbraid \qwire \n \qwire \qbraid \qwire \n \qcup \qcuprev \qbb[red][1,2] \bbsymbol{Measure} \bbsymbol[W]{Output}[left] \bbsymbol[NW]{Computation}[above left] \bbsymbol[NE]{Physics}[above right] \qbb[yellow][3,5,6,8] \bbsymbol{Braid} \bbsymbol[W]{Compute}[left] \qbb[cyan][9,10] \bbsymbol{Create} \bbsymbol[W]{Initialize}[left] } \] Each element has an associated bounding box. The following are examples: \begin{itemize} \item The bounding box of\q{\qcaprev}is visualized as\q{\qcaprev\qbball}. \item The bounding box of\q{\qbraid}is visualized as\q{\qbraid\qbball}. \item The bounding box of\q{\qwire}is visualized as\q{\qwire\qbball}. \item The bounding box of\q{\qcuprev}is visualized as\q{\qcuprev\qbball}. \end{itemize} The following commands are available for visualizing bounding boxes and placing text near them: \begin{itemize} \item Visualization \iitem \showcmd{qbb}: Displays the bounding box of a specific element. \iitem \showcmd{qbball}: Displays the bounding boxes of all elements at once. \iitem \showcmd{qBBall}: Displays the bounding box surrounding the entire canvas. \item Placing text \iitem \showcmd{bbsymbol}: Places text within a bounding box. \end{itemize} \begin{verbatim} \qbb[][] \end{verbatim} \begin{itemize} \item First argument (optional): Specifies the color. If omitted, no color is applied. \item Second argument: Specifies a list of element IDs to display their bounding boxes. \end{itemize} \begin{codebox}{}{Ex:78129738920} \q{\qbox\qbb[1]} \end{codebox} \begin{codebox}{}{ex:781297389270454} \q{ \qcaprev \qcap \n \qwire \qbraid \qwire \n \qwire \qbraid \qwire \n \qcup \qcuprev \qbb[4,7] } \end{codebox} \begin{CODEBOX}{}{Ex:78129738921} \q{\qbox\qbox\qbox\qbox\qbox\qbox\qbb[yellow][2,...,5]} \end{CODEBOX} \begin{codebox}{}{Ex:74839722} \q { \qbox\qbox\qbox\n \qbox\qbox\qbox \qbb[green][2,5] } \end{codebox} \begin{codebox}{}{Ex:78129738918} \q{ \qcaprev \qcap \n \qwire \qbraid \qwire \n \qwire \qbraid \qwire \n \qcup \qcuprev \qbb[blue][4,7] } \end{codebox} \begin{verbatim} \qbball[] \end{verbatim} \begin{itemize} \item Displays multiple bounding boxes at once (even for a single element). \item Ensures that the bounding boxes of different elements are properly aligned without overlap. \item The \qworldname package \textbf{minimizes the need for tedious manual coordinate adjustments} in diagram drawing. \end{itemize} \begin{codebox}[center lower,listing side text,righthand width=5cm,bicolor,colbacklower=white]{}{Ex:781297389270511} \q{ \qcaprev \qcap \n \qwire \qbraid \qwire \n \qwire \qbraid \qwire \n \qcup \qcuprev \qbball } \end{codebox} \begin{verbatim} \qBBall[] \end{verbatim} \begin{itemize} \item Displays the bounding box surrounding all elements within the canvas. \end{itemize} \begin{codebox}[center lower,listing side text,righthand width=5cm,bicolor,colbacklower=white]{}{Ex:78129738916} \q{ \qcaprev \qcap \n \qwire \qbraid \qwire \n \qwire \qbraid \qwire \n \qcup \qcuprev \qBBall } \end{codebox} \begin{verbatim} \bbsymbol[]{}[] \end{verbatim} \begin{itemize} \item First argument (optional): Specifies placement direction. Options: \iitem \showcmd[]{N} (North), \showcmd[]{S} (South), \showcmd[]{E} (East), \showcmd[]{W} (West), \iitem \showcmd[]{NW} (Northwest), \showcmd[]{NE} (Northeast), \showcmd[]{SE} (Southeast), \showcmd[]{SW} (Southwest), \iitem \showcmd[]{C} (Center). \iitem Default: \showcmd[]{E} (East). \item Second argument: Specifies the text to be placed. \item Third argument (optional): Adjusts position (e.g., \showcmd[]{above}, \showcmd[]{below}, \showcmd[]{left}, \showcmd[]{right}). \iitem Default: \showcmd[]{right}. \end{itemize} \begin{CODEBOX}{}{Ex:bbsymbol} \q[scale=5]{ \qbox \qbb[1] \bbsymbol{East (Default)} \bbsymbol[W]{West}[left] \bbsymbol[N]{North}[above] \bbsymbol[S]{South}[below] \bbsymbol[NE]{NorthEast}[above right] \bbsymbol[NW]{NorthWest}[above left] \bbsymbol[SE]{SouthWest}[below right] \bbsymbol[SW]{SouthEast}[below left] \bbsymbol[C]{Center}[] } \end{CODEBOX} \begin{CODEBOX}{}{Ex:78129738915} \q { \qcaprev \qcap \n \qwire \qbraid \qwire \n \qwire \qbraid \qwire \n \qcup \qcuprev \qbb[red][1,2] \bbsymbol{Measure} \bbsymbol[W]{Output}[left] \bbsymbol[NW]{Computation}[above left] \bbsymbol[NE]{Physics}[above right] \qbb[yellow][3,5,6,8] \bbsymbol{Braid} \bbsymbol[W]{Compute}[left] \qbb[cyan][9,10] \bbsymbol{Create} \bbsymbol[W]{Initialize}[left] } \end{CODEBOX} \subsection{Box Customization} \label{subsec:boxcustomization} Keys can be used to adjust the number and arrangement of the box’s boundary lines. For example, the following boxes can be drawn: \begin{itemize} \item \(\q[scale=0.5]{\qbox[p=20,hlen=3]}\) \item \(\q[scale=0.5]{\qbox[p=10,N={1,2,3,8,9,10},S={4,5,6,7},hlen=3]}\) \end{itemize} These keys are applicable to many elements other than wires. The main keys are as follows: \begin{itemize} \item \showcmd[]{n} \iitem The number of points on the north edge of the box\(\q[scale=0.5]{\qbox[p=2, P={}]}\)where wires\(\q[scale=0.31]{\qwire}\)can be generated (these points will be referred to as \showcmd[]{n} terminals). \iitem For example, if \showcmd[]{n=3}, three points can be placed at equal intervals on the north edge of the box. \iitem The default value is \showcmd[]{n=1}. \iitem The point obtained by vertically moving an \showcmd[]{n} terminal to the northernmost position is called an \showcmd[]{N} terminal. \iitem Both \showcmd[]{n} terminals and \showcmd[]{N} terminals are indexed as \(1,2,...\) from the west (left). \iitem Generating a wire from the \(i\)-th \showcmd[]{n} terminal means connecting the \(i\)-th \showcmd[]{n} terminal and the \(i\)-th \showcmd[]{N} terminal with a line segment. \item \showcmd[]{N} \iitem The set of indices of the \showcmd[]{n} terminals from which wires are actually generated. \iitem For example, if \showcmd[]{n=3} and \showcmd[]{N=\{2\}}, a wire can be generated from the \(2\)nd of the three \showcmd[]{n} terminals. \iitem If \showcmd[]{n} is unspecified and \showcmd[]{N} is specified, \showcmd[]{n} is automatically set to \(\showcmd[]{n}\coloneq\max\showcmd[]{N}\). \iitem If \showcmd[]{N} is unspecified and \showcmd[]{n} is specified, \showcmd[]{N} is automatically set to \(\showcmd[]{N}\coloneq\{1,...,\showcmd[]{n}\}\). \iitem The northernmost end of a wire actually generated from an \showcmd[]{n} terminal is called the output point, or \showcmd[]{O} terminal. \item \showcmd[]{s} \iitem The number of points on the south edge of the box where wires can be generated (these points will be referred to as \showcmd[]{s} terminals). \iitem For example, if \showcmd[]{s=4}, four points can be placed at equal intervals on the south edge of the box. \iitem The default value is \showcmd[]{s=1}. \iitem The point obtained by vertically moving an \showcmd[]{s} terminal to the southernmost position is called an \showcmd[]{S} terminal. \iitem Both \showcmd[]{s} terminals and \showcmd[]{S} terminals are indexed as \(1,2,...\) from the west (left). \iitem Generating a wire from the \(i\)-th \showcmd[]{s} terminal means connecting the \(i\)-th \showcmd[]{s} terminal and the \(i\)-th \showcmd[]{S} terminal with a line segment. \item \showcmd[]{S} \iitem The set of indices of the \showcmd[]{s} terminals from which wires are actually generated. \iitem For example, if \showcmd[]{s=4} and \showcmd[]{S=\{1,4\}}, wires can be generated from the 1st and 4th of the four \showcmd[]{s} terminals. \iitem If \showcmd[]{s} is unspecified and \showcmd[]{S} is specified, \showcmd[]{s} is automatically set to \(\showcmd[]{s}\coloneq\max\showcmd[]{S}\). \iitem If \showcmd[]{S} is unspecified and \showcmd[]{s} is specified, \showcmd[]{S} is automatically set to \(\showcmd[]{S}\coloneq\{1,...,\showcmd[]{s}\}\). \iitem The southernmost end of a wire actually generated from an \showcmd[]{s} terminal is called the input point, or \showcmd[]{I} terminal. \item \showcmd[]{hlen} \iitem The horizontal length of the bounding box. \iitem For example, if \showcmd[]{hlen=2}, the horizontal length of the bounding box becomes \showcmd[]{2}. \iitem With one exception, the distance between the westernmost wire and the bounding box's boundary, and the distance between the easternmost wire and the bounding box's boundary, are both \(\fpeval{0.5}\). \iitem When \showcmd[]{hlen} is unspecified, the \showcmd[]{n} terminals and \showcmd[]{s} terminals are arranged with an interval of \(1\). \iitem When \showcmd[]{hlen} is specified, the \showcmd[]{n} terminals and \showcmd[]{s} terminals are arranged at equal intervals in a section of length \(\showcmd[]{hlen}-1\). The spacing depends on \showcmd[]{hlen} and the number of terminals. \iiitem If there is only one terminal, it is placed at the center of the section. In this case, if \(\showcmd[]{hlen}>1\), the distance between the westernmost wire and the bounding box's boundary, and the distance between the easternmost wire and the bounding box's boundary, are both \(\frac{\showcmd[]{hlen}}{2}>\fpeval{0.5}\). \item \showcmd[]{vlen} \iitem The vertical length (height) of the bounding box. \iitem The default value is \showcmd[]{vlen=1}. \item \showcmd[]{id} \iitem The identifier of the box. \iitem For example, if \showcmd[]{id=ID}, the following names are automatically assigned to the various points: \iiitem The \(i\)-th \showcmd[]{n} terminal (counting from the west): (n-\(i\)-ID). \iiitem The \(i\)-th \showcmd[]{s} terminal: (s-\(i\)-ID). \iiitem The point obtained by vertically moving the \(i\)-th \showcmd[]{n} terminal to the north edge of the box: (N-\(i\)-ID). \iiitem The point obtained by vertically moving the \(i\)-th \showcmd[]{s} terminal to the south edge of the box: (S-\(i\)-ID). \iiitem The northwest corner of the bounding box: (NW-ID) \iiitem The northeast corner of the bounding box: (NE-ID) \iiitem The southwest corner of the bounding box: (SW-ID) \iiitem The southeast corner of the bounding box: (SE-ID) \iiitem The northernmost point of the bounding box: (N-ID) \iiitem The southernmost point of the bounding box: (S-ID) \iiitem The westernmost point of the bounding box: (W-ID) \iiitem The easternmost point of the bounding box: (E-ID) \iiitem The center of the bounding box: (C-ID) \iiitem The northwest corner of the box: (nw-ID) \iiitem The northeast corner of the box: (ne-ID) \iiitem The southwest corner of the box: (sw-ID) \iiitem The southeast corner of the box: (se-ID) \iiitem The northernmost point of the box: (n-ID) \iiitem The southernmost point of the box: (s-ID) \iiitem The westernmost point of the box: (w-ID) \iiitem The easternmost point of the box: (e-ID) \iiitem The \(i\)-th output point: (O-\(i\)-ID) \iiitem The \(i\)-th input point: (I-\(i\)-ID) \iitem Regardless of whether it is specified, each command placed inside \showcmd{q\{...\}} is assigned an identification number. Replacing the ID part with that number refers to the same point. See section \ref{subsec:show id} for details. \item \showcmd[]{p}, \showcmd[]{P} \iitem For a positive integer \showcmd[]{k}, \showcmd[]{p=k} means \showcmd[]{n=k} and \showcmd[]{s=k}. \iitem For a finite set of positive integers \showcmd[]{K}, \showcmd[]{P=K} means \showcmd[]{N=K} and \showcmd[]{S=K}. \item \showcmd[]{name} \iitem With \showcmd[]{name=}, \text{} is placed at the center of the box. \end{itemize} \begin{CODEBOX}{}{ex:boxpoints} \def\pradius{0.4pt} \q[scale=4] { \qbox [ n=3,N={2}, s=4,S={1,4}, hlen=2, vlen=2, id={ID}, name={C-ID} ]\n \qbb[ID] \node [above] at (NE-ID) {NE-ID}; \node [above] at (NW-ID) {NW-ID}; \node [below] at (SE-ID) {SE-ID}; \node [below] at (SW-ID) {SW-ID}; \fill (NE-ID) circle (\pradius); \fill (NW-ID) circle (\pradius); \fill (SE-ID) circle (\pradius); \fill (SW-ID) circle (\pradius); \node [above] at (ne-ID) {ne-ID}; \node [above] at (nw-ID) {nw-ID}; \node [below] at (se-ID) {se-ID}; \node [below] at (sw-ID) {sw-ID}; \fill (ne-ID) circle (\pradius); \fill (nw-ID) circle (\pradius); \fill (se-ID) circle (\pradius); \fill (sw-ID) circle (\pradius); \foreach\i in {1,...,3} { \symboln[\i]{n-\i-ID}[below] \fill (n-\i-ID) circle (\pradius); \symbolN[\i]{N-\i-ID} \fill (N-\i-ID) circle (\pradius); } \foreach\i in {1,...,4} { \symbols[\i]{s-\i-ID}[above] \fill (s-\i-ID) circle (\pradius); \symbolS[\i]{S-\i-ID}[below] \fill (S-\i-ID) circle (\pradius); } \draw[line width=0.2pt] (NW-ID) to [bend left=60] node [fill=white, midway] {hlen} (NE-ID); \draw[line width=0.2pt] (NW-ID) to [bend right=60] node [fill=white, midway] {vlen} (SW-ID); \draw [red, <->] (C-ID -| W-ID) -- node [midway, auto, font=\footnotesize] {0.5} (C-ID -| S-1-ID); \draw [red, <->] (C-ID -| S-4-ID) -- node [midway, auto, font=\footnotesize] {0.5} (C-ID -| E-ID); \qwire[arrowtype={loosely dotted}, dom={s-1-ID}, cod={n-1-ID}] \qwire[arrowtype={loosely dotted}, dom={s-4-ID}, cod={n-3-ID}] \node (O1prime) at ([shift={(0.25,0.25)}]O-1-ID){O-1-ID}; \draw[->,red] (O1prime) to ([shift={(0.05,0.05)}]O-1-ID); \node (I1prime) at ([shift={(0.5,-0.5)}]I-1-ID){I-1-ID}; \node (I2prime) at ([shift={(0.5,-0.5)}]I-2-ID) {I-2-ID}; \draw[->,red](I1prime) to ([shift={(0.05,-0.05)}]I-1-ID); \draw[->,red](I2prime) to ([shift={(0.05,-0.05)}]I-2-ID); } \end{CODEBOX} The \verb|\qwire| \verb|arrowtype| key, as well as the \verb|dom| and \verb|cod| keys, are explained in section \ref{subsec:wirecustomization} on page \pageref{subsec:wirecustomization}. \paragraph{Label (\showcmd{symbol})} \begin{verbatim} \symbolI[]{