Becoming a TeX/ConTeXt poweruser
Hello, I was fed up with LaTeX, and became a newbie user of ConTeXt, and I think it's great and I really agree with the philosophy. However, I also have to agree with some of what has been said about the lack of good documentation for those learning ConTeXt. I've built a couple of simple documents using ConTeXt, but I'm having trouble customizing to get some functionality that I used to get from LaTeX packages, and to customize things to fix issues that I had with LaTeX. I typeset technical papers and books with complex diagrams (e.g. xypic), charts and tables, tables embedded in tables, images inside tables, among other things. I'm hoping to become a poweruser of TeX through ConTeXt and LuaTeX.
From what I've read on this list so far, knowledgeable members of the community say that the key functionality to ConTeXt is in the "core". I would like to become a power user of TeX/LuaTex/ConTeXt by learning ConTeXt from the ground up and understanding the core at the source code level. I think this will make me skilled at rolling my own styles and fixing issues on my own as I encounter them.
I'm an experienced software engineer with some knowledge of TeX (on the level of Knuth's "The TeXbook") and I'm happy to learn Lua. I want to actually read and understand the mkiv core source code and, just to start, understand how simple directives (for example \startitemize ... \stopitemize), are compiled from end to end and where their macro source code comes from (In this example I think it's in tex/texmf-context/tex/context/base/mkiv/typo-itm.mkiv but I'm not positive). I know that \startitemize ...\stopitemize is very customizable, but I would like to learn ConTeXt by learning how I could, for example, build the itemize environment myself from scratch. Can someone give me pointers on the best place to start? Then I can learn the code on my own (and not be a pest on this list :) ).
On 10/17/2016 05:46 AM, Jamie Macbeth wrote:
Hello,
I was fed up with LaTeX, and became a newbie user of ConTeXt, and I think it's great and I really agree with the philosophy.
Hi Jamie, I’m also another newbie (I switched to ConTeXt years ago ;-)), although I cannot code myself :-(. One of the features I value most is direct typesetting of XML sources.
I know that \startitemize ...\stopitemize is very customizable, but I would like to learn ConTeXt by learning how I could, for example, build the itemize environment myself from scratch. Can someone give me pointers on the best place to start? Then I can learn the code on my own (and not be a pest on this list :) ).
If you want to go the hard way (it would be the impossible way for me :-)), tex/texmf-context/tex/context/base/mkiv/strc-itm.mkvi may be the file you are looking for. The wiki offers some explanation on the topic (http://wiki.contextgarden.net/Enumerations). You might be interested in improving it. Just in case it helps, Pablo -- http://www.ousia.tk
On 10/17/2016 7:19 PM, Pablo Rodriguez wrote:
On 10/17/2016 05:46 AM, Jamie Macbeth wrote:
Hello,
I was fed up with LaTeX, and became a newbie user of ConTeXt, and I think it's great and I really agree with the philosophy.
Hi Jamie,
I’m also another newbie (I switched to ConTeXt years ago ;-)), although I cannot code myself :-(.
One of the features I value most is direct typesetting of XML sources.
I know that \startitemize ...\stopitemize is very customizable, but I would like to learn ConTeXt by learning how I could, for example, build the itemize environment myself from scratch. Can someone give me pointers on the best place to start? Then I can learn the code on my own (and not be a pest on this list :) ).
If you want to go the hard way (it would be the impossible way for me :-)), tex/texmf-context/tex/context/base/mkiv/strc-itm.mkvi may be the file you are looking for.
The wiki offers some explanation on the topic (http://wiki.contextgarden.net/Enumerations). You might be interested in improving it.
Just in case it helps,
(1) unfortunately the itemize mechanism is one of the oldest mechanisms so it has some of the rudiments of small memory, limitations on registers and macros etc; i probably have to rewrite it to get it cleaner but it then can break compatibility so for now i leave the code as it is (2) watching the code with the same editor lexing as I do helps (one can typeset the code with "context --extra=listing --scite --verycompact somefile.mkiv" to get an idea Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
participants (3)
-
Hans Hagen
-
Jamie Macbeth
-
Pablo Rodriguez