blob: 8fc23e05346dea9b3b232df80150466682fb40ee (
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
|
to do list
* Separate arrows, possibility to add them to curves.
* Conversion pt -> bp will omit the scale factor at the output. (multiplying
the dimension by 0.99626401 before removing pt).
* Add operator for rotation. (Otherwise graphics should be used.)
*? Test slope coordinates to be real number (see below), not rounded to zero.
Ths is pribably not necessary - too complicated, waste of computer time and
with almost no interesting effect.
\def\pIIe@tilldot #1.{#1}
\def\pIIe@RealToParts #1.#2:#3#4{%
\def #3{#1}%
\ifx #3\empty \edef #3{0}\else \ifx #3\space \edef #3{0}\fi\fi
\def #4{#2}
\ifx #4\empty
\def#4{0}%
\else
\edef #4{.\expandafter\pIIe@tilldot #4}%
\fi}
\newcommand*\pIIe@checkslopeargs[2]{%
\pIIe@checkslopearg{#1}%
\pIIe@checkslopearg{#2}%
\ifdim #1\p@=\z@ \ifdim #2\p@=\z@ \@badlinearg \fi \fi}
\newcommand*\pIIe@checkslopearg[1]{%
\def\@tempa{#1}\expandafter\pIIe@RealToParts\@tempa.:\@tempb\@tempc
\ifnum\@tempb<\z@ \edef\@tempb{-\@tempb}\fi
\ifnum \@tempb>16383
\@badlinearg
\else
\ifnum \@tempb=16383 \ifdim \@tempc\p@>.99998\p@ \@badlinearg \fi \fi
\fi}
\newcommand*\pIIe@checkslopeargsvector[2]{%
\pIIe@checkslopeargs{#1}{#2}%
\@tempdima #1\p@ \ifdim \@tempdima>1000\p@ \@badlinearg \fi
\@tempdima #2\p@ \ifdim \@tempdima>1000\p@ \@badlinearg \fi}
\def\@badlinearg{\PackageError
{pict2e}{Bad \protect\line\space or \protect\vector\space argument}{}}
|