这是可以使用我们的多个免费在线工作站之一(例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器)在 OnWorks 免费托管服务提供商中运行的命令 grap
程序:
您的姓名
GRAP — Kernighan 和 Bentley 用于排版图的语言
概要
GRAP [-d 定义文件[-D[-l[-M 包括 径[-R[-r[-v[-u[-C[-c[-h]
[文件名 ...]
商品描述
GRAP 是 Kernighan 和 Bentley 用于排版图的语言的实现,如
在“Grap-A Language for Typesetting Graphs, Tutorial and User Manual”中描述,作者是 Jon L。
Bentley 和 Brian W. Kernighan,1991 年 XNUMX 月修订,这是
关于如何使用的信息 GRAP. 在撰写本文时,它可以通过电子方式获得
http://www.kohala.com/start/troff/cstr114.ps. 其他文档和示例,
与包装 GRAP,也可能已在本地安装。 如果可用,它们的路径
可以使用显示 GRAP -h or GRAP -v (或 GRAP - 帮帮我 / GRAP - 版)
这个版本是一个黑盒实现 GRAP, 并且存在一些不一致之处
预期的。 本手册页的其余部分将简要概述 GRAP 语言作为
在这里实施。
GRAP 是一个 图片(1)预处理器。 它需要嵌入在一个 的troff(1) 源文件
被包围 .G1 和 .G2 宏,并将它们重写为 pic 命令以显示
图形。 其他行被复制。 输出总是到标准输出,通常是
重定向。 输入来自给定的 文件名s,按顺序读取。 一种 文件名 of - is
标准输入。 如果不 文件名s 给出,输入从标准输入读取。
计划 GRAP 是一个pic预处理器,GNU pic会输出TeX,可以使用 GRAP
与 TeX。
-d 选项指定启动时读取的宏定义文件,默认为
/usr/share/grap/grap.defines 。 这 -D 选项禁止读取任何初始宏
文件( -l flag 是同义词 -D,虽然我不记得为什么)。 定义文件可以
也可以使用 GRAP_DEFINES 环境变量给出。 (见下文)。
-v 在标准输出上打印版本信息并退出。 - 版 是同义词
-v.
-u 默认情况下使标签不对齐。 这个版本的 GRAP 使用 GNU pic 的新功能
将左右标签与轴对齐,即左右标签运行于
与论文正文成直角。 这可能有助于移植旧的 GRAP 程式。 -c
使绘图字符串默认不剪裁。 一些版本的 GRAP 允许用户放置一个
string 在坐标空间中的任何位置,而不仅仅是在框架中。 默认这个
版本的 GRAP 不绘制任何以框架外为中心的字符串。 -c 允许字符串
被放置在任何地方。 另见 修剪 和 未剪裁的 中描述的字符串修饰符
情节 语句。
-M 后跟以冒号分隔的目录列表,用于搜索相对
包含的路径名通过 复制. 该路径还用于定位定义文件,因此如果 -d
将定义文件名更改为相对名称,它将在给定的路径中搜索
by -M. 搜索路径始终包括当前目录,默认情况下该目录
最后搜索。
内部使用的所有数字 GRAP 是双精度浮点值。 有时
使用浮点数会产生意想不到的后果。 为了避免这些问题,
GRAP 可以使用两个阈值进行浮点数的比较,由 -R or -r。 该
-R flag 设置粗略比较模式,适用于大多数应用。 如果你是
绘制小值——小于 1e-6 左右——考虑使用 -r 使用非常好
数字之间的比较。 您可能还想将绘制的值重新调整为更大
量级上。 默认情况下使用粗糙的comarisons。
准确地说,两个数字必须相差的值 GRAP 不考虑他们
相等称为比较极限,最小的非零数称为最小值
价值。 给定版本的值 GRAP 这些用途包括在输出中 -v
or -h.
所有类型 GRAP 命令包含在 .G1 和 .G2 宏,它们被消耗 GRAP。 该
输出包含之间的图片 PS。 和 .PE 宏。 任何论据 .G1 输入中的宏
是论据 PS。 输出中的宏,因此可以像 pic 一样缩放图形
图表。 如果 -C 给定,任何以 .G1 或 .G2 开头的宏都被视为 .G1 或 .G2
宏,用于与旧版本的 troff 兼容。 使用 -C 还强制使用纯 troff 语法
当字符串具有 尺寸 属性,以及所有字符串
未剪裁的.
-h flag 打印一个简短的帮助信息并退出。 - 帮帮我 是同义词 -h.
有人可能会导致 GRAP 通过将错误的格式字符串和数据传递给失败
此 冲刺 命令。 如果 GRAP 集成为打印系统的一部分,这可以
可以想象,提供了破坏机器安全的途径。 如果您选择使用 GRAP
作为由超级用户运行的打印系统的一部分,您应该禁用 冲刺 命令。
这可以通过调用来完成 GRAP 与 -S 标志,设置 GRAP_SAFER 环境
变量,或使用定义的 GRAP_SAFER 预处理器符号进行编译。 (GNU 配置
脚本包含在 GRAP 将定义该预处理器符号,如果 --with-grap-安全
给出了选项。)
GRAP 命令如下所示。 请参阅 Kernighan 和 Bentley 的论文以了解
细节。
新版本 groff的(1) 会调用 GRAP if -G 给出。
命令
命令之间由换行符或分号 (;) 分隔。
框架 [行_描述[ht 高度 | WID 宽度] [[(最佳|底部|左| 右)
行_描述] ...]
框架 [ht 高度 | WID 宽度[行_描述] [[(最佳|底部|左| 右)
行_描述] ...]
这描述了如何绘制图形的轴。 一种 行_描述 是一条图片线
描述,例如,虚线 0.5,或文字实心。 它还可能包括一个 颜色
关键字后跟颜色以在双引号中绘制字符串。 任何颜色
可以使用被底层 groff 系统理解的。 颜色只能用于
GNU pic,在兼容模式下不可用。 同样,对于 pic
理解的实现 厚度,该属性可以与实数一起使用
值参数。 厚度 在兼容模式下不可用。
如果先 行_描述 给出,框架是用那种风格绘制的。 这
默认为实心。 框架的高度和宽度也可以以英寸为单位指定。
可以通过指定来覆盖框架两侧的默认线条样式
附加参数 框架.
如果在执行之前没有给出绘图命令 框架 命令发出,帧
将在绘图流中相对于嵌入的 troff 或 pic 的那个点输出
命令。 否则在第一个绘制对象之前输出帧(即使
看不见的)。
ht 和 WID 默认以英寸为单位,但可以是任何 groff 单位。 如果省略,则
尺寸为 2 英寸高 x 3 英寸宽。
协调 [姓名[x 表达式, 表达式[y 表达式, 表达式[日志 x | 日志 y | 日志 日志]
协调 命令指定新的坐标系或对默认坐标系设置限制
系统。 它定义了可以绘制的最大值和最小值,因此
帧中数据的比例。 x 和 y 坐标系的限制可以
分别给予。 如果一个 姓名 给出,该坐标系被定义,如果没有
修改了默认系统。
由一个人创建的坐标系 协调 命令可能会被后续修改 协调
命令。 一种 GRAP 程序可以声明一个坐标空间使用 协调, 复制 一个文件
通过宏绘制数据并找到其最大值和最小值,然后
用秒定义坐标系的大小 协调 语句。
此命令还确定是否按对数绘制比例。 日志 日志 意思是
同样的事情 日志 x 日志 y.
画 [线路名称[行_描述[情节_字符串]
画 命令定义了绘制给定线的样式。 如果
线路名称 给定,样式与该名称相关联,否则默认
风格已定。 行_描述 是 pic 行描述,以及可选的
情节_字符串 是一个以每个点为中心的字符串。 默认的行描述是
invis,并且默认绘图字符串是居中的项目符号,因此默认情况下每个点
是一个实心圆,它们是不相连的。 如果点被连接,每个
画 命令结束任何当前行并开始新的一行。
定义线条样式时,这是第一个 画 给定行名的命令,
指定没有绘图字符串意味着没有绘图字符串。 省略
在后续绘制字符串 画 寻址相同命名行的命令意味着不要
更改绘图字符串。 如果用绘图字符串定义了一条线,并且格式
被后续更改 画 语句,情节字符串可以通过
指定“”在 画 语句。
绘图字符串可以通过几个 string_modifiers 更改其格式。
String_modifiers 在描述中描述 情节 命令。
标准定义文件包括几个用作绘图字符串的宏,包括
子弹, 广场及 三角洲.
新 是同义词 画.
下页 [线路名称] at [坐标名称] 表达式, 表达式 [行_描述]
下页 命令使用给定的线型绘制给定的点 线路名称,或
如果没有给出默认值。 如果 线路名称 给出,它应该由一个定义
早期 画 命令,如果没有创建具有该名称的新线型,则初始化
与默认样式相同。 这两个表达式给出了点的 x 和 y
值,相对于可选坐标系。 那个系统应该是
由更早的定义 协调 命令,如果没有,grap 将退出。 如果可选
行_描述 给出,它会覆盖样式的默认行描述。 你
不能覆盖绘图字符串。 要使用不同的绘图字符串,请使用 情节
命令。
坐标可以选择性地括在括号中:(表达式, 表达式)
引用字符串 [字符串修饰符] [, 引用字符串 [字符串修饰符]] ... at
[坐标名称] 表达式, 表达式
情节 表达式 [格式字符串] at [坐标名称] 表达式, 表达式
这些命令都在给定点绘制一个字符串。 在第一种情况下,文字
字符串彼此堆叠在一起。 string_modifiers 包括图片
理由修饰符(只是, 正义, 以上及 如下。),以及绝对和相对
尺寸修饰符。 有关理由的说明,请参阅 pic 文档
修饰符。 GRAP 也支持 对齐的 和 未对齐 简短的修饰符
在描述中指出 标签 命令。
标准定义文件包括几个用作绘图字符串的宏,包括
子弹, 广场及 三角洲.
以任一格式放置的字符串 情节 命令被限制在
框架。 这可以通过使用覆盖 未剪裁的 属性,它允许一个字符串
绘制在框架内或框架外。 这 -c 和 -C 标志集 未剪裁的 在所有
字符串,并防止在这些标志出现时将字符串绘制在框架外
是活跃的, 修剪 属性可用于恢复剪辑行为。 尽管
修剪 or 未剪裁的 可以应用于任何字符串,它只对 情节
声明。
尺寸 表达式 将字符串大小设置为 表达式 点。 如果 表达式 前面有一个 + 或 -,
大小增加或减少那么多点。
If 颜色 并且出现双引号中的颜色名称,字符串将呈现在
该颜色在支持颜色的 GNU troff 版本下。 颜色不可用
在兼容模式下。
在第二个版本中, 表达式 转换为字符串并放置在图形上。
格式字符串 是一个 的printf(3) 格式字符串。 仅用于打印的格式转义
浮点数是有道理的。 格式字符串仅在 冲刺
命令也处于活动状态。 见说明 冲刺 对于各种方式
禁用它。 情节 和 冲刺 反应不同时 GRAP 正在安全运行。
冲刺 忽略任何参数,不带替换地传递格式字符串。
情节 完全忽略格式字符串,绘图 表达式 使用“%g”格式。
点的指定方式与 for 相同 下页 命令,具有相同的结果
未定义的坐标系。
此命令的第二种形式是因为第一种形式可以与 GRAP
冲刺 表达式(见 表达式).
蜱 (左|右|最佳|底部)[ (in|输出)[表达式]][开|自动 坐标名称]
蜱 (左|右|最佳|底部)(in|输出)[表达式[up 表达式 | 向下 表达式 | 左 表达式 | 右 表达式]
at [坐标名称] 表达式 [格式字符串] [[, 表达式 [格式字符串]] ...]
蜱 (左|右|最佳|底部)(in|输出)[表达式[up 表达式 | 向下 表达式 | 左 表达式 | 右 表达式]
止 [坐标名称] 开始表达式 至 结束表达式 [by [+|-|*|/] by_expr] [格式字符串]
蜱 [左|右|最佳|底部] 折扣
此命令控制帧上刻度的位置。 默认情况下,刻度是
在框架的左侧和底部自动生成。
此命令的第一个版本打开给定的自动刻度生成
侧。 的 in or 输出 参数控制刻度的方向和长度。 如果一个
坐标名称 指定时,使用该坐标自动生成刻度
系统。 如果未指定系统,则使用默认坐标系。 与
下页 和 情节,坐标系必须在 蜱 声明说
引用它。 请求自动生成的报价的这种语法是
扩展,不会移植到旧的 GRAP 实现。
第二个版本 蜱 命令覆盖刻度的自动放置
通过指定放置刻度的坐标列表。 如果蜱不是
相对于默认坐标系定义, 坐标名称 参数必须
被给予。 对于每个刻度 的printf(3) 可以给出样式格式字符串。 这
格式字符串 默认为“%g”。 格式字符串也可以将字符串修饰符作为
在中描述 情节 命令。 要放置没有标签的刻度,请指定 格式字符串
作为 ””。
If 冲刺 被禁用, 蜱 表现为 情节 关于格式字符串。
刻度上的标签可以通过指定方向和距离来移动
英寸以偏移标签。 那是可选的方向和立即表达
之前 at.
第三种格式 蜱 命令用一个覆盖默认的滴答生成
一组刻度是规则的间隔。 语法让人想起编程语言
for 循环。 蜱从开始放置 开始表达式 结束于 结束表达式 隔一个单元。
如果 by 子句被指定,刻度是 by_expr 单位分开。 如果出现操作员
before by_expr 每个刻度由该运算符而不是 + 操作。 例如
从 2 到 32 被 *2 省略的刻度
将在 2、4、8、16 和 32 处打勾。如果 格式字符串 已指定,所有刻度均为
使用它格式化。
前面的参数 止 如上所述。
at 和 可以在帧的同一侧发出两种形式的滴答命令。
例如:
从 2 到 32 被 *2 省略的刻度
在 3, 5, 7 中剩余的刻度
将在框架的左侧打勾,指向 2、4、8、16 和 32 和
在 3、5 和 7 处。
最终形式 蜱 关闭给定一侧的滴答声。 如果没有一方被给予
取消所有边的刻度。
蜱 是同义词 蜱.
格 (左|右|最佳|底部) [打勾] [行_描述[up 表达式 | 向下 表达式 | 左 表达式
| 右 表达式[开|自动 [坐标名称]]
格 (左|右|最佳|底部) [打勾] [行_描述[up 表达式 | 向下 表达式 | 左 表达式
| 右 表达式] at [坐标名称] 表达式 [格式字符串] [[, 表达式 [格式字符串]] ...]
格 (左|右|最佳|底部) [打勾] [行_描述[up 表达式 | 向下 表达式 | 左 表达式
| 右 表达式] 止 [坐标名称] 开始表达式 至 结束表达式 [by [+|-|*|/] by_expr]
[格式字符串]
格 命令类似于 蜱 命令除了 格 指定
在框架中放置线条。 语法类似于 蜱 以及。
通过在命令中指定刻度线,不会在框架的那一侧绘制刻度线。
如果刻度线默认出现在一侧,或者已被更早的人声明 蜱
命令, 格 除非指定勾选,否则不会取消它们。
而不是蜱的方向, 格 允许用户选择线路描述
网格线。 允许使用通常的 pic 行描述。
默认情况下会标记网格。 要省略标签,请将格式字符串指定为“”。
If 冲刺 被禁用, 格 表现为 情节 关于格式字符串。
标签 (左|右|最佳|底部) 引用字符串 [字符串修饰符] [, 引用字符串
[字符串修饰符]] ... [up 表达式 | 向下 表达式 | 左 表达式 | 右 表达式]
标签 命令在给定的轴上放置一个标签。 可以指定几个
标签,它们会像图片一样堆叠在一起。 最后的论点,如果
当前,指定标签从轴偏移多少英寸。
默认情况下,左右标签上的标签与框架平行。 你可以
通过将 unaligned 指定为 a 来取消它 字符串修饰符.
圆 at [坐标名称] 表达式, 表达式 [半径 表达式[线型]
这将在指定的点画一个圆圈。 默认情况下,圆圈很小,0.025
英寸。 这可以通过指定半径来覆盖。 点的坐标
相对于命名坐标系,如果没有,则为默认坐标系
指定的。
此命令已扩展为采用行描述,例如,虚线。 它也是
接受下面描述的填充扩展 酒吧 命令。 它也会
接受 颜色 以双倍形式给出圆圈轮廓颜色的关键字
引号和一个 填色 设置颜色以类似地填充圆圈的命令。
颜色仅在兼容模式关闭且使用 GNU 版本时可用
支持颜色的图片。
线 [行_描述] 止 [坐标名称] 表达式, 表达式 至 [坐标名称] 表达式, 表达式
[行_描述]
箭头 [行_描述] 止 [坐标名称] 表达式, 表达式 至 [坐标名称] 表达式, 表达式
[行_描述]
这将使用给定的样式从第一个点到第二个点绘制一条线或箭头。
默认线条样式为实线。 这 行_描述 可以在
止 或之后 至 条款。 如果两者都给出,则使用第二个。 有可能
在一个坐标系中指定一个点,在另一个坐标系中指定一个点,请注意,如果两者都
点在命名坐标系中(即使它们在同一个命名坐标系中)
系统),两个点都必须有 坐标名称 给定的。
复制 ["文件名"] [直到 "绳子"] [通过 宏]
复制 命令将数据从另一个文件导入到当前图形中。 表格与
只有给定的文件名是一个简单的文件包含; 包含的文件只是读取
进入输入流并且可以包含任意 GRAP 命令。 比较常见的情况
是它是一个数字列表; 看 联系电话 书单 联络一位教师
第二种形式从文件中获取行,将它们拆分为由一个或多个分隔的单词
更多的空格,并用这些词作为参数调用给定的宏。 宏可以
要么在这里定义,要么是之前定义的宏。 看 宏 更多
有关宏的信息。
文件名 如果 直到 条款存在。 如果是这样,当前文件是
视为输入文件,直到 绳子 在行的开头遇到。
复制 是主力之一 GRAP. 检查纸张和
/usr/share/doc/grap/例子 更多细节。 确认示例的位置
目录使用 -v 旗。
打印 (表达式|字符串)
将其参数打印到标准错误。
sh 阻止
这通过 阻止 至 sh(1). 不同于K&B GRAP 没有进行宏或变量扩展。
我相信对于 GNU pic 1.10 版也是如此。 见 宏 对于部分
有关定义块的信息。
图片 图片声明
这会在所附文件中发出给定的 pic 语句 PS。 和 .PE 在这一点上
命令发出。
以句点开头的语句被认为是 troff(statements) 并且是
封装中的输出 PS。 和 .PE 在命令出现的地方。
为了 pic 或 troff 命令的相对位置,输出帧
紧接在第一个绘制对象之前,或 框架 声明,如果有的话。 如果
用户指定 pic 或 troff 命令,并且既没有任何可绘制对象也没有 框架
命令,命令将不会输出。
图形 名字 图片命令
此命令用于相对于彼此定位图形。 当前图
给出了图片名称 名字 (pic 使用的名称以大写字母开头)。 任何图片
图形后面的命令用于定位下一个图形。 的框架
图可与图片名称框架一起使用。 下面放置第二张图
在第一个下面:
图线性
[图形说明]
图指数与 .Frame.n 在 \
线性框架.s - (0, .05)
[图形说明]
姓名 = 表达式
这分配 表达式 到变量 姓名. GRAP 只有数字(双)变量。
如果变量不存在,则赋值会创建一个变量。 变量在图形中持续存在。
赋值可以级联; a = b = 35 将 35 分配给 a 和 b。
酒吧 (up|右)[坐标名称] 抵消 ht 高度 [WID 宽度[基地 基偏移量]
[行_描述]
酒吧 [坐标名称] 表达式, 表达式[坐标名称] 表达式, 表达式[行_描述]
酒吧 命令有助于绘制条形图。 命令的第一种形式
比较笼统地描述了酒吧,并有 GRAP 放好它。 杆可以向上延伸或
在右边,以 抵消 并向上或向右延伸 高度 单位(在给定的
坐标系)。 例如
酒吧上升 3 ht 2
在 x 轴上绘制一个 2 个单位高的条,以 x=3 为中心。 默认条形为 1
单位宽,但这可以通过 WID 关键词。 默认情况下,条形图位于
基轴,即向上的条形将从 y=0 延伸。 这可能会被覆盖
基地 关键词。 (上述条形有角 (2.5, 0) 和 (3.5, 2)。)
线路描述已扩展为包括 填 表达式 指定关键字
酒吧内的阴影。 可以以任何线条样式绘制条形图。 他们支持
颜色 和 填色 下描述的关键字 圆.
该命令的第二种形式绘制一个以两点为角的框。 这个可以
用于绘制突出显示某些数据的框以及条形图。 注意
实心条将覆盖在其下绘制的数据。
系统 自动化流程
if 表达式 然后 阻止 [其他 阻止]
if 语句提供简单的条件执行。 如果 表达式 非零,则
阻止 后 然后 语句被执行。 如果不是 阻止 后 其他 is
执行,如果存在。 看 宏 用于块的定义。 早期版本
这种实现 GRAP 将块视为已定义的宏,并且
原地展开。 这导致了不必要的混淆,因为显式分隔符是
有时要求。 现在, GRAP 在最后一个字符后插入一个分隔符 (;)
阻止,所以构造像
如果 (x == 3) { y = y + 1 }
x = x + 1
按预期行事。 一个分隔符也被附加到一个 块。
姓名 止 来自_expr 至 到_表达式 [by [+|-|*|/] by_expr] do 阻止
该命令执行 阻止 迭代。 变量 姓名 被设置为 来自_expr 和
增加了 by_expr 直到超过 到_表达式. 迭代具有语义
定义在 蜱 命令。 的定义 阻止 讨论在 马科斯。 看
还有关于隐式分隔符的说明中的注释 if 命令。
An = 可以代替 止.
表达式
GRAP 支持大多数标准算术运算符:+ - /* ^。 克拉 (^) 是
求幂。 在一个 if 声明 GRAP 还支持 C 逻辑运算符 ==、!=、&&、
|| 和一元! 也在一个 if, == 和 != 被重载用于引用的比较
字符串。 括号用于分组。
在任何上下文中的表达式中都不允许赋值,除了简单的级联
任务。 a = b = 35 按预期工作; a = 3.5 * (b = 10) 不执行。
GRAP 支持以下带一个参数的函数: 日志, EXP, INT, 无, 车, 开方,
兰特, 地板, 细胞. 对数以 10 为底,三角函数在
弧度。 出口 将欧拉数返回给定的幂和 ln 回归自然
对数。 自然对数、幂函数和 floor 和 ceil 是扩展和
可能在其他地方不可用 GRAP 实现。
兰特 返回均匀分布在 [0,1) 上的随机数。 以下二论
支持的功能: 阿坦2, 分钟, 最大. 阿坦2 就像 阿坦2(3). 随机的
数字生成器可以通过调用播种 rand 带有单个参数(转换
内部为整数)。 因为它的返回值没有用,你必须使用 rand 作为一个
单独的语句,它不是有效表达式的一部分。 rand 不便携。
获取pid 函数不接受任何参数并返回进程 ID。 这可用于播种
随机数生成器,但不要期望产生加密随机值。
除了字符串比较,没有表达式可以使用字符串。 一个字符串值函数
存在: 冲刺 (格式[表达式 [, 表达式]] )。 它的操作就像 冲刺(3),除了返回
价值。 它可以在使用带引号的字符串的任何地方使用。 如果 GRAP 运行 -S是,
环境变量 GRAP_SAFER 已定义,或 GRAP 已编译为更安全的操作,
此 冲刺 命令将返回格式字符串。 这种操作模式仅用于
仅在以下情况下使用 GRAP 被用作启用超级用户的打印系统的一部分。
GRAP 1.44 及更高版本支持日期和时间操作的两个函数, 时间
和 时间. 时间 解析时间使用 时间(3) 功能。 需要两个
参数,包括字符串、格式和使用该格式解析的字符串并返回一个
可以直接排序的数字 - 自 UNIX 时代以来的秒数。 时间
反之。 它接受一个字符串和一个数字,并将数字格式化为日期。 在
两个函数,格式都是第一个参数。 格式定义在
有关的文件 时间(3)。
宏
GRAP 有一个简单但强大的宏工具。 宏定义使用 定义 命令
:
定义 姓名 阻止
取消定义 姓名
每次出现 姓名 程序文本中的内容替换为 阻止.
阻止 由嵌套 { } 中的一系列语句或一系列语句定义
被同一个字母包围。 后者的一个例子是
定义 foo X 坐标 x 1,3 X
每次 foo 出现在文本中时,它都会被 coord x 1,3 替换。 宏是
文字,并且可以包含换行符。 如果一个宏没有跨越多行,它应该
以分号结尾以避免解析错误。
宏也可以带参数。 如果宏调用后跟一个括号,
以逗号分隔的列表以 $1 开头的值将在宏中替换为
列表的元素。 后面没有数字的 $ 保持不变。 这个
解析非常初级; 没有嵌套或括号或逗号的转义是
允许。 此外,无法说参数 1 后跟一个数字(${1}0 in
sh(1))。
下面将绘制一条斜率为 1 的线。
定义 foo { next at $1, $2 }
对于 i 从 1 到 5 { foo(i,i) }
宏在图形中持续存在。 文件 /usr/share/grap/grap.defines 包含简单
用于绘制常见字符的宏。 这 取消定义 命令删除宏。
看目录 /usr/share/doc/grap/例子 有关宏的更多示例。 确认
使用示例目录的位置 -v 旗。
联系电话 书单
以空格分隔的数字列表被特殊处理。 该列表被视为积分
使用默认坐标系上的默认线型绘制。 如果超过
给出两个数字,额外的数字被视为额外的 y 值,以绘制在
第一个 x 值。 DWB 中的数字列表 GRAP 可以用逗号分隔,这个 GRAP 支持
以及。 更准确地说,数字列表中的数字可以用空格分隔,
逗号,或两者兼而有之。
1 2 3
4 5 6
将使用默认线型在 (1,2)、(1,3)、(4,5) 和 (4,6) 处绘制点。 一个简单的方法
在名为的文件中绘制一组数字 。/数据 是:
.G1
复制“./数据”
.G2
PIC 宏
GRAP 定义可以在嵌入的 pic 代码中使用的 pic 宏,以将元素放置在
图形。 宏是 x_gg, y_gg及 XY_GG. 这些宏定义了图片距离
对应于给定的参数。 它们可用于调整框的大小或绘制 pic 结构
在图表上。 要将给定的构造放置在图形上,您应该向其中添加 Frame.Origin。
其他坐标空间可以通过替换使用 gg 与坐标空间的名称。
一个名为的坐标空间 gg 这些宏不能可靠地访问。
在绘制帧之前立即发出宏。
数字宽带 GRAP 可以将这些用作其实现的一部分。 这个 GRAP 仅提供它们用于
兼容性。 请注意,这些是非常简单的宏,可能不会按照您的预期执行
条件复杂。
环境 变数
如果定义了环境变量 GRAP_DEFINES, GRAP 将寻找它的定义文件
那里。 如果该值是相对路径名,则在 -M 选项将是
寻找它。 GRAP_DEFINES 覆盖定义文件的编译位置,但
可能会被覆盖 -d or -D 标志。
如果设置了 GRAP_SAFER, 冲刺 被禁用以防止强制 GRAP 核心转储或粉碎
叠加。
使用 onworks.net 服务在线使用 grap