bionic (1) prerex.1.gz

Provided by: prerex_6.5.4-1_amd64 bug

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 descriptions in the prerex(5) format.
       The user does not normally have to be familiar with details of the  format.   The  editor  supports  add,
       remove,  cut-and-paste,  and  edit operations on diagram elements, and vertical or horizontal shifts of a
       list of specified elements, all the elements in a rectangular region, or the entire diagram.  The  edited
       diagram  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 arrows.   Courses  are  either  half  or
       full,  and  may be required or optional (or neither).  Each course box contains a course code (upper left
       corner), a course title (lower half), and timetable information (upper right corner).  An arrow is either
       a prerequisite (solid), a corequisite (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 individual arrows may be edited using the prerex(1) editor.  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 using a system call to pdflatex(1), and then the user gets a  command
       summary 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 follows:

       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, creating 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 undone)

       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 .chartfile.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 commands 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 (except  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 using a conventional text editor  or  LaTeX-oriented   editor.   LaTeX
       processing  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 dialogue 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
       initially read-only, prerex aborts.

FILES

       A LaTeX style file prerex.sty(7) that implements the macro calls defined 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 configured to "watch" the pdf file and re-load the display automatically
       when the file changes.  evince(1) has a Reload button and xpdf(1) supports 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 implementations 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 coordinate 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
       preserved) by the editor.  Lines that begin with "%" within the chart environment 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 readline(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), previewer(1), vprerex(1), xpdf(1).