下一页 上一页 目录

7. 段落


<!entity % sectpar
        " %par; | figure | tabular | table | %mathpar; |
          %thrm; | %litprog; ">

<!entity % par       
        "  %list; | comment | lq | quote | tscreen " >

<!entity % litprog " code | verb " >

此处描述的每个标签都构成一个段落。

出于显而易见的原因,段落通常是

异常情况 figuretabular 的行为将在那里解释。
以新行开始和结束。
否则你如何注意到这是一个段落呢?

有一些标签总是构成一个段落,并且有一种隐式形成段落的方式。段落有多种类型,因为并非每种类型的段落都允许出现在每个文档类别的每个位置。

不同类型的段落将在接下来的章节中解释。有关 %litprog; 的更多详细信息,请参阅 文学编程

7.1 普通段落

普通段落可以通过两种方式形成

段落标签

<p> 标签用于开始一个新的段落。 如果你想在不显式关闭 sect 标签的情况下结束节标题,则此标签是强制性的。 在这种情况下,<p> 标签会自动关闭 <sect> 标签。

空行

两个段落之间的空行隐式地开始一个新的段落。 请注意在 descriptive 列表内。 在那里,一个空的 <tag> 标签不会被空行分段。

7.2 类似列表的段落


<!entity % list
        " list | itemize | enum | descrip " >

这四个标签指示类似列表的段落的开始。 在每个列表中,单个项目由一个项目标签分隔。
<!element item o o ((%inline; | %sectpar;)*, p*) >

正如你所看到的,一个项目可能再次包含段落(因此也可能包含其他列表 - 甚至是不同类型的列表)。

列表标签


<!element list - - (item+)>

列表标签将被映射到一个没有项目符号、数字或任何其他内容的裸列表。

为了让你看到它,我放置一个小例子


<list>
<item>A point
<item>Another one
<item>Last
</list>

看起来会像(取决于映射)

  • 一个点
  • 另一个点
  • 最后一个
  • 项目符号列表标签


    <!element itemize - - (item+)>
    

    项目符号列表标签将被映射到一个带有项目符号的列表,它通常用于项目顺序不重要的列表。

    一个小例子


    <itemize>
    <item>A point
    <item>Another one
    <item>Last
    </itemize>
    

    看起来会像(取决于映射)

    编号列表标签


    <!element enum - - (item+)>
    

    编号列表标签将被映射到一个带有数字的列表。

    一个小例子


    <enum>
    <item>A point
    <item>Another one
    <item>Last
    </enum>
    

    看起来会像(取决于映射)

    1. 一个点
    2. 另一个点
    3. 最后一个

    描述列表标签


    <!element descrip - - (tag?, p+)+ >
    

    描述列表标签将被映射到一个描述列表。 这里的概念与其他上述类型的列表略有不同。

    在这里你放置一个 tag(这次标签的名称实际上就是字面上的 tag),它将在后面描述。

    一个小例子


    <descrip>
    <tag/sgml/structured general markup language.
    <tag/html - hypertext markup language/
    A sgml implementation.
    It contains some concepts about linking information together in a very
    convenient way.
    This made it to be so successful and to become the standard for documents
    published by the internet.
    <tag/internet/A worldwide connected internet (internet here as a
    technical term)
    </descrip>
    

    看起来会像(取决于映射)

    sgml

    结构化通用标记语言。

    html - 超文本标记语言

    sgml 的一个实现。 它包含一些以非常方便的方式将信息链接在一起的概念。 这使其如此成功并成为互联网发布的文档的标准。

    互联网

    全球连接的互联网(这里互联网作为一个技术术语)

    7.3 图形和表格

    <figure><table> 标签形成非常特殊的段落。 它们并不总是停留在正常的文本流中。 这两个标签都可以包含一个 loc (location) 属性,该属性指示如何处理此特殊段落的流。

    loc 属性的值是一个最多四个字母的字符串,其中每个字母声明图形或表格可能出现的位置,如表 表格位置 中所述。


    h
    此处与 SGML 文件中相同的位置
    t顶部在页面顶部
    b底部在页面底部
    p页面仅在单独的页面上显示图形和表格
    表格位置

    loc 属性的默认值为 top

    表格标签


    <!element table   - - (tabular, caption?) >
    

    正如你所看到的,一个表格<table> 标签本身组成,包括一个 <tabular> 标签和一个可选的 <caption> 标签。

    <tabular> 标签也可以在没有 <table> 标签的情况下放置,因此它将在其自己的章节中详细描述(参见 表格标签)。

    caption 也用于放置表格列表的条目(如果你声明了一个)(参见 表格列表标签)。

    一个简短的例子将展示它是如何协同工作的。

    <table loc="ht">
    <tabular ca="lcr">
    Look|this|table@
    Isn't|it|nice@
    1.234|mixed|columns
    </tabular>
    <caption>A sample table
    </table>
    


    这个表格
    很棒
    1.234混合
    一个示例表格

    caption “一个示例表格” 将会是表格列表中的名称。

    图形标签


    <!element figure - - ((eps | ph ), img*, caption?)>
    

    <figure> 标签的用法与 <table> 标签等效。 你可以放置 <eps><ph> 标签来代替 <tabular> 标签。

    封装 Postscript™ 标签


    <!attlist eps
            file cdata #required
            height cdata "5cm"
            angle cdata "0">
    

    <eps> 标签旨在将 封装 postscript™ 格式的外部文件包含到文档中。

    <eps> 标签的属性是

    file

    file 属性需要一个以 .ps 后缀结尾的封装 postscript™ 文件的文件名。 强制性的 .ps 后缀不能被写入。

    height

    文件被缩放到的空间的高度。 如果你没有指定,则默认为 5 厘米。 注意数字和长度单位 (i, cm) 之间没有空格。

    angle

    角度以普通度数 (0-360) 给出,并且随着数字的增加,文件会逆时针旋转。

    一个例子

    <figure loc="here">
    <eps file="logo" height="4cm" angle="15">
    <img src="logo.gif">
    <caption>A included encapsulated postscript&trade;
    </figure>
    

    img 标签被 LaTeX 映射忽略,对 html 很有用,因为大多数浏览器不知道 eps。

    一个包含的封装 postscript™ 文件。

    这里的 caption 将会进入 图形列表,如 图形列表标签 章节中所述。

    占位符标签


    <!attlist ph
            vspace cdata #required>
    

    此标签不放置任何内容,但保留一个干净的空间用于良好的旧式手动图片粘贴。 保留的空白空间由 vspace 属性决定。 注意: vspace 属性的数字参数需要在数字后面直接跟一个单位。 不要在这里留空格(与 封装 Postscript™ 标签 中的 height 属性相同)。

    <figure loc="ht">
    <ph vspace="5cm">
    <caption>A blank space.
    </figure>
    

    结果为

    用于粘贴照片的空白空间

    此时你可能想要寻找你的剪刀和胶水。

    7.4 表格标签


    <!element tabular - - 
           (hline?, %tabrow, (rowsep, hline?, %tabrow)*, caption?) >
    

    如果 <tabular> 标签是单独编写的,则它被解释为自己的段落。 与 <table> 标签一起使用时,它将成为 <table> 标签的段落的一部分(参见 表格标签)。

    tabular 标签内,你有行和列来分隔文本。 你必须至少有一列和一行。

    否则就没什么用处了。

    <tabular> 标签有一个强制性的 ca 属性,用于 列对齐。 列对齐为每列按照从左到右的顺序包含一个字符。 你可以为每列放置的字符在表 列对齐方式 中描述。


    char
    对齐方式
    l左对齐
    c居中对齐
    r右对齐
    列对齐方式

    理论上,你应该能够在 ca 属性中放置一个 | 来绘制一条水平线以分隔两列。 问题是:它不起作用。 解析器很好地接受了它,只有 LaTeX 输出会将 | 映射到 {$|$},这当然是用于四列的集合,并且所有四列的列对齐方式都无效。 我将尝试弄清楚该怎么做。

    <tabular> 标签内的列由一个列分隔符 <colsep> 标签分隔。 字符 | 被翻译成 <colsep>,所以你也可以放置它来代替

    更少的打字,更多的乐趣。
    .

    对于列有效的内容也对行有效。 你可以通过一个行分隔符 <rowsep> 标签来分隔它们。 字符 @ 被翻译成 <rowsep>

    可选地,你可以使用 <hline> 标签放置一条水平线。 注意这一点:SGML 工具会很好地解析它,无论你将它放在你想要在下面画线的行之前,还是放在你想要在上面画线的行之后。 但是,唯一可以在不导致解析器喊出“错误”的情况下编写它的位置是直接编写它,并且在行分隔符后面没有空格或换行符。

    <tabular ca="lcr">
    Look|this|table@<hline>
    Isn't|it|nice@
    1.234|mixed|columns@
    </tabular>
    

    在表 表格标签的示例表格 中显示结果


    这个表格
    很棒
    1.234混合
    表格标签的示例表格

    注意

    在 LaTeX 映射中,如果你放置一个没有表格标签表格标签,一切正常,只有在其他映射(例如 html)中它会被搞砸。

    7.5 数学段落


    <!entity % mathpar " dm | eq " >
    

    数学段落显示公式<dm> 标签组成

    不,抱歉,不是德国马克! ;-)
    方程,由 <eq> 标签标记。 它们的工作方式非常相似。

    这两个标签都包含一个数学公式。 有关此处有效的标签,请参阅 数学公式

    注意

    由于 Netscape 和 Microsoft 都没有看到在他们的浏览器中添加数学映射的任何需求(如 w3c 要求和定义的那样),因此没有很好的映射方式,或者至少在 html 中显示数学内容的方式。 因此,如果你查看在线版本,请随意怀疑这个人在这里说什么废话。 也许你应该看一下 postscript 版本。

    显示公式标签

    此标签将数学公式显示为一个段落。 该公式被映射为居中的单行

    不能保证这一点。 你知道:映射是一种品味问题。
    .

    <dm>(a+b)<sup/2/=a<sup/2/+2ab+b<sup/2/</dm>
    
    映射到(a+b)2=a2+2ab+b2

    方程标签

    <dm>(a+b)<sup/2/=a<sup/2/+2ab+b<sup/2/</dm>
    
    映射到(a+b)2=a2+2ab+b2

    7.6 定理段落


    <!entity % thrm 
            " def | prop | lemma | coroll | proof | theorem " >
    
    <!element def - - (thtag?, p+) >
    <!element prop - - (thtag?, p+) >
    <!element lemma - - (thtag?, p+) >
    <!element coroll - - (thtag?, p+) >
    <!element proof - - (p+) >
    <!element theorem - - (thtag?, p+) >
    

    正如你所看到的,不同类型的定理段落几乎相同。 唯一的例外是 证明,它没有 thtag。 对于所有其他类型,thtag 给出了定理段落的 tag

    只需尝试使用适合你正在输入的内容含义的那个。

    <thrm>
    <thtag>Alexander's thrm</thtag>
    Let <f>&lt;fi/G/</f> be a set of non-trivially achievable subgoals
    and &mu; an order on <f>&lt;fi/G/</f>. &mu; is abstractly
    indicative if and only if it is a linearization of
    <f><lim><op>&mu;</op><ll><fi/G/</ll><ul>&ast;</ul></lim></f>.
    </theorem>
    

    thrm 被替换为适当的标签。

    也许一些懂数学的人会对我滥用类型感到震惊,但我很懒,所以我只是简单地复制了这些例子

    定义 (def)亚历山大的定义

    G是一组非平凡可实现子目标,µ 是G上的一个阶。 µ 是抽象指示性的当且仅当它是µG

    .

    的线性化亚历山大的命题

    G是一组非平凡可实现子目标,µ 是G上的一个阶。 µ 是抽象指示性的当且仅当它是µG

    .

    引理 (lemma)亚历山大的引理

    G是一组非平凡可实现子目标,µ 是G上的一个阶。 µ 是抽象指示性的当且仅当它是µG

    .

    推论 (coroll)亚历山大的推论

    G是一组非平凡可实现子目标,µ 是G上的一个阶。 µ 是抽象指示性的当且仅当它是µG

    .

    亚历山大的定理

    G是一组非平凡可实现子目标,µ 是G上的一个阶。 µ 是抽象指示性的当且仅当它是µG

    .

    证明与上面相同,只是没有 thtag

    G是一组非平凡可实现子目标,µ 是G上的一个阶。 µ 是抽象指示性的当且仅当它是µG

    .

    7.7 代码和原文段落

    这两个标签都来自一个段落,并且具有非常相似的行为。 在这些标签内部,大多数特殊字符不需要像 命名符号 章节中那样的命名形式。 例外是

    1. &etago; -> </ -> 标签结束符
    也许以后列表会增长。

    与普通段落映射不同,空格和换行符将被字面映射(就像你在源代码中编写它们一样)。

    同样(关于手动布局),映射的字体将是非比例字体。

    请参阅 IIWW 和 IIWW 之间的区别。

    注意

    再次,我既不是母语人士,也不太喜欢数学。 所以我只是放置了一些废话,这可能会给那些想使用本文档学习制定数学或物理理论的人带来头痛和白发。

    欢迎随时发送更好的例子。

    代码标签


    <!element code - - rcdata>
    

    如果你想在文本中编写源代码示例,请使用代码标签

    一个代码示例

    <code>


    #include <stdio.h>
    int main() {
        printf("Hello world");
        return 1;
    }
    

    </code>

    原文标签


    <!element verb - - rcdata>
    

    对于除源代码之外的任何其他需要良好的旧式空格填充的内容(为此使用 代码标签),例如终端硬拷贝、ASCII 图形等,请使用原文标签

    一个原文示例

    <verb>

    /////////
    | *   * |
    |   |   |
    | <---> |
     \_____/
    
    </verb>


    下一页 上一页 目录