[BACK]Return to README CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gnuplot / docs

Annotation of OpenXM_contrib/gnuplot/docs/README, Revision 1.1.1.1

1.1       maekawa     1: Notes on the gnuplot help files and documentation.
                      2: --------------------------------------------------
                      3:
                      4: Gnuplot documentation is available in three ways:
                      5:
                      6: 1 - interactively, within gnuplot
                      7: 2 - as a printed document.
                      8: 3 - as a manual page, through the Unix man(1) facility
                      9:
                     10: The third form tells how to run gnuplot.
                     11:
                     12: The first two forms describe the inner workings, and contain equivalent
                     13: information.  They derive their information from the file "gnuplot.doc",
                     14: which is the master copy of gnuplot help information.  All other forms,
                     15: except for the man page "gnuplot.1", are derived from it.
                     16:
                     17: gnuplot.doc -> gnuplot.gih
                     18:             -> gnuplot.hlp
                     19:             -> gnuplot.html
                     20:             -> gnuplot.info
                     21:             -> gnuplot.ipf
                     22:             -> gnuplot.ms
                     23:             -> gnuplot.rnh
                     24:             -> gnuplot.rtf
                     25:             -> gnuplot.tex
                     26:
                     27: On Unix, AmigaOS, and MSDOS the interactive help is built into the
                     28: program, and uses the file "gnuplot.gih" ('make gih').
                     29:
                     30: On VMS, the interactive help is supplied by the system help facility,
                     31: using the file "gnuplot.hlp".  This is built by default, either by
                     32: doc2hlp, or doc2rnh and RUNOFF which format gnuplot.doc for the VMS
                     33: HELP indenting conventions.  The help file is placed in a help library,
                     34: "gnuplot.hlb" but it may be also be placed in one of the system-wide
                     35: help libraries, using lib/help ('help lib').  If VMS users prefer the
                     36: gnuplot interactive help facility to the system facility, this can be
                     37: easily changed by not defining NO_GIH.
                     38:
                     39: On the World Wide Web, the gnuplot manual can include demonstration
                     40: plots; the links for these are included in the file "gnuplot.html"
                     41: ('make html').
                     42:
                     43: Under EMACS, interactive help uses the file "gnuplot.info" ('make info').
                     44:
                     45: On OS/2, the Information Presentation Facility Compiler converts the
                     46: file "gnuplot.ipf" to a "gnuplot.inf" file.
                     47:
                     48: The printed document is available in troff/nroff (ms) format, using
                     49: the file "gnuplot.ms".  For nroff, use 'make nroff'. For troff, type
                     50: 'make ms' and then 'troff -ms gnuplot.ms' in whatever way you use troff.
                     51: For groff (on linux), use  'groff -t -e -mgs gnuplot.ms'
                     52:
                     53: On MS-Windows, the Microsoft help compiler converts the file "gnuplot.rtf"
                     54: to an 'hlp' file which is used by the standard Windows help program.
                     55:
                     56: The printed document is also available in LaTeX format, using the file
                     57: "gnuplot.tex" ('make tex').  If you use LaTeX on your computer, you can
                     58: type 'make dvi' to create "gnuplot.dvi", and then run your dvi-to-
                     59: PostScript converter to generate "gnuplot.ps".
                     60:
                     61:
                     62: Manual entries for the terminals are not included in "gnuplot.doc";
                     63: instead, each "driver.trm" file (in the directory /term) contains its
                     64: own documentation section.  See "term/README" for details.
                     65:
                     66: When you build gnuplot, only some of the terminal drivers are loaded;
                     67: these are selected in "term.h" by compiler directives specified in the
                     68: makefile.  The interactive help generators use the same set of compiler
                     69: directives in "term.h", and thus interactive help contains information
                     70: for just those terminals actually loaded.
                     71:
                     72: The printed manual generators and the html generator contain information
                     73: about all terminals.  This is accomplished by concatenating all of the
                     74: ".trm" files into a single one, "allterm.h".
                     75:
                     76: The file "termdoc.c" is used by each of the eight processing programs
                     77: ("doc2gih.c", etc.); it #includes either "term.h" or "allterm.h", as is
                     78: appropriate.  If you wish to override the default decision about which
                     79: terminals are to appear in the documentation, edit the appropriate target
                     80: in the Makefile and add/remove -DALL_TERM_DOC to/from the compiler flags.
                     81:
                     82:
                     83: Description of the gnuplot.doc format:
                     84: --------------------------------------
                     85:
                     86: Here is an example of the DOC master help format:
                     87:
                     88: ?
                     89: 1 gnuplot
                     90:  GNUPLOT is a command-driven interactive function plotting program.  It
                     91:  ...
                     92: ?exit
                     93: 2 exit
                     94:  'exit', 'quit' and ...
                     95: ?expressions
                     96: 2 expressions
                     97:  In general, any mathematical expression accepted by C, ...
                     98:
                     99:  Topics:
                    100:  functions operators
                    101: ?expressions functions
                    102: ?functions
                    103: 3 functions
                    104:  The functions in GNUPLOT are ...
                    105:
                    106:  Topics:
                    107:  abs acos arg ...
                    108: ?expressions functions abs
                    109: ?functions abs
                    110: ?abs
                    111: 4 abs
                    112:  This function returns the absolute value of its argument.  The
                    113:  returned value is of the same type as the argument.
                    114: ?expressions functions acos
                    115: ?functions acos
                    116: ?acos
                    117: 4 acos
                    118:  This function returns the arc cosine (inverse cosine) of its
                    119:  argument.  'acos' returns its argument in radians.
                    120:
                    121:
                    122: Some notes about the format:
                    123: ----------------------------
                    124: Remember that all text must be able to be processed by gnuplot, VMS,
                    125:  nroff, troff, info, itl, and latex, and always do something reasonable.
                    126: The first column is reserved for control characters.
                    127: Text does not start in the first column.
                    128: Lines that start in column 2 may be typeset by LaTeX.
                    129: Lines that have a space in column 2 are to be printed in a verbatim
                    130:  environment by LaTeX.
                    131: Tables must have a space in column 2.
                    132: Do NOT use tabs in the help file.
                    133: Conversion from this format to vax .hlp file involves removal of
                    134:  lines starting with [?@#$%] (see doc2hlp). VMS uses the numbers
                    135:  to represent a tree.
                    136: Conversion from this format to gnuplot .gih file involves removal of
                    137:  lines starting with [0-9@#$%] (see doc2gih). Gnuplot matches your
                    138:  help query against the ? lines to find the help information.
                    139:  Multiple ? lines for one text block constitute synonyms. The most
                    140:  specific should be first, eg 'expressions functions' before 'functions'.
                    141:  Spaces are allowed here, but should be single.
                    142: Backquote pairs are converted by the doc2tex program into boldface;
                    143:  that is, `some text` is converted to {\bf some text}. Be sure to pair
                    144:  the backquotes, or the whole document will be boldface! doc2ms converts
                    145:  `` pairs to \fB...\fR, except inside tables : for the moment, this
                    146:  has to be done manually on the lines starting %, but we ought to
                    147:  find some way to allow tables to be entered just the once !
                    148:
                    149: Control characters in first column:
                    150: ?    used by .gih format, for builtin interactive help - keyword
                    151: 0-9  used by VMS help and by doc2{tex,ms} formatters to define level,keyword
                    152: @    used by doc2{tex,ms,rnh} to define table start/end
                    153: #    used by doc2tex: table entry
                    154: %    used by doc2ms: table entry
                    155: ^    used by doc2html : hypertext link
                    156: <    the help from the terminal driver files is inserted at this point.
                    157: C    comment (mainly for RCS ID line)
                    158: C#   reserved form of comment (used internally by termdoc.c)
                    159:
                    160:
                    161: Tables:
                    162: -------
                    163:
                    164: Here is a sample table:
                    165:
                    166: @start table - first is interactive cleartext form
                    167:      Symbol       Example      Explanation
                    168:        ?:          a?b:c     ternary operation
                    169: #\begin{tabular}{|ccl|} \hline
                    170: #\multicolumn{3}{|c|}{Ternary Operator} \\
                    171: #Symbol & Example & Explanation \\ \hline
                    172: #\verb~?:~ & \verb~a?b:c~ & ternary operation\\
                    173: %c c l .
                    174: %Symbol@Example@Explanation
                    175: %_
                    176: %?:@a?b:c@* ternary operation
                    177:
                    178: @end table
                    179:
                    180: "doc2tex" and "doc2ms" are the formats that do something with tables
                    181: other than copy them verbatim.  It is best to bracket a table in a
                    182: "@start table"/"@end table" pair.
                    183:
                    184: Inside the "@start"/"@end" block are three independent sets of commands:
                    185: those that begin with "#" will be processed by "doc2tex" only, those
                    186: that begin with "%" will be processed by "doc2ms" only, and all others
                    187: will be copied verbatim by all other "doc2"s.  So the commands may be
                    188: shuffled together, as long as the order of each of the three sets is
                    189: unchanged.  That is, the example could be written this way without any
                    190: effect on the result:
                    191:
                    192: @start table - first is interactive cleartext form
                    193: #\begin{tabular}{|ccl|} \hline
                    194: %c c l .
                    195: #\multicolumn{3}{|c|}{Ternary Operator} \\
                    196: %Symbol@Example@Explanation
                    197:      Symbol       Example      Explanation
                    198: #Symbol & Example & Explanation \\ \hline
                    199: %_
                    200:        ?:          a?b:c     ternary operation
                    201: #\verb~?:~ & \verb~a?b:c~ & ternary operation\\
                    202: %?:@a?b:c@* ternary operation
                    203:
                    204: @end table
                    205:
                    206: In LaTeX, the command "\begin{tabular}{|ccl|} \hline" creates a
                    207: three-column table having the first two columns centered, the third column
                    208: left-justified, a vertical line at each side, and a horizontal line drawn
                    209: first.  Thus the table will be enclosed in a box ("doc2tex" provides the
                    210: closing "\hline").  A double-backslash is a line skip.  In the table
                    211: entries themselves, the ampersand is the column separator.  If any LaTeX
                    212: special characters are in the table, they must be written within "\verb"
                    213: constructs, as is the case with the question mark in the example.
                    214:
                    215: In nroff, the command "c c l ." creates a three-column table justified
                    216: the same way as the LaTeX table discussed above.  The ampersand is the
                    217: column separator.
                    218:
                    219:
                    220: Rules for stylistic consistency (courtesy Jens Emmerich):
                    221: ---------------------------------------------------------
                    222:
                    223: 0. General
                    224:
                    225:    * Use your brain -- the reader has one, too (at least in theory).
                    226:
                    227:    * Format according to the logical structure, not according to
                    228:      visual charm.
                    229:
                    230:    * Keep things short.  Don't split lines without a good reason.  Many
                    231:      people still use 24 line terminals/screens.  Backslashify lines
                    232:      only in code examples.
                    233:
                    234:
                    235: 1. Verbatim lines: start column and line length
                    236:
                    237:    * Verbatim text starts in column 8 (7 spaces before the text).  The
                    238:      reason is that "Syntax:" is 7 and "Examples:" is 9 characters
                    239:      wide.  Adding the space in column 1 we have 1 resp. 3 characters
                    240:      "overlap" in the online text versions, which is still easy to
                    241:      read as all commands are at least 3 characters long.  This does
                    242:      not apply to the "interactive clear text form"-tables.
                    243:
                    244:    * The rightmost used column is column 73 (counting from 1).  This
                    245:      allows LaTeX formatted documents with only slightly wider text
                    246:      than default, which adds to readability.
                    247:
                    248: 2. Line spacing
                    249:
                    250:    * An empty line goes before "Syntax:" and "Example:", but not after
                    251:      them.  Without these keywords, add an empty line before verbatim
                    252:      lines if they are not embedded in a sentence.
                    253:
                    254:    * Leave blank lines within verbatim environments only if it is
                    255:      really needed for clarity.
                    256:
                    257:    * Verbatim environments are separated from the following text by a
                    258:      blank line, but not if they are embedded in a sentence.
                    259:
                    260:    * Short explanations within examples can be embedded within
                    261:      comments if they are really short, otherwise use "normal" text
                    262:      (beginning at column 2) and leave no blank lines between the text
                    263:      and the example.
                    264:
                    265: 3. Spaces around braces
                    266:
                    267:    * In general don't put a space after an opening "{" or before a
                    268:      closing brace "}".  This makes everything wider and harder to
                    269:      spot.
                    270:
                    271:    * Do insert a space in the following situations:
                    272:
                    273:      - where it adds clarity to nesting levels >=3 of braces; usually
                    274:        only one brace for the outermost brace on a particular line
                    275:        (see 'set grid')
                    276:
                    277:      - on multiple line optional constructs (see 'set xtics')
                    278:
                    279:    * Separate multiple optional constructs by a space.
                    280:
                    281:    * Don't separate them if they belong together. (see 'set title')
                    282:
                    283:    * Do separate them if they belong together but require a space in
                    284:      between (see 'set ticscale').
                    285:
                    286:    * Part of these rules are really a consequence of gnuplot's
                    287:      inconsistent syntax.
                    288:
                    289: 4. Placing and spaces around "|"
                    290:
                    291:    * Place a space before and after the "|".  Otherwise the
                    292:      alternatives tend to optically 'melt' and they are harder to
                    293:      read.
                    294:
                    295:    * Keep or-expressions on one line, if possible.
                    296:
                    297:    * On multi-line expressions place the "|" at the beginning of the
                    298:      next line rather than the end of the first.  This makes it easier
                    299:      to see that the expression continues.  Align the first components;
                    300:      this requires indenting the first line a bit further (see 'set
                    301:      cntrparam').
                    302:
                    303: 5. Comma-separated optional argument lists
                    304:
                    305:    * Place the space before the opening brace rather within the braces
                    306:      after the comma (as one normally does) (see 'set isosamples').
                    307:
                    308:

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>