summaryrefslogtreecommitdiff
path: root/macros/generic/c_pascal/README.eng
blob: fda4ad032e037d3e1755ca36212bb44eb7cd6208 (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
PCAP --- macro package for typesetting programs in Python, C and Pascal

Derived from original CAP package by Michal Gulczynski. Any errors (bugs)
introduced are my own.

Changes from CAP:
* Improved minor deficiencies (there was a space in front of every 
  "special" symbol)
* Made it easy to change the "output" (not \TeX's \output) routine (instead 
  of actually sending data to TeX, we use \@Output{...data...})
* Added DVIPS color support (color \special's as used by DVIPS)
* Added a "state" watch --- enabling the output of some "special" symbols
  in different colors depending on a state (like "_" as identifier, "<" and ">"
  in directives, and so forth)
* Added Python language support with analogous commands of
  \BeginPython, \EndPython, \InputPython 
  (see original file for C and Pascal versions; these are used in the same way)



Original README.eng follows:

======================================================================

   CAP  ---  macro package for typesetting programs in C and Pascal

======================================================================


 Contents
----------
This macro package consists of three files:
  cap_c.tex     --  macros for typesetting programs in C
  cap_pas.tex   --  macros for typesetting programs in Pascal
  cap_comm.tex  --  helpful macros and declarations used for typesetting
                    programs in both languages; this file does not contain
                    any macros useful for a user


 Programs in C
---------------
There are two macros available in the cap_c.tex file:

  1. \BeginC ... \EndC
       Between these commands you may insert sorce code of any program
       written in the C language. The text of the program will be
       formatted using appropriate fonts. The macro recognises the
       following elements of a program:
        * keywords --- by default typeset in boldface
        * texts --- everything inside single quotes; by default slanted
        * comments --- both /*these...*/ and //these... , but not nested;
          italic typewriter
        * symbols --- operators, brackets, etc.; typewriter
        * compiler directives --- typeset using slanted typewriter font
        * identifiers --- everything that is none of the above; italic
       The macro does not change the layout of a program. All
       indentations are left as they are in the source program. No line
       breaks are inserted.
       NOTE: While compiling, the \BeginC ... \EndC macro reads the whole
       program into TeX's memory. Therefore, you may expect problems when
       typesetting huge programs in this way. In my configuration
       (emTeX under DOS) everything works fine if the program is not bigger
       than about 15KB. If you REALLY need to insert a vast program
       directly into your TeX source file you will have to split
       the program into smaller pieces, each inserted into a separate
       pair \BeginC ... \EndC.

  2. \InputC{filename}
       Inserts a C program from a separate file. The program is formatted
       as above. If you use DOS you need to remember that all backslashes
       in the pathname should be replaced by slashes.
       This macro has NO limitations for the size of the program --- it reads
       the file line by line, so TeX should never run out of memory.

The list of keywords can be easily found in the cap_c.tex file. I do not
guarantee that it is complete, so feel free to correct it if necessary.


 Programs in Pascal
--------------------
In order to typeset programs in Pascal you need to \input the cap_pas.tex
file. It contains two macros, as well:

  1. \BeginPascal ... \EndPascal

  2. \InputPascal{filename}

They work similarly. They recognise the same elements of a Pascal program.
Both {this} and (*this*) kind of comment is accepted, but they cannot
be nested. In case of \BeginPascal ... \EndPascal size limitations are
similar as in C.

The list of keywords was taken from Borland Delphi Help. If you need, you
may modify it.


 Common
--------
Fonts used to typeset programs are declared in the beginning of
the cap_comm.tex file. They are easy to redefine if necessary.


 Note
------
If you modify any of the files in any way, mark your changes, please.
I do not want to take responsibility for other people's modifications.


------------

  Michal Gulczynski
  mgulcz@we.tuniv.szczecin.pl