[XeTeX] XeTeX documentation "initiative"
Michiel Kamermans
pomax at nihongoresources.com
Fri Sep 10 09:53:17 CEST 2010
On 9/9/2010 9:09 PM, Wilfred van Rooijen wrote:
> OK, how about the following table of contents for a xelatex companion:
>
> - all material is based on the use of xelatex in combination with freely available high quality fonts, such as Latin Modern and TeX Gyre. The added finesses of Zapfino accessible through xelatex are beyond our scope (to give an example)
>
While something like Zapfino is too rare to require full covering, the
concent of applying opentype features is not. we should at the very
least cover the whole "using opentype features", for which a swashes
example will be good. I don't think it should actually be beyond the
scope, since one of major reasons you'd want to use xelatex (other than
that luatex isn't officially done or supported yet) is because you can
finally exploit all the features in those professional fonts you bought,
without having to use something like InDesign, or Office 2010 in
developer mode (manipulating the actual document code to add code to use
more than one style selector). It's a fair bet that this will matter to
more people than are currently using xelatex. If the manual covers it,
it'll let people who need these things evaluate whether or not xelatex
is right for them. Instead of never hearing about it =)
> - All material focuses on the use of the memoir class, because it seems that most of the material in the latex companion is supported by memoir
>
Honestly, I strongly disagree. Memoir is not "latex" or "xelatex" so
much as just a really elaborate documentclass on its own, and comes with
its own, fantastically detailed, huge manual. It's from one of the few
authors who did actually take the time to document every little thing in
excruciating detail. I would recommend a section is devoted to "If
you're looking for an all encompassing document class, let's look at
memoir, but it's so immense that covering all of it is well beyond the
scope of this book - here's what you need to know for basic use, but we
strongly recommend you read its manual instead to get the most out of it".
We shouldn't focus on explaning things from a memoir-user perspective,
and annoy everyone who doesn't exactually want to use it (I found it
conflicted with some things I needed, and ended up deciding on going
with 'book', for instance). Explaining some of the more basic packages
that memoir offers functionality of --geometry, crop, fancyhdr, for
instance -- will be more important I think. I'm not saying that we
shouldn't emphasise how cool memoir is, and that you should use it if
given half the chance, but it's far from a defacto document type.
Answering questions that pop up regularly on the newsgroups and lists
(how do I set my margins? how do I center my B5 content on a US-letter
sized page? how do I put different things in my page headers?) should be
the first goal, and then we can always say "of course, if you can also
solve these issues by using memoir, but be prepared to read a 500 page
manual before posting questions about it".
> - Other classes to be at least mentioned are book and article (koma-script?)
>
I would say book and article are "essential" to everyone who's writing a
small document, and let's be honest, someone who's starting with TeX
isn't immediately going to write a huge document. Not sure about
koma-script, since it seems to be mostly either book/article or memoir
in many places on the web. We can always say "and if you're looking for
more document classes, try CTAN. Here's a few you might want to check
out: koma-script, ..., ..."
As for the structuring, a suggested further specification:
Preamble:
. Introduction
. History of tex & friends
. The difference between latex and xelatex (compiling straight to pdf
makes sense to new users, . but not to people who still think
tex->dvi->ps, for instance)
. Where to get help
Part 1: basic use (some overlap with standard latex works cannot and
should not be avoided)
. Structure of a basic latex document for xelatex
. - always use UTF-8... in fact, make that the first sentence?
. - always use xltxtra
. - concept of preamble/document separation, instructions vs. comments
. - sectioning a document
. Basic built-in formatting
. - environments
. - linebreaks, hyphenation, text styling (bold/italic, strong/emphasized)
. - basic tables (tabular) and item list ("numerical"/"itemize")
. Basic not-built-in formatting tools and page layout
. - tocloft (should arguably come as first package)
. - geometry (for manual page sizing)
. - crop (serioulsy, I know I wish this had been covered in standard
tutorials when I started)
. - fancyhdr (it's both basic if just used, and not so basic when marks
have to be explained. Which they do, so perhaps a simple fancyhdr
explanation, and a more detaile explanation of fiddling with marks later)
. Elaborate formatting
. - memoir
. Character coding, unicode, OTF fonts, xelatex
. - always use UTF-8... again
. - opentype features
. - fontspec package (not in full detail. functionally minimal)
. - xetex character classes ('assigns chars a class number, allows
arbitrary code insertion between classes' - explain what the "boundary"
class represents)
. Text boxes
. Floats (perhaps also: new float specification through memoir)
. Tabular material
. - "tex won't guess at how to space your colums"
. - tabular, tabularx, longtable
. Graphics: inclusion of external figures
. - colorx
. - graphicx
. - PFG/TikZ
. Typesetting of mathematics
. - mathspec etc
. Utilities
. - bibtex
. - makeindex
. - glossaries
. Utilities for scientific works
. - mhchem
. - SIunits
. - natbib
. - etc
. Typesetting of specifically digital documents
. - hyperref
. - beamer
. - explicit PDF commands
Part 2: Multilingual typesetting
. Internationalisation
. - reiterate that everything is UTF-8 unicode
. - polyglossia
. Typesetting scripts that use RTL/LTR
. - bidi
. Typesetting CJK scripts
. - ruby/furigana/bopomofo
. - vertical typesetting
. I think those are the two major topics of multilingual discussion on
the mailing list, but if someone things there should be more, then there
should be more.
Part 3: programming packages and environments (some overlap with
standard latex works cannot and should not be avoided)
. The logic of TeX (functionally short. We don't want a full copy of TeX
by Topic)
. - explain that TeX only does iterative macro substitution, so you need
to think in iterations. this doesn't have to be a very detailed section,
but it should make it obvious that "if X then Y" doesn't 'execute' like
a normal programming language.
. Differences between live and packaged code
. - makeatletter, @names, etc.
. Box logic
. - boxing, unboxing, referencing box dimensions (\the\wd0, \the\ht1 etc.)
. Variables
. - the TeX equivalent of a variable, how to make one, how to set it,
how to reference it, how to overwrite it, and for numbers, as well as
perhaps how tex does not facilitate arithmetic beyond add/subtract and
that there are often better ways to get to the number you want based
having TeX compute the dimensions of things and using \the or \value
. - counters
. Conditionals
. - how TeX deals with conditionals (expansion, not execution)
. - which conditionals are available
. XeTeX/XeLaTeX specific commands (and naturally, highlight \ifXeTeX if
xetex commands are used)
. Writing a package (with a few examples)
. Writing an environment (with a few examples)
Part 4: commands reference manual
- this should include the latex commands. Yes, that's duplication, but
someone new to using xelatex simply needs this section; all the
information should be in one place on this one.
this part should be different from the explanantion in the package
writing section - it should be pure reference. command name, one or two
sentence explanation, next item.
Part 5: glossaries and indexes
A bit more specific, but then I would imagine that as time goes on, this
will only become more and more specific. Reraising the question, how to
go about expanding this until finally it's a full manual and reference?
Wiki? Other collaborative documenting system?
- Mike "Pomax" Kamermans
nihongoresources.com
More information about the XeTeX
mailing list