如何使用从右到左列表的margin
选项column
(阿拉伯语)。
..., أ , ب
我已经为从右到左的列表定义了新的枚举 ,但是如果我mergin
为逐项环境添加或任何其他选项,我会得到bullet
而不是我定义的标签。
平均能量损失
\setuppapersize[A4]
\mainlanguage[arabic]
\setupdirections[bidi=global]
\setupalign[r2l]
\definefontfeature
[arabic]
[mode=node,language=dflt,script=arab,
init=yes,medi=yes,fina=yes,isol=yes,
liga=yes,dlig=yes,rlig=yes,tlig=yes,
calt=yes,trep=yes,clig=yes,
mark=yes,mkmk=yes,kern=yes,curs=yes]
\starttypescript [serif] [arabic]
\definefontsynonym [Arabic] [name:Amiri] [features=arabic]
\stoptypescript
\starttypescript [serif] [arabic] [name]
\usetypescript[serif][fallback]
\definefontsynonym [Serif][Arabic][features=arabic]
\stoptypescript
\starttypescript [Arabic]
\definetypeface [Arabic] [rm] [serif] [arabic] [default]
\definetypeface [Arabic] [mm] [math] [palatino] [default]
\stoptypescript
\setuplayout[
grid=min,
backspace=20mm, width=170mm,
topspace=10mm, height=275mm,
header=10mm,footer=10mm,
footerdistance=0.5mm
]
\setuppagenumbering[
state=none,
]
\setupbodyfont[Arabic,18pt]
\setupinterlinespace[line=30pt]
\def\arabiclabel#1%
{\ifcase#1 \or أ\or ب\or ج\or د\or ه\or
و\or ي\else
\expandafter\arabiclabel\expandafter{\the\numexpr#1-7\relax}\fi}
\defineconversion[s][\arabiclabel]
\starttext
\startitemize[s]
\item
كلمة
\item
كلمة
\item
كلمة
\stopitemize
\startitemize[s,margin=1em,columnn,three]
\item
كلمة
\item
كلمة
\item
كلمة
\stopitemize
\stoptext
输出
注意从右到左的列应该从右边缘到左边缘
答案1
在从右到左的环境中,有两种方法可以设置条目的列版本。(这在测试版中有效,我不知道 TeXlive 2015 的稳定版本。无论如何,测试版很快就会在 TeXlive 2016 中找到自己的出路。)
第一种方法是更改文档中所有条目的行为,这在主要从右到左的文档中很方便。只需将以下内容放入序言中即可。
\setupmixedcolumns[itemgroupcolumns][direction=reverse]
第二种方法是改变单个条目的方向。这里你最好小心,正如另一个答案指出的那样,关键字和任务应该分开。看看下面的例子,使用第二种方法。
\setupalign[r2l]
\starttext
\startitemize[n,columns,three][direction=reverse]
\item One
\item Two
\item Three
\item Four
\item Five
\item Six
\item Seven
\stopitemize
\stoptext
实际上,CONTEXT 中有两种列项化方法。一种是您使用的那种,另一种是水平的。假设有两列和两个以上的项目,第一种方法将第二个项目放在第二行,而第二种方法将第二个项目放在第一行的第一个项目之后。(这在某些多项选择题中很有用。)
要使用从右到左设置中的水平方法,请尝试以下操作。
\startitemize[n,horizontal,two][direction=reverse]
\startitem One \stopitem
\startitem Two \stopitem
\startitem Three \stopitem
\startitem Four \stopitem
\stopitemize
还有一点:在当前测试版中,除了(and ) 宏或产生印度数字的对应键之外,您还可以使用\abjadnumerals
和(它们会产生您喜欢的编号) 。在中定义了许多类似的编号方法。\arabicnumerals
\arabicdecimals
\persiandecimals
core-con.mkiv
答案2
您的代码中有两个错误:
- 关键字是
columns
,而不是列; - 您必须分开关键字和任务(这是邮件列表中的经典)。
因此,你的第二个项目组应该像这样开始:
\startitemize [s,columns,three] [margin=1em]