%%% File: whats.new %%% A part of mfpic 0.6 2002/09/12 %%% What's new since mfpic 0.5 -------------------------- -- \tlabel will now accept the following syntax under mplabels: \tlabel[vh]{}{} where is any pair expression acceptable to MetaPost. The same is true of most other label-like constructs. The old syntax can still be used: \tlabel[vh](,){} If the new syntax is used without mplabels, the braces are simply stripped, and the old syntax is then expected. -- \tlabel are now embedded in an alignment (\halign) and the lines of a multiline label can be centered (by starting the line of text with \hfil) and right aligned (by starting it with \hfill). -- All the macros (except those involving placement of text) that accept as their last parameter a list of points or numbers separated by commas have been extended to permit, instead of the list, the command \datafile{}. If \using has been properly set, the data in will be used in place of an explicitly typed list. The plain \datafile command (used in the context of drawing a path) functions as before, choosing whether to draw a \curve or a \polyline based on smoothness parameters. Now, however, one can also do \closedcspline\datafile{file.dat}, for example, or \point\datafile{file.dat}. -- Two commands, equivalent to issuing the command "\using" with default parameters for processing pair data (\usingpairdefault) or with the default for processing numeric data (\usingnumericdefault). The former sets up commands that get data from a file to use the first two space separated items on each line to produce a list of pair constants, and the latter takes the first item on each line producing a list of numeric constants. -- \mfpicdraft, \mfpicfinal, \mfpicnowrite. The first tells mfpic to do everything except include the figures. The second allows them to be included even if mfpic's automatic detection thinks they shouldn't (mfpic can be fooled in some cases, see the docs). The third tells mfpic to do everything except write anything to the .mf(.mp) file. This could be be used if the figures have all been successfully debugged and might speed processing. All these affect aspects of the \opengraphsfile command, and so should come before it. In LaTeX, Package options "draft", "final" and "nowrite" can also be used. Mfpic will see the \documentclass option "draft", in which case the "final" option can be given to mfpic in order to override it, if necessary. -- mfpic.tex no longer issues the command \DeclareGraphicsRule when in LaTeX2e and using metapost. Instead, a command internal to the graphic{sx} package is used within a local group to declare the current figure's numeric extension. This permits a possibly more user-friendly error message if the user includes a non-mfpic graphic with an unsupported extension -- Added commands to graphic processing to save the bounding box data for later use in proper label placement. As of version 0.5i, one can use truebbox or mplabels without the other. -- mfpicdoc now comes with an index of commands, mfpicdoc.ind. The macros necessary to process it are in indexing.tex (included), taken from eplain. The makeindex style, mfpic.ist, that produced mfpicdoc.ind from mfpicdoc.idx is included also (though it should not be required). -- New prefix command \gclip that clips the picture-so-far to that part which lies in the interior of the following closed curve. -- Changed an internal command to a user level command \axismarks. Then \axismarks{x}, for example, is the same as \xmarks. -- Bug fixes: * grafbase.mf: textrect, textoval, etc., easily triggered arithmetic overflow for lower resolution (<=300) mf modes. These have been changed to do calculations in graph coordinates (resolution independent). Does not effect grafbase.mp (unless text approaches a size of 400x400pt) but some changes made there as well. * \mfpverbtex incorrectly wrote every "#" symbol as "##". This was fixed. Some labelling commands ("\tlabels" for example) read their position argument(s) twice. This meant braces used to hide parentheses and commas within them had to be doubled. This was eliminated along with above noted extension of label position syntax. What's new since mfpic 0.4? -------------------------------- * Axis commands: There are now 6 axes that can be drawn, besides x- and y-axis there are four border axes. All axes may be dashed, dotted, etc., just like any curve. * Tick marks: They can now be on either side or centered (or even off-center). They can be drawn on any of the 6 axes. * Additional text labels: Instead of issuing one \tlabel command for every label, there is now a \tlabels command to list all the labels at once. There is an abbreviation, \axislabels, for the special task of placing labels along an axis. There is a command, \tlabelsep, for setting a default separation of a label from its point of placement, and another \tlabeloffset, for shifting all following labels in a particular way. There is command, \tlabeljustify, for changing the default justification of the text in all following labels. And a command, \plottext, which will place the same bit of text at every one of a list of points. * Framing text: Given a bit of text, we now have commands for creating a rectangle, oval or circle that exactly surrounds it. This allows clearing the shape before placing the text, and the curve created can be dashed, dotted, etc., like any other mfpic curve. * Transformation prefixes: Transformation prefixes can be used to alter the path that follows. In addition to \rotatepath, we have now \shiftpath, \scalepath, \xscalepath, \yscalepath, \slantpath, \xslantpath, \yslantpath, \reflectpath and \xyswappath. * Misc. commands: There are now some commands for facilitating the creation of bar and pie charts, automatically calculating the correct proportions from supplied data. A new command now exists for filling the graph with a graph-paper like grid of lines, and a similar one for polar coordinates. There are two new commands for selecting colors in the graph: \tlabelcolor, and \backgroundcolor. Despite its name, \backgroundcolor doesn't change the background, but tells mfpic what color the background will be (\gclear will then use it). * Misc. changes: -- \grid takes an optional argument for the size of the dots. -- \datafile and \plotdata take an optional argument: p for polygonal or s for smooth. -- \plot, \plotsymbol, and \plotnodes formerly required a path name Triangle, etc.) for one argument. They now accept a picture or (in metapost) a string. You can do \plot{btex $\bullet$ etex}... or \plotsymbol{"a"}... (provided \bullet has a robust meaning and " is not active). -- The symbol name Star now produces the standard 5-pointed star, and the new SolidStar is the same shape filled in. The old shape was just five straight lines, which is now provided by a new name, Asterisk. -- The \mfpic command's optional arguments are now both truely optional (default scale is 1). -- All commands that take an optional smoothness specification (s or p), now allow the s to be followed by a tension value. -- \\ now works (mostly) in labels when \metapost option is selected. -- Some commands have been made somewhat more error tolerant (invalid optional arguments replaced by defaults). -- New command: \everytlabel{...}. The contents are saved, to be inserted at the start of each \tlabel. This gets around the fact that each line of a \tlabel is a group. These tokens are inside the \tlabel group, but outside the group of each line. * Plus: HUGE numbers of small changes, refinements, improvements(?), bug fixes, new bugs, etc. In particular, shading of a region by metafont was speeded up at least 600 percent (for the default parameters in regions of about 400x400 pixels, less for smaller regions). Known issues: -- The bug (reported below) in supp-pdf.tex has been fixed in recent versions of that file. The version of supp-pdf.tex included in many pdftex distributions might not be very recent. I use the versions in the most recent update of ConTeXt. -- Between 0.4.22 and 0.5.0 the handling of \datafile and \plotdata changed. Formerly, they added redundant parentheses around the points output to the figure file. This no longer happens. These redundant parentheses were never documented, in anticipation of possible future changes (some still pending). Users of 0.4.0 or later, who discovered them and relied on them, will have to make sure their \using command now includes all needed parentheses, such as this one (the default): \using{#1 #2 #3}{(#1,#2)}. -- Mfpic may be fooled in its automatic detection of whether it is being run for the first time. The commands \mfpicdrafttrue or \mfpicdraftfalse may then need to be used to specify this, or simply for convenience. \mfpicdrafttrue will speed the TeX processing (by not including any figures) if MetaPost encounters errors and some figures are not produced. What's new between mfpic 0.2.10.9 and 0.4? ------------------------------------------ -- An option to produce a MetaPost source file instead of Metafont; supported by grafbase.mp, the MetaPost equivalent of grafbase.mf. -- Under the metapost option, an option to pass responsibility for \tlabel's to MetaPost. This allows rotation of text labels. -- Under the metapost option, an option to let MetaPost calculate the bounding box of the figure (rather than force it to the nominal boundaries). -- An option to clip all pictures to the nominal boundaries set by the \mfpic command. -- An option to center the lines of multi-line \tcaption's. -- A debug option. These options are LaTeX options, but their functionality is also supplied by switches that work in plainTeX. -- Under the metapost option, commands for specifying the color of graph elements. Also, optional arguments to the following commands for specifyng the color to use: \draw, \gfill, \arrow, \hatch, \thatch, \rhatch, \lhatch, and \xhatch. And a new command \mfpdefinecolor, for defining color names to use in these and other commands. -- New commands, \datafile and \plotdata, for drawing curves based on suitable data in external files. -- New commands, \dashpattern and \gendashed, for drawing curves with arbitrary dashing patterns. -- New commands: \plotsymbol Places a specified shape at specified points. \plot Similar to \dotted, but uses a specified shape instead of dots. \plotnodes Places a specified symbol at all the "nodes" of a curve. Available symbols are Triangle, Circle, Square, Diamond, Plus, Cross, Star, SolidTriangle SolidCircle, SolidSquare, and SolidDiamond. -- New command \fcncurve that, if provided a sequence of points with increasing x-coordinates, will draw a curve through them guaranteed to have increasing x-coordinates. -- New command \polkadot for filling a region with a polkadot pattern -- Enhanced metafont code for \shade giving better looking results. -- The \tile and \tess commands now actually work (mostly). -- The figure placement code now takes the height and depth of text labels into account. -- The macro \fdef, while documented, was not actually defined! Now it is. -- Numerous small bug fixes (but probably also new bugs) and fine tuning of some macros. Known issues. --------------- -- When mfpic is used in LaTeX, and babel is used with the frenchb language option, and if pdflatex is used, then the \usemetapost command must occur before \usepackage[...]{babel}. If the metapost option to the mfpic package is used, then mfpic must be loaded before babel, or all mfpic environments will generate an error on the second run, and produce no picture. This is a bug in the file supp-pdf.tex (it has been reported [and fixed, see above]). Any attempt to include a MetaPost graphic (with or without mfpic) will fail if \usepackage[pdftex]{graphics} is issued after \usepackage[frenchb]{babel}. MFpic's MetaPost support causes the graphics package to be loaded with the pdftex option, hence the above restriction on the order. Other packages that make the colon character active can also interfere with supp-pdf.tex. The only universal solution is a change to supp-pdf.tex. -- In beta 0.4 of mfpic, code to detect latex/amstex was incorrect. Please update to version 0.4.05 at least (which should be found where you found this whats.new file). [eof]