For writing with LaTeX I prefer using LyX because it hides the ugliness of LaTeX source code behind a pseudo-WYSIWYG frontend (the developers call it WYSIWYM: what you see is what you mean ). Including mathematical expressions, however, is very LaTeX minded and comfortable: you type LaTeX math constructs (stuff with _
, ^
, \sum
, ...) and LyX directly visualises it as a pretty printed formula. For the advanced LaTeX constructions not available in LyX's interface one can always fall back om "raw LaTeX" input fields. In short, I think LyX is a very handy compromise between the power of LaTeX and the user friendliness of a WYSIWYG system.
Sometimes, for example when writing an article for a conference, one need to use a custom LaTeX document class, recommended by the conference author guidelines. The procedure to make LyX using this custom document class is non obvious and a bit involved. It is broadly explained in the LyX manual (Part Customization, Chapter 5 Installing New Document Classes, Layouts, and Templates), but here is the short version (for teTeX on Linux or related systems, I don't know about Windows):
- Get the LaTeX document class file, e.g.
funkyarticle.cls
. - Put this class file where LaTeX could find it.
I use for example the directory
~/texmf/tex/latex/
in my own home directory (it has to be precisely the~/texmf/tex/latex/
directory structure, otherwise it does not work). That way I don't have to mess with my system (for example in directories as/usr/share/texmf/tex/latex/
) as administrator. This pages is more elaborate on installing custom LaTeX stuff - Run
texhash
from the command line. This updates (La)TeX's database (it createsls-R
files, e.g. look at~/texmf/ls-R
). -
Make a LyX layout file matching the custom LaTeX class file, e.g.
funkyarticle.layout
. Put it where LyX can find it, e.g. in~/.lyx/layouts/
.The LyX layout file declares how LyX has to format your text (LyX does not use the LaTeX layout system and settings). A very minimal LyX layout file could be this:
#% Do not delete the line below; configure depends on this # \DeclareLaTeXClass[funkyarticle]{article (funky)} # Input general definitions Input stdclass.inc
For conference articles I use for example something like
#% Do not delete the line below; configure depends on this # \DeclareLaTeXClass[funkyarticle]{article (funky)} # Input general definitions Input stdclass.inc MaxCounter Counter_Section Style Section Align Center Font Shape SmallCaps EndFont End
You can find more elaborate examples to base your layout file on in your global LyX layout directory (
/usr/share/lyx/layouts/
in my case, search for*.layout
files).The second line of the layout file is very important and has to be tailored to your particular case: in
\DeclareLaTeXClass[foo]{bar}
thefoo
refers to the LaTeX class filefoo.cls
andbar
is how this class will be called in the LyX interface. -
Start LyX and choose "Edit" > "Reconfigure". Close Lyx.
- Restart LyX. Under "Layout" > "Document" > "Layout" > "Document class" the newly created LaTeX/LyX class should now be selectable (as "article (funky)" in our example)