summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/frege/frege.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-08-15 23:11:17 +0000
committerKarl Berry <karl@freefriends.org>2012-08-15 23:11:17 +0000
commit918743319a7d3927555f1bf0ed598c6886bd700c (patch)
treea2d5a0cfd98707f73e66dcdb90d17de729f59895 /Master/texmf-dist/doc/latex/frege/frege.tex
parentda0e0b99c435f4dbdf0423f98a795ea6410b05e7 (diff)
frege (15aug12)
git-svn-id: svn://tug.org/texlive/trunk@27417 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/frege/frege.tex')
-rw-r--r--Master/texmf-dist/doc/latex/frege/frege.tex216
1 files changed, 149 insertions, 67 deletions
diff --git a/Master/texmf-dist/doc/latex/frege/frege.tex b/Master/texmf-dist/doc/latex/frege/frege.tex
index 36b0041286f..67758fc6d35 100644
--- a/Master/texmf-dist/doc/latex/frege/frege.tex
+++ b/Master/texmf-dist/doc/latex/frege/frege.tex
@@ -1,5 +1,5 @@
\documentclass[12pt]{article}
-\usepackage{frege}
+\usepackage[bguq]{frege}
\usepackage{amsmath}
%% For condensed itemize:
@@ -23,7 +23,29 @@
\begin{document}
\maketitle
\section{Background}
-\subsection{begriff.sty}
+\subsection{Motivation for this Package}
+ I recently decided to read Frege's \emph{Begriffsschrift} from 1879 and found that
+ the only copy I could find online was a rather poor quality scan of the original.
+ Since the copyright on german publications expires some 70 or so years after the
+ death of their author, I had the bright idea to combine reading the paper with
+ the making of an electronic copy. This required the typesetting of begriffsschrift.
+ A quick search on the internet assured me that there was a LaTeX package for just
+ this purpose, and off I went. However I quickly noticed that it would be very
+ difficult to achieve a typesetting I deemed sufficiently close to the original
+ using only the package \emph{begriff} by Josh Parsons. Despite the fact that I
+ have never written a LaTeX package before, a quick look at the source file (only
+ some 300 or so lines with plenty of comments) along with some head scratching
+ convinced me to embark on this further project.
+
+ With the help of the begriff package and the good people on Stack-Exchange, I
+ eventually produced a package that was able to do everything that the original
+ begriff package can, albeit with a few changes I consider an improvement. Further
+ versions largely reflect additional features I added as I continue to type up
+ Frege's original paper, as well as bug fixes and input by members of the LaTeX
+ community. Once I am done I will add the tex file for Fege's paper as the
+ definitive example for the usage of this package.
+
+\subsection{The \emph{begriff} Package}
This package is based on begriff.sty released under the GNU General Public
License.
Copyright (C) 2003 by Josh Parsons (josh@coombs.anu.edu.au) with changes made in
@@ -34,27 +56,18 @@
package from the ground up, to the point where some of the underlying approaches
have changed. On the downside this means there is no simple way of converting
anything typeset using begriff.sty to use this package instead. I felt this was
- necessary to achieve a end result I was happy with.
-
-\subsection{GNU General Public License}
- This package and all accompanying documentation is released under the GNU General
- Public License. It is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation; either version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ necessary to achieve an end result I was happy with.
- You should have received a copy of the GNU General Public License along with this
- program; if not, write to the Free Software Foundation, Inc., 59 Temple Place -
- Suite 330, Boston, MA 02111, USA. (or just search for it online... Seriously.)
+\subsection{The \emph{bguq} Package}
+ Since version 1.3 I added the option to use the bguq character for all
+ quantifiers. This character is provided by the bguq package by J.J. Green.
+\section{Version History}
\subsection{Changes as Compared to begriff.sty}
\squishlist
- \item correct relative lengths of the content stroke with respect to other
- strokes attached to it;
- \item content strokes point at the middle of the followint symbols, rather
+ \item correct (closer to the original typesetting) relative lengths of the
+ content stroke with respect to other strokes attached to it;
+ \item content strokes point at the middle of the following symbols, rather
than the bottom;
\item greater width for the assertion stroke as compared to the content stroke;
\item a more intuitive structure for the conditional (arguments are now given in
@@ -68,7 +81,7 @@
\subsection{Changes in Version 1.1}
\squishlist
- \item added a optional scale factor to all basic strokes;
+ \item added an optional scale factor to all basic strokes;
\item simplified the code for Fbracket in terms of that for Fbox;
\item rearranged the code in the style file in a more logical way;
\squishlistend
@@ -77,49 +90,86 @@
\squishlist
\item added a new command ``Fargument'' for typesetting arguments;
\item added a new command ``Fstrut'' to be used in conjunction with Fargument;
- \item changed Fbaselength to be equal to the full length of a basi stroke (20pt);
+ \item changed Fbaselength to be equal to the full length of a basic stroke (20pt);
\item fixed a bug where the scale factor introduced in version 1.1 does not reset
after all uses;
\squishlistend
+\subsection{Changes in Version 1.3}
+ \squishlist
+ \item made the ``():'' used in the Fargument command introduced in version 1.2
+ user defined so as to make the option properly optional;
+ \item added a strut to Fargument so as to produce visually correct centering;
+ \item added optional shorthands for all commands for a better flow of usage;
+ \item added the option ``bguq'' to the package which uses the bguq font by J.J.
+ Green for all quantifiers;
+ \squishlistend
+
\subsection{Changes and Features yet to come}
\squishlist
- \item incorporation of other frege related material such as fge.sty so as to put
- all frege related material in a single package;
+ \item a way to display nested arguments;
+ \item the fregean conjunction (it exists);
\item a vertical shorthand stroke such as used by Frege for typesetting arguments
- in ``Begriffsschrift'';
+ in his original paper;
+ \item scaling symbols automatically with changes in font size;
+ \item scaling of the bguq character with changes in Flinewidth;
\squishlistend
\section{Features and Usage}
\subsection{Commands}
\subsubsection{Basic Commands}
The following is a list of the basic commands provided by this package along with
- accompanying output. The conditional is treated sepperately.
+ accompanying output and the optional shorthand for the command.
\begin{flalign*}
- &\mbox{\textbackslash Fcontent[1]} & &\Fcontent & & &\\
- &\mbox{\textbackslash Fncontent[1]} & &\Fncontent\\
- &\mbox{\textbackslash Fnncontent[1]} & &\Fnncontent\\
- &\mbox{\textbackslash Facontent[1]} & &\Facontent\\
- &\mbox{\textbackslash Fancontent[1]} & &\Fancontent\\
- &\mbox{\textbackslash Fanncontent[1]} & &\Fanncontent\\
- &\mbox{\textbackslash Fquant[1]\{a\}} & &\Fquant{a}\\
- &\mbox{\textbackslash Fnquant[1]\{a\}} & &\Fnquant{a}\\
- &\mbox{\textbackslash Fnnquant[1]\{a\}} & &\Fnnquant{a}\\
- &\mbox{\textbackslash Fquantn[1]\{a\}} & &\Fquantn{a}\\
- &\mbox{\textbackslash Fquantnn[1]\{a\}} & &\Fquantnn{a}\\
- &\mbox{\textbackslash Fnquantn[1]\{a\}} & &\Fnquantn{a}\\
- &\mbox{\textbackslash Fnquantnn[1]\{a\}} & &\Fnquantnn{a}\\
- &\mbox{\textbackslash Fnnquantn[1]\{a\}} & &\Fnnquantn{a}\\
- &\mbox{\textbackslash Fnnquantnn[1]\{a\}} & &\Fnnquantnn{a}\\
- &\mbox{\textbackslash Faquant[1]\{a\}} & &\Faquant{a}\\
- &\mbox{\textbackslash Fanquant[1]\{a\}} & &\Fanquant{a}\\
- &\mbox{\textbackslash Fannquant[1]\{a\}} & &\Fannquant{a}\\
- &\mbox{\textbackslash Faquantn[1]\{a\}} & &\Faquantn{a}\\
- &\mbox{\textbackslash Faquantnn[1]\{a\}} & &\Faquantnn{a}\\
- &\mbox{\textbackslash Fanquantn[1]\{a\}} & &\Fanquantn{a}\\
- &\mbox{\textbackslash Fanquantnn[1]\{a\}} & &\Fanquantnn{a}\\
- &\mbox{\textbackslash Fannquantn[1]\{a\}} & &\Fannquantn{a}\\
- &\mbox{\textbackslash Fannquantnn[1]\{a\}} & &\Fannquantnn{a}\\
+ &\mbox{Command:} & &\mbox{Output:} & &\mbox{Shorthand:}\\
+ &\mbox{\textbackslash Fcontent[1]} & &\Fcontent
+ & &\mbox{\textbackslash F[1]}\\
+ &\mbox{\textbackslash Fncontent[1]} & &\Fncontent
+ & &\mbox{\textbackslash Fn[1]}\\
+ &\mbox{\textbackslash Fnncontent[1]} & &\Fnncontent
+ & &\mbox{\textbackslash Fnn[1]}\\
+ &\mbox{\textbackslash Facontent[1]} & &\Facontent
+ & &\mbox{\textbackslash Fa[1]}\\
+ &\mbox{\textbackslash Fancontent[1]} & &\Fancontent
+ & &\mbox{\textbackslash Fan[1]}\\
+ &\mbox{\textbackslash Fanncontent[1]} & &\Fanncontent
+ & &\mbox{\textbackslash Fann[1]}\\
+ &\mbox{\textbackslash Fquant[1]\{a\}} & &\Fquant{a}
+ & &\mbox{\textbackslash Fq[1]}\\
+ &\mbox{\textbackslash Fnquant[1]\{a\}} & &\Fnquant{a}
+ & &\mbox{\textbackslash Fnq[1]\{a\}}\\
+ &\mbox{\textbackslash Fnnquant[1]\{a\}} & &\Fnnquant{a}
+ & &\mbox{\textbackslash Fnnq[1]\{a\}}\\
+ &\mbox{\textbackslash Fquantn[1]\{a\}} & &\Fquantn{a}
+ & &\mbox{\textbackslash Fqn[1]\{a\}}\\
+ &\mbox{\textbackslash Fquantnn[1]\{a\}} & &\Fquantnn{a}
+ & &\mbox{\textbackslash Fqnn[1]\{a\}}\\
+ &\mbox{\textbackslash Fnquantn[1]\{a\}} & &\Fnquantn{a}
+ & &\mbox{\textbackslash Fnqn[1]\{a\}}\\
+ &\mbox{\textbackslash Fnquantnn[1]\{a\}} & &\Fnquantnn{a}
+ & &\mbox{\textbackslash Fnqnn[1]\{a\}}\\
+ &\mbox{\textbackslash Fnnquantn[1]\{a\}} & &\Fnnquantn{a}
+ & &\mbox{\textbackslash Fnnqn[1]\{a\}}\\
+ &\mbox{\textbackslash Fnnquantnn[1]\{a\}} & &\Fnnquantnn{a}
+ & &\mbox{\textbackslash Fnnqnn[1]\{a\}}\\
+ &\mbox{\textbackslash Faquant[1]\{a\}} & &\Faquant{a}
+ & &\mbox{\textbackslash Faq[1]\{a\}}\\
+ &\mbox{\textbackslash Fanquant[1]\{a\}} & &\Fanquant{a}
+ & &\mbox{\textbackslash Fanq[1]\{a\}}\\
+ &\mbox{\textbackslash Fannquant[1]\{a\}} & &\Fannquant{a}
+ & &\mbox{\textbackslash Fannq[1]\{a\}}\\
+ &\mbox{\textbackslash Faquantn[1]\{a\}} & &\Faquantn{a}
+ & &\mbox{\textbackslash Faqn[1]\{a\}}\\
+ &\mbox{\textbackslash Faquantnn[1]\{a\}} & &\Faquantnn{a}
+ & &\mbox{\textbackslash Faqnn[1]\{a\}}\\
+ &\mbox{\textbackslash Fanquantn[1]\{a\}} & &\Fanquantn{a}
+ & &\mbox{\textbackslash Fanqn[1]\{a\}}\\
+ &\mbox{\textbackslash Fanquantnn[1]\{a\}} & &\Fanquantnn{a}
+ & &\mbox{\textbackslash Fanqnn[1]\{a\}}\\
+ &\mbox{\textbackslash Fannquantn[1]\{a\}} & &\Fannquantn{a}
+ & &\mbox{\textbackslash Fannqn[1]\{a\}}\\
+ &\mbox{\textbackslash Fannquantnn[1]\{a\}} & &\Fannquantnn{a}
+ & &\mbox{\textbackslash Fannqnn[1]\{a\}}\\
\end{flalign*}
This may seem like a daunting list, but there is an exceedingly simple way to think
about it. In a sense there are only two commands \textbackslash Fcontent[1] and
@@ -127,7 +177,7 @@
combination of as and ns so as to add assertion and negation strokes respectively.
Any stroke that is asserted (has a fat vertical line at the start) starts with
`\textbackslash Fa'. This may be followed by either one or two or no `n' to add one
- or two or no negation strokes (the small vertical lines below the assertion
+ or two or no negation strokes (the small vertical lines below the content
stroke). Next comes the name of the main command, either `quant' or `content'.
Finally the quantifiers may be followed by either one or two `n' to add one or two
negation strokes to the content stroke after the quantifier's depression.
@@ -168,6 +218,8 @@
\textbackslash Fconditional[\textless option\textgreater]
\{\textless consequent\textgreater\}\{\textless antecedent\textgreater\}\\
+ The shorthand version (since version 1.3) is given by ``\textbackslash Fcdt''.
+
The arguments may in principle be anything, but you will only get a begriffschrift
formula if the arguments are themselves given by appropriate commands from the list
of basic commands given earlier. As an example, an asserted conjunction between $A$
@@ -209,9 +261,12 @@
\subsubsection{Brackets and Boxes}
There are two more commands to be considered:
- \textbackslash Fbracket\{\textless complex expression\textgreater\}
-
\textbackslash Fbox\{\textless complex expression\textgreater\}\\
+ The shorthand version (since version 1.3) is given by \textbackslash Fb\{\}
+
+ \textbackslash Fbracket\{\textless complex expression\textgreater\}\\
+ The shorthand version (since version 1.3) is given by \textbackslash Fbb\{\}
+
Both Fbox and Fbracket take what I have called a `complex expression' for their
argument. A `complex expression' is any formula in begriffsschrift that has at
least one conditional in it. It is generally a good idea to put all complex
@@ -223,7 +278,7 @@
The reason why the Fbox is a good idea, is that the baseline is very near the top of
a complex expression of Begriffsschrift, which can make for some odd formatting
- effects. In addition to placing the baseline at the middel of a complex expression
+ effects. In addition to placing the baseline at the middle of a complex expression
an Fbox ensures the expression is treated by LaTeX as a single object and given
enough space.
@@ -231,20 +286,22 @@
the align* environment for example) unless it is placed in an Fbox. In short,
always use an Fbox (or Fbracket).
-\subsection{Arguments and Struts}
- Since version 1.2 two arguments have been added that allow for the typesetting of
+\subsubsection{Arguments and Struts}
+ Since version 1.2 two commands have been added that allow for the typesetting of
arguments. The syntax for the argument command is as follows:
- \textbackslash Fargument[\textless absent premise\textgreater]\{\textless premise
+ \textbackslash Fargument[\textless premise 0\textgreater]\{\textless premise
1\textgreater\}\{\textless premise 2\textgreater\}\{\textless conclusion
\textgreater\}\\
- In the following esample the optional argument for the absent premise takes the
- value `$X$' the premises are the two formulas above the therfore line and the
- conclusion is the formula below the therefore line. The Begriffschrift expressions
- in the arguments of the Fargument command do not need to be placed in an Fbox,
- since the Fargument command works by boxing it's arguments allready.
+ The shorthand version (since version 1.3) is given by \textbackslash Farg
+
+ In the following esample the optional argument for premise 0 (an absent premise
+ takes the value `$(X):$' the premises are the two formulas above the therfore line
+ and the conclusion is the formula below the therefore line. The Begriffschrift
+ expressions in the arguments of the Fargument command do not need to be placed in
+ an Fbox, since the Fargument command works by boxing it's arguments allready.
\begin{align*}
- \Fargument[X]
+ \Fargument[(X):]
{\Fconditional[\Facontent]
{\Fcontent[2] A}
{\Fcontent\Fconditional{\Fcontent B}{\Fcontent C}}}
@@ -256,9 +313,10 @@
The three begriffsschrift formulas above are in fact aligned leftbound. To make
them appear rightbound no matter what the relative lengths of $A$, $B$, and $C$,
the command ``Fstrut'' has been used in front of $\Facontent C$ and $\Facontent A$.
- The command \textbackslash Fstrut[1] works exactly like an invisible content
+ The command ``\textbackslash Fstrut[1]'' works exactly like an invisible content
stroke, that is it inserts space of length Fbaselength. Like all basic strokes it
- can be scaled via an optional scale factor.
+ can be scaled via an optional scale factor. Since version 1.3 it may be called by
+ the optional shorthand ``\textbackslash Fs''
\subsection{Lengths}
In theory all the dimensions in this package can be changed with the command
@@ -288,6 +346,18 @@
the conditionals argument, as well as the baselineskip of the surrounding text. It
cannot be changed manually.
+\subsection{The \emph{bguq} Option}
+ Since version 1.3 this package may be called with the option ``bguq'' as follows: \\
+ \textbackslash usepackage[bguq]\{frege\}\\
+ If the option is enabled all quantifiers will be typeset using the bguq font
+ provided by the bguq package by J.J. Green. (This document is typeset using the
+ option). This means that the bguq package must be installed if the option is
+ enabled. (It can be found on ctan).
+
+ Warning: At present the bguq character scales with font size while the rest of the
+ symbols provided by this package do not. Also the bguq character does not respond
+ to a change in Flinewidth.
+
\subsection{Final Example}
The Geach-Kaplan sentance (with thanks to Marcus Rossberg):
\begin{align*}
@@ -330,7 +400,19 @@
\end{align*}
And that is all. \\
For comments, suggestions, identified errors, email me at \\
- \textless Q.Pamp.2009 at my.bristol.ac.uk\textgreater.
- % don't like storing my full email in a text file on the interneti,
- % so I replaced the @ with " at ";
+ \textless Q.Pamp.2009@my.bristol.ac.uk\textgreater.
\end{document}
+
+\section{GNU General Public License}
+ This package and all accompanying documentation is released under the GNU General
+ Public License. It is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License as published by the Free Software
+ Foundation; either version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along with this
+ program; if not, write to the Free Software Foundation, Inc., 59 Temple Place -
+ Suite 330, Boston, MA 02111, USA. (Or just search for it online.)