Difference between revisions of "Mark IV"
m (Fix a typo.) |
|||
(12 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
− | == Introducing Mark IV == | + | == Introducing Mark IV (and MkVI) == |
Mark IV is the name of the [[LuaTeX]]-aware part of ConTeXt; that is, when you use ConTeXt over the LuaTeX engine instead of PDFTeX or XeTeX. You run it with | Mark IV is the name of the [[LuaTeX]]-aware part of ConTeXt; that is, when you use ConTeXt over the LuaTeX engine instead of PDFTeX or XeTeX. You run it with | ||
− | + | ||
− | |||
context filename | context filename | ||
− | The first public beta has been released on the 6th of August, 2007 | + | There are fundamental differences between Mark IV and Mark II that you should be aware of. Many parts of ConTeXt have been redesigned from scratch making extensive use of the Lua programming language. And that is besides the heavy use of LuaTeX-only features in MkIV. As a result, there are a few intentional incompatibilities between the two ConTeXt versions. See [[MkIV Differences]] for these details. |
+ | |||
+ | The first public beta has been released on the 6th of August, 2007. Currently the easiest way to try it out is to install [[ConTeXt Standalone]]. | ||
It takes advantage of the amazing capabilities of LuaTeX and opens up a whole new world of possibilities, in particular with fonts. | It takes advantage of the amazing capabilities of LuaTeX and opens up a whole new world of possibilities, in particular with fonts. | ||
+ | |||
+ | In the distribution the MkIV files have suffix 'mkiv'. There are also files with suffix 'mkvi' and more will follow. The most significant difference is that these files use a different (and still somewhat experimental) syntax. | ||
+ | |||
+ | == Installation and maintenance == | ||
+ | |||
+ | The Mark IV code needs to be configured before it is usable. [[Running Mark IV|This page]] explains how to do that. | ||
== Troubleshooting == | == Troubleshooting == | ||
− | The environment variable TEXINPUTS has to be empty or unset. If not, you | + | The environment variable TEXINPUTS has to be empty or unset. If not, you can get errors about "file/module/whatever not found". |
− | can get errors about "file | + | |
+ | TEXINPUTS can *always* be a problem and really should not be used at all any more. It is a historical environment variable from the nineties, and it overrules just about every path in a modern texmf tree. | ||
+ | |||
+ | If you need something special, use TEXMFLOCAL or TEXMFPROJECT instead. | ||
== Sample code == | == Sample code == | ||
− | Here are some examples of cool stuff you can do with Mark IV | + | Here are some examples of cool stuff you can do with Mark IV. |
− | |||
=== Lua core === | === Lua core === | ||
Line 48: | Line 57: | ||
=== Fonts and typescripts === | === Fonts and typescripts === | ||
− | + | This is detailed in [[Fonts in LuaTeX]]. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== More sample code === | === More sample code === | ||
Other examples of Lua(TeX) code are to be found on [[User:Luigi.scarso#Luatex_examples|Luigi's user page]] as well as [http://luatex.bluwiki.com/ http://luatex.bluwiki.com/] | Other examples of Lua(TeX) code are to be found on [[User:Luigi.scarso#Luatex_examples|Luigi's user page]] as well as [http://luatex.bluwiki.com/ http://luatex.bluwiki.com/] | ||
+ | |||
+ | [[Category:LuaTeX]] |
Revision as of 09:07, 3 April 2014
Contents
Introducing Mark IV (and MkVI)
Mark IV is the name of the LuaTeX-aware part of ConTeXt; that is, when you use ConTeXt over the LuaTeX engine instead of PDFTeX or XeTeX. You run it with
context filename
There are fundamental differences between Mark IV and Mark II that you should be aware of. Many parts of ConTeXt have been redesigned from scratch making extensive use of the Lua programming language. And that is besides the heavy use of LuaTeX-only features in MkIV. As a result, there are a few intentional incompatibilities between the two ConTeXt versions. See MkIV Differences for these details.
The first public beta has been released on the 6th of August, 2007. Currently the easiest way to try it out is to install ConTeXt Standalone.
It takes advantage of the amazing capabilities of LuaTeX and opens up a whole new world of possibilities, in particular with fonts.
In the distribution the MkIV files have suffix 'mkiv'. There are also files with suffix 'mkvi' and more will follow. The most significant difference is that these files use a different (and still somewhat experimental) syntax.
Installation and maintenance
The Mark IV code needs to be configured before it is usable. This page explains how to do that.
Troubleshooting
The environment variable TEXINPUTS has to be empty or unset. If not, you can get errors about "file/module/whatever not found".
TEXINPUTS can *always* be a problem and really should not be used at all any more. It is a historical environment variable from the nineties, and it overrules just about every path in a modern texmf tree.
If you need something special, use TEXMFLOCAL or TEXMFPROJECT instead.
Sample code
Here are some examples of cool stuff you can do with Mark IV.
Lua core
The first thing you will want to test are the lua functions. Try
\ctxlua{a = 1.5 ; b = 1.8 ; c = a*b ; tex.print(c) ;}
or the equivalent:
\startlua a = 1.5 b = 1.8 c = a*b tex.print(c) \stoplua
You can also do more elaborate calculations with the lua math
library:
\ctxlua{tex.print("$\string\\sqrt{2} = " .. math.sqrt(2) .. "$")}
Note that the above works with any flavour of LuaTeX; nothing is actually ConTeXt-specific (except for \ctxlua and \startlua/\stoplua).
Fonts and typescripts
This is detailed in Fonts in LuaTeX.
More sample code
Other examples of Lua(TeX) code are to be found on Luigi's user page as well as http://luatex.bluwiki.com/