This FAQ contains answers to some TeXlive related questions that have appeared on the forums, as well as some other info that might be useful.

+

== General questions: Where should I start? Resources? ==

−

= General questions: Where should I start? Resources? =

+

For an introduction to LaTeX, I recommend "The not so Short Introduction to LaTeX" by Tobias Oetiker. Originally German, this document is translated to many languages, especially to the lingua franca of the Internet, English. Downloadable from CTAN [http://www.ctan.org/tex-archive/info/lshort/ here].

−

For an introduction to LaTeX, I recommend "The not so Short Introduction to LaTeX" by Tobias Oetiker. Originally german, this document is translated to many languages, especially to the lingua franca of the Internet, english. Downloadable from CTAN [http://www.ctan.org/tex-archive/info/lshort/ here].

can probably (i.e. in many cases) do the job. Unfortunately some package authors do not name their documentation equally to their package. So asking for documentation in Forums or mailing lists not always is silly.

+

Alternatively, you can search for documentation on [http://ctan.org/search/ CTAN].

−

==Q: I want latex to do something special, and I'm pretty sure someone before me had to have the same problem.==

+

===Q: I want LaTeX to do something special, and I am pretty sure someone before me had to have the same problem.===

−

'''A:''' There is an excellent [http://www.tex.ac.uk/cgi-bin/texfaq2html TeX FAQ] on the web. Typical latex problems (special headers, different page layout, tricks with tables, etc..) are all covered there. Searchable!

+

'''A:''' There is an excellent [http://www.tex.ac.uk/cgi-bin/texfaq2html TeX FAQ] on the web. Typical LaTeX problems (special headers, different page layout, tricks with tables, etc.) are all covered there. Searchable!

−

==Q: I want to read more! More! I said more!==

+

===Q: I want to read more! More! I said more!===

−

'''A:''' Andy Roberts (arooaroo) has a couple of tricks on his website [http://www.andy-roberts.net/misc/latex/index.html Getting to grips with LaTeX], which has been used as a basis for [http://en.wikibooks.org/wiki/LaTeX LaTeX wikibook].

+

'''A:''' Andy Roberts (arooaroo) has a couple of tricks on his website [http://www.andy-roberts.net/misc/latex/index.html Getting to grips with LaTeX], which has been used as a basis for [http://en.wikibooks.org/wiki/LaTeX LaTeX wikibook]. You could also check out [http://www.ctan.org/tex-archive/info/lshort/ The not so Short Introduction to LaTeX] which is available in many languages.

−

= Tricks with LaTeX =

+

== Tricks with LaTeX ==

−

==Q: I need/want to use some funky bibliography/references format.==

+

===Q: I need/want to use some funky bibliography/references format.===

−

'''A:''' [http://www.ctan.org/tex-archive/help/Catalogue/entries/biblatex.html biblatex] is then the thing you are looking for (it's in AUR). It has an enhancement [http://www.ctan.org/tex-archive/help/Catalogue/entries/biblatex-dw.html biblatex-dw], also in AUR, which is especially valuable for the special issues in the Humanities.

+

'''A:''' Biblatex which is in {{Pkg|texlive-bibtexextra}} is then the thing you are looking for. Some templates for specialized publishers (e.g. the IEEE, some universities, etc.) are included in the {{Pkg|texlive-publishers}} package.

−

= TeXlive directory structure and important files =

+

== TeXlive directory structure and important files ==

−

==Q: What's up with all these dirs /usr/share/{texmf,texmf-dist,texmf-var,texmf-config}?==

+

===Q: What's up with all these dirs /usr/share/{texmf,texmf-dist,texmf-var,texmf-config}?===

'''A:''' TeX uses several "source trees"; they have the same internal structure, and can "overlap". This is to allow users to modify files provided system-wide without having to access files they're not supposed to access. Here's the portion of the main config file which lists all these dirs with some explanations ($SELFAUTODIR=/usr/share):

'''A:''' TeX uses several "source trees"; they have the same internal structure, and can "overlap". This is to allow users to modify files provided system-wide without having to access files they're not supposed to access. Here's the portion of the main config file which lists all these dirs with some explanations ($SELFAUTODIR=/usr/share):

% The tree containing the runtime files closely related to the specific

% The tree containing the runtime files closely related to the specific

Line 52:

Line 55:

One more remark: if you install something just for you, it should go to your home texmf tree. However, on desktops, you might not want to clutter your home dir; then it should go to texmf-local tree (which should be writable by the "tex" group).

One more remark: if you install something just for you, it should go to your home texmf tree. However, on desktops, you might not want to clutter your home dir; then it should go to texmf-local tree (which should be writable by the "tex" group).

−

==Q: I want to have some configuration app!==

+

===Q: I want to have some configuration app!===

'''A:''' Run

'''A:''' Run

texconfig

texconfig

Line 59:

Line 62:

as root instead.

as root instead.

−

==Q: I want to edit textfiles! Where are some configuration files?==

+

===Q: I want to edit textfiles! Where are some configuration files?===

'''A:''' Keeping in mind the above directory structure (<texmfroot> refers to one of the dirs above), here you go:

'''A:''' Keeping in mind the above directory structure (<texmfroot> refers to one of the dirs above), here you go:

The main config file:

The main config file:

Line 70:

Line 73:

<texmfroot>/web2c/updmap.cfg

<texmfroot>/web2c/updmap.cfg

−

= Common problems with TeXlive =

+

== Common problems with TeXlive ==

−

==Q: I want use ConTeXt.==

+

===Q: I just updated texlive and it stopped working.===

−

'''A:''' (English) ConTeXt should be enabled automatically. Remember that the perl wrapper to be used with ConTeXt is

+

'''A:''' While this can be caused by many things, the most common reason for troubles of this sort is the following mechanism of how texlive works: there can be more than one "tree of tex files" which are put "on top of each other" as far as TeX is concerned (see question 3.1 above), and so there can be more copies of "the same" config file around on the disk, and only one of them is used. In particular, if a user makes some config changes, or generates some formats, the resulting "changes" are saved in the local user's tree ({{ic|~/.texlive/texmf-{var,config}}}), and while these exist, they are '''always''' preferred over the system files. This implies that even if the system files are updated on texlive update, when a user runs tex, it still uses the "old" files that are in {{ic|~/.texlive}}.

+

+

Hence, if you suspect that this might be the cause of the problem, you can

+

* backup your {{ic|~/.texlive}} dir somewhere and try again. If the problem persists, with big probability it's a problem with some {{Ic|texlive-*}} package.

+

* there is a tool with which one can check which file with a particular name is "seen" by TeX. Namely

+

kpsewhich <filename>

+

returns the full path to the file of that name that TeX would use.

+

+

Finally, the most usual troubles that span from this behavior are:

+

* after upgrade, TeX "stops working" with the following error message:

+

Fatal format file error; I'm stymied.

+

What one should understand is that the TeX system "precompiles" formats (that is, takes the macros which constitute for instance the LaTeX format, and creates a binary thing (file latex.fmt), which is then used when you call "latex <somefile>"). Now when the tex binary itself is updated, all the precompiled formats need to be recompiled as well. While [[pacman]] does that for you for system-wide formats, the info above implies that if a user (or some program like LyX) ever compiled the formats by himself, that user needs to recompile the formats manually. The command for that is

+

fmtutil --all

+

(as a user). (By the way, the location of {{ic|*.fmt}} files is {{ic|<texmfroot>/texmf-var/web2c}}.) The other option is to delete the {{ic|*.fmt}} files from the local tree ({{ic|~/.texlive/texmf-var/web2c/*.fmt}}) and use the system-wide generated formats (which can be regenerated with {{Ic|sudo fmtutil-sys --all}}).

+

* after upgrade, some fonts stop being used properly; or there is an error that TeX cannot find some font. This is related to the question 4.4 below - you most probably have a local {{ic|updmap.cfg}} file (check by {{Ic|kpsewhich updmap.cfg}}) which doesn't reflect changes in {{ic|*.map}} files and fonts which came with the upgrade. In this case, apply the methods from the question 4.4.

+

+

===Q: I want use ConTeXt.===

+

'''A:''' (English) ConTeXt should be enabled automatically. Remember that the ruby wrapper to be used with ConTeXt is

texexec

texexec

If ConTeXt is not enabled (or you want to use localized version), use

If ConTeXt is not enabled (or you want to use localized version), use

Line 80:

Line 100:

To set up the new MarkIV implementation of ConTeXt, see http://wiki.contextgarden.net/Running_Mark_IV

To set up the new MarkIV implementation of ConTeXt, see http://wiki.contextgarden.net/Running_Mark_IV

−

==Q: I've just installed some .sty files, but tex doesn't seem to see them.==

+

===Q: LyX says the PDF file I wanted it to make does not exist, but it will make (ugly) ps/div files===

−

'''A:''' TeXlive (and tetex) uses its own directory indexes (files named ls-R), and you need to refresh them after you copy something into one of the TeX trees. Magic command:

+

See below.

−

mktexlsr

+

−

or

+

−

texhash

+

−

or

+

−

texconfig[-sys] rehash

+

−

A command line program to search through these indexes is

+

−

kpsewhich

+

−

Hence you can check that TeX can find a particular file by running

+

−

kpsewhich <filename>

+

−

The output should be full path to that file.

+

−

==Q: Pdftex and/or dvips uses bitmap fonts instead of type1 postscript fonts (aka "when I zoom my pdf/ps file, fonts are really pixelated" aka "everytime I run tex, it takes a long time because it generates fonts with metafont" aka "at the end of my logfile generated by pdftex I see that it includes *.pk fonts instead of *.pfb)==

+

(LyX log files are in {{ic|/tmp/lyx_tmpdir.SOMETHING/lyx_tmpbufN/filename.log}})

−

'''A:''' This takes a bit of time to explain. Now it's important that you understand how does the system work, so that you know what you're doing.

+

−

* Files which tell pdftex/dvips which fonts are to be included as type1 fonts (instead of traditional bitmap fonts) have suffix .map and reside somewhere in <texmfroot>/fonts/map/{pdftex,dvips}/updmap/{pdftex.map,psfonts.map}.

+

===Q: pdftex and/or dvips uses bitmap fonts instead of type1 postscript fonts (i.e. "when I zoom my PDF/ps file, fonts are really pixelated" a.k.a. "everytime I run tex, it takes a long time because it generates fonts with metafont" a.k.a. "at the end of my log file generated by pdftex I see that it includes *.pk fonts instead of *.pfb")===

−

* You '''don't''' want to edit these files manually; they're good for checking if your favorite type1 font which causes troubles is sitting there properly.

+

<!--header is too long-->

+

'''A:''' This takes a bit of time to explain. Now it is important that you understand how the system works, so that you know what you are doing.

+

+

Files which tell pdftex/dvips which fonts are to be included as type1 fonts (instead of traditional bitmap fonts) have suffix .map and reside somewhere in {{ic|<texmfroot>/fonts/map/{pdftex,dvips}/updmap/{pdftex.map,psfonts.map}}}. First of all, you need to find out the name of the map file you want. The log for my TeX compilation gave me the error "Font rtxr at 540 not found", so I typed {{Ic|locate rtxr}} and got, among others, {{ic|/usr/share/texmf-dist/fonts/afm/public/txfonts/rtxr.afm}}. This tells me the font package is {{Ic|txfonts}}.

+

+

You '''do not''' want to edit these mapfiles manually; they're good for checking if your favorite type1 font which causes trouble is sitting there properly.

* These files are automatically generated, when you run

* These files are automatically generated, when you run

−

updmap

+

$ updmap

−

as user (or

+

as user, or

−

updmap-sys

+

# updmap-sys

−

as root for system-wide changes)

+

as root for system-wide changes

−

* What you need to do to have your favorite fonts (for instance kpfonts) properly used as type1 fonts in pdf and ps files is to locate the .map file that goes with the package (e.g. kpfonts.map; you don't need to actually *do* anything with the file, just know that it's there somewhere), edit updmap.cfg by running

+

+

What you need to do to have your favorite fonts (for instance kpfonts or txfonts) properly used as type1 fonts in pdf and ps files is to locate the .map file that goes with the package (e.g. kpfonts.map; you do not need to actually *do* anything with the file, just know that it is there somewhere), edit {{ic|updmap.cfg}} by running

updmap --edit

updmap --edit

−

as user (or "updmap-sys --edit" as root) and add the line

+

as user (or {{Ic|updmap-sys --edit}} as root) and add the line

Map kpfonts.map

Map kpfonts.map

or the line

or the line

MixedMap kpfonts.map

MixedMap kpfonts.map

(MixedMap indicates that fonts are also available as bitmap fonts.), and exit the editor. At this point, you should see the messages which indicate that updmap is regenerating {pdftex,psfonts}.map files.

(MixedMap indicates that fonts are also available as bitmap fonts.), and exit the editor. At this point, you should see the messages which indicate that updmap is regenerating {pdftex,psfonts}.map files.

−

* This should be sufficient, and your next run of pdftex/dvips should be already including the type1 versions of fonts.

−

= Useful apps to use with (any TeX installation) =

+

(Alternatively, just run {{Ic|updmap --enable Map<nowiki>=</nowiki>kpfonts}}, or (as root) {{Ic|updmap-sys --enable Map<nowiki>=</nowiki>kpfonts}}, if you just want to add one map without going into an editor.)

+

+

This should be sufficient, and your next run of pdftex/dvips should be already including the type1 versions of fonts.

+

+

== Useful apps to use with (any TeX installation) ==

+

+

===Q: Editors? ===

+

'''A:''' See [[LaTeX#Editors_and_environments]] for a long list of options.

−

==Q: Editors? ==

+

Great for beginners are {{AUR|Texmaker}} or its fork {{AUR|TeXstudio}}. There is also [http://kile.sourceforge.net/ kile] (depends on KDE though) or [http://winefish.berlios.de/ winefish].

−

'''A:''' Great for beginners (errr...) are [http://kile.sourceforge.net/ kile] (depends on kde though) or [http://winefish.berlios.de/ winefish].

+

−

For serious work, especially scientic papers, more especially in the humanities, I strongly recommend emacs with reftex and [http://www.gnu.org/software/auctex/ auctex]. Reftex helps very much with references within big documents.

+

For serious work, especially scientic papers, more especially in the humanities, I strongly recommend emacs with reftex and [https://www.gnu.org/software/auctex/ auctex]. Reftex helps very much with references within big documents.

+

Also (g)vim with [http://vim-latex.sourceforge.net/ vim-latex] (although I had some problems with it with vim-7.* versions) might be a good solution. If you have problems with vim-latex, try [http://www.vim.org/scripts/script.php?script_id=162 auctex.vim], which has much of the same functionality.

−

Also (g)vim with [http://vim-latex.sourceforge.net/ vim-latex] (although I had some problems with it with vim-7.* versions) might be a good solution. If you have problems with vim-latex, try [http://www.vim.org/scripts/script.php?script_id=162 auctex.vim], which has much of the same functionality. If you are more WYSIWIG oriented, then perhaps [http://www.lyx.org/Home lyx] (just be aware that transitions "lyx <-> manual source editing" is not always seamless, and using your own macros is a bit awkward of course); or [http://www.texmacs.org/ texmacs] (with which I have no experience, and it seems a bit outdated).

+

If you are more WYSIWIG oriented, then perhaps [http://www.lyx.org/Home lyx] (just be aware that transitions "lyx <-> manual source editing" is not always seamless, and using your own macros is a bit awkward of course); or [http://www.texmacs.org/ texmacs] (with which I have no experience, and it seems a bit outdated).

−

==Q: Pictures with LaTeX labels?==

+

===Q: Pictures with LaTeX labels?===

'''A:''' Apart from some latex in-source macros (which are a bit of a PITA to write), there are excellent "picture programming languages" [http://cm.bell-labs.com/who/hobby/MetaPost.html metapost] and its (more-less) successor [http://asymptote.sourceforge.net asymptote]. They are pretty powerful, but have similar approach as tex itself - you write down what you want to have and how are the things related, and compiler then produces the picture. The target format is postscript for metapost; and eps/pdf/png for asymptote.

'''A:''' Apart from some latex in-source macros (which are a bit of a PITA to write), there are excellent "picture programming languages" [http://cm.bell-labs.com/who/hobby/MetaPost.html metapost] and its (more-less) successor [http://asymptote.sourceforge.net asymptote]. They are pretty powerful, but have similar approach as tex itself - you write down what you want to have and how are the things related, and compiler then produces the picture. The target format is postscript for metapost; and eps/pdf/png for asymptote.

Line 130:

Line 151:

Last but not least: [http://tug.org/PSTricks/main.cgi/ PSTricks], which gives an interface for direct inclusion of Postscript-code into TeX ([http://pages.cs.wisc.edu/~ghost/doc/AFPL/6.50/Ps2pdf.htm ps2pdf]). There are some hurdles to climb if you want to have pdf-output, because PSTricks is not compatible to pdftex.

Last but not least: [http://tug.org/PSTricks/main.cgi/ PSTricks], which gives an interface for direct inclusion of Postscript-code into TeX ([http://pages.cs.wisc.edu/~ghost/doc/AFPL/6.50/Ps2pdf.htm ps2pdf]). There are some hurdles to climb if you want to have pdf-output, because PSTricks is not compatible to pdftex.

'''A:''' The "grandfather" of vector editors - xfig is able to produce some output relevant to tex. I had relatively good experience with [http://tclab.kaist.ac.kr/ipe/ ipe] recently (saves eps/pdf). Inkscape is a good choice too.

'''A:''' The "grandfather" of vector editors - xfig is able to produce some output relevant to tex. I had relatively good experience with [http://tclab.kaist.ac.kr/ipe/ ipe] recently (saves eps/pdf). Inkscape is a good choice too.

General questions: Where should I start? Resources?

For an introduction to LaTeX, I recommend "The not so Short Introduction to LaTeX" by Tobias Oetiker. Originally German, this document is translated to many languages, especially to the lingua franca of the Internet, English. Downloadable from CTAN here.

Tricks with LaTeX

Q: I need/want to use some funky bibliography/references format.

A: Biblatex which is in texlive-bibtexextra is then the thing you are looking for. Some templates for specialized publishers (e.g. the IEEE, some universities, etc.) are included in the texlive-publishers package.

TeXlive directory structure and important files

Q: What's up with all these dirs /usr/share/{texmf,texmf-dist,texmf-var,texmf-config}?

A: TeX uses several "source trees"; they have the same internal structure, and can "overlap". This is to allow users to modify files provided system-wide without having to access files they're not supposed to access. Here's the portion of the main config file which lists all these dirs with some explanations ($SELFAUTODIR=/usr/share):

Note that they are searched in the reverse order that they are listed above (I think). So when some problems pops up, search the trees in the proper order ;)

One more remark: if you install something just for you, it should go to your home texmf tree. However, on desktops, you might not want to clutter your home dir; then it should go to texmf-local tree (which should be writable by the "tex" group).

Q: I want to have some configuration app!

A: Run

texconfig

Careful! When you run this as a user, you modify settings for that user. If you want to modify system-wide settings, run

texconfig-sys

as root instead.

Q: I want to edit textfiles! Where are some configuration files?

A: Keeping in mind the above directory structure (<texmfroot> refers to one of the dirs above), here you go:
The main config file:

<texmfroot>/web2c/texmf.cnf

List of formats generated:

<texmfroot>/web2c/fmtutil.cnf

Settings with which are e.g. bitmap fonts generated

<texmfroot>/web2c/mktex.cnf

Which and how type1 fonts are used instead of metafont generated bitmap ones?

<texmfroot>/web2c/updmap.cfg

Common problems with TeXlive

Q: I just updated texlive and it stopped working.

A: While this can be caused by many things, the most common reason for troubles of this sort is the following mechanism of how texlive works: there can be more than one "tree of tex files" which are put "on top of each other" as far as TeX is concerned (see question 3.1 above), and so there can be more copies of "the same" config file around on the disk, and only one of them is used. In particular, if a user makes some config changes, or generates some formats, the resulting "changes" are saved in the local user's tree (~/.texlive/texmf-{var,config}), and while these exist, they are always preferred over the system files. This implies that even if the system files are updated on texlive update, when a user runs tex, it still uses the "old" files that are in ~/.texlive.

Hence, if you suspect that this might be the cause of the problem, you can

backup your ~/.texlive dir somewhere and try again. If the problem persists, with big probability it's a problem with some texlive-* package.

there is a tool with which one can check which file with a particular name is "seen" by TeX. Namely

kpsewhich <filename>

returns the full path to the file of that name that TeX would use.

Finally, the most usual troubles that span from this behavior are:

after upgrade, TeX "stops working" with the following error message:

Fatal format file error; I'm stymied.

What one should understand is that the TeX system "precompiles" formats (that is, takes the macros which constitute for instance the LaTeX format, and creates a binary thing (file latex.fmt), which is then used when you call "latex <somefile>"). Now when the tex binary itself is updated, all the precompiled formats need to be recompiled as well. While pacman does that for you for system-wide formats, the info above implies that if a user (or some program like LyX) ever compiled the formats by himself, that user needs to recompile the formats manually. The command for that is

fmtutil --all

(as a user). (By the way, the location of *.fmt files is <texmfroot>/texmf-var/web2c.) The other option is to delete the *.fmt files from the local tree (~/.texlive/texmf-var/web2c/*.fmt) and use the system-wide generated formats (which can be regenerated with sudo fmtutil-sys --all).

after upgrade, some fonts stop being used properly; or there is an error that TeX cannot find some font. This is related to the question 4.4 below - you most probably have a local updmap.cfg file (check by kpsewhich updmap.cfg) which doesn't reflect changes in *.map files and fonts which came with the upgrade. In this case, apply the methods from the question 4.4.

Q: I want use ConTeXt.

A: (English) ConTeXt should be enabled automatically. Remember that the ruby wrapper to be used with ConTeXt is

Q: LyX says the PDF file I wanted it to make does not exist, but it will make (ugly) ps/div files

See below.

(LyX log files are in /tmp/lyx_tmpdir.SOMETHING/lyx_tmpbufN/filename.log)

Q: pdftex and/or dvips uses bitmap fonts instead of type1 postscript fonts (i.e. "when I zoom my PDF/ps file, fonts are really pixelated" a.k.a. "everytime I run tex, it takes a long time because it generates fonts with metafont" a.k.a. "at the end of my log file generated by pdftex I see that it includes *.pk fonts instead of *.pfb")

A: This takes a bit of time to explain. Now it is important that you understand how the system works, so that you know what you are doing.

Files which tell pdftex/dvips which fonts are to be included as type1 fonts (instead of traditional bitmap fonts) have suffix .map and reside somewhere in <texmfroot>/fonts/map/{pdftex,dvips}/updmap/{pdftex.map,psfonts.map}. First of all, you need to find out the name of the map file you want. The log for my TeX compilation gave me the error "Font rtxr at 540 not found", so I typed locate rtxr and got, among others, /usr/share/texmf-dist/fonts/afm/public/txfonts/rtxr.afm. This tells me the font package is txfonts.

You do not want to edit these mapfiles manually; they're good for checking if your favorite type1 font which causes trouble is sitting there properly.

These files are automatically generated, when you run

$ updmap

as user, or

# updmap-sys

as root for system-wide changes

What you need to do to have your favorite fonts (for instance kpfonts or txfonts) properly used as type1 fonts in pdf and ps files is to locate the .map file that goes with the package (e.g. kpfonts.map; you do not need to actually *do* anything with the file, just know that it is there somewhere), edit updmap.cfg by running

updmap --edit

as user (or updmap-sys --edit as root) and add the line

Map kpfonts.map

or the line

MixedMap kpfonts.map

(MixedMap indicates that fonts are also available as bitmap fonts.), and exit the editor. At this point, you should see the messages which indicate that updmap is regenerating {pdftex,psfonts}.map files.

(Alternatively, just run updmap --enable Map=kpfonts, or (as root) updmap-sys --enable Map=kpfonts, if you just want to add one map without going into an editor.)

This should be sufficient, and your next run of pdftex/dvips should be already including the type1 versions of fonts.

Useful apps to use with (any TeX installation)

Q: Editors?

For serious work, especially scientic papers, more especially in the humanities, I strongly recommend emacs with reftex and auctex. Reftex helps very much with references within big documents.
Also (g)vim with vim-latex (although I had some problems with it with vim-7.* versions) might be a good solution. If you have problems with vim-latex, try auctex.vim, which has much of the same functionality.

If you are more WYSIWIG oriented, then perhaps lyx (just be aware that transitions "lyx <-> manual source editing" is not always seamless, and using your own macros is a bit awkward of course); or texmacs (with which I have no experience, and it seems a bit outdated).

Q: Pictures with LaTeX labels?

A: Apart from some latex in-source macros (which are a bit of a PITA to write), there are excellent "picture programming languages" metapost and its (more-less) successor asymptote. They are pretty powerful, but have similar approach as tex itself - you write down what you want to have and how are the things related, and compiler then produces the picture. The target format is postscript for metapost; and eps/pdf/png for asymptote.

Even closer incorporated to TeX itself - i.e. to Plain TeX, LaTeX or Context, there are layers for each of this formats - is the relatively new PGF package with its language named TIKZ.

The Python library PyX (named python-pyx in AUR) gives the possibillity to use Python to program pictures, and it uses TeX for the typesetting.

Last but not least: PSTricks, which gives an interface for direct inclusion of Postscript-code into TeX (ps2pdf). There are some hurdles to climb if you want to have pdf-output, because PSTricks is not compatible to pdftex.

Q: Pictures with LaTeX labels - I want GUI! - I want pictures fast!

A: The "grandfather" of vector editors - xfig is able to produce some output relevant to tex. I had relatively good experience with ipe recently (saves eps/pdf). Inkscape is a good choice too.