summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/begriff
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2006-10-16 22:41:24 +0000
committerNorbert Preining <preining@logic.at>2006-10-16 22:41:24 +0000
commit01bcc21ef0b9d24777341435c9cd374b8bec277c (patch)
tree62daf0dd1fdfb2d1082700b96549a15bb113629f /Master/texmf-dist/tex/latex/begriff
parentf49882695874c86c49858e86a785528bdd0a2358 (diff)
add begriff to tpm-ctan-check, update it
git-svn-id: svn://tug.org/texlive/trunk@2336 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/begriff')
-rw-r--r--Master/texmf-dist/tex/latex/begriff/begriff.sty64
1 files changed, 52 insertions, 12 deletions
diff --git a/Master/texmf-dist/tex/latex/begriff/begriff.sty b/Master/texmf-dist/tex/latex/begriff/begriff.sty
index 537907d088a..db4b0c036a9 100644
--- a/Master/texmf-dist/tex/latex/begriff/begriff.sty
+++ b/Master/texmf-dist/tex/latex/begriff/begriff.sty
@@ -1,4 +1,4 @@
-% begriff.sty - a LaTeX2e package for typesetting begriffsschrift
+% begriffHeck.sty - a LaTeX2e package for typesetting begriffsschrift
% Copyright (C) 2003 by Josh Parsons <josh@coombs.anu.edu.au>
%
@@ -17,31 +17,42 @@
% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111,
% USA.
+% Changes made in October 2004 by Richard Heck <heck@fas.harvard.edu>
+% Purpose of changes: To make the format of the formulae closer to how
+% they are set in Frege's published works.
+%
+% Minor changes by Josh Parsons to fix problem with linespacing (May 2005)
+
%%% identification
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{begriff}
%%% initial code
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% thickness of lines
\newlength{\BGthickness}
\setlength{\BGthickness}{0.4pt}
% additional length after a quantifier, conditional, negation, or assertion
\newlength{\BGafterlen}
-\setlength{\BGafterlen}{7pt}
+\setlength{\BGafterlen}{2pt}
% additional length before a quantifier, conditional, or negation
\newlength{\BGbeforelen}
-\setlength{\BGbeforelen}{5pt}
+\setlength{\BGbeforelen}{2pt}
% space inserted before a formula
\newlength{\BGspace}
\setlength{\BGspace}{3pt}
% total width of diagram
+% Heck (10/2004): Due to changes below, this is the total width of the DIAGRAM
+% and does not include the width of the terminal formulae. In previous versions,
+% it did include them.
\newlength{\BGlinewidth}
\setlength{\BGlinewidth}{\linewidth}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% options
%\DeclareOption{nothanks}{
@@ -53,8 +64,9 @@
%%% package dependencies
%%% main code
-\typeout{Begriffsschrift: 15 Nov 2003}
+\typeout{Begriffsschrift: 20 May 2005}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% variable-sized parenthesis
\newcommand{\BGbracket}[1]{%
\setbox0=\hbox{\ensuremath{#1}}%
@@ -63,6 +75,7 @@
\left(\vbox to \dp0 {\vskip.5\baselineskip\box0\vss}\right)%
}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% generate a terminal node with fill-line to the left
\newcommand{\BGterm}[1]{\unskip%
\setbox0=\hbox{%
@@ -71,13 +84,18 @@
\vrule height \BGthickness width \BGafterlen depth 0pt%
\ensuremath{\hskip\BGspace #1}%
}%
-\addtolength{\BGlinewidth}{-\wd0}%
+% Heck (10/2004): Removed the following line, so that the terminal formulae will
+% be left-aligned, as in Frege's published works.
+%\addtolength{\BGlinewidth}{-\wd0}%
\vrule height \BGthickness width \BGlinewidth depth 0pt%
\box0%
\setlength{\BGlinewidth}{0pt}%
}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% box up some maths and subtract its width from linewidth
+% Heck (10/2004): Because of the changes above, this should no longer be needed.
+% It remains for compatibility with previous versions.
\newcommand{\BGstem}[1]{\unskip%
\setbox0=\hbox{%
\setlength{\BGlinewidth}{0pt}%
@@ -88,12 +106,13 @@
\hskip\BGspace%
}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% generate a conditional \BGconditional{antecedent}{consequent}
\newcommand{\BGconditional}[2]{\unskip%
\addtolength{\BGlinewidth}{-\BGbeforelen}%
\setbox0=\hbox{%
\addtolength{\BGlinewidth}{-\BGafterlen}%
-\vrule height \baselineskip depth 0pt width 0pt% strut
+\vrule height \baselineskip depth 3pt width 0pt% strut
\vrule height \BGthickness width \BGafterlen depth 0pt%
\ensuremath{\hskip\BGspace #1}%
}%
@@ -115,6 +134,7 @@
}%
}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% generate an assertion sign
\newcommand{\BGassert}[0]{%
\addtolength{\BGlinewidth}{-\BGafterlen}%
@@ -124,6 +144,7 @@
\hskip \BGspace%
}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% generate a content stroke
\newcommand{\BGcontent}[0]{%
\addtolength{\BGlinewidth}{-\BGafterlen}%
@@ -131,33 +152,52 @@
\hskip \BGspace%
}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% generate a negation
\newcommand{\BGnot}[0]{\unskip%
\addtolength{\BGlinewidth}{-\BGbeforelen}%
\addtolength{\BGlinewidth}{-\BGafterlen}%
\vrule width \BGbeforelen height \BGthickness depth 0pt%
\kern-\BGthickness%
-\vrule width \BGthickness height \BGthickness depth 5pt%
+\vrule width \BGthickness height \BGthickness depth 3pt%
\vrule depth 0pt height \BGthickness width \BGafterlen%
\hskip \BGspace%
}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% generate a universal quantifier
\newcommand{\BGquant}[1]{\unskip%
\addtolength{\BGlinewidth}{-\BGbeforelen}%
-\addtolength{\BGlinewidth}{-10pt}%
+\addtolength{\BGlinewidth}{-8pt}%
\addtolength{\BGlinewidth}{-\BGafterlen}%
\hbox{%
\vrule width \BGbeforelen height \BGthickness depth 0pt%
\setlength{\unitlength}{1pt}%
\kern-\BGthickness%
-\begin{picture}(10,0)(0,0)%
+\begin{picture}(8,0)(0,0)%
\linethickness{\BGthickness}%
-\qbezier(0,0)(5,-5)(10,0)%
+\qbezier(0,0)(4,-4)(8,0)%
\end{picture}%
-\kern-10pt%
-\vbox{\hbox to 10pt {\hskip1pt\hskip\BGthickness\hss$_{#1}$\hss}\vskip1pt}%
+\kern-8pt%
+% Heck (10/2004): Added "\mathfrak", since variables are always fraktur over quantifiers
+\vbox{\hbox to 8pt {\hskip1pt\hskip\BGthickness\hss$_{\mathfrak{#1}}$\hss}\vskip1pt}%
\vrule width \BGafterlen height \BGthickness depth 0pt%
}%
\hskip\BGspace%
}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Heck (10/2004): Convenience functions
+% Heck: What I'd like to do is add another (optional) argument to
+% \BGif, so that if it is p, the premise is treated as \BGterm;
+% if it is c, the conculsion is; if it is d, both are. But this will
+% do for now.
+\newcommand{\BGif}[2]{\BGconditional{#1}{#2}}
+% Treat premise as a terminal node
+\newcommand{\BGifp}[2]{\BGconditional{\BGterm{#1}}{#2}}
+% Treat conclusion as a terminal node
+\newcommand{\BGifc}[2]{\BGconditional{#1}{\BGterm{#2}}}
+% Treat both as terminal nodes
+\newcommand{\BGifb}[2]{\BGconditional{\BGterm{#1}}{\BGterm{#2}}}
+\newcommand{\BGneg}[0]{\BGnot}
+\newcommand{\BGall}[1]{\BGquant{#1}}