From: Patrick Gundlach <pg@levana.de>
Subject: Re: diving into source code
Date: 20 Jun 2002 22:54:58 +0200 [thread overview]
Message-ID: <87r8j1d61p.fsf@gundla.ch> (raw)
In-Reply-To: <NPEAKMHEICNGLIJBLOONGEDOCBAA.KrisHermans@advalvas.be>
"Kris Hermans" <KrisHermans@advalvas.be> writes:
Hi,
> After experimenting for a few weeks now zith ConTeXt, I really would like to
> gain a deeper understanding of the source code. Therefore my question,
> because I'm a TeX novice:
>
> What are good documents to study, before actually diving into ConTeXt
> source?
1) a dutch dictionary ;)
2) the source.
Well, this is hard to say. I'd suggest that you generate the 'nice'
variants of the source code by (iirc) texexec --module supp-mis.tex
(and all the other source files you'd like to read; you need the nl
format for this and copy the file to a seperate dir). This gives you a
pdf version with nicely printed comments and examples. If you have
texexec built in your head (and a TeX-interpreter), you can read the
source directly.
I am not really into the source but I suggest to start
syst-gen.tex. There are a lot of the macros defined that are needed
throughout the other files. But beware. You need a deep understanding
the way TeX works (the word \expandafter should not scare you, and a
catcode has nothing to do with the small furry creatures :) Don't let
the \dododododdodosomething irritate you. They are just Hans' way of
keeping the source obscure.
Just seen something like this:
\def\dodogetargument#1################################1#2%
got it? This is why I think that reading any not trivial TeX code is
rather difficult. (Well, Forth is even worse :)
Then it might be helpful to have a look at the multilingual
interface (mult-ini.tex) After that, just go to some of the core* and
supp* files and see what is in there. The xtag* files are not suited
for first time reading.
If you are really brave (and have *lots* of disk space) you can put a
\tracingall=1\starttext Hello World \stoptext in your tex file and
read the logfile :)
> I'm already reading "a gentle introduction to TeX" (Michael Doob).
> Is this enough or is there better material around?
I like 'the advanced TeX book' (David Salomon) really much. It is a
companion to the TeX book, but 'normal people' can understand
that one. It might help if you have programmed some little recursion
stuff yourself.
> What I don't find in the ConTeXt manuals, is documentation on how to make
> interactive, screen based documents and what are good strategies for
> producing different versions (screen/print/questions/answers/...) from the
> same base document. Any links to docs are also more than welcome!
If I remember correctly, the pdftex faq is available in different
formats. The source code is available. Go for that one. And follow
Hennings advice to get his material. I haven't had a look into it yet but
I am sure it is very nice to study.
Patrick
--
I'll fade into the darkness
next prev parent reply other threads:[~2002-06-20 20:54 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-06-20 9:58 Kris Hermans
2002-06-20 17:16 ` Henning Hraban Ramm
2002-06-20 20:54 ` Patrick Gundlach [this message]
2002-06-21 16:00 ` Henning Hraban Ramm
2002-06-23 11:01 ` Hans Hagen
2002-06-30 5:45 ` Johannes Hüsing
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87r8j1d61p.fsf@gundla.ch \
--to=pg@levana.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).