summaryrefslogtreecommitdiff
path: root/fonts/bguq/bguq.dtx
blob: 134c447b66a7f54d6995f9a73652a878cf5405c0 (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
177
178
179
180
181
182
% \iffalse meta-comment
%
% Copyright 2012  J.J. Green
% $Id: bguq.dtx,v 1.9 2012/08/05 15:39:27 jjg Exp $
% 
% Changes:
% 0.1 - 2012/07/16 - first working version
% 0.2 - 2012/07/18 - code tidying, comments
% 0.3 - 2012/07/19 - documentation fixes
% 0.4 - 2012/08/05 - made the stroke slightly rounder and lifted
%       the terminals to the middle (rather than the bottom) of
%       the horzontal stoke, this gives a better appearence for
%       very thick lines   
%
% \fi
%
% \CheckSum{844}
%% \CharacterTable
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
%
% \iffalse   % this is a METACOMMENT !
%
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{bguq}
%<-driver>             [2012/08/05 0.4
%<package>              Begriffsschrift universal quantifier package]
%
%<*driver>
\documentclass[10pt]{ltxdoc}
\OnlyDescription
\usepackage[8]{bguq}
\usepackage[bguq]{begriff-bguq}
\setlength{\BGthickness}{0.8pt}
\usepackage{amssymb}
\providecommand\dst{\expandafter{\normalfont\scshape docstrip}}
\renewcommand{\quad}{{\hskip1em plus 2em}}
\begin{document}
\DocInput{bguq.dtx}
\end{document}
%</driver>
% \fi
%
% \GetFileInfo{bguq.sty}
% \title{The \texttt{bguq} macro package for \LaTeXe}
% \author{J.J. Green}
% \date{Version \fileversion{} \filedate}
% \maketitle
%
% \setcounter{StandardModuleDepth}{1}
%
% \noindent
% This file defines the package |bguq| which provides \LaTeXe\ access
% to the \textit{Begriffsschrift} universal quantifier  ``$\bguq$'' 
% from the \texttt{bguq} font in a small number of sizes.  These are 
% are designed for setting the \textit{Begriffsschrift} diagrams used 
% by Frege.
% 
% The package takes a single option which is an integer between
% 4 and 12, this specifying the line-thickness of the quantifier 
% stroke in units of $1/10$\,pt for a document font-size of 10\,pt. 
% If the option is not specified then the value \texttt{8} will be 
% assumed. Note that the size of the symbol produced will depend on 
% the font size of the document (since the symbol needs to be wide 
% enough to accomodate the variable quantified) and the line-thickness 
% is scaled similarly --- in a 12\,pt document the line will be 1.2 
% times the thickness, and so on.     
%
% The package provides only two commands: the |\bguq| macro which, 
% in math-mode, produces the quantifer symbol, and |\bguqwidth| which 
% is a the width of the symbol (for use in fancy placement). It is not 
% expected that these commands will be used by end-users directly, 
% rather they are intended for package writers.
%
% Below we see the results in a test implementation in the 
% \texttt{begriff} package by Josh Parsons and Richard Heck:
% the Geach--Kaplan sentence (as orignally set by Marcus Rossberg).
% \[
% \setlength{\BGlinewidth}{1.0in}
% \BGnot \BGquant{\mathfrak{F}}%
% \BGconditional{
%   \BGquant{\mathfrak{c}}\BGquant{\mathfrak{d}}
%   \BGconditional{
%     \BGnot 
%     \BGconditional{
%       \BGterm{A(\mathfrak{c},\mathfrak{d})}
%     }{
%       \BGnot \BGterm{\mathfrak{F}(\mathfrak{c})}}
%   }{
%     \BGnot \BGconditional{
%       \BGterm{\mathfrak{F}(\mathfrak{d})}
%     }{
%       \BGterm{\mathfrak{c}=\mathfrak{d}}
%     }
%   }
% }{
%   \BGconditional{
%     \BGnot\BGquant{\mathfrak{b}}\BGnot\BGterm{\mathfrak{F}(\mathfrak{b})}
%   }{
%     \BGterm{f \BGbracket{\BGquant{\mathfrak{a}} \BGconditional{
%       \mathfrak{F}(\mathfrak{a})
%     }{
%       C(\mathfrak{a})
%     }}}
%   } 
% }
% \]
%
% \StopEventually{}
% 
% \section{The \dst{} modules}
% 
% The following modules are used in the implementation to direct
% \dst{} in generating the external files:
% \begin{center}
%   \begin{tabular}{ll}
%     driver  & produce a documentation driver file \\
%     package & produce a package file \\
%   \end{tabular}
% \end{center}
% 
% \section{The Implementation}
% \subsection{The macro package}
% 
%<*package>
% There is one font file for each possible thickness of
% the Begriff stroke, indicated by an integer giving the
% value in units of $1/10$pt.  We have an option for each
% of the integers $4,\ldots,12$, and that option detemines
% the variable |\bguqfont| (with default value for $8/10$pt).
%    \begin{macrocode}
\def\bguqfont{bguq08}
\DeclareOption{4}{\def\bguqfont{bguq04}}
\DeclareOption{5}{\def\bguqfont{bguq05}}
\DeclareOption{6}{\def\bguqfont{bguq06}}
\DeclareOption{7}{\def\bguqfont{bguq07}}
\DeclareOption{8}{\def\bguqfont{bguq08}}
\DeclareOption{9}{\def\bguqfont{bguq09}}
\DeclareOption{10}{\def\bguqfont{bguq10}}
\DeclareOption{11}{\def\bguqfont{bguq11}}
\DeclareOption{12}{\def\bguqfont{bguq12}}
\ProcessOptions\relax
%    \end{macrocode}
% The symbol font declared is just the value of |\bguqfont|.
%    \begin{macrocode}
\DeclareSymbolFont{\bguqfont}{U}{\bguqfont}{m}{n}
%    \end{macrocode}
% 
% There is a single special symbol defined from this font:
%    \begin{macrocode}
\DeclareMathSymbol{\bguq}{\mathord}{\bguqfont}{"20}
\newlength{\bguqwidth}
\settowidth{\bguqwidth}{\ensuremath\bguq}
%    \end{macrocode}
% The character sizing
%    \begin{macrocode}
\DeclareMathSizes{10}{10}{7}{5}
%    \end{macrocode}
%</package>
%    \end{macrocode}
% 
% The next line goes into all files and in addition prevents \dst{}
% from adding any further code from the main source file (such as a
% character table).
%    \begin{macrocode}
\endinput
%    \end{macrocode}
% 
% \DeleteShortVerb{\|}
% \Finale