Open main menu

Changes

add hint about Pandoc; moved macro from FAQ
< [[Main Page]] >
 
General hints for converting from LaTeX to Context can be found in
* [http://www.berenddeboer.net/tex/LaTeX2ConTeXt.pdf LaTeX in proper ConTeXt] by [http://www.berenddeboer.net/ Berend de Boer]
A Vietnamese version is available at [http://vnoss.org/docs/LaTeX2ConTeXt-vi.pdf VnOSS].
This page offers specific advice on a number of special things that you may be doing with LaTeX, but are not so obvious to do with ConTeXt.
=== Document and Page Layout ===
* So-called (by plain TeX and LaTeX) [[French spacing]]
=== Different use of brackets in Idiomatic Differences Between ConTeXt and LaTeX ======= Brackets and Braces ====
{| border="1" cellspacing="0" cellpadding="2"
|-
|}
 
==== Optional Arguments and Setups ====
In ConTeXt, arguments may be either
[[System Macros/Comma Separated Lists|comma separated lists]]
or [[System Macros/Key_Value_Assignments|assignments]], but
<em>not</em> both. The following example demonstrates that LaTeX
allows either syntax in optional arguments:
<pre>
\documentclass[BCOR=12mm,DIV=calc,twoside]{scrartcl}
</pre>
(From the [http://mirrors.ctan.org/macros/latex/contrib/koma-script/scrguien.pdf KOMA-Script manual].)
ConTeXt, however, distinguishes strictly between both types for
processing them internally relies on two different
mechanisms. Therefore, setups like {{cmd|itemize}} usually
allow two sets of optional arguments
[http://article.gmane.org/gmane.comp.tex.context/75276], the
comma list preceding the assignment:
 
<texcode>
\starttext
 
\startitemize [R,2*broad][
start=11,
before=\startlinecorrection,
after=\stoplinecorrection,
]
\item Foo,
\item bar,
\item baz.
\stopitemize
 
\stoptext
</texcode>
 
The ConTeXt interface definitions
(collected by Wolfgang in the [https://bitbucket.org/wolfs/commands/overview macro reference])
use a special notation to indicate whether an argument
expects assignment or list syntax:
<pre>
\defineframedtext [...] [...] [..,.=.,..]
</pre>
where <code>[...]</code> stands for the <em>list</em> type and
<code>[..,.=.,..]</code> denotates an <em>assignment</em>.
=== Programming ===
* [[LaTeX Math in ConTeXt]]
=== Automatical converting ===
 
[https://pandoc.org Pandoc] can read LaTeX and write ConTeXt (but not the other way round).
=== Copy-Paste text between LaTeX and ConTeXt ===
It is sometimes useful to have the same source for a latex LaTeX document and context a ConTeXt presentation (or context a ConTeXt document and latex a LaTeX presentation). However, the commands used by both are very different. Can someone describe some definations definitions in context ConTeXt that implement the core functionality of latex LaTeX commands like \section et al, \textbf et al, \bfseries et al and \begin \end pairs?{{Howto}}
''<code>\section</code> works the same way as in LaTeX, for mathematics take a look into [[LaTeX Math in ConTeXt]], use <code>\bf</code> instead of <code>\textbf</code> for both LaTeX and ConTeXt (or <code><nowiki>\def\textbf#1{{\bf #1}}</nowiki></code>) and as a general rule: use as many plain TeX macros as possible instead of LaTeX-specific macros. <code>\begin ... \end</code> only works for math as far as I know. See also other documents listed above or ask on the mailing list.''
 
<!--
* [[LaTeX&ConTeXt/Introduction|Introduction]]
-->
== Functionality of Latex Packages in Context ==
A Vietnamese version of <i>LaTeX in proper ConTeXt</i> is available at * [http://vnoss.org/docs/LaTeX2ConTeXt-vi.pdf VnOSS[Latex Packages]].
== Functionality = How transcribe this LaTeX macro to ConTeXt? === (This was moved from the [[FAQ]] where it didn’t make sense.) How to transcribe this macro controlling that no last line of Latex Packages in Context a paragraph is shorter than the paragraph indenting? <texcode>\parfillskip=\hsize\advance\parfillskip by -1.5\parindent\advance\parfillskip by 0pt minus \parfillskip\advance\parfillskip by 0pt minus -1em</texcode> Like this:<texcode>\installalign {block} {\parfillskip=\hsize \advance\parfillskip by -1.5\parindent \advance\parfillskip by 0pt minus \parfillskip \advance\parfillskip by 0pt minus -1em} % followed by\setupalign[block]</texcode>  * [[Latex PackagesCategory:From LaTeX]]