New answers tagged

2

Hmm, this is quite convoluted, but I couldn't find a better solution... So: you lose the ability to set up your initial the way placeinitial allows, but if you're sure that you just want the first character to be bigger, here goes (I don't have your font, so I use pagella): \setupbodyfont [pagella, 12pt] \def\doChapterTitle#1% ...


2

You can use your fonts with a short typescript for them. \starttypescript [serif] [heisei] \setups[font:fallback:serif] \definefontsynonym [Serif] [file:HeiseiMinStd-W3.otf] \definefontsynonym [SerifBold] [file:HeiseiMinStd-W7.otf] \stoptypescript \definetypeface [mainface] [rm] [serif] [heisei] [default] [features=default] \definetypeface ...


3

As suggested by Thomas, you can use tables instead. ConTeXt has different table mechanisms. Personally, I find the natural tables environment to be most versatile. Here is how to achieve what you want using natural tables: \defineexternalfigure[vhs][width=3cm] \startsetups collection \setupTABLE[frame=off, align={midle,lohi}] \stopsetups \starttext ...


3

When the width of the caption is less than that of the float, by default, ConTeXt centers the caption box. So, visually, the captions don't appear to be left aligned. The simplest workaround is to tell ConTeXt to always choose the width of the caption box to be equal to that of the float. This can be done by adding the option width=max to \setupcaption. ...


4

The paragraph mechanism is a simple table. If you are willing to use Natural Tables instead, then you can change the rendering of each column separately. For example: \defineparagraphs[paras][n=2, distance=0.08\textwidth] \setupparagraphs[paras][1][width=0.46\textwidth, align=flushright] \setupparagraphs[paras][2][width=0.46\textwidth, align=flushleft] ...


1

As a workaround, you could just set the options you want individually, since european is simply a shorthand for a collection of such options. For example: \usemodule[circuitikz] \ctikzset{current=european, voltage=european, resistor=european, inductor=european} \starttext \starttikzpicture \draw (0,0) to[R, l=$R_1$] (2,0); \stoptikzpicture \stoptext ...


2

You can use classic plain TeX approach because ConTeXt knows plain TeX macros and TeX primitives: \newcount\symbolnum \def\putsymbols[#1][#2]#3{% \symbolnum=0 \loop \advance\symbolnum by1 \color[red]{#3}% \ifnum\symbolnum<#1 \repeat \it \loop \advance\symbolnum by1 \color[blue]{#3}% ...


2

It seem like the command \righttoleft reverse the order of numbers in header, you can maintain \pagenumber to be written from left to right as follows \let\Pagenumber\pagenumber \def\pagenumber{\hbox{\textdir TLT\Pagenumber}} or \let\Pagenumber\pagenumber \def\pagenumber{\hbox{\lefttoright\Pagenumber}} Code \mainlanguage[arabic] ...


4

It is often easier to use a lua-based solution than to figure out TeX arithmetic. \define\PutSymbols{\dodoubleempty\doPutSymbols} \def\doPutSymbols[#1][#2]#3{\ctxlua{userdata.putsymbols(#1, #2, [===[#3]===])}} \startluacode userdata = userdata or {} function userdata.putsymbols(n, m, s) for i = 1,n do context.color({"darkred"}, s) end ...


1

I found the following solution from ConTeXt Mailing List answered by Hans. \setupmargindata[margintext] [align=r2l] \setupalign[r2l] \setupheader[style=\righttoleft, state=normal] The above solution works fine.


5

Assuming I have understood what you're after... Here's a suggestion that may do what you want: \def\PutSymbols{\dodoubleempty\doPutSymbols} \def\doPutSymbols[#1][#2]#3{% \iffirstargument \dorecurse{\the\numexpr #1\relax}{\color[darkred]{#3}} \else \dorecurse{1}{#3} \fi% \ifsecondargument \dorecurse{\the\numexpr ...


2

I have little knowledge of how to write arabic with context, usually I use polyglossia, appear that you have defined command to write right to left text \ArabicTextDir, you can use it to resolve the problem with: \setupheadertexts [{\getmarking[chapter]}] [{\ArabicTextDir صفحة}][{صفحة }] [{\getmarking[chapter]}] and \chapter{\ArabicTextDir الآجرومية} ...



Top 50 recent answers are included