% \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 ! % %\NeedsTeXFormat{LaTeX2e} %\ProvidesPackage{bguq} %<-driver> [2012/08/05 0.4 % 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} % % \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} % % \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