2

So, I have been working on writing a package for typesetting "fregean Begriffsschrift". While working on the universal quantifier, I tried raising the semi circular depression in the content stroke, made in a picture environment using the \raisebox command. This has worked fine with respect to raising the picture to the hight I want, but it also inserted 4pt. worth of white space to the left of my picture environment, creating a gap I don't want. I found it possible to get rid of this unwanted space using \kern, however I would like to know exactly why the white space appears.

\newlength{\temp}
\newlength{\Fbaselength}
\setlength{\Fbaselength}{10pt}
\newlength{\Flinewidth}
\setlength{\Flinewidth}{0.5pt}
\newlength{\Fspace}
\setlength{\Fspace}{2pt}
\newlength{\Fraisehight}
\setlength{\Fraisehight}{1ex}
\addtolength{\Fraisehight}{-\Flinewidth}
\newlength{\Fnegsep}
\setlength{\Fnegsep}{3\Flinewidth}
\newlength{\Fnegshort}
\setlength{\Fnegshort}{2\Flinewidth}
\newlength{\Fquantwidth}
\setlength{\Fquantwidth}{6pt}


%%% twice negated universal quantifier
\newcommand{\Fnnquant}[1]
{
  \unskip
  \setlength{\temp}{\Fbaselength}
  \addtolength{\temp}{-0.5\Fquantwidth}
  \addtolength{\temp}{-2\Flinewidth}
  \addtolength{\temp}{-\Fnegsep}
  \rule[\Fraisehight]{0.5\temp}{\Flinewidth}
  \setlength{\temp}{\Fraisehight}
  \addtolength{\temp}{\Flinewidth}
  \addtolength{\temp}{-\Fnegshort}
  \rule[\Fnegshort]{\Flinewidth}{\temp}
  \rule[\Fraisehight]{\Fnegsep}{\Flinewidth}
  \setlength{\temp}{\Fraisehight}
  \addtolength{\temp}{\Flinewidth}
  \addtolength{\temp}{-\Fnegshort}
  \rule[\Fnegshort]{\Flinewidth}{\temp}
  \setlength{\temp}{\Fbaselength}
  \addtolength{\temp}{-0.5\Fquantwidth}
  \addtolength{\temp}{-2\Flinewidth}
  \addtolength{\temp}{-\Fnegsep}
  \rule[\Fraisehight]{0.5\temp}{\Flinewidth}
  \setlength{\unitlength}{\Fquantwidth}
  % \kern-4pt
  \raisebox{\Fraisehight}{
  \begin{picture}(1,0)(0,0)
    \linethickness{\Flinewidth}
    \qbezier(0,0)(0.5,-0.6666)(1,0)
  \end{picture}}
  %% \kern-\Fquantwidth
  %% \setlength{\temp}{0.5\Fquantwidth}
  %% \addtolength{\temp}{-0.45ex} 
  %% \vbox{\hbox to \Fquantwidth{\hskip\temp\ensuremath{^#1}}\vskip0.2\Fraisehight}
  \setlength{\temp}{\Fbaselength}
  \addtolength{\temp}{-0.5\Fquantwidth}
  \rule[\Fraisehight]{\temp}{\Flinewidth}
  \hskip\Fspace
}

The relevant bit of the code is that between the two sections that have been commented out.

JLDiaz
  • 55,732

1 Answers1

7

You are missing % at the ends of lines so getting spaces in your output.

\newcommand{\Fnnquant}[1]
{%%%%%%
  \unskip
  \setlength{\temp}{\Fbaselength}%%%%%%
  \addtolength{\temp}{-0.5\Fquantwidth}%%%%%%
  \addtolength{\temp}{-2\Flinewidth}%%%%%%
  \addtolength{\temp}{-\Fnegsep}%%%%%%
  \rule[\Fraisehight]{0.5\temp}{\Flinewidth}%%%%%%
  \setlength{\temp}{\Fraisehight}%%%%%%

etc etc

David Carlisle
  • 757,742