我想在页面的外边距(即偶数页的左侧和奇数页的右侧)放置一些文本。\inoutermargin{Text}
当我将其用于列时,我的简单使用方法失败了。然后文本打印在第一列的外边距中。有人能给我指出正确的方向吗?
我正在使用 ConTeXt ver: 2012.05.30 11:26 MKIV
\starttext
\setuppagenumbering[alternative=doublesided]
\startcolumns
\inoutermargin{More text}
\input knuth
\stopcolumns
\page[yes]
\startcolumns
\inoutermargin{Text}
\input knuth
\stopcolumns
\stoptext
答案1
查看邮件列表,\inoutermargin
似乎在 ConTeXt MkIV 中已弃用(话虽如此,我在 MkII 中也看到了同样的问题)。考虑到这一点,再加上ConTeXt 维基页面\inoutermargin
,您似乎想\inmargin
将材料放在左边,或者\inother
将其放在右边:
\setuppagenumbering[alternative=doublesided]
\starttext
\startcolumns
\inmargin{Text}
\input knuth
\inother{More text}
\stopcolumns
\hairline
\inother{Text}
\input knuth
\stoptext
进一步的测试表明,要求的行为并不容易实现。如果你看看typo-mar.mkiv
,你会发现定义
% text
\definemargindata [inleft] [\v!left ] [\c!margin=\v!margin,\c!width=\leftmarginwidth ,\c!align=\v!flushright]
\definemargindata [inright] [\v!right] [\c!margin=\v!margin,\c!width=\rightmarginwidth,\c!align=\v!flushleft]
\definemargindata [inouter] [\v!outer] [\c!margin=\v!margin,\c!width=\outermarginwidth,\c!align=\v!inner]
\definemargindata [ininner] [\v!inner] [\c!margin=\v!margin,\c!width=\innermarginwidth,\c!align=\v!outer]
% no longer auto auto-other
\definemargindata [inmargin] [\v!left] [\c!margin=\v!margin,\c!width=\leftmarginwidth, \c!align=\v!flushright]
\definemargindata [inother] [\v!right] [\c!margin=\v!margin,\c!width=\rightmarginwidth,\c!align=\v!flushleft]
\definemargindata [margintext] [\v!left] [\c!margin=\v!margin,\c!width=\leftmarginwidth, \c!align=\v!flushright,\c!stack=\v!yes]
因此你可能会尝试
\setuppagenumbering[alternative=doublesided]
\starttext
\startcolumns
\inouter{Text}
\input knuth
\inouter{More text}
\stopcolumns
\hairline
\inouter{Text}
\input knuth
\stoptext
确实将内容放在外边距中(\ininner
内边距中也有内容)。然而,这似乎没有考虑到多列的存在,IE它位于列的“边缘”,而不是页面的“边缘”。
在typo-mar.lua
函数中第 434 行realign
表明 margintext 的框按 hsize 移动:
if location == v_left then
move_x = (reference.x or 0) - (blob.x or 0)
elseif location == v_right then
move_x = (reference.x or 0) - (blob.x or 0) + (reference.w or 0) - hsize
else
的宽度hsize
与当前所在的列一样宽,并且变量columns
只定义一次,从未在文件中使用过。因此,这也表明不考虑列。