summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/semtex/semtex.tex
blob: 67f8d548bf0dd194029adf9dfbb6f6c73bb42d3e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
\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 (v0.45)}
\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.
They are (of course) based on code by egreg, see \url{tex.stackexchange.com/a/564506/19809}.
\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}
\usepackage{graphicx}

\makeatletter
\DeclareRobustCommand\SemantexBullet{%
  \mathord{\mathpalette\SemantexBullet@{0.5}}%
}
\newcommand\SemantexBullet@[2]{%
  \vcenter{\hbox{\scalebox{#2}{$\m@th#1\bullet$}}}%
}
\DeclareRobustCommand\SemantexDoubleBullet{\SemantexBullet \SemantexBullet}
\makeatother
\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}

\end{document}