xfig(1) | General Commands Manual | xfig(1) |
xfig - Facility for Interactive Generation of figures under X11
Version 3.2.8b
xfig [options] [file]
Xfig is a menu-driven tool that allows the user to draw and manipulate objects interactively under the X Window System. It runs under X version 11 release 4 or higher and requires a two- or three-button mouse. file specifies the name of a file to be edited. The objects in the file will be read at the start of xfig.
The bulk of the documentation for xfig is in an HTML-based reference guide. See the Help menu in xfig or point your browser at /usr/share/doc/xfig/html/index.html. There are both English and Japanese versions.
When using a two-button mouse use the <Meta> key and the right button at the same time to effect the action of the middle button.
Xfig is available from https://sourceforge.net/projects/mcj/.
The Fig2dev package is used when printing or exporting the output from xfig. The fig2dev program is automatically called by xfig as a back-end processor to produce various types of output:
LaTeX, Metafont, PDF, PostScript or Encapsulated PostScript, CGM and EMF (mostyl used under Windows), tk (tcl/tk tool command language/tool kit package), SVG, GIF, JPEG, PCX, PNG, PPM, TIFF, XBM, XPM, Gerber, AutoCAD Slide, IBM-GL (HP/GL), Pic and PiCTeX. For use with TeX/LaTeX: box, epic, eepic, eepicemu, pict2e, pstricks, tikz.
See man fig2dev for all options.
The Fig2dev package is available from https://sourceforge.net/projects/mcj/.
-help
-a[llownegcoords]
-au[torefresh]
-bal[loon_delay] msec
-bol[d] font
-butt[on] font
-but_[per_row] number
-cbg color
-center
-centim[ers]
-cfg color
-correct_font_size
-deb[ug]
-dep[th]
-donta[llownegcoords]
-dontshowb[alloons]
-dontshowl[engths]
-dontshowz[erolines]
-dontsw[itchcmap]
-enc[oding] encoding
-exportL[anguage] language
pdftex Combined PDF/LaTeX (both PDF and LaTeX parts) Name Language Vector formats: ps PostScript eps Encapsulated PostScript pdf PDF (Portable Document Format) box LaTeX box (figure boundary) latex LaTeX picture pict2e LaTeX picture + pict2e macros tikz LaTeX picture + tikz macros epic LaTeX picture + epic macros eepic LaTeX picture + eepic macros eepicemu LaTeX picture + eepicemu macros pstex Combined PS/LaTeX (both PS and LaTeX parts) pdftex Combined PDF/LaTeX (both PDF and LaTeX parts) pspdftex Combined PS/PDF/LaTeX (three parts) pictex PiCTeX macros cgm Computer Graphcis Meta file emf Enhanced Meta file dxf Drawing Interchange format gbx Gerber (RS-247-X) ibmgl HPGL/2 or IBMGL textyl Textyl special commands tpic TPIC pic PIC mf MF (MetaFont) mp MP (MetaPost) tk Tk (Tcl/Tk toolkit) ptk Perl/Tk shape LaTeX shape paragraph definition svg SVG (Scalable Vector Graphics) Bitmap formats: gif GIF jpeg JPEG (JFIF) pcx PCX png PNG ppm PPM (portable pixmap package) sld (AutoCad slide) tiff TIFF xbm X11 Bitmap xpm X11 Pixmap
-export_m[argin] width
-fli[pvisualhints]
-flu[shleft]
-free[hand_resolution] resolution
-geom[etry] [WxH][+X+Y]
-gh[ostscript] ghostscript executable
-grid_c[olor] color
-grid_u[nit] unit
-hidd[entext]
-dontshowd[epthmanager]
-icon_[view]
-iconG[eometry] +X+Y
-im[age_editor] editor
-inc[hes] (or-imperial)
-ins[tallowncmap]
-internalBW width
-international
-jpeg[_quality] quality
-k[eyFile] compose-key-file
-lan[dscape]
-lat[exfonts]
-le[ft]
-library_d[ir] directory
-library_i[con_size] size
-lis[t_view]
-mag[nification] mag
-max[_image_colors] numcols
-me[tric]
-mo[nochrome]
-mu[ltiple]
-noo[verlap]
-nor[mal] font
-nosc[alablefonts]
-nosp[lash]
-not[rack]
-nowrite_bak
-ov[erlap]
-pag[eborder] color
-pap[er_size] size
tabloid Tabloid 17in x 11in Option Paper Size letter Letter 8.5in x 11in legal Legal 8.5in x 14in tabloid Tabloid 17in x 11in a ANSI A 8.5in x 11in b ANSI B 11in x 17in c ANSI C 17in x 22in d ANSI D 22in x 34in e ANSI E 34in x 44in a9 ISO A9 37mm x 52mm a8 ISO A8 52mm x 74mm a7 ISO A7 74mm x 105mm a6 ISO A6 105mm x 148mm a5 ISO A5 148mm x 210mm a4 ISO A4 210mm x 297mm a3 ISO A3 297mm x 420mm a2 ISO A2 420mm x 594mm a1 ISO A1 594mm x 840mm a0 ISO A0 840mm x 1189mm b10 JIS B10 32mm x 45mm b9 JIS B9 45mm x 64mm b8 JIS B8 64mm x 91mm b7 JIS B7 91mm x 128mm b6 JIS B6 128mm x 182mm b5 JIS B5 182mm x 257mm b4 JIS B4 257mm x 364mm b3 JIS B3 364mm x 515mm b2 JIS B2 515mm x 728mm b1 JIS B1 728mm x 1030mm b0 JIS B0 1030mm x 1456mm
Note that this doesn't affect the size of the drawing canvas. Use the -pheight and -pwidth options for that.
-ph[eight] height
-po[rtrait]
-pw[idth] width
-righ[t]
-rigi[d]
-ru[lerthick]
-scala[blefonts]
-scale_factor scale
-showa[llbuttons]
-showb[alloons]
-showd[epthmanager]
-showl[engths]
-shown[ums]
-showp[ageborder]
-showz[erolines]
-si[ngle]
-sm[ooth_factor] factor
-spec[ialtext]
-spel[lcheckcommand] command
-spinner_d[elay] msec
-spinner_r[rate] msec
-startfi[llstyle] stylenumber
-startfo[ntsize] pointsize
-startg[ridmode] modenumber
-startla[texFont] font
-startli[newidth] width
-startpo[snmode] modenumber
-startp[sFont] font
-startt[extstep] stepsize
-ta[blet]
-track
-tran[sparent_color] color_number
-update file [ file ... ]
-users[cale] scale
-useru[nit] units
-visual visualname
-write_bak
-zoom zoomscale
The overall widget name(Class) is xfig(Fig). These resources correspond to the command line arguments:
Name Type Default Command-line equivalent Name Type Default Command-line equivalent allownegcoords boolean true -allownegcoords (true), -dontallownegcoords (false) autorefresh boolean false -autorefresh axislines string pink -axislines balloon_delay integer 500 (ms) -balloon_delay boldFont string 8x13bold -bold but_per_row integer 2 -but_per_row buttonFont string 6x13 -button canvasbackground string white -cbg canvasforeground string black -cfg correctfontsize boolean false -correctfontsize debug boolean false -debug depth integer * -depth dontswitchcmap boolean false -dontswitchcmap euc_encoding boolean false (n/a) locale_encoding boolean false (n/a) encoding integer 1 -encoding save8bit boolean false (n/a) exportLanguage string eps -exportLanguage export_margin integer 0 -export_margin flipvisualhints boolean false -flipvisualhints flushleft boolean false -flushleft (true), -center (false) freehand_resolution integer 25 -freehand_resolution grid_color string black -grid_color grid_unit string 1/16 (inch) -grid_unit 0.1 (metric) hiddentext boolean false -hiddentext icon_view boolean true -icon_view (true), -list_view (false) image_editor string xv -image_editor inches boolean true -inches (true), -imperial (true), -centimeters (false), -metric (false) installowncmap boolean false -installowncmap internalborderwidth integer 1 -internalBW international boolean false -international jpeg_quality integer 75 -jpeg_quality justify boolean false -left (false), -right (true) keyFile string CompKeyDB -keyFile landscape boolean true -Landscape (true), -landscape (true), -Portrait (false), -portrait (false) latexfonts boolean false -latexfonts library_dir string ~/xfiglib -library_dir magnification float 100 -magnification max_image_colors integer 64 -max_image_colors monochrome boolean false -monochrome multiple boolean false -multiple normalFont string 6x13 -normal overlap boolean true -overlap (true), -nooverlap (false) pageborder string lightblue -pageborder paper_size string Letter (inch) -paper_size A4 (metric) pheight float 8.5 (landscape) -pheight 9.5 (portrait) pwidth float 11 (landscape) -pwidth 8.5 (portrait) rigidtext boolean false -rigid (true) rulerthick integer 24 -rulerthick scalablefonts boolean true -scalablefonts (true), -noscalablefonts (false) scale_factor float 1.0 -scale_factor showallbuttons boolean false -showallbuttons showaxislines boolean true -showaxislines (true), -dontshowaxislines (false) showballoons boolean true -showballoons (true), -dontshowballoons (false) showdepthmanager boolean true -showdepthmanager (true), -dontshowdepthmanager (false) showlengths boolean false -showlengths (true), -dontshowlengths (false) shownums boolean false -shownums (true), -dontshownums (false) showpageborder boolean true -showpageborder (true), -dontshowpageborder (false) single boolean true -single smooth_factor integer 0 -smooth_factor specialtext boolean false -specialtext splash boolean true -splash (true), -nosplash (false) spellcheckcommand string spell %s -spellcheckcommand spinner_delay integer 500 (ms) -spinner_delay spinner_rate integer 100 (ms) -spinner_rate startfillstyle integer 0 -startfillstyle startfontsize float 12 -startfontsize startgridmode integer 0 -startgridmode startlatexFont string Default -startlatexFont startlinewidth integer 1 -startlinewidth startposnmode integer 1 -startposnmode startpsFont string Times-Roman -startpsFont starttextstep float 1.2 -starttextstep tablet boolean false -track, trackCursor boolean true -track (true), -notrack (false) transparent_color integer -2 (none) -transparent_color userscale float 1.0 -userscale userunit string in (inches) -userunit cm (metric) visual string * -visual write_bak boolean true -write_bak zoom float 1.0 -zoom * Default visual and depth depend on the X server. Use xdpyinfo to see what visuals and depths are supported.
Please send bug reports, fixes, new features etc. to:
thomas.loimer@tuwien.ac.at
Because of the difference of some fonts in some X servers and the PostScript fonts on printers, text alignment can be problematic.
Not all operations employ smart redrawing of objects which are altered as a by product of the operation. You may need to use Redraw in these cases.
If the image is panned or the xfig window iconified and de-iconified during the middle of an operation (e.g. while drawing a line), the picture will be distorted. This can be corrected using Redraw after the operation is complete.
When zoomed very large, the length of dashes in dashed lines will top out at 255 pixels long. This is due to a restriction in X that the dash list is defined by char (255 pixels maximum for a dash). The figure will print correctly, however.
When you do a copy/rotate with multiple copies, only the creation of the last object can be undone with the Undo button.
Modifications to text using the popup search/update/replace/spell check panel cannot be undone.
fig2dev(1) (Fig2dev package)
gs(1) (Ghostscript PostScript previewer)
(From the original author, Supoj Sutanthavibul): Many thanks goes to Professor Donald E. Fussell who inspired the creation of this tool.
(From Brian Smith): Thanks to all the users who have contributed to xfig, especially Paul King who, besides adding many features, revamped the look and feel which became version 2.1.
Original Copyright (c) 1985 by Supoj Sutanthavibul Parts Copyright (c) 1989-2015 by Brian V. Smith Parts Copyright (c) 1991 by Paul King Parts Copyright (c) 2016-2018 by Thomas Loimer Other Copyrights may be found in various files
Any party obtaining a copy of these files is granted, free of charge, a full and unrestricted irrevocable, world-wide, paid up, royalty-free, nonexclusive right and license to deal in this software and documentation files (the "Software"), including without limitation the rights to use, copy, modify, merge, publish and/or distribute copies of the Software, and to permit persons who receive copies from any such party to do so, with the only requirement being that this copyright notice remain intact.
THE AUTHORS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
PostScript is a trademark of Adobe Systems Incorporated.
Parts Copyright (C) 1989 by Jef Poskanzer. Copyright notice for pbmplus code: Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. This software is provided ``as is'' without express or implied warranty.
Many people have contributed to xfig. Here is a list of the people who have contributed the most (in chronological order):
Version 1:
Original author:
Supoj Sutanthavibul, University of Texas at Austin
The LaTeX line drawing modes were contributed by:
Frank Schmuck, Cornell University
Original X11 port by:
Ken Yap, Rochester
Variable window sizes, cleanup of X11 port, right hand side panel:
Dana Chee, Bellcore
Cleanup of color port to X11 by:
John T. Kohl, MIT
Version 2.0:
Area fill, multiple line thicknesses, multiple fonts and font
sizes, bottom panel, line style/thickness, (and anything else that wasn't
written by the others) by:
Brian Smith
(standard disclaimer applies)
(bvsmith@lbl.gov)
Popup change-object menu by:
Jon Tombs
Frank Schmuck
Zooming and panning functions, shift key select mechanism by:
Dieter Pellkofer
Henning Spruth
Depth feature by:
Mike Lutz
Cut/Paste by:
Tom Tkacik
Version 2.1:
Indicator panel, file menu popup, print menu popup, panning with rulers, mouse function window, regular polygon, rubberbanding of circles/ellipses, filled splines on canvas, dashed/dotted splines on canvas, update button, arbitrary angle rotation of objects, alignment in compound, object scaling, constrained copy/move, corner markers for compound, context sensitive corner markers, smarter redraw, undo for compound and point move for boxes, cancel object creation, point positioning to three resolutions, TransFig scalable text, hidden text, special text, save of figure on crash by:
Paul King (king@cs.uq.oz.au)
with help from:
Brian Smith and Micah Beck (beck@cs.utk.edu)
Encapsulated PostScript importing by:
Brian Boyter
Pan/zoom with ctrl key/mouse by:
Henning Spruth
International characters by:
Herve Soulard
Directory Browser based on XDir by:
Win Treese, Digital Equipment Corporation
Rotated ellipses by:
James Tough, Dept. of Computer Science, Heriot-Watt University, Scotland
Rotated text from the xvertext package by:
Alan Richardson, Space Science Centre, School of MAPS, University of
Sussex
Popup scale menu and dynamic switching between inches and cm by:
Paul King (king@cs.uq.oz.au)
Extensive man page formatting revisions by:
David W. Sanderson
Display Postscript code for IBM RS/6000 by:
Dave Hale (dhale@green.mines.colorado.edu)
Version 3.0:
New arrowhead types, separate pen/fill colors, new file protocol,
more colors with extended color popup panel, new arc style, new fill
patterns (bricks, etc), new line join and cap styles, export offset and file
load offset, XPM import, XBM import and export (and anything else that
wasn't written by the others) by:
Brian Smith
(Note: the color popup panel was based on xcoloredit by Richard
Hesketh)
GIF header reading code by:
David Koblas from the giftoppm part of the pbmplus package
XPM export code (using XPM3 libraries) by:
Karel van Houten (K.H.C.vanHouten@research.ptt.nl)
Higher figure resolution (1200dpi) by:
Ross Martin (martin@trcsun3.eas.asu.edu)
Color quantization using neural network by:
Anthony Dekker (dekker@ACM.org)
[NEUQUANT Neural-Net quantization algorithm by Anthony Dekker, 1994. See
``Kohonen neural networks for optimal colour quantization'' in ``Network:
Computation in Neural Systems'' Vol. 5 (1994) pp 351-367. for a discussion
of the algorithm.]
Floyd-Steinberg algorithm for dithering color images on monochrome displays lifted from the Pbmplus package by Jef Poskanser.
rotate/flip objects around/about selected anchor point and
multiple copies of objects by:
Uwe Bonnes (bon@lte.e-technik.uni-erlangen.de)
Input tablet extension by:
Greg LaCoste (greg@seismo.do.usbr.gov)
Version 3.1:
The only difference between protocol version 3.0 and version 3.1 is that the
position of the ``magnet'' has been shifted by 14 fig units. In the 2.1 and
older versions of xfig the grid was in multiples of 5 fig units, but they
were on intervals 4, 9, 14, 19, etc. When version 3.0 was created,
coordinates were simply multiplied by the ratio of the resolutions (1200/80
= 15) so values like 4 became 60 instead of 74 ((4+1)*15 - 1).
The JPEG import/export code uses the Independent JPEG Group software (see jpeg/README for details)
Image browser, editor and screen capture features by:
Jim Daley (jdaley@cix.compulink.co.uk)
Version 3.2:
The changes to the version 3.2 file protocol are the addition of the paper
size, print/export magnification, single/multiple page indicator and a
transparent color name used for GIF export to the header of the file.
The other difference in the version 3.2 protocol is the mathematical model
used for splines. The new version uses X-splines which allows the user to
mix interpolation and approximation points in a same curve. More precisely,
it means that an X-spline curve is neither an interpolated spline nor an
approximated one, it is BOTH (the behaviour of each point is controlled by
one single parameter called ``shape factor''). For additional information
about X-splines, see:
"X-Splines: A Spline Model Designed for the End User"
by C. Blanc and C. Schlick, Proceedings of SIGGRAPH'95
http://dept-info.labri.u-bordeaux.fr/~schlick/DOC/sig1.html
Caveat: Because previous spline models (quadratic B-splines and Bezier with hidden points) are no longer supported, curves that are present in version 3.1 and older files are automatically converted to X-splines. This translation is only an approximation process. It means that the converted curves are not exactly the same as the original ones. Though they are usually very close, some hand-fitting may be needed in some pathological cases.
Inclusion of X-splines by:
Carole Blanc (blanc@labri.u-bordeaux.fr)
Christophe Schlick (schlick@labri.u-bordeaux.fr)
Note: the initial implementation was done by C. Feuille, S. Grosbois, L.
Maziere and L. Minihot as a student practice (Universite Bordeaux,
France).
Open/close compound feature written by
Bill Taylor (bill@mainstream.com)
Library feature written by
Stephane Mancini (mancini@elecsrv.enst.fr) (object preview by Brian V.
Smith)
The library objects in the Electrical and Logic libraries were
done by
Peter Hiscocks (phiscock@ee.ryerson.ca)
The library objects in the Computer, Networks, and
Hospital-Equipment libraries were extracted from the clipart example files
by
Bill Chimiak (chim@bgsm.edu)
Version 3.2.3 and newer:
Please see the CHANGES file for credits for newer releases.
Many bug fixes/cleanups etc. by a host of faithful users.
See the CHANGES file for all the credits.
The Fig2dev package was written by Micah Beck and is maintained by Thomas Loimer.
Aug 2021 | Xfig 3.2.8b |