【问题标题】:RTF Line separatorRTF 行分隔符
【发布时间】:2009-12-18 16:41:34
【问题描述】:

有人知道如何在 RTF 文件中插入水平行分隔符吗?

例子:

一些文字


一些其他的文字

【问题讨论】:

    标签: rtf


    【解决方案1】:

    您可以使用\dpline 命令(参见RTF Spec 1.9.1 中第157 页的“绘图对象”部分)。

    这是一个应该做你想做的样本:

    {\rtf1
    {\pard some text.\par}
    {\pard {\*\do\dobxcolumn\dobypara\dodhgt
            \dpline\dpxsize9200\dplinesolid\dplinew30}\par}
    {\pard some other text.\par}
    }
    

    RTF 输出预览:

    您可以使用\dplineco[rgb] 自定义线条颜色,使用\dplinew 自定义宽度)、线条样式等。

    如果您对 RTF 感兴趣,您会发现 RTF Pocket Guide 很有帮助——它比 RTF 规范要无聊得多!具体来说,它谈到了绘制水平线的其他方法。

    【讨论】:

    • 太棒了!我刚买了这本书:谢谢你的建议,女巫会很有帮助;)
    • @AshutoshMehra 这不会在 OS X TextEdit.App 中为我呈现线条,我认为它是一个全功能的 RTF 编辑器。你们用的是哪个编辑器?知道为什么我不能在编辑器中用这些命令生成一行吗?
    • 我和@TeXnewbie 有同样的问题; macOS 的渲染方法似乎并没有将其视为任何东西;我只看到一个空白区域。
    【解决方案2】:

    如果你只需要一个简单的水平线你也可以试试这个:

    {\pard \brdrb \brdrs\brdrw10\brsp20 {\fs4\~}\par \pard}
    

    【讨论】:

    • 您使用的是什么文本编辑器?当我在 OS X TextEdit.App 中尝试此操作时,编辑器不会呈现任何看起来像线或水平线的东西。
    【解决方案3】:

    下面是在任意角度画一条线的代码:

    {\rtf1
    {\shp
    {\shpinst \shpbxpage \shpbypage \shpleft200 \shptop400 \shpright3000 \shpbottom2000
    {\sp{\sn shapeType}{\sv 32}}
    }}}
    

    请参阅 RTF 规范。对于“shapeType”选项。

    当我开始学习 RTF 时,'\do' 绘制对象的用途似乎有限,而 '\shp' 是要走的路。例如,你只能用 \dpline 做水平线。您不能抑制 \dptxbx 周围的矩形(零线宽)。 \dptxbx 和 \dptxbxtext 都不会服从 \fittext。

    【讨论】:

    • 在 macOS 上,这只是呈现“shapeType32”
    【解决方案4】:

    我刚刚在 Apple 的 Textedit 中成功地制作了一个令人信服的水平规则:插入一个表格,将 cols 和 rows 设置为 1(如果需要,可以在此时更改边框的颜色)键入单个字符(空格) 在单元格中,选择它并打开字体调色板,将字体大小设置为 0.2

    【讨论】:

    • 这是一个编码问题,所以你的答案不是很相关,但还是谢谢你:-)
    猜你喜欢
    • 1970-01-01
    • 2012-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-19
    • 2020-03-29
    • 2021-05-22
    相关资源
    最近更新 更多