diff options
author | Karl Berry <karl@freefriends.org> | 2020-09-07 21:23:16 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-09-07 21:23:16 +0000 |
commit | bc59c4baca08950329c379257f124880c645c342 (patch) | |
tree | feaef247e6a0c2e9d8eabbd0210690e702f33f08 | |
parent | 99e362fa3dfb6b154bac8a1bdbf5cae68e15544c (diff) |
semtex (7sep20)
git-svn-id: svn://tug.org/texlive/trunk@56288 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/latex/semtex/README.md | 37 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/semtex/semtex.pdf | bin | 0 -> 77110 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/semtex/semtex.tex | 229 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/semtex/semtex.sty | 83 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tlpkg-ctan-check | 2 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/semtex.tlpsrc | 0 |
7 files changed, 351 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/semtex/README.md b/Master/texmf-dist/doc/latex/semtex/README.md new file mode 100644 index 00000000000..d74f5f9f5c0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/semtex/README.md @@ -0,0 +1,37 @@ +semtex -- For stripped SemanTeX documents +-------------------------------------- + +The package semtex is a small LaTeX package that adds a collection +of simple macros for parentheses and bullets. It exists for +one purpose only: To be loaded by documents which were +originally typeset using the package SemanTeX, but which have +been stripped of SemanTeX markup using the package stripsemantex. +Therefore, unless your document is one of those, +simply **don't use this package**. + +And even if your document *is* one of those, there is a good +chance you will not have to load it after all. In most cases, +you will be able to replace the macros it provides by macros +from other packages. + +---------------------------------------------------------------- +semtex -- For stripped SemanTeX documents +Maintained by Sebastian Ørsted +E-mail: sorsted@gmail.com +Released under the LaTeX Project Public License v1.3c or later +See http://www.latex-project.org/lppl.txt +---------------------------------------------------------------- + +Copyright (C) 2020 by Sebastian Ørsted <sorsted@gmail.com> + +The package is loaded via \usepackage{semantex} + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License (LPPL), either +version 1.3c of this license or (at your option) any later +version. The latest version of this license is in the file: + +http://www.latex-project.org/lppl.txt + +This work is "maintained" (as per LPPL maintenance status) by +Sebastian Ørsted.
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/semtex/semtex.pdf b/Master/texmf-dist/doc/latex/semtex/semtex.pdf Binary files differnew file mode 100644 index 00000000000..5ac49589d83 --- /dev/null +++ b/Master/texmf-dist/doc/latex/semtex/semtex.pdf diff --git a/Master/texmf-dist/doc/latex/semtex/semtex.tex b/Master/texmf-dist/doc/latex/semtex/semtex.tex new file mode 100644 index 00000000000..10805c37bd2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/semtex/semtex.tex @@ -0,0 +1,229 @@ +\documentclass[a4paper,article,oneside,english,10pt]{memoir} + +\makeatletter + +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage[noDcommand,slantedGreeks]{kpfonts} + +\frenchspacing + +\usepackage{mathtools,etoolbox, microtype,xspace,color} + +\usepackage[shortlabels]{enumitem}%control lists + +\usepackage[draft]{fixme} + +%Setup of memoir: +\pagestyle{plain} %change to heading for running headings +\nouppercaseheads %running heads should not be capitalized +\captionnamefont{\small} %captions with small font +\captiontitlefont{\small} +\makeevenhead{headings}{\thepage}{}{\itshape\leftmark} %make headings italic instead of slanted (though we do not use headings right now) +\makeoddhead{headings}{\itshape\rightmark}{}{\thepage} + +\setlrmarginsandblock{4cm}{*}{*} +\setulmarginsandblock{4cm}{*}{*} +\checkandfixthelayout + +\raggedbottomsectiontrue%less harse than \raggedbottom +%\allowdisplaybreaks %long equations may break + +\g@addto@macro\bfseries{\boldmath} %make math in bold text automatically bold + +\usepackage[english=american]{csquotes} + +\usepackage[hidelinks]{hyperref} + +\usepackage[nameinlink]{cleveref} + +\title{\texttt{semtex}: For stripped Seman\!\TeX\ documents (v$0.1\beta$)} +\date{\today} +\author{Sebastian Ørsted (\href{mailto:sorsted@gmail.com}{sorsted@gmail.com})} + +\hypersetup{ + pdfauthor={Sebastian Ørsted}, + pdftitle={semtex: For stripped SemanTeX documents}, + %pdfsubject={}, + %pdfkeywords={}, + %pdfproducer={Latex with hyperref, or other system}, + %pdfcreator={pdflatex, or other tool}, +} + +\usepackage{showexpl} + +\lstset{% + language=[LaTeX]TeX, + basicstyle=\ttfamily\small, + commentstyle=\itshape\ttfamily\small, + alsoletter={\\}, + escapechar=@, + breaklines=true, + breakindent={0pt}, + captionpos=t, + pos=r, + tabsize=2, + %inputencoding=utf8, + explpreset={numbers=none,}, + texcl=false, + wide=false, + width=.45\textwidth, +} + +\newcommand\mylst{\lstinline[mathescape]} + +\def\<#1\>{\textrm{\textlangle\textit{#1}\textrangle}} + +\def\usercommand\<#1\>{\textrm{\textbackslash\textlangle\textit{#1}\textrangle}} + +\def\values\<#1\>{\textrm{\textlangle\textup{#1}\textrangle}} + +\def\num#1{\textsubscript{\textup{#1}}} + +\newcommand\default[1]{\smash{\underline{\smash{#1}}}} + +\newcommand\commandname[1]{\textbackslash\texttt{#1}} + +\let\pack=\texttt + +\newcommand\semantex{Seman\!\TeX\xspace} + +\newcommand\stripsemantex{\texttt{stripsemantex}\xspace} + +\usepackage{hologo} + +% Setting up SemanTeX: + +\usepackage{semtex} + +\makeatother + +\begin{document} + +\maketitle + +\noindent +The package~\pack{semtex} is a small package +that adds a collection of simple macros for parentheses +and bullets. +It exists for one purpose only: +To be loaded by documents which were originally typeset +using the package \semantex, but which have been stripped +of \semantex markup using the package~\pack{stripsemantex}. +Therefore, unless your document is one of those, +simply \textbf{don't use this package}. + + +And even if your document \emph{is} one of those, there is a good chance +you will not have to load it after all. In most cases, you will be able to replace +the macros it provides by macros from other packages. + +\chapter*{Bullet commands} + +The package provides the commands \mylst!\SemantexBullet! and \mylst!\SemantexDoubleBullet!. +These commands print bullets which are smaller (and prettier, in my opinion) +than the standard \lstinline!\bullet! command from~\LaTeX: +\begin{LTXexample} +$ H^{\SemantexBullet} $, +$ H^{\SemantexDoubleBullet} $ +(compare to $H^{\bullet}$) +\end{LTXexample} +You can recreate them yourself as follows, rendering +the package \pack{semtex} unnecessary for this purpose: +\begin{lstlisting} +\newcommand\SemantexBullet{% + \raisebox{-0.25ex}{\scalebox{1.2}{$\cdot$}}% +} +\newcommand\SemantexDoubleBullet{% + \SemantexBullet\SemantexBullet +} +\end{lstlisting} + +\chapter*{Replacements for \texorpdfstring{\textbackslash\texttt{left} and~\textbackslash\texttt{right}}{\left and \right}} + +The package provides the commands \mylst!\SemantexLeft! +and~\mylst!\SemantexRight! +These work just like \lstinline!\left...\right!, but fix some spacing issues +around these: +\begin{LTXexample} +\[ + \SemantexLeft( + \frac{1}{2} + \SemantexRight] +\] +\end{LTXexample} +They are completely equivalent to~\lstinline!\mleft! and~\lstinline!\mright! +from the package~\pack{mleftright}, so it is safe to just load that package +and replace the above commands by \lstinline!\mleft...\mright! instead. +Alternatively, you can recreate them yourself by +\begin{lstlisting} +\newcommand\SemantexLeft{% + \mathopen{}\mathclose\bgroup\left +} + +\newcommand\SemantexRight{% + \aftergroup\egroup\right +} +\end{lstlisting} + +\chapter*{Commands for scaled delimiters} + +First and foremost, the package provides the command +\begin{lstlisting} +\SemantexParentheses{@\values\<normal|auto|*|{\textit{other}}\>@}{@\<left parenthesis\>@}!\\ + {@\<right parenthesis\>@}{@\<content\>@} +\end{lstlisting} +This one writes \<content\> enclosed in the pair of parentheses +and with the size given by the first argument. +Here,~\lstinline!normal! means normal size +parentheses, +and \lstinline!auto! and~\lstinline!*! +mean auto-scaled parentheses using~\lstinline!\SemantexLeft...\SemantexRight!. +If another value is received, that value +is used for the parenthesis size, +so the intended values are~\lstinline!\big!, \lstinline!\Big!, +\lstinline!\bigg!,~\lstinline!\Bigg!: +\begin{LTXexample} +$\SemantexParentheses{normal}{(}{ + )}{\frac{a}{b}}$, +$\SemantexParentheses{auto}{[}{]}{ + \frac{a}{b}}$, +$\SemantexParentheses{\big}{ + \langle}{\rangle}{\frac{a}{b}}$, +$\SemantexParentheses{\Bigg}{\{}{ + \}}{\frac{a}{b}}$, +\end{LTXexample} +The important property of this command +is that inside the~\<content\>, you can access +the delimiter size at any point using +the command~\lstinline!\SemantexDelimiterSize!: +\begin{LTXexample} +$\SemantexParentheses{\Bigg}{\{}{\}}{ + \frac{a}{b} + \SemantexDelimiterSize| + \frac{u}{v} +}$ +\end{LTXexample} + +Secondly, the package provides the command +\begin{lstlisting} +\SemantexNoParentheses{@\<content\>@} +\end{lstlisting} +This command prints the content with no parentheses, but importantly, it also resets +the command \lstinline!\SemantexDelimiterSize! +to~\lstinline!{}!, i.e.~blank. +This makes the following work: +\begin{LTXexample} +$\SemantexParentheses{\Bigg}{\{}{\}}{ + \frac{a}{b} + \SemantexDelimiterSize| + \SemantexNoParentheses{ + a + \SemantexDelimiterSize| + b + } +}$ +\end{LTXexample} + +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/semtex/semtex.sty b/Master/texmf-dist/tex/latex/semtex/semtex.sty new file mode 100644 index 00000000000..1824d0389cf --- /dev/null +++ b/Master/texmf-dist/tex/latex/semtex/semtex.sty @@ -0,0 +1,83 @@ +\RequirePackage{xparse} +\ProvidesExplPackage{semtex}{2020/09/07}{0.1beta}{} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% semtex -- for documents stripped of SemanTeX markup % +% https://ctan.org/pkg/semantex % +% (C) 2020 Sebastian Ørsted % +% sorsted@gmail.com % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Bullets: + +\box_new:N \g__semantex_bullet_box +\hbox_set:Nn \g__semantex_bullet_box { $\cdot$ } +\box_scale:Nnn \g__semantex_bullet_box {1.2} {1.2} +\tl_set:Nn\g_semantex_bullet +{ + \box_move_up:nn{-0.25ex}{\box_use:N \g__semantex_bullet_box} +} + +\tl_set:Nn\g_semantex_double_bullet{\g_semantex_bullet \g_semantex_bullet} + +\tl_set_eq:NN\SemantexBullet \g_semantex_bullet + +\tl_set_eq:NN \SemantexDoubleBullet \g_semantex_double_bullet + + +% Parentheses: + +\cs_new:Npn\SemantexLeft { \mathopen{}\mathclose\bgroup\left } + +\cs_new:Npn\SemantexRight { \aftergroup\egroup\right } + +\tl_new:N\SemantexDelimiterSize + +\DeclareDocumentCommand\SemantexParentheses { mmmm } +{ + \str_case:nnF { #1 } % This is where \big,\Big, etc. go. + { + { normal } { + \group_begin: + \tl_clear:N \SemantexDelimiterSize + \str_if_eq:nnF { #2 } { . } { \mathopen #2 } + #4 + \str_if_eq:nnF { #3 } { . } { \mathclose #3 } + \group_end: + } + { auto } { + \group_begin: + \tl_set_eq:NN \SemantexDelimiterSize \middle + \SemantexLeft #2 + #4 + \SemantexRight #3 + \group_end: + } + { * } { + \group_begin: + \tl_set_eq:NN \SemantexDelimiterSize \middle + \SemantexLeft #2 + #4 + \SemantexRight #3 + \group_end: + } + } + { + \group_begin: + \tl_set_eq:NN\SemantexDelimiterSize #1 + \mathopen #1 #2 + #4 + \mathclose #1 #3 + \group_end: + } +} + +\DeclareDocumentCommand\SemantexNoParentheses { m } +{ + \group_begin: + \tl_clear:N\SemantexDelimiterSize + #1 + \group_end: +}
\ No newline at end of file diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index edad1f07648..128592efd1a 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -663,7 +663,7 @@ my @TLP_working = qw( sdaps sdrt sduthesis secdot secnum section sectionbox sectionbreak sectsty seealso selectp selinput selnolig semantex semantic semantic-markup semaphor - seminar semioneside semproc sepfootnotes sepnum seqsplit + seminar semioneside semproc semtex sepfootnotes sepnum seqsplit serbian-apostrophe serbian-date-lat serbian-def-cyr serbian-lig sesamanuel sesstime setdeck setspace seuthesis seuthesix sexam sf298 sffms sfg diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc index c6d50d6b6e1..73c77d3ea0e 100644 --- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc @@ -1053,6 +1053,7 @@ depend semantic depend semantic-markup depend semioneside depend semproc +depend semtex depend sepfootnotes depend seqsplit depend sesstime diff --git a/Master/tlpkg/tlpsrc/semtex.tlpsrc b/Master/tlpkg/tlpsrc/semtex.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/Master/tlpkg/tlpsrc/semtex.tlpsrc |