summaryrefslogtreecommitdiff
path: root/support/qfig/qfig11a.doc
blob: 33a4ed6bd79cda10ed2e3284116300ba2282e090 (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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409

                       QFIG   (Ver.1.1a : 3/24/1997)

QFIG is a graphics program for LaTeX  for use on IBM Compatible PCs (MS-DOS and 
DOS/V). This is a version of the NEC PC9801 qfig 0.9c for IBM/J-3100 PCs.
The NEC version was written by MR T. Iwakuma (bear@hashi1.civil.tohoku.ac.jp) and 
modified for IBM/J-3100 PCs using Quick-Basic. 

	This program is free software; you can redistribute it and/or modify it at will, 
however, if you make modifications/bug fixes to this program, please contact me first for 
redistribution to prevent many different versions from appearing all over at the same 
time and also to keep other users up to date with improvements to QFIG. I would also 
appreciate it if our names are not removed from this document. This is to enable people 
with questions, comments or suggestions to be able to contact us.
	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. Whoever uses it does so at her/his own risk. 
We cannot take any responsibility on correct function or correct documentation.  

The source should be available through the same channel that you got QFIG from. 


 Questions and Comments:
If you have any comments, please inform me (preferably in english) at the email address 
below. Since I do not use LaTeX, this is probably the last version of Qfig I will be 
releasing. I will however try to correct any major bugs found in this version and release 
bug-fix updates.

			William Ofosu-Amaah
			e-mail:	XI6W-OFSA@asahi-net.or.jp

Special thanks to Dr Lazhar Ben-Brahim who tested Qfig 1.0 & 1.1. l would also like to 
say thanks to Simon Maxwell for the Logo design and also to Ken Tanaka, Takene and 
Phil Swan for their significant contributions to Qfig 1.0 and Bruce Dearden 
<dearden@pc4.math.und.nodak.edu> for kindly donating a Qfig Plain TeX PiCTeX 
shim.


The QFIG program contains the following:
	QFIG.EXE      - The .exe file for QFIG
	QFIG.DOC      - This document
	QFIG_SET.DAT  - A file for setting your own user-data
        Q-EEPIC.TEX   - Used to compile figures outputted in eepic code
        Q-EEPICE.TEX  - Used to compile figures outputted in eepic code
                        for LaTeX2e. Please refer to the file for further
                        details.
        Q-PICTEX.TEX  - Used to compile figures outputted in pictex code
        QFIG3PLE      - QFIG example file
        EEPICSUP.STY  - Supplement style file to Eepic and LaTeX for adjust 
                        shading pattern
        QFIG4PIC.TEX  - Interface for QFIG-generated PiCTeX code and PiCTeX
                        to use with Plain TeX (Donated by Bruce Dearden).
                        Please refer to the file for further details.
                        
All other required .STY files are available at CTAN (e.g. ftp.tex.ac.uk)
or other mirror sites.

1. NOTES 

(i) This version will only run on EGA/VGA/SVGA PCs. There is no CGA version.

(ii) Mouse use:
This program supports use of a mouse although a mouse is not necessary. If a mouse is 
to be used, the mouse driver should be loaded before running qfig.

(iii) Caps-Lock and Num-Lock:
IMPORTANT NOTE: Caps-Lock and Num-Lock should be OFF for proper operation of 
QFIG
control+keystroke commands. Caps-Lock and Num-Lock can, however, be used when
entering text.

2. Starting QFIG

QFIG startup options: QFIG /? /e /f /nc /s

(i)  /? option

To get help on the options which could be used when QFIG is started up use the "/?" 
option i.e. 

	     C:> qfig /? <CR>
 
(ii) /e option

If an EGA monitor is being used, the "/e" option is essential for running QFIG in EGA 
mode.

(iii)  /f option

To use your own settings from the file QFIG_SET.DAT. 
If QFIG is started without using the "/f" option, QFIG uses the default settings.
IMPORTANT NOTE 1: QFIG_SET.DAT should be placed somewhere in the path.
IMPORTANT NOTE 2: If you are on a network and have network drives in the path, 
make sure QFIG_SET.DAT is placed in a directory in the path BEFORE directories you don't
have write access to. The way Qfig is written, it will not work if it encounters 
a read-only directory while searching the path for QFIG_SET.DAT. An alternative is to 
write a small bat file which sets the path and removes all the read-only directories 
from it. You could then write another bat file to restore the path after using Qfig. 
This is not a problem if you are not using the QFIG_SET.DAT file.


(iv) /nc option

This was part of the NEC version and is for those who are using dvi-drivers without 
TPIC specials. In this case, shadings are imitated by drawing many dotted lines, etc. 
This option can be ignored.

(v) /s option

The NEC 0.9c version of QFIG converts some special inputted text characters to other 
output in the .TEX files (e.g. if "\" was input, it becomes "\tt\symbol{'134}" in .TEX file 
output). In the IBM version this use of special characters has been made optional. To 
use these special characters, the "/s" option should be added when starting up QFIG. If 
this option is not used, the inputted characters are not converted. (i.e. if "\" is input it 
remains "\" in the .TEX file output).
This option can be ignored.

3. Printing

There is no built-in printing function in QFIG. To print, QFIG files have to be converted 
to .TEX files and printed using LaTeX (see 6. below).

4. Menus

(a)  The three rows at the bottom of the screen are the selection choices for QFIG. The 
"ESC" key is used as a toggle between the three rows with the active row indicated by 
the "@" sign to the left of the row. Function keys F1 - F10 are used for selecting specific 
choices in the rows.
Selections can also be made with a mouse by moving the cursor to the desired selection 
and clicking one of the two mouse buttons. 
Before switching from one menu item to another the "DEL" key must be used to clear 
the current menu choice before another item menu can be selected (see table below for 
equivalent mouse action). The "DEL" key is also used to quit performing a function (e.g. 
clear a line which you decide not to draw while in the middle of drawing it.).
The following table shows the mouse equivalent to keyboard functions used.

    Keyboard   |   Mouse
    ---------------------------
    Return Key | Right Button
    Space Key  | Left Button
    DEL key    | Simultaneous use of the
               | Left & Right Buttons
    Arrow keys | Mouse movement

For simplicity, this document will use only the Keyboard keys in the following 
explanations since the mouse can be made to perform the same functions using the table 
above.                

(b) Menu Items

These are explained for the function keys. Note that each function key has two or three 
selections connected. The one which is chosen depends on which menu row is active (see 
4(a) above). For more information on using a specific function use the online help 
available in the program which is explained below (4(c)).
 
f.1    Straight Lines / Move / Fill Pattern for Boxes

f.2    Curved Lines / Copy/ Font Type

f.3    Circle+Ellipse / Symmetric Copy / Font Size

f.4    Arc /Rotate / Zoom

f.5    Box / Edit/ Text Hide or Show (Text Toggle)


f.6    Polygon / Displace or Cut / Redraw screen

f.7    Closed Curve / Kill / Reset screen (this erases the current drawing)

f.8    Arrow / Line Type

f.9    Strings (i.e. text) / Thickness

f.10   File Operations / Pitch (i.e. cursor movement step size when using the arrow keys. 
This does not  affect the cursor movement when using the mouse.

NOTE:
The menu items which are green in color (Box Fill Pattern, Font type/Size, Line 
Type/Thickness, Cursor Pitch) can be changed during performing operations (e.g. 
changing line type/thickness while drawing lines)


[Keyboard Shortcuts]
Some of the menu items have keyboard shortcuts. These are the same as they were in 
Qfig ver 1.0

They are:
QUIT [CTRL+q] - This is used to quit the program. QUIT is also available from the File 
(f.10) menu. As a precautionary measure, the user is prompted twice. Once to confirm 
quitting and then to check if the user wants the file saved. If yes is answered to this, the 
file is saved by default under the name $_qfig_$.qfg unless the user specifies another 
filename when prompted to do so.

ZOOM [CTRL+w] - The zoom function cannot be used to zoom in.
** If a mouse is being used, zooming is possible by placing the cursor in the top left 
corner of the screen and clicking with either button.

REDRAW [CTRL+r] - This is used to refresh the screen

RESET [CTR+s] - This clears the present drawing.

TEXT TOGGLE [CTRL+t] - This is used to toggle text on the screen between showing 
the complete text and showing only the first character of each text entry. Showing only 
the first character of each entry significantly improves the screen refreshing speed.


(c) Other Functions

There are other QFIG functions available which are not in the menus and can usually 
only be operated from the keyboard. They are usually triggered by the simultaneous use 
of the Control Key and another key. Mouse operation is also supported for some of these 
functions and will be explained where neccessary. Note that mouse operations can be 
duplicated using the keyboard, by using the arrow keys to move the cursor and the space 
bar and return key instead of the left and right mouse buttons respectively.

CTRL+h (HELP) - This is used to obtain online help. The help contents vary depending 
on which menu item has been selected. This enables more help to be available for each 
function. For example to get help on using Lines, select "Lines" from the menu and then 
CTRL+h.

PgUp/PgDn - This is used to scroll the drawing up or down.
** This can also be done using a mouse by clicking in the bottom left corner 
(PgDn) or clicking at the top of the screen (PgUp).

CTRL+left/right arrows - This is used to shift the screen left or right.
** This can also be performed using the mouse by clicking at the rightmost or leftmost 
sides of the screen.

5. QFIG File Output

The output of QFIG (i.e. QFIG form files) is as follows:
1st Line:  % Output of qfig.bas
2nd Line:  xmin%, xmax%, ymin%, ymax%  (i.e. the dimensions of the figure).
3rd Line: The Line onward contain the data of the drawing. Each element drawn or 
written consists of a minimum of two lines. 
The first line consists of the type of object and its characteristics (this will be explained 
below) i.e. obj%(i%,j%), j%=0 to 6.
The second line on consists of the x and y coordinates of the object i.e. xx(i%,j%), 
yy(i%,j%) j% = 0 to obj%(i%,1).

[obj%]            0     1       2         3         4       5     6
Straight Line     1    node%   node%    node%-1   thick%  ltype%  fill%
Straight Line     1    node%   node%    node%     thick%  ltype%  0
Polygon           2    node%   node%-1  node%-1   thick%  ltype%  0
Curved Line       3    node%   node%    node%     thick%  ltype%  0
Closed Curve      4    node%   node%-1  node%-1   thick%  ltype%  0
Circle            5    2       1        -1        thick%  ltype%  0
Arc               6    4       2        -1        thick%  ltype%  0
Ellipse           7    2       1        -1        thick%  ltype%  0
Box               8    1       1        -1        thick%  ltype%  0
Filled Box        9    1       1        -1        thick%  ltype%  fill%
String (Text)     10   length  0        -1        12      stype%  object# + 1
Arrows            11   2       -1       -1        thick%  object# node% 


6. TeX File Output

There are three included output codes for LaTeX:

 a. PICTEX - This needs the following macro files - "prepictex.tex, pictex.tex, 
postpictex.tex" - which are supplied with LaTeX. This is supported by practically all DVI 
screen/print drivers. It is, however, slower.

 b. EEPIC - This needs the epic.sty and eepic.sty style files. With EEPIC pictures, 
the .TEX files are smaller and LaTeX runs a lot faster while requiring less memory than 
the other two. However DVI screen/print drivers which support EEPIC are necessary.

 c. EEPICEMU - Emulator for EEPIC.

7. String Output

The string output (font size and type) is compatible with LaTeX 2.09 and uses "xiipt" and 
"xpt" commands to specify font size. It is now possible to easily change this by changing 
the
output codes in the qfig_set.dat file. Please refer to this file for details on how
and where to do this.

For example, for one way to generate LaTeX2e output you can replace the following 
lines in
the qfig_set.dat file:

\xpt\rm           ;10pt roman
\xpt\bf           ;10pt bold
\xpt\it           ;10pt italic
\xpt\FonttenBI    ;10pt bold italic
\xiipt\rm         ;12pt roman
\xiipt\bf         ;12pt bold
\xiipt\it         ;12pt italic
\xiipt\FonttwlBI  ;12pt bold italic


with the following:

\sf			;10pt roman
\bf			;10pt bold
\it			;10pt italic
\bf\it			;10pt bold italic
\large\sf		;12pt roman
\large\bf		;12pt bold
\large\it		;12pt italic
\large\bf\it		;12pt bold italic


8. Loading/Saving

Loading
Qfig now displays only the files with a .qfg extension. You can still load in files which 
don't use this extension by typing in the full file name. Note that to load any file 
(including .qfg
files) you have to include the extension. We recommend that you add the extension 
".qfg"  to all your old qfig data files.

Saving
Qfig is now written to save .qfg files as the default. It is possible to override the .qfg 
extension when saving by typing the extension type [e.g. "filename.ext" instead of 
"filename"]. Typing just "filename" will add a ".qfg" extension automatically.
The saving process has been simplified. You can now save both the .qfg file and the tex 
file at the same time.


9. Box Text

Limited support for centering text in a Box was added. This just calculates the center of 
the box to locate the correct position for the text. 
IMPORTANT NOTE: Changes made to the size of the box or its position will not keep 
the text at the center. It is however possible to keep the text centered if both the Box and 
centered text are moved together.


10. Area Kill/Edit

In the Kill/Edit functions, it is now possible to select a rectangular area and kill/Edit all 
objects within the selected area. In the case of Edit, the string and line types must be 
selected before editing. The lines within the selected area are automatically changed to 
the selected thickness and type. Changing the string font/size within the selected area is 
however optional.
Note that any object with a node in the selected area is considered as being selected.

--------------------------------------------------------------------------
Change from Qfig 1.1 to Qfig 1.1a

1. Fixed bug in Boxtext

------------------------
Changes from Qfig 1.0 to Qfig 1.1

1. Added a third menu line for easier program use

2. Allowed string output to be user-configured

3. Box Text added (allows centering of text in a box)

4. Kill multiple items at the same time (Area Kill)

5. Edit multiple items at the same time (Area Edit)

6. Changes in thickness of a line now automatically changes the
   thickness of attached arrow.

7. NGRAPH support removed (including Ctrl+p)

8. Ctrl+g (GROUP/UNGROUP) removed (use functions like Area Kill/Edit instead)

9. Simplication of saving and loading

10. Answering to "y/n?" questions now possible with mouse
   (expect in a few places like when Quiting or using Reset. These
    respond only to keyboard "y" and "n" commands.)

11. A Bug in "Rotate" fixed

12. Bug in maximum allowed text length fixed

13. Added a Quit Program option to the File menu

14. Editing Improved (Ctrl+n no longer required)

15. Extended maximum capacity of QFIG from 301 objects by 52 nodes to 301 objects by 
64 nodes.

16. Many other small improvements and bug fixes

------------------------
Changes from NEC qfig 0.9c+1 to IBM Compatible/J3100 qfig 1.0

1. Kanji not directly supported by qfig 1.0.

2. "qfig /?" gives help on start-up options for qfig

3. qfig without the "/s" option allows inputted text to be saved in .TEX files without any 
changes.

4. CTRL+t added as a Hide(all but first letter)/Show text toggle.

5. CTRL+n allows only the Line thickness and pattern to be modified in Lines, Curves, 
Polygons and Closed-curves.

6. Seperation of Menu Bar from Drawing Area

7. Added a QFIG Logo

8. Extended maximum capacity of QFIG from 256 objects by 32 nodes to 301 objects by 
52 nodes.

9. Added an option enabling selection of desired object if more than one start from the 
same point.

10. Some bugs fixed