[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     ! 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>