From dce1a2a6ecd9971433b4ee24c9d36b124cc1280e Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Wed, 29 Dec 2021 03:01:06 +0000 Subject: CTAN sync 202112290301 --- graphics/pgf/contrib/yquant/README.md | 17 +- graphics/pgf/contrib/yquant/doc/yquant-doc.pdf | Bin 712093 -> 994303 bytes graphics/pgf/contrib/yquant/doc/yquant-doc.tex | 1938 ++++++++++++++++++-- graphics/pgf/contrib/yquant/tex/yquant-circuit.tex | 32 +- graphics/pgf/contrib/yquant/tex/yquant-config.tex | 35 +- graphics/pgf/contrib/yquant/tex/yquant-env.tex | 303 ++- graphics/pgf/contrib/yquant/tex/yquant-lang.tex | 15 +- graphics/pgf/contrib/yquant/tex/yquant-prepare.tex | 2 +- .../pgf/contrib/yquant/tex/yquant-registers.tex | 63 +- graphics/pgf/contrib/yquant/tex/yquant-shapes.tex | 7 +- graphics/pgf/contrib/yquant/tex/yquant-tools.tex | 2 + graphics/pgf/contrib/yquant/tex/yquant.sty | 8 +- .../contrib/yquant/tex/yquantlanguage-groups.sty | 8 +- .../pgf/contrib/yquant/tex/yquantlanguage-qasm.sty | 12 +- 14 files changed, 2203 insertions(+), 239 deletions(-) (limited to 'graphics/pgf') diff --git a/graphics/pgf/contrib/yquant/README.md b/graphics/pgf/contrib/yquant/README.md index 724ab32711..93e177ca28 100644 --- a/graphics/pgf/contrib/yquant/README.md +++ b/graphics/pgf/contrib/yquant/README.md @@ -5,9 +5,24 @@ yquant is a LaTeX package that allows to quickly draw quantum circuits. It bridg yquant is a pure-LaTeX solution - i.e., it requires no external program - that introduces a logic oriented language and thus brings the best of both worlds together. It builds on and interacts with TiKZ, which brings an enourmous flexibility for customization of individual circuit. +Important features in the latest updates (for a much more complete list, see the documentation): +- Support the `beamer` package (since 0.6) +- New `text` gate, which replaces the common `[draw=none] box` situation (since 0.6) +- Integration of all qpic examples in the manual, showcasing some very advanced circuits (since 0.6) +- Simple interface for circuit equations, no more `subcircuit` hassling (since 0.5) +- Measurement outputs can now directly control other gates, i.e., with a vertical classical line emanating from the measurement (since 0.4) +- Automatically adjust vertical positions of wires also for multi-register gates (since 0.4-alpha) +- Vertical alignment actually works for subcircuits (since 0.4-alpha) +- Directly support circuits written in the `qasm` language (since 0.3) +- Simple declaration of custom gates (since 0.2.1) +- Support for subcircuits, though vertical alignment may be messed up (since 0.2) +- Load circuits from files (since 0.2) +- Native support for non-contiguous multi-qubit gates (since 0.1.2) +- Extensive user-friendly support for register name ranges, lists (since 0.1.1) + A detailed reference with lots of examples is provided in the PDF version of this Readme. We will sketch some basic usage. -Now yquant also understands circuits written in the qasm language and provides a simple interface for circuit equations! +The arXiv runs on version 0.3.2 - please download the latest version from the releases section and include it in your submission. Support the development: - [![PayPal](https://img.shields.io/badge/donate-via%20PayPal-blue.svg?style=flat)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=UTR3MRBYJ825A&source=url) diff --git a/graphics/pgf/contrib/yquant/doc/yquant-doc.pdf b/graphics/pgf/contrib/yquant/doc/yquant-doc.pdf index baca7da540..9fefce4faf 100644 Binary files a/graphics/pgf/contrib/yquant/doc/yquant-doc.pdf and b/graphics/pgf/contrib/yquant/doc/yquant-doc.pdf differ diff --git a/graphics/pgf/contrib/yquant/doc/yquant-doc.tex b/graphics/pgf/contrib/yquant/doc/yquant-doc.tex index b6c5e3057f..ac027a7101 100644 --- a/graphics/pgf/contrib/yquant/doc/yquant-doc.tex +++ b/graphics/pgf/contrib/yquant/doc/yquant-doc.tex @@ -190,6 +190,8 @@ \def\ee{{\symup e}} \def\ketbra#1#2{\ket{#1}\!\bra{#2}} +\robustify\bmod % unicode-math makes problems when \bmod is used within a box + \frenchspacing \RequirePackage{scrlayer-scrpage,scrlayer-notecolumn} \setcounter{tocdepth}{\subsectiontocdepth} @@ -209,7 +211,7 @@ \noindent This manual introduces \Yquant, a \LaTeX\hyp only package that outputs quantum circuits. They are entered using a human\hyp readable language that, even from the source code, allows for a fluent understanding of the logic that underlies the circuit. \Yquant{} internally builds on \TikZ{} and can be easily combined with arbitrary \LaTeX{} code. - More than fifty pages of examples complement the formal manual. + Almost one hundred pages of examples complement the formal manual. \end{abstract} \tableofcontents @@ -217,7 +219,7 @@ This document outlines the scope and usage of the \Yquant{} package. It contains both a reference and a huge number of examples. \Yquant{} is a package that makes typesetting quantum circuits easy; the package is available on CTAN. - This beta version~0.5.1 \emph{should} be stable and interfaces are not very likely to change in an incompatible way in the future. + This beta version~0.6 \emph{should} be stable and interfaces are not very likely to change in an incompatible way in the future. \compat{New in 0.4}Sometimes, backwards\hyp incompatible changes are required or advisable, in which case a compatibility setting will allow to revert back to the old behavior (rather, to maximize compatibility, this is an opt\hyp in setting: unless you choose the new behavior, you will get the old one). Please do report all issues and desirable additions on \href{https://github.com/projekter/yquant/issues}{GitHub}. @@ -265,7 +267,7 @@ Additionally, the \tex!\xymatrix! syntax is also somewhat cryptic. \pkg{qcircuit} provides some flexibility within the limits of \pkg{xy} as to configuring the output. - Maintenance status: last update in 2018; and remember this is \pkg{xy} based, with last update in 2013. + Maintenance status: active (\href{https://github.com/CQuIC/qcircuit}{GitHub}); but remember this is \pkg{xy} based, with last update in 2013. \item \pkg{quantikz} is a relatively recent package that, following the same grid\hyp based approach as \pkg{qcircuit}, instead builds on \TikZ{} as a backend. As a consequence, it provides the full flexibility of customization that \TikZ{} offers, where hardly anything cannot be done. It also reduces burdens of the \pkg{xy} syntax. @@ -341,9 +343,9 @@ When starting a new document, it is recommended to leave out the compatibility key at first compilation. \Yquant{} will then issue a warning from which you can infer the recommended setting, corresponding to the current version. You should then pass the appropriate version to the \tex!\usepackage! command. - For example, this manual corresponds to \tex!\usepackage[compat=0.4]{yquant}!. + For example, this manual corresponds to \tex!\usepackage[compat=0.6]{yquant}!. - Allowed values for \texttt{compat} are \texttt{newest} (discouraged), which equals \texttt{0.4}, and \texttt{0.3} (default). + Allowed values for \texttt{compat} are \texttt{newest} (discouraged), which equals \texttt{0.6}, \texttt{0.4}, and \texttt{0.3} (default). \end{warning} \subsection{Starred vs. unstarred environment} @@ -575,7 +577,8 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] ); Note that \texttt{} is case\hyp insensitive and may not contain spaces. Special characters are allowed if \TeX{} can cope with them (i.e., no comment signs, no unbalanced braces, no backslashes...). \item They create a style \style{/yquant/operators/every } and assign the optional \texttt{