dwww Home | Manual pages | Find package

PREREX(1)                                                            PREREX(1)

NAME
       prerex - interactive editor of prerequisite-chart descriptions

SYNOPSIS
       prerex [ options ]  [ basefile[.tex] [ chartfile[.tex] ] ]

DESCRIPTION
       prerex  is  an  interactive  program for editing prerequisite-chart de-
       scriptions in the prerex(5) format.  The user does not normally have to
       be  familiar  with details of the format.  The editor supports add, re-
       move, cut-and-paste, and edit operations on diagram elements, and  ver-
       tical or horizontal shifts of a list of specified elements, all the el-
       ements in a rectangular region, or the entire diagram.  The edited dia-
       gram  may  be  saved, re-processed, and viewed in a PDF viewer, without
       exiting the editor. Alternatively, vprerex(1)  will  open  a  prerex(1)
       window and display the corresponding PDF file alongside.

TERMINOLOGY
       A  prerequisite  chart  consists of several course boxes, linked by ar-
       rows.  Courses are either half or full, and may be required or optional
       (or  neither).  Each course box contains a course code (upper left cor-
       ner), a course title (lower half),  and  timetable  information  (upper
       right  corner).   An arrow is either a prerequisite (solid), a corequi-
       site (dotted), or recommended  (dashed).   When  a  conventional  arrow
       would  be  inappropriate,  a mini course just above a target box may be
       used.  A line of text may have been placed anywhere in the chart.

       In some implementations of the prerex(5) format, (some) arrows  may  be
       curved  and by default have non-zero curvature.  The curvature of indi-
       vidual arrows may be edited using the prerex(1) editor.  Negative  cur-
       vatures  are  supported.  To modify the default curvature (or set it to
       zero), see prerex.sty(7).

COORDINATE SYSTEM
       A conventional two-dimensional coordinate system is used to specify the
       locations of diagram elements; the origin (where x = 0 and y = 0) is at
       the lower-left corner of the diagram.  For  convenience,  a  coordinate
       grid  is  normally displayed in the background while a diagram is being
       edited.

       The coordinates of a box, mini, or text-line are those  of  its  centre
       point.   An  arrow is described by the coordinates of the centre points
       of its source and target boxes/minis/text-lines.

       The notation x0,y0:x1,y1 denotes all the nodes  (course  boxes,  minis,
       texts)  in  the  rectangle whose northwest and southeast corners are at
       coordinates x0,y0 and x1,y1.

USAGE
       If prerex is invoked on one existing file, a back-up copy  is  made  of
       it,  the x,y coordinate grid is turned on, the file is processed by us-
       ing a system call to pdflatex(1), and then the user gets a command sum-
       mary and an interactive prompt of the form

              file.tex>

       If  no file argument is given on the command line, the user is prompted
       to supply a file name.  In either case, if the file name provided  does
       not have a .tex extension, .tex is appended to it.

       If  the file.tex file named does not already exist, a new "empty" chart
       file with that name is created, and then it is processed as above.

       If a second filename is provided, the first filename is treated as  the
       base  file  of a LaTeX document and the second as an included file that
       contains the chart environment to be edited.  This allows more than one
       document to share an included chart file and allows more than one chart
       to be included in a single document.

       The user may enter commands at the interactive command prompt  as  fol-
       lows:

       box x,y           edit  a  course  box at x,y, if necessary, creating a
                         new course box there

       mini x,y          edit a mini at x,y, if necessary, creating a new mini
                         there

       text x,y          edit a text-line at x,y, if necessary, creating a new
                         text-line there

       arrow x0,y0,x1,y1 edit an arrow from x0,y0 to x1,y1, if necessary, cre-
                         ating a new such arrow

       cut xi,yi ...     (temporarily)  remove the box, mini, or text at xi,yi
                         (including arrows into/out of the box/mini/text)

       paste [x,y]       re-insert most recently cut but not yet  pasted  box,
                         mini,  or  text  at x,y (including arrows into/out of
                         the box/mini/text), or at the original coordinates if
                          x,y omitted

       xchange x0,y0 x1,y1
                         exchange  the box, mini or text at x0,y0 with that at
                         x1,y1.  This is implemented as a sequence of two cuts
                         followed by two pastes to the same points.

       delete [ x,y  | x0,y0,x1,y1  | x0,y0:x1,y1 ] ...
                         remove  the  specified boxes, minis, texts, or arrows
                         (including automatically all arrows into/out of  each
                         box/mini/text)

       undo              undo the most recent editing command (not already un-
                         done)

       shift  [-]s  [ x,y | x0,y0:x1,y1 ] ...
                         move specified diagram elements x units right [left];
                         if  no  elements  are specified, the whole diagram is
                         shifted

       raise [-]r [ x,y | x0,y0:x1,y1 ] ...
                         move specified diagram elements y units up [down]; if
                         no  elements  are  specified,  the  whole  diagram is
                         raised

       write, !          save to the current  chartfile.tex  and  process  the
                         chart by calling pdflatex(1) on the base file.

       quit, exit, x, ^D turn  off  the coordinate grid, restore write-access,
                         save to the current chartfile.tex, process  the  base
                         file and exit.

       !cmd              restore  write access to chartfile.tex, execute shell
                         command cmd, re-load and re-process the base file (in
                         case the command changed anything), and remove write-
                         access.

       Backup            copy the current chartfile.tex to  the  back-up  file
                         .chartfile.tex;   equivalent   to  !cp  chartfile.tex
                         .chartfile.tex

       Restore           delete the current chartfile.tex and editing  buffer,
                         and replace them using the current back-up in .chart-
                         file.tex.

       grid [y/n]        turn on/off coordinate-grid background

       help, ?           print a command summary

       After most editing commands, the editing buffer is automatically  saved
       to  chartfile.tex and the basefile is processed; the cut and paste com-
       mands are exceptions: saving and processing take place  only  when  all
       outstanding cuts have been pasted.  Saving and processing can be forced
       by using the write (or !)  command, or suppressed for all commands (ex-
       cept  write and !)  by appending a ";" to the command immediately prior
       to entering it.  To exit the  editor  without  saving  to  the  current
       chartfile.tex,  use  quit;  (.i.e., quit followed by a semi-colon) or a
       similar combination.  Starting in Version 3.8, ^C and other  interrupts
       result  in  the  editing buffer being saved to chartfile.tex before the
       editor is exited.

OPTIONS
       -v      output program name and version number, and quit

       -h      output usage summary and quit

NOTES
       The main difference between mini and text is in the maximum lengths for
       the text displayed; the latter allows a full line of text, not merely a
       course code. Also a text-line does not have an associated URI (when the
       grid  is off). The text "line" may actually be displayed as a paragraph
       by using a LaTeX \parbox.

       To save the current state of chartfile.tex, use Backup or a  comparable
       shell  command.   A  history list of interpreted commands is maintained
       and is accessible using the up-arrow key.

       If processing of the chart fails, prerex will attempt  to  display  the
       LaTeX error message from the log file.  The chart file can be fixed us-
       ing a conventional text editor or LaTeX-oriented  editor.   LaTeX  pro-
       cessing  should  fail  only  if  there is an initial problem or if ill-
       formed LaTeX markup has been inserted into a text field.

       Any (non-empty) prefix of a command suffices; for example,  q,  qu,  or
       qui may be used instead of quit.  Some of the commands will begin a di-
       alogue with the user in order to fill  in  or  modify  properties;  the
       prompts should be self-explanatory.

       Since  version  5.5,  prerex no longer automatically calls a PDF viewer
       (because it may be embedded in an instance of vprerex(1) which  already
       provides  a  PDF  display).  If  prerex  is being used by itself, a PDF
       viewer may be invoked using the  !cmd  shell-escape  mechanism.   Also,
       prerex no longer interacts with the user until a PDF file is available;
       this is for use with vprerex(1).  For example, if the .tex file is ini-
       tially read-only, prerex aborts.

FILES
       A  LaTeX  style  file prerex.sty(7) that implements the macro calls de-
       fined by the prerex(5) format must be  available  to  [pdf]latex(1)  to
       process  the  chart file.  Before any editing is allowed, chartfile.tex
       is copied to .chartfile.tex as a backup.

ENVIRONMENT
       The most convenient viewing program to use  with  prerex  is  one  like
       gv(1),  gsview(1), kghostview(1), kpdf(1) or okular(1) that may be con-
       figured to "watch" the pdf file and re-load the  display  automatically
       when  the file changes.  evince(1) has a Reload button and xpdf(1) sup-
       ports re-loading using the keystroke "R", but re-loading is  much  less
       convenient  with  acroread(1)  and  gpdf(1),  which  may have to be re-
       started.

       Recent versions of some PDF viewers show the URIs of  hyperlinks  in  a
       tooltip  or in the status bar; this mechanism is used by some implemen-
       tations of prerex.sty(7) to allow display of the coordinates of a  box,
       mini,  text-line, or arrow when the mouse hovers over it (while the co-
       ordinate grid is on and the relevant chart  file  is  presumably  being
       edited).

       The  prerex package at http://www.ctan.org/tex-archive/graphics/prerex/
       has source code for vprerex(1), a GUI front-end  for  prerex  which  is
       prerex-enabled.

BUGS
       prerex  analyzes  chart  files without using TeX; thus, macro calls are
       not expanded, and anything in  the  chart  file  before  or  after  the
       (first)  \begin{chart} ... \end{chart} environment is ignored (but pre-
       served) by the editor.  Lines that begin with "%" within the chart  en-
       vironment are preserved but other comments within the chart environment
       are not preserved and may interfere with command parsing.

       From  version 5.6, prerex no longer supports  the  latex  ->  dvips  ->
       ps2pdf toolchain as an option.

AUTHOR
       R. D. Tennent (rdt@cs.queensu.ca)

DEPENDENCIES
       prerex  uses  the  editline(3)  library  if available and the GNU read-
       line(3) and history(3) libraries otherwise.

SEE ALSO
       acroread(1),  evince(1),  gpdf(1),  gsview(1),  gv(1),   kghostview(1),
       kpdf(1),   okular(1),   pdflatex(1),   prerex(5),  prerex.sty(7),  pre-
       viewer(1), vprerex(1), xpdf(1).

prerex-6.8.0                      2019-11-15                         PREREX(1)

Generated by dwww version 1.15 on Fri Jun 21 07:11:13 CEST 2024.