Typographical Engineering in Context
[Disclaimer: NOT a joke!] Dear gang, cabal, and knights of the context table, FYI: I am presently working on a book: Typographical Ontology and Engineering: Structured and Automated Authoring in Context It is a book on ConTeXt, but NOT a ConTeXtBook, ConTeXt Companion, or other clone. Rather, it aims to introduce Context as a general tool for typographical and typesetting engineering. Some of the philosophy of book design and layout will be discussed, and it will contain a strong reference to commands etc. NB: MKIV ONLY! The basic outline is I. Ontology and Theory II. Typographical Engineering in Context [including special topics, advanced techniques of luatex, opentype etc] III. A Typographical Engineer's Reference [organization of options and commands, glossary] IV. Appendix: Authoring in Notepad++ [or some other tool] V. Indices So no knowledge or familiarity with TeX is assumed at all. We will cover some advanced topics as well, including introductions to luatex scripting etc I was not planning to announce this for some time yet, but given the buzz around the topic on ConTeXt documentation Hans thought it would be a good moment to introduce this project and to get your feedback. So please use this thread to make suggestions: What would you all like to see covered in the planned book project: Typographical Ontology and Engineering: Structured and Automated Authoring in Context I look forward to your feedback and suggestions! Best wishes Idris -- Professor Idris Samawi Hamid, Editor-in-Chief International Journal of Shi`i Studies Department of Philosophy Colorado State University Fort Collins, CO 80523
2010/4/3 Idris Samawi Hamid ادريس سماوي حامد
It is a book on ConTeXt, but NOT a ConTeXtBook, ConTeXt Companion, or other clone. Rather, it aims to introduce Context as a general tool for typographical and typesetting engineering. Some of the philosophy of book design and layout will be discussed, and it will contain a strong reference to commands etc.
As the unique nature of typographical programming has lead it to under-documentation, I want to say that maintaining this as a central focus is a brilliant idea. Will Section II involve describing some detail important aspects of ConTeXt's internals?
NB: MKIV ONLY!
The basic outline is
I. Ontology and Theory II. Typographical Engineering in Context [including special topics, advanced techniques of luatex, opentype etc] III. A Typographical Engineer's Reference [organization of options and commands, glossary] IV. Appendix: Authoring in Notepad++ [or some other tool] V. Indices
So no knowledge or familiarity with TeX is assumed at all. We will cover some advanced topics as well, including introductions to luatex scripting etc
As this is precisely my situation, perhaps I can offer you the benefit of a test-able target audience? Today I am already looking into the best route to learning TeX/mkiv in a holistic (ie not just looking for the 'recipe' I need to meet a given deadline). I have just entered full-time thesis mode, so the question begins Should I just sit down and read the TeXBook? (something that will be done regardless, it's just a question as what is most worthwhile to Getting Something Done Right Now) or would it be that the LuaTeX manual is more directly applicable? Or, perhaps, a chapter from your book? ;)
I was not planning to announce this for some time yet, but given the buzz around the topic on ConTeXt documentation Hans thought it would be a good moment to introduce this project and to get your feedback.
So please use this thread to make suggestions:
What would you all like to see covered in the planned book project:
Typographical Ontology and Engineering: Structured and Automated Authoring in Context
I look forward to your feedback and suggestions!
I think the more you source it with the community, the stronger it will become. That is, our ignorance will most likely help you refine it in ways you wouldn't have expected to need to. But in other ways as well. For example, the appendix on workflows can gain a lot from community input I'd think.
On Sat, 03 Apr 2010 08:41:31 -0600, John Haltiwanger
2010/4/3 Idris Samawi Hamid ادريس سماوي حامد
: It is a book on ConTeXt, but NOT a ConTeXtBook, ConTeXt Companion, or other clone. Rather, it aims to introduce Context as a general tool for typographical and typesetting engineering. Some of the philosophy of book design and layout will be discussed, and it will contain a strong reference to commands etc.
As the unique nature of typographical programming has lead it to under-documentation, I want to say that maintaining this as a central focus is a brilliant idea. Will Section II involve describing some detail important aspects of ConTeXt's internals?
Let's distinguish typographical engineering from typographical programming. This will not be a book on the latter per se. Typographical engineering can be done by a non-programmer -- structured and automated processing using the high-level commands of Context. Typographic programming is an advanced topic, for which this book can serve as an introduction. So there may be some introduction to the ConTeXt internals, but nothing too indepth. Hopefully there will be successors to this first book which build on the foundation in different ways, or which or written fro a programmer-audience from the start.
So no knowledge or familiarity with TeX is assumed at all. We will cover some advanced topics as well, including introductions to luatex scripting etc
As this is precisely my situation, perhaps I can offer you the benefit of a test-able target audience? Today I am already looking into the best route to learning TeX/mkiv in a holistic (ie not just looking for the 'recipe' I need to meet a given deadline). I have just entered full-time thesis mode, so the question begins Should I just sit down and read the TeXBook?
For typographic programming, of course the TeXBook is, if no indispensable, then extremely useful. OTOH, we need a luaTeXBook that describes the eTeX extensions, the omega-aleph extensions, and luatex's own extensions, not to mention using the lua scripting language itself.
(something that will be done regardless, it's just a question as what is most worthwhile to Getting Something Done Right Now) or would it be that the LuaTeX manual is more directly applicable? Or, perhaps, a chapter from your book? ;)
I want to have one chapter on advanced techniques that includes an introduction to typographic programming in TeX -- including the primitive extensions -- and lua. But that will have to be expanded to a full book later on by real programmers like Wolfgang or Luigi.
I was not planning to announce this for some time yet, but given the buzz around the topic on ConTeXt documentation Hans thought it would be a good moment to introduce this project and to get your feedback.
So please use this thread to make suggestions:
What would you all like to see covered in the planned book project:
Typographical Ontology and Engineering: Structured and Automated Authoring in Context
I look forward to your feedback and suggestions!
I think the more you source it with the community, the stronger it will become. That is, our ignorance will most likely help you refine it in ways you wouldn't have expected to need to. But in other ways as well. For example, the appendix on workflows can gain a lot from community input I'd think.
Can you explain what you mean by "appendix on workflows"? A community model for feedback on the book would be useful. I don't want it too open at the moment -- can slow down development and I want to get this DONE. But maybe a select audience of test-able volunteers will be the way to go... thnx for that suggestion! Best wishes Idris -- Professor Idris Samawi Hamid, Editor-in-Chief International Journal of Shi`i Studies Department of Philosophy Colorado State University Fort Collins, CO 80523
2010/4/3 Idris Samawi Hamid ادريس سماوي حامد
Let's distinguish typographical engineering from typographical programming. This will not be a book on the latter per se. Typographical engineering can be done by a non-programmer -- structured and automated processing using the high-level commands of Context. Typographic programming is an advanced topic, for which this book can serve as an introduction.
Thanks for the distinction. In that case, I think this is even better.
For typographic programming, of course the TeXBook is, if no indispensable, then extremely useful.
And for typographical engineering? From your distinction, that is much more what I am looking for.
Can you explain what you mean by "appendix on workflows"?
Sorry, I meant "editor workflows with ConTeXt" (ie "Authoring in Notepad++").
A community model for feedback on the book would be useful. I don't want it too open at the moment -- can slow down development and I want to get this DONE. But maybe a select audience of test-able volunteers will be the way to go... thnx for that suggestion!
Please let me know if I can help. Given the suitability of this book's angle to what I am doing and the level I'm working from I do think my perspective can be useful.
2010/4/3 Idris Samawi Hamid ادريس سماوي حامد
Typographical Ontology and Engineering: Structured and Automated Authoring in Context
NB: MKIV ONLY!
The basic outline is
I. Ontology and Theory II. Typographical Engineering in Context [including special topics, advanced techniques of luatex, opentype etc] III. A Typographical Engineer's Reference [organization of options and commands, glossary] IV. Appendix: Authoring in Notepad++ [or some other tool] V. Indices
So no knowledge or familiarity with TeX is assumed at all. We will cover some advanced topics as well, including introductions to luatex scripting etc
As a computer engineer, one of the most import point of luatex-ConTeXMKIV is the possibility offered by Lua of an easy binding with external C/C++ shared library. This adds another dimension to literate programming, and in some circumstances eliminates the separation between documentation and code. For example, you can write an article in mkiv about Computational Commutative Algebra and the article *is* the program because is processed by the binding of luatex to a comp.comm.alg library Or you can write a text about electrical net and, if you have a binding to a spice library, the text is also the program that resolve the net and show the result (in a graphical manner also, thank to mplib). I'm pretty sure that there are others examples in mechanical sectors, financial sectors, combinatorial area and so on, maybe logic too. CPU power and disk storage are not a problem: 8cores-8GigaByte-1Tera computer has already reach the mass-market and context mkiv and luatex are well designed. -- luigi
On Sat, Apr 3, 2010 at 2:41 PM, luigi scarso
As a computer engineer, one of the most import point of luatex-ConTeXMKIV is the possibility offered by Lua of an easy binding with external C/C++ shared library. This adds another dimension to literate programming, and in some circumstances eliminates the separation between documentation and code. For example, you can write an article in mkiv about Computational Commutative Algebra and the article *is* the program because is processed by the binding of luatex to a comp.comm.alg library Or you can write a text about electrical net and, if you have a binding to a spice library, the text is also the program that resolve the net and show the result (in a graphical manner also, thank to mplib). I'm pretty sure that there are others examples in mechanical sectors, financial sectors, combinatorial area and so on, maybe logic too. CPU power and disk storage are not a problem: 8cores-8GigaByte-1Tera computer has already reach the mass-market and context mkiv and luatex are well designed.
I've been imagining what opportunities might be available via the
Parrot platform, as there is a native Lua on the VM that could
ostensibly share objects/classes/methods/code with any other language
on the platform. Not sure what kind of bridging options will be
available between Parrot and LuaTeX, but I think I remember something
about being able to 'inject' Lua statements into the LuaTeX engine (at
some point)? Would that make it feasible to somehow chain Parrot's Lua
to LuaTeX?
I'm not a true software engineer, just a self-taught tinkerer with
wild ideas. I hadn't been thinking in such literate programming terms,
but that sounds incredibly cool.
2010/4/3 John Haltiwanger
As this is precisely my situation, perhaps I can offer you the benefit of a test-able target audience? Today I am already looking into the best route to learning TeX/mkiv in a holistic (ie not just looking for the 'recipe' I need to meet a given deadline). I have just entered full-time thesis mode, so the question begins Should I just sit down and read the TeXBook? (something that will be done regardless, it's just a question as what is most worthwhile to Getting Something Done Right Now) or would it be that the LuaTeX manual is more directly applicable? Or, perhaps, a chapter from your book? ;)
Sorry to reply to myself, but the send button got pressed a bit early. The point is, I want to approach TeX/mkiv in a holistic way. I don't necessarily want to be mired in TeX constraints when it seems LuaTeX will be a) easier b) more relevant c) more powerful. However, I can imagine that knowing the former is important to understanding/learning the latter. Anyway, at the moment I'm content to read Taco's new typography chapter and add a few notes :)
Would that make it feasible to somehow chain Parrot's Lua to LuaTeX?
On Sat, Apr 3, 2010 at 4:58 PM, John Haltiwanger
On Sat, Apr 3, 2010 at 5:08 PM, luigi scarso
Would that make it feasible to somehow chain Parrot's Lua to LuaTeX?
On Sat, Apr 3, 2010 at 4:58 PM, John Haltiwanger
wrote: parrot ~ luajit cfr. http://luajit.org/ Maybe some day luatex will be jitluatex but I don't see here a priority --- luajit is x86 specific for example. My point of view is not so new COM .NET , "plug-in" all share the same concept of dynamic loading --- but the don't know the concept of typographical programming.
Parrot also knows dynamic loading, so that probably makes much more sense than some ad-hoc tethering of the two interpreters. If I understand the design of Parrot properly, then as soon as one language has defined an interface to LuaTeX, that interface will be usable in other languages on the VM.
On Sun, Apr 4, 2010 at 2:15 PM, John Haltiwanger
On Sat, Apr 3, 2010 at 5:08 PM, luigi scarso
wrote: Would that make it feasible to somehow chain Parrot's Lua to LuaTeX?
On Sat, Apr 3, 2010 at 4:58 PM, John Haltiwanger
wrote: parrot ~ luajit cfr. http://luajit.org/ Maybe some day luatex will be jitluatex but I don't see here a priority --- luajit is x86 specific for example. My point of view is not so new COM .NET , "plug-in" all share the same concept of dynamic loading --- but the don't know the concept of typographical programming.
Parrot also knows dynamic loading, so that probably makes much more sense than some ad-hoc tethering of the two interpreters. If I understand the design of Parrot properly, then as soon as one language has defined an interface to LuaTeX, that interface will be usable in other languages on the VM.
Sorry I misunderstood your words. Given that already exists an implementation of Lua 5.1 , I believe that it should be feasible to implement LuaTeX for Parrot --- using http://github.com/fperrad/lua as example, it seems to be more update. I was convinced that parrot had a JIT, but now I see http://trac.parrot.org/parrot/wiki/JITRewrite so it's not true that parrot ~ luajit -- luigi
Dnia Sat, Apr 03, 2010 at 02:58:37PM +0000, John Haltiwanger napisał(a):
As this is precisely my situation, perhaps I can offer you the benefit of a test-able target audience? Today I am already looking into the best route to learning TeX/mkiv in a holistic (ie not just looking for the 'recipe' I need to meet a given deadline). I have just entered full-time thesis mode, so the question begins Should I just sit down and read the TeXBook? (something that will be done regardless, it's just a question as what is most worthwhile to Getting Something Done Right Now) or would it be that the LuaTeX manual is more directly applicable? Or, perhaps, a chapter from your book? ;)
Sorry to reply to myself, but the send button got pressed a bit early. The point is, I want to approach TeX/mkiv in a holistic way. I don't necessarily want to be mired in TeX constraints when it seems LuaTeX will be a) easier b) more relevant c) more powerful. However, I can imagine that knowing the former is important to understanding/learning the latter.
My 3 cents: if you want to have your thesis done *quickly* and in an easy, "howto - recipe - faq" way, just use LaTeX (probably with amsrefs/tikz/memoir/a few others). If you want to do more unusual things, and have some spare time to play with them and ask a lot of questions here - use ConTeXt. (Some time ago, on the blog of the Malaysian LaTeX User Group (http://latex-my.blogspot.com/) there was a nice example of having a colourful, good-looking book done in LaTeX, btw, so it's also possible, of course; but LaTeX was *not* designed with such things in mind.) And please, *do* read the TeXbook - it's sooooo much fun!
Anyway, at the moment I'm content to read Taco's new typography chapter and add a few notes :)
Now I'm just feeling obliged to do the same. I'll print them out and read on the bus/tramway (or is it called a "cable car"?) Regards -- Marcin Borkowski (http://mbork.pl)
On Sat, Apr 3, 2010 at 9:50 PM, Marcin Borkowski
My 3 cents: if you want to have your thesis done *quickly* and in an easy, "howto - recipe - faq" way, just use LaTeX (probably with amsrefs/tikz/memoir/a few others). If you want to do more unusual things, and have some spare time to play with them and ask a lot of questions here - use ConTeXt. (Some time ago, on the blog of the Malaysian LaTeX User Group (http://latex-my.blogspot.com/) there was a nice example of having a colourful, good-looking book done in LaTeX, btw, so it's also possible, of course; but LaTeX was *not* designed with such things in mind.)
It is not just a matter of typesetting the thesis in ConTeXt---ConTeXt is a subject of study. But even barring that, my brief experience with LaTeX was more than enough to know that the very design of the macro package irks me to a degree I would not like to use it at all, for whatever purpose. It is like Ruby on Rails: "convention over configuration." No thank you, I'm not looking for a thesis that looks like an AMS paper, and no matter how hard ConTeXt can be to start learning, my money is that hacking LaTeX to make it look the way I want is much much more difficult. The thesis also has to target both electronic and print PDFs. There is just nothing LaTeX offers me besides a poorly designed (imo) system that will take as much time, if not more, to learn how to customize to my liking than ConTeXt.
And please, *do* read the TeXbook - it's sooooo much fun!
As I said, it will be read. I was just trying to discern in which order.
Hi luigi,
On Sat, 03 Apr 2010 08:41:47 -0600, luigi scarso
As a computer engineer, one of the most import point of luatex-ConTeXMKIV is the possibility offered by Lua of an easy binding with external C/C++ shared library. This adds another dimension to literate programming, and in some circumstances eliminates the separation between documentation and code. For example, you can write an article in mkiv about Computational Commutative Algebra and the article *is* the program because is processed by the binding of luatex to a comp.comm.alg library Or you can write a text about electrical net and, if you have a binding to a spice library, the text is also the program that resolve the net and show the result (in a graphical manner also, thank to mplib). I'm pretty sure that there are others examples in mechanical sectors, financial sectors, combinatorial area and so on, maybe logic too. CPU power and disk storage are not a problem: 8cores-8GigaByte-1Tera computer has already reach the mass-market and context mkiv and luatex are well designed.
Now that may be TOO advanced for this book :-) though we want to have a few examples illustrating advanced possibilities Best wishes Idris -- Professor Idris Samawi Hamid, Editor-in-Chief International Journal of Shi`i Studies Department of Philosophy Colorado State University Fort Collins, CO 80523
2010/4/3 Idris Samawi Hamid ادريس سماوي حامد
Hi luigi, Now that may be TOO advanced for this book :-) though we want to have a few examples illustrating advanced possibilities http://wiki.contextgarden.net/User:Luigi.scarso/luatex_lunatic -- luigi
Idris Hamid wrote: ============== FYI: I am presently working on a book: Typographical Ontology and Engineering: Structured and Automated Authoring in Context The basic outline is I. Ontology and Theory II. Typographical Engineering in Context [including special topics, advanced techniques of luatex, opentype etc] III. A Typographical Engineer's Reference [organization of options and commands, glossary] IV. Appendix: Authoring in Notepad++ [or some other tool] V. Indices <snip> I look forward to your feedback and suggestions! Best wishes Idris =========================== Hello Idris A chapter or appendix on the fundamentals of Unicode A (big...) chapter on typesetting Arabic :-) would be great --- I've been self-teaching/studying Arabic for a couple of years, time permitting. I hope one day to use ConTeXt to write-up my study notes --- especially the formal grammar which is (need I say) vast! It would be great to be able to document tools whereby you could mark-up any Arabic word (noun, adjective verb etc) to show certain parts in colour or add overbraces/underbraces etc. Colouring the glyphs or other ways of annotating the Arabic text to help your own documenting and understanding of the rules. I'm sure you know what I mean!! Of course, it would be impractical to cover all possibilities but the core task of accessing the node lists (and (maybe) by attributes) to introduce special effects onto the Arabic glyphs. Tools to access the vowelling --- e.g., colour the vowels or add boxes around them etc --- purely for the purposes of aiding understanding/memory etc. Anything that could help students/learners of Arabic to write really well typeset notes, with the Arabic text "annotated" to highlight things that you want to really stress. Especially if it is some tricky point of grammar and you want to really make sure you write a careful account of your hard-earned understanding so you don't forget next time!!! Lots of node-list processing :-) Warm regards Graham
On Sat, 03 Apr 2010 10:31:07 -0600, Graham Douglas
Hello Idris A chapter or appendix on the fundamentals of Unicode
We plan a special topic for unicode and opentype processing. Since this is mkiv only, all input will be utf-8 etc.
A (big...) chapter on typesetting Arabic would be great --- I've been self-teaching/studying Arabic for a couple of years, time permitting. I hope one day to use ConTeXt to write-up my study notes --- especially the formal grammar which is (need I say) vast!
I have written a few chapters for a supplementary monograph on scholarly typesetting, with a focus on Arabic-script typography. There will definitely be discussions of bidi and other language issues in TE though. Indeed, my intention is for the book to be bidi-neutral, so all structural elements are to be defined abstractly. This effort itself will lead to improvements in mkiv's bidi model.
It would be great to be able to document tools whereby you could mark-up any Arabic word (noun, adjective verb etc) to show certain parts in colour or add overbraces/underbraces etc. Colouring the glyphs or other ways of annotating the Arabic text to help your own documenting and understanding of the rules. I'm sure you know what I mean!!
News flash: it's already there! See attached.
Of course, it would be impractical to cover all possibilities but the core task of accessing the node lists (and (maybe) by attributes) to introduce special effects onto the Arabic glyphs. Tools to access the vowelling --- e.g., colour the vowels or add boxes around them etc --- purely for the purposes of aiding understanding/memory etc.
We will have a Special Topics section for some advanced things like this. The focus will be the high-level interface that Context already provides -- including for things you have described above. But we want to provide the foundation for readers who want to dig into the internals and do advanced typographic programming as well.
Anything that could help students/learners of Arabic to write really well typeset notes, with the Arabic text "annotated" to highlight things that you want to really stress.
Sure, good idea -- can be abstracted to include other langs as well.
Especially if it is some tricky point of grammar and you want to really make sure you write a careful account of your hard-earned understanding so you don't forget next time!!!
I taught a 2-semester course on Quranic Arabic last year, and I still want to author a modern approach to the topic of Quranic grammar. Maybe we can discuss that -- yet another book project! Best wishes Idris -- Professor Idris Samawi Hamid, Editor-in-Chief International Journal of Shi`i Studies Department of Philosophy Colorado State University Fort Collins, CO 80523
On 3-4-2010 7:00, Idris Samawi Hamid ادريس سماوي حامد wrote:
News flash: it's already there! See attached.
more precisely: the mechanisms are there in mkiv to do that kind of coloring (already for a while) but for advanced arabic you will need that font to get similar results note: there's also a paragraph optimizer that can improve arabic but as it uses advanced font features again you'd need the reference font Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On 3 avr. 2010, at 19:00, Idris Samawi Hamid ادريس سماوي حامد wrote:
News flash: it's already there! See attached.
Hi Idriss, That's wonderful! Could you please tell us what font you have used and give us the font features turned on to get that kind of coloring and « kashide »? Can you send an example ConTeXt file that produces what you sent as a png file? Best regards: OK
On Sun, 11 Apr 2010 02:40:29 -0600, Otared Kavian
On 3 avr. 2010, at 19:00, Idris Samawi Hamid ادريس سماوي حامد wrote:
News flash: it's already there! See attached.
Hi Idriss,
That's wonderful!
:-)
Could you please tell us what font you have used
It's very experimental at the moment, but I hope to have a release by the end of this year or earlier ... still working on the details of how to release it etc...
and give us the font features turned on to get that kind of coloring and « kashide »?
Those are not font features, but rather a "goodies" package by Hans that allows one to set glyphs for coloring. The trick in this case is that I separate the main shapes from the dots in the font, otherwise this won't work with any other arabic font afaik.
Can you send an example ConTeXt file that produces what you sent as a png file?
It's part of a larger file, and somewhat useless as a sample for a moment, but I'll contact you offlist for some discussion about it if u're interested. :-) Peace Idris -- Professor Idris Samawi Hamid, Editor-in-Chief International Journal of Shi`i Studies Department of Philosophy Colorado State University Fort Collins, CO 80523
participants (8)
-
Graham Douglas
-
Hans Hagen
-
Idris Samawi Hamid ادريس سماوي ح امد
-
Idris Samawi Hamid ادريس سماوي حامد
-
John Haltiwanger
-
luigi scarso
-
Marcin Borkowski
-
Otared Kavian