Thanks, Hans! This does solve the problem with the list of numbers. And actually if I add a numberstyle field, I can the section heads the way I like. Here is the setup that worked. (I will update Wiki later.)\setupdirections[bidi=global,method=two]
\setupalign[r2l]
\def\LTR#1{{\lefttoright#1}}
\def\leftpersiandecimals#1{\LTR{\persiandecimals{#1}}}
\defineconversion[leftpersiandecimals][\leftpersiandecimals]
\setuphead[chapter,title,section,subject] [conversion=leftpersiandecimals,numberstyle=\righttoleft]\defineseparatorset[dashsep][-,-,-,-]\setuphead[section][sectionseparatorset=dashsep]On Mon, Apr 11, 2016 at 10:46 AM, Hans Hagen <pragma@wxs.nl> wrote:On 4/11/2016 4:25 AM, Mohammad Hossein Bateni wrote:
Hans & Wolfgang,
Do you have suggestions here? How can I get the behavior I want for the
section head numbers?
In fact, the following may be quite relevant.
\usemodule[simplefonts]
\setmainfont[ALM Fixed][features=arabic,range=arabic]
\setupdirections[bidi=global,method=default]
\setupalign[r2l]
\starttext
اعداد ۱، ۲، ۳ و ۴ را در نظر بگیرید.
اعداد 1، 2، 3 و 4 را در نظر بگیرید.
اعداد 1, 2, 3 و 4 را در نظر بگیرید.
\stoptext
I expect the numbers 1, 2, 3 and 4 to appear in the same order from
right to left. However, the visual order that I observe (regardless of
whether I use Persian digits or English digits, or whether I use Persian
or English commas) is 4, 1, 2, 3 (from left to right). Is this a bug in
the bidi code? If so, are there any workarounds?
method=two
Thanks,
Hossein
On Fri, Apr 8, 2016 at 5:20 PM, Mohammad Hossein Bateni<bateni@gmail.com <mailto:bateni@gmail.com>> wrote:
Hi,
This is concerning an RTL text. I have one chapter and 10 sections
under that. My goal is to achieve the following.
1) The number 10 should appear correctly with '1' visually to the
left of '0'.
2) The chapter number should visually appear to the right of the
section number.
3) Chapter and section numbers should be separated with a dash.
(This is ignored in this email and I will follow up about it in
another thread. To get a minimal working example, I also do not try
to change the numbers to use Persian digits.)
In particular, the headings will be visually something like the
following (aligned to the right).
elpmas 1
txet 1-1
txet 2-1
txet 3-1
...
txet 10-1
Here's the first attempt.
%% Attempt 1
\setupalign[r2l]
\starttext
\placecontent
\chapter{sample}
\dorecurse{10}{\section{text}}
\stoptext
The result is:
elpmas 1
txet 1-1
...
txet 01-1
Then I add "\setupdirections[bidi=global,method=default]" to the
beginning and I get the most strange result (number right-aligned
but texts left-aligned):
sample 1
text 1.1
...
text 1.10
A third attempt gives almost what I want (without period as the
separator).
%% Attempt 3
\setupalign[r2l]
\def\LTR#1{{\lefttoright#1}}
\def\leftnumbers#1{\LTR{\numbers{#1}}}
\defineconversion[leftnumbers][\leftnumbers]
\setuphead[chapter,title,section,subject] [conversion=leftnumbers]
\starttext
\placecontent
\chapter{sample}
\dorecurse{10}{\section{text}}
\stoptext
The big problem is that in my RTL documents, I always have the
setupdirections command, which messes things up here. (This makes
it difficult to one section name with English title, which should
still be typeset on the right-hand side of the page.) Note that in
attempt 2 above, there were two issues:
(1) Text and numbers appeared on the two far ends of the screen
instead of being close to each other. This does not happen when I
use Farsi text.
(2) Chapter number appears to the left of section number.
%% Attempt 5
\usemodule[simplefonts]
\setmainfont[ALM Fixed][features=arabic,range=arabic]
\setupdirections[bidi=global,method=default]
\setupalign[r2l]
\starttext
\placecontent
\chapter{نمونه}
\dorecurse{10}{\section{متن}}
\stoptext
Interestingly the table of contents looks fine if I put the number
inside an LTR macro; still in the main body, the section heads are
typeset incorrectly.
%% Attempt 6
\usemodule[simplefonts]
\setmainfont[ALM Fixed][features=arabic,range=arabic]
\setupdirections[bidi=global,method=default]
\setupalign[r2l]
\def\LTR#1{{\lefttoright#1}}
\def\leftnumbers#1{\LTR{\numbers{#1}}}
\defineconversion[leftnumbers][\leftnumbers]
\setuphead[chapter,title,section,subject] [conversion=leftnumbers]
\starttext
\placecontent
\chapter{نمونه}
\dorecurse{10}{\section{متن}}
\stoptext
I guess the solution is to get the entire section head number string
(e.g., 1.10) to have RTL direction, however, each individual number
string inside (say, 1 or 10) should be written LTR. How can this be
achieved?
The six TeX files (with corresponding PDF outputs) are attached.
BTW this is using ConTeXt ver: 2016.04.01 13:01 MKIV beta fmt:
2016.4.7 int: english/english, running LuaTeX, Version beta-0.90.0
(TeX Live 2016) on Mac OS X.
Thanks a lot,
—MHB
--
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | www.pragma-ade.com | www.pragma-pod.nl
-----------------------------------------------------------------