On 02/09/2010 01:28 AM, Marshall Feldman wrote:
Hi,
As a newbie to Lyx, I'm almost there in understanding how to use LyX
and have a few basic questions. Here's what I think I know:
Hello from down the way at Brown.
1. Templates are just LyX documents saved in the place where templates
live.
Right. Think of them as examples you can customize.
2. Document classes are types of documents (books, articles, etc.)
3. But document classes are not just types of documents. They also can
come in multiple versions for each document type. (E.g., there can be
a dozen or more versions of an "article.") The distinction between the
different versions are largely stylistic, although they also can
reflect content. For example, a Springer article has a "Conjecture"
style, but most other article styles do not make conjectures.
Yes, and this makes more sense when you realize that LyX's document
classes map more or less onto LaTeX class files. The mapping isn't
perfect, because a LyX d.c. map actually map to a class file plus one or
more packages.
4. Modules yet a lower level of granularity, and individual modules
may correspond to individual styles.
Yes, and again you can think of modules as mapping to LaTeX packages,
though again that isn't exactly right.
I hope this understanding is correct. Even so, I still can't
completely connect the dots. Here are two things I still don't
understand.
1. I'm writing a conference paper. LyX has a few
conference/proceedings templates, but none suit my needs. Several
document classes could work for me, but they're not complete. For
example, a conference paper should list the conference, location,
etc., and most likely this information should have a distinct style.
How should one handle this? By adding a style to the document class?
(How?) By manually adjusting the appearance of text?
Here it is crucial to remember that LyX knows nothing about the
appearance of output. What it knows is how to "translate" a LyX document
into LaTeX. It is LaTeX that then controls output. That's the sense in
which LyX is a "frontend to LaTeX" (though also to other things). So in
any case where you want to do a lot of customization, you have to think
first in terms of LaTeX.
LaTeX will allow you to declare new commands and environments, which
will include information about how they are to be displayed in the
output. Once you know what you want to do as far as the LaTeX goes, then
you can create a layout file that will tell LyX about it. I.e., you'd
have something like:
Style Location
LaTeXType command
LaTeXName location
Preamble
\newcommand\location{...LaTeX Stuff Here...}
EndPremable
...More stuff to tell LyX how to display it....
End
in a module, or in a new document class extending an old one if you
prefer. The LaTeX part is where the real work is. The LyX stuff can
actually be left at default, if you want. It won't look fancy, but it
will work.
2. I'd like to design a template for a working paper series. The cover
page would have a few graphics, a title, author, date, institutional
affiliation, and contact information. The first following right page
would have a title, abstract, and keywords. The second even page would
start the actual paper. It would have a title, abstract, and author,
followed by the text itself. What's the best way to do this?
This is a LaTeX issue again. So if you want to do this, you will need to
learn a good bit of LaTeX.
3. How do the various templates and document classes know when to
insert a page break? In other words, how do they control front and
back matter?
This is all done through the magic of LaTeX. LaTeX knows that certain
commands (\title, \author, etc) belong to the front matter, and in most
classes these commands do not actually output anything. They just define
certain variables to store the title, author, etc. Only when the command
\maketitle is the title page output, and its format is defined by the
document class. (LyX issues \maketitle when you stop doing things it
thinks go in the front matter, i.e., for which the InTitle flag is
true.) You can see this for yourself by putting the author before the
title. This is bad form, but it won't affect output. I.e.,
\title{My Title}
\author{John B. Author}
\maketitle
and
\author{John B. Author}
\title{My Title}
\maketitle
do the same thing.
Can the user customize or override this?
Hence, the answer to this is "yes, but doing so means modifying the
LaTeX document class file".
Richard