summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-09-25 20:18:10 +0000
committerKarl Berry <karl@freefriends.org>2022-09-25 20:18:10 +0000
commita90f6e2d7555d63fc8c6eeb7ede5b0216de1adf6 (patch)
treec02e0870a32a62e003fcf031006e57256aa718ce /Master/texmf-dist/doc/latex
parentd1b24b5abbe78c6bf5d9e5905da02e187d9b7304 (diff)
semantex (25sep22)
git-svn-id: svn://tug.org/texlive/trunk@64510 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex')
-rw-r--r--Master/texmf-dist/doc/latex/semantex/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/semantex/semantex.pdfbin389783 -> 397503 bytes
-rw-r--r--Master/texmf-dist/doc/latex/semantex/semantex.tex24
3 files changed, 23 insertions, 3 deletions
diff --git a/Master/texmf-dist/doc/latex/semantex/README.md b/Master/texmf-dist/doc/latex/semantex/README.md
index 85732053e65..44c5fb7ac04 100644
--- a/Master/texmf-dist/doc/latex/semantex/README.md
+++ b/Master/texmf-dist/doc/latex/semantex/README.md
@@ -25,7 +25,7 @@ Released under the LaTeX Project Public License v1.3c or later
See http://www.latex-project.org/lppl.txt
----------------------------------------------------------------
-Copyright (C) 2021 by Sebastian Ørsted <sorsted@gmail.com>
+Copyright (C) 2022 by Sebastian Ørsted <sorsted@gmail.com>
The package is loaded via \usepackage{semantex}
diff --git a/Master/texmf-dist/doc/latex/semantex/semantex.pdf b/Master/texmf-dist/doc/latex/semantex/semantex.pdf
index 2ed542a06f6..4e50ebe1d45 100644
--- a/Master/texmf-dist/doc/latex/semantex/semantex.pdf
+++ b/Master/texmf-dist/doc/latex/semantex/semantex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/semantex/semantex.tex b/Master/texmf-dist/doc/latex/semantex/semantex.tex
index a377e0f2170..bd932ca3be6 100644
--- a/Master/texmf-dist/doc/latex/semantex/semantex.tex
+++ b/Master/texmf-dist/doc/latex/semantex/semantex.tex
@@ -5749,19 +5749,35 @@ In other words, it determines which arguments an object of that class
can take. The syntax for creating new objects
also varies.
+Each class has a \lstinline!\New...! as well as a \lstinline!\Declare...! variant, the difference being
+that the \lstinline!\New...! variant raises an error if the command name is already taken.
+Both variants will raise an error if a \semantex{} class with the same name already exists.
+Allowing you to override existing \semantex{} definitions would require fundamental changes
+to the system which would slow it down significantly.
+
+Similarly, you can use both of the commands \lstinline!\NewObject! and \lstinline!\DeclareObject!
+to define objects, the difference being that \lstinline!\NewObject! raises an error
+if the command name is already taken.
+Both commands will raise an error if a \semantex{} object with the same name already exists.
+Allowing you to override existing \semantex{} definitions would require fundamental changes
+to the system which would slow it down significantly.
+
+
The current implementation has the following
class types:
\begin{itemize}
\item \lstinline!Variable!:
- A new class is declared with the
+ A new class is defined with the
syntax
\begin{lstlisting}
\NewVariableClass{@\usercommand\<Class\>@}[@\<options\>@]
+ \DeclareVariableClass{@\usercommand\<Class\>@}[@\<options\>@]
\end{lstlisting}
A new object is declared by
\begin{lstlisting}
\NewObject@\usercommand\<Class\>@@\usercommand\<object\>@{@\<symbol\>@}[@\<options\>@]
+ \DeclareObject@\usercommand\<Class\>@@\usercommand\<object\>@{@\<symbol\>@}[@\<options\>@]
\end{lstlisting}
The syntax for this object is
\begin{lstlisting}
@@ -5771,11 +5787,13 @@ class types:
A new class is declared with the
syntax
\begin{lstlisting}
- \NewSimpleClass@\usercommand\<Class\>@[@\<options\>@]
+ \NewSymbolClass@\usercommand\<Class\>@[@\<options\>@]
+ \DeclareSymbolClass@\usercommand\<Class\>@[@\<options\>@]
\end{lstlisting}
A new object is declared by
\begin{lstlisting}
\NewObject@\usercommand\<Class\>@@\usercommand\<object\>@{@\<symbol\>@}[@\<options\>@]
+ \DeclareObject@\usercommand\<Class\>@@\usercommand\<object\>@{@\<symbol\>@}[@\<options\>@]
\end{lstlisting}
The syntax for this object is
\begin{lstlisting}
@@ -5786,10 +5804,12 @@ class types:
syntax
\begin{lstlisting}
\NewSimpleClass@\usercommand\<Class\>@[@\<options\>@]
+ \DeclareSimpleClass@\usercommand\<Class\>@[@\<options\>@]
\end{lstlisting}
A new object is declared by
\begin{lstlisting}
\NewObject@\usercommand\<Class\>@@\usercommand\<object\>@{@\<symbol\>@}[@\<options\>@]
+ \DeclareObject@\usercommand\<Class\>@@\usercommand\<object\>@{@\<symbol\>@}[@\<options\>@]
\end{lstlisting}
The syntax for this object is
\begin{lstlisting}