Xlib程序设计手册PDF电子书下载
- 电子书积分:16 积分如何计算积分?
- 作 者:刘连芳,廖宏,黄永宁等译
- 出 版 社:南宁:广西科学技术出版社
- 出版年份:1991
- ISBN:7805654484
- 页数:514 页
引言 1
关于这本手册的说明 1
内容概要 1
目录 1
如何使用这本手册 2
实例程序 3
一些要求 3
手册中用到的字体约定 3
有关文件 3
欢迎指教 4
关于发行执照 4
致谢 4
第一章引言 6
1.1 X的版本 6
1.2 X窗口系统概念 6
图目录 7
1-1. 由多个屏幕组成的显示系统 7
1.2.2服务器-客户模式 7
1.2.1显示器和屏幕 7
1-2. 应用程序可以在横跨网络的任何系统上运行 8
1.2.3窗口管理 9
1.2.5对X的扩展 10
1.2.4事件 10
1.3 X窗口系统软件结构 10
1.4 Xlib概貌 11
1-3. 客户程序通过Xlib调用与服务器进行通信 11
1-1.Xlib按功能分组的子程序 12
表目录 12
2.1 Xlib如何工作 14
第二章X概念 14
2.1.2缓冲 15
2-1. 客户程序与服务器 15
2.1.1 X协议 15
2.1.3资源 16
2-2. 服务器的事件队列和每个客户程序的事件队列 17
2.1.4特性和标识号 17
2.1.5窗口管理程序 18
2-3. 用于建立窗口的xmh应用程序的例子 19
2.2窗口是什么? 19
2.2.1窗口特征 20
2.2.2树形层次 21
2-4. 窗口构造的组成成分 21
2-5. 屏幕上的一个窗口层次 22
2.2.3坐标系 23
2-6. 窗口层次结构的图示 23
2-7. 坐标系 24
2.2.5映射和可见性 24
2.2.4窗口叠次序(stacking order) 24
2.3.1象点和颜色 25
2.3 X图形入门 25
2-8. 用着色图把象点值映射成颜色 26
2.3.2象点和色板 26
2.3.4画图和图形信息 27
2.3.3三维象点图和可画物(drawable) 27
2.4窗口特性的进一步介绍 28
2-9. 如何用贴砖铺贴窗口的背景 28
2.3.5贴砖和贴片 28
2.4.2窗口结构 29
2.4.1窗口属性 29
2.4.4深度和着色类型 30
2.4.5缩微窗口图象 30
2.4.3类型、输入/输出和只输入窗口 30
2.4.6根窗口的特殊性质 31
2-10. 一个应用程序和它的缩微窗口图符 31
2.5事件入门 31
2.5.2事件的选择和传播 32
2.5.1事件指什么 32
2.5.3事件队列 33
2.5.4事件结构 33
2.6.1.1设计要求 34
2.6.1设计一个应用程序 34
2.6如何用Xlib进行程序设计 34
2.5.5事件循环 34
2.6.1.2用户接口 35
2.6.2.2编译和链接X程序 36
2.6.2.1用户缺省 36
2.6.2编写X应用程序 36
2.6.2.4使用结构、符号和表征码 37
2.6.2.3命名约定 37
2.6.3调试X应用程序 38
2.6.2.5运行性能的优化 38
2.6.3.2结构XErrorEvent 39
2.6.3.1错误 39
2.6.3.3同步的错误 40
第三章基本的窗口程序 41
3.1运行程序 41
3.2Basicwin的主程序 42
3-1. 程序basicwin的输出 42
3.2.1包含文件和变量说明 42
3.2.2与服务器连接 44
3.2.3显示宏命令 46
3.2.4获取窗口信息 46
3.2.5建立窗口 48
3.2.6颜色策略 49
3.2.7准备图符的三维象点图 50
3.2.8与窗口管理程序通信 51
3.2.10建立资源 54
3.2.9选择所希望的事件类型 54
3.2.13建立事件采集循环 55
3.2.12发送输出缓冲区 55
3.2.11窗口映射 55
3.2.13.1重画窗口 58
3-2. 由一个用户动作引起的多个显露事件 59
3.2.14什么时候可以画东西? 63
3.2.16管理窗口尺寸的重设 63
3.2.15所画的内容什么时候显现? 63
3.2.17退出程序 64
3.2.19小结 65
3.2.18错误管理 65
3.2.20 basicwin的全部源程序 66
4.2窗口属性结构 74
4.1建立窗口属性 74
第四章窗口属性 74
4-1. 窗口属性表征码符号 75
4.3可通过程序设置的属性 77
4-2. 可以单独设置的属性 77
4.3.1窗口背景 78
4.3.1.1 background_pixmap 78
4.3.1.2 background_pixel 79
4.3.2窗口边框 79
4.3.2.1 border_pixmap 79
4.3.2.2 border_pixel 80
4.3.3内容重定位 80
4-1. 画图程序的bit_gravity 81
4.3.4窗口重定位 82
4-2. 窗口重定位起作用的子窗口位置 82
4.3.5后备存储 83
4.3.6存储隐匿内容 84
4.3.7事件处理 85
4.3.8废除转送子结构重构请求特性 85
4.3.10光标 86
4.3.9着色图 86
4.3.11窗口属性的缺省值 87
4-3. 窗口属性的缺省值 87
4.4结构XWindowAttributes的信息 88
第五章图形信息 90
5.1建立和设置图形信息 91
5-1. 一个实心多边形的“源” 91
5-1. 设置XGCValues结构的符号 93
5.1.1建立和设置GC的例子 94
5.2图形信息之间的转换 95
5.3控制图形元语的影响 96
5-2. GC中的逻辑函数 97
5.3.1逻辑函数 97
5-2a. 逻辑函数GXcopy的作用 98
5-2b. 逻辑函数GXxor的作用 98
5-2c. 逻辑函数GXand的作用 99
5.3.2色板表征码 99
5.3.3剪辑表征码 99
5-3.plane_mask在12色板显示器上的作用 100
5.4前景和背景 100
5-5. 用XDrawlmageString画字符时,前景和背景的使用 101
5-4. 使用剪辑原点定位相对于可画物的位置 101
5.5线段特征 101
5.5.1线宽 102
5.5.4连接样式 103
5-6. 线段样式 103
5.5.2线段样式 103
5.5.3线段端点的样式 103
5-7. 线段端点的样式 104
5.5.5长划线表和间距 104
5-8. 线段连接样式 105
5-9. 8象点宽的线段JoinRound说明 105
5.5.6设置线段特征的例子 107
5-10. 用例5-6中设置的GC画出的线 108
5.6形成图案 108
5-11. 用贴砖铺贴一个区域 109
5.6.1贴砖 109
5.6.2贴片 110
5.6.3贴砖和贴片的尺寸 110
5.6.4填充方式 110
5.6.5填充规则 111
5-13. 填充封闭多边形的常量fill_rull 111
5-12. 在小三维象点图上示范fill_style 111
5.6.6用于填充的弧方式 112
5-14. 填充弧用的orc_mode常量 112
5.7图形的显露 113
5.8字体 113
5.9子窗口方式 114
5.10客户程序间共享GC 114
5-15. 拷贝部分不可用的区域 114
5-3. 图形信息缺省值 115
5.11图形信息的缺省值 115
第六章画图形和正文 116
6.1画图 116
6.1.1度量图形 117
6-1.XDrawArc或者XDrawArcs的角度度量 117
6.1.2画图实例 118
6.1.3库程序draw_box 119
6.1.5建立贴砖或贴片 120
6.1.4填充 120
6-2. 具有相同参数的XFillRectangle和XDrawRectangle画象点的效果对照 121
6.1.6拷贝和清除区域 123
6.2字体和正文 123
6.2.1字符格式 124
6.2.2装载字体 124
6-3. XClearArca—— 当width或者height参数为0时,清除的区域 124
6.2.3字符 125
6.2.3.1结构XCharStruct 126
6-4. 两个字符的尺度信息 126
6.2.4正文的定位 129
6.2.5画正文库程序 130
6-5. 字符串的垂直定位 130
6.2.6画正文的库程序 131
6-1. 字体特性 134
6.2.7字体特性 135
6.3区 136
6.2.8设置字体路径 136
6.4 映象 137
6.3.3返回有关区的信息 137
6.3.2区的计算 137
6.3.1区的移动和重新设置尺寸 137
6.4.1管理映象 139
6-6. bitmap_unit=16的映象的位和字节次序 140
6.4.2使用映象的例子 140
7-2. 象点值到RGB的映射:序 140
6.5二维象点图的管理 141
6.6光标 141
6.6.1标准的光标字体 143
6.6.2装载和改变光标 144
7.1基本彩色项和概念 145
第七章颜色 145
7.2.2单色和灰度等级(Grayscale) 146
7.2.1中等范围彩色显示器 146
7-1. 象点值到RGB映象:彩显上利用着色图 146
7-1. 象点值到RGB映象:彩显上利用着色图 146
7.2显示硬件上的差别 146
7.2.3高性能彩色显示器 147
7-2. 象点值到RGB的映射:灰度显示器和单色显示器 147
7.2.4 X如何管理不同的显示器类型 148
7-3. 象点值到RGB的映射:高性能彩色显示器 148
7.2.5可共享与可修改性 149
7-1. 着色类型比较 149
7-4. 着色类型等级 150
7.2.6缺省着色类型 150
7-2. 各种服务器上缺省着色图的着色类型 151
7.2.7缺省着色图 151
7.3分配共享颜色 152
7.3.1 XColor结构 153
7.3.2颜色名数据库 153
7-3.颜色数据库 154
7.3.3十六进制颜色说明 155
7.3.4分配标准颜色的程序 156
7.3.5指定明确的RGB值 157
7-4. 指定粉红色的四种方法 158
7.3.6选择缺省颜色 158
7.4存贮客户私有的颜色 159
7.4.1为图形的相互覆盖分配读/写色素 160
7.4.2使用XAllocColorPlanes 163
7.4.3单色显示器里的高亮度 165
7.5建立和安装着色图 165
7.5.1处理着色图的函数 166
7.5.2事件ColormapNotify 167
7.5.3需求着色图表(The required Colormap List) 168
7.6标准着色图 168
7.6.1标准着色图特性 169
7.6.2结构XStandardColormap 170
7-5. 将象点子字段移进象点值 171
7.6.3 3/3/2标准着色图 171
7.6.4安装标准着色图 171
7.6.5 RGB值转换为象点值的例子 172
7.7编写可移植的彩色程序 174
7.7.1单色与彩色 174
7.7.2检查着色类型 175
7.7.3获取有关着色类型的信息 176
7.7.3.1选择着色类型的实例 177
7.8杂类颜色管理库程序 179
第八章事件 180
8.1事件处理概论 180
8.2事件处理 181
8.2.1事件结构 181
8.2.2事件类型和XEvent联合 182
8.2.3事件队列 183
8.2.4处理事件 183
8-1. 服务器的事件队列和每个客户程序的事件队列 183
8.2.5输出事件类型 187
8.2.6获取事件的库程序 188
8-1. 读取事件库程序 190
8.2.7判断子程序 191
8.3选择事件 193
8-2. 事件mask定义 193
8.3.1事件表征码与事件间的对应关系 195
8-3. 事件表征码,事件类型以及事件结构 195
8.3.2设备事件的传播 197
8-2a. 一种可能的选择方案 198
8-2b. 另一种可能的选择方案 198
8-2c. 又一种可能的选择方案 199
8.3.2.1键盘聚焦窗口 199
8.3.2.2独享键盘和指示器 200
8.3.3.2 ButtonPressMask,ButtonReleaseMask和OwnerGrabButtonMask 201
8.3.3事件表征码 201
8.3.3.1 KeyPressMask和KeyReleaseMask 201
8.3.3.3定位器运动表征码 202
8.3.3.4 FocusChangeMask 202
8.3.3.5 EnterWindowMask和LeaveWindowMask 202
8-3. 降低窗口C产生成的Expose事件 203
8.3.3.6 KeyMapStateMask 203
8.3.3.7 ExposureMask 203
8.3.3.9 ColormapChangeMask 204
8-4. 引起VisibilityNotify事件的可见性转换 204
8.3.3.8 VisibilityChangeMask 204
8.3.3.10 PropertyChnageMask 204
8.3.3.12 SubstructRedirectMask 205
8.3.3.11 StructureNotifyMask和SubstructuredNotifyMask 205
8.3.3.13 ResizeRedirectMask 206
8.3.3.14自动选择事件 206
8.4发送事件 207
8-5. 介绍事件的其它章节 208
8.5在何处有关每一个事件的更多资料 208
9.1键盘 210
第九章键盘和定位器 210
9.1.1简单的键盘输入 212
9.1.1.1获取字符串——对话窗口 213
9.1.2键盘映射 217
9.1.2.1键盘符号到字符串的映射 218
9.1.2.2功能转换键 219
9.1.2.3键代码到键符号的映射 220
9-1. 逻辑功能转换键与一个典型的功能转换键的映射 220
9.1.3键符号的背景 221
9.1.3.1键符号的设计 221
9.1.3.2键符号意义的约定 222
9.1.4改变服务器范围的键盘映射 222
9.1.4.1改变键代码到键符号的映射 222
9.1.4.2改变功能转换 224
9.1.5其它键盘管理库程序 225
9.1.4.3改变X11.1的功能转换键映射 225
9.2.1.1 获取所有的移动事件 226
9.2定位器 226
9.2.1跟踪定位器移动 226
9.2.1.2使用定位器移动条件特性 229
9.2.1.3移动历史 232
9.2.2管理定位器按钮事件 234
9.3边界跨越和键盘聚焦改变事件 238
9.2.3改变定位器按钮映射 238
9.2.4移动定位器 238
9.3.1事件KeymapNotify 240
9.4独享键盘和定位器 240
9.5键盘缺省值 242
9.5.1设置键盘缺省 242
9-2. 键盘缺省值的设置——缺省值及范围 243
9.5.2获取键盘缺省值 244
9.6定位器缺省值 244
第十章客户程序通信 245
10.1特性和标识符 245
10.2与窗口管理程序通信 246
10.2.1客户程序的作用 246
10.2.1.1建立一个顶层窗口 246
10.2.2客户程序设置的特性 247
10-1. 窗口管理程序条件特性项 248
10.2.2.1XA_WM_NAME 248
10.2.2.4应用程序命令及参数 249
10.2.2.3 XA_WM_ICON_NAME 249
10.2.2.2 XA_WM_CLASS 249
10.2.2.5窗口尺寸条件特性——正常的和放大的窗口 250
10-2.XSizeHints标志 251
10-3. 设置和获取尺寸条件特性的库程序 252
10.2.3其它的窗口管理程序条件特性 252
10.2.3.1标志字段 253
10.2.3.2输入字段和输入聚焦 253
10-4. 窗口管理程序条件特性的标志 253
10-5. 初始状态条件特性标志 254
10.2.3.4图符条件特性 254
10.2.3.3初始状态字段 254
10.2.3.6临时窗口 256
10.2.3.5窗口组 256
10.2.5客户程序对窗口管理程序活动的响应 257
10.2.4.1 XA_WM_ICON_SIZE 257
10.2.4由窗口管理程序设置的特性 257
10.3选择区 258
10.3.1选择机构 258
10.3.2选择区的例子 259
10.3.3取得选择区所有权 260
10.3.4选择区拥有者的责任 261
10.3.5放弃选择区所有权 262
10.3.8再谈选择特性和类型 263
10.3.7大量数据的传送 263
10.3.6请求选择区 263
10.4剪裁缓冲区 264
10.3.8.1目标标识号 264
10-6. 内部特性类型 265
第十一章管理用户缺省值 266
11-1. 用XGetDefault处理用户缺省值的过程 267
11.1使用XGetDefault 267
11.2在应用程序里使用X11.2的资源管理程序 273
11-2. 用资源管理程序处理缺省值的过程 274
11.4管理用户缺省值数据库 274
11.3标准几何参数 274
11-3. 假设xmail显示 276
11.4.1紧密粘结和松散粘结 277
11.4.3存贮/访问规则 278
11.4.2-name选择项 278
11-1. 类设置 279
11.5.1将资源放进数据库 280
11.4.4资源管理程序值及表示类型 280
11.5其它资源管理库程序 280
11.5.2资源管理程序标识码 281
第十二章一个完整的应用程序 282
12.1 basecalc介绍 282
12-1. 屏幕上的应用basecalc 283
12.2包含文件 284
12.3 basecalc的主程序 284
12.4获取用户缺省值 285
12.4.1 Basecalc的用户缺省值 286
12.4.2命令行语法分析 286
12.4.3获取数据库 290
12.4.4从数据库中获取选择项 292
12.6初始化计算器 296
12.5打印有关用法的信息 296
12.7形成窗口 301
12.8选择事件 301
12.9处理事件 302
12.10画‘按键’ 305
12.11没有列出的子程序 306
第十三章其它程序设计技巧 308
13.1屏幕保存器(Screen Saver) 308
13.2来自其它主机和结点的访问 308
13.2.1增加、删除或者列出主机 308
13.2.2允许和禁止访问控制 309
13.3窗口层次结构的获取 309
13.4关闭方式 309
13.5连接关闭操作 310
13.6数据管理 311
13.6.2相关表 311
13.6.1上下文相关管理程序 311
13.7随后库程序(The after function) 312
13.8坐标变换 312
13.9将程序移植到X环境 312
13.10 X扩展程序的使用 313
13.9.1从X10向X11移植 313
第十四章窗口管理 315
14.1外观规定 315
14.2转送子结构重构请求 316
14.3.1 阴影 317
14.3重设父窗口 317
14-1. 背景阴影 318
14-2. 背景阴影的窗口层次 318
14.4窗口安全记录 319
14-3. 阴影试验的实际效果 319
14.5.2设置图符尺寸 320
14.5.1读取条件特性 320
14-1. 窗口管理程序的条件特性 320
14.5窗口管理程序——客户程序通信 320
14.6窗口管理程序功能 321
14.7基本窗口管理程序 322
14-3. 没有兄弟窗口的叠状态的含义 322
14-2. 给出兄弟窗口的叠状态的含义 322
14.7.1程序的操作 323
14-4.winman生成的菜单 323
14.7.2主程序说明 324
14.7.4选择输入 332
14.7.3窗口分层 332
14-5. 菜单的窗口层 333
14.7.5管理输入 333
14.7.6转换区域的颜色 334
14.7.9绘制菜单 335
14.7.8独享定位器 335
14.7.7光标 335
14.7.10循环窗口 336
14.7.11提升及降低窗口 337
14.7.12移动窗口或改变窗口尺寸 338
14-6. 拖动窗口轮廓 343
14.7.13缩微或复原窗口 343
14.7.14建立图符 347
14.7.15获取图符尺寸 349
14.7.16更新图符表 351
14.7.17删除图符 352
14.7.18改变键盘焦点 352
14.7.19画聚焦窗口外框 355
14.7.20执行shell命令 356
14.8窗口管理程序未解决的问题 357
附录A术语汇编 358
附录B X10的兼容性 372
XDraw和XDrawFilled 372
B-1.顶点标志值 373
附录C编写X的扩展程序 375
基本协议支持库程序 375
连结Xlib 376
扩展程序的初始化 376
连结程序库 376
XESetCreateGC 377
XESetCopyGC 377
XESetCloseDisplay 377
XESetCreateFont 378
XESetFreeGC 378
XESetFreeFont 378
XESetWireToEvent 379
XESetEventToWire 379
XESetErrorString 380
XESetError 380
XFindOnExtensionList 381
XAddToExtensionList 381
XESetFlushGC 381
连结Xlib数据结构 381
图形批处理 382
GC缓存 382
分配一个资源ID 382
请求的格式 384
请求、回答和Xproto.h 384
编写扩展的二级程序 384
发送协议请求和参数 386
数据结构的锁定 386
开始编写二级功能程序 386
可变长度参数 387
应答 388
可移植性考虑 389
同步调用 389
内存的分配和释放 389
衍生正确的扩展程序操作码 390
附录D应用程序basecalc 391
附录E事件参考 430
公用结构成分的意义 430
ButtonPress,ButtonRelease 433
CirculateNotify 435
CirculateRequest 436
ClientMessage 437
ColormapNotify 439
ConfigureNotify 440
ConfigureRequest 442
CreateNotify 444
DestroyNotify 446
EnterNotify,LeaveNotify 447
E-1. 跨越边界事件和窗口的关系 449
E-2. 事件的detail成分和窗口关系 450
E-1. 定位指针在窗口间移动时所产生的事件 451
E-2. 在各种窗口关系情况下,指针从窗口A转移到窗口B时 451
产生的边界跨越事件和事件的detail成分 451
Expose 452
FocusIn,FocusOut 454
E-3. 事件FocusIn和FocusOut以及各窗口的关系 455
E-4. 事件的detail成分和窗口关系 456
E-3a. 事件FocusIn和FocusOut示意图 457
E-3b. 事件FocusIn和FocusOut示意图 458
GraphicsExpose,NoExpose 459
GravityNotify 461
KeymapNotify 462
KeyPress,KeyRelease 464
MapNotify,UnampNotify 466
MappingNotify 468
MapRequest 470
MotionNotify 471
PropertyNotify 473
ReparentNotify 474
ResizeRequest 475
SelectionClear 476
SelectionNotify 477
SelectionRequest 478
VisibilityNotify 479
E-5. 结构XVisibilityEvent的state值 480
选择区约定的状况 481
同级通过选择区通信 481
简介 481
附录F客户程序间通信约定提案 481
询问选择区拥有权 482
选择区拥有者的责任 483
放弃选择区的所有权 484
自愿放弃 484
强制放弃 484
请求一个选择区 485
大量数据传送 486
选择区标识符的用途 487
选择区PRIMARY 488
目标标识符 488
选择区CLIPBOARD 488
选择区SECONDARY 488
选择标识符 488
选择区特性的用途 489
STRING特性 489
INDIRECT特性 489
F-1. 目标标志符及其含义 490
INCREMENTAL特性 490
客户程序与窗口管理程序的通信 491
客户程序的动作 492
建立顶层窗口 492
客户程序特性 493
XA_WM_NAME 493
XA_WM_ICON_NAME 494
XA_WM_NORMAL_HINTS 494
XA_WM_HINTS 495
F-2. 输入方式 497
WM_TRANSIENT_FOR 498
窗口管理程序特性 498
WM_CLASS 498
配置窗口 499
映射窗口和解除对窗口的映射 499
键盘聚焦 500
着色图 501
缩微窗口图符 502
弹出式窗口 502
窗口组 502
客户程序对窗口管理程序操作的响应 503
移动 503
重新设置尺寸 503
(非)缩微化 503
着色图的修改 503
键盘聚焦 504
ClientMessages 504
窗口管理程序约定的状态 504
客户程序对会话管理程序操作的响应 505
终止 505
WM_CLIENT_MACHINE 505
终止 505
客户程序与会话管理程序的通信 505
WM_COMMAND 505
特性 505
客户程序的作用 505
会话管理程序的状态约定 506
共享资源的处理 506
键盘聚焦 506
定位器 506
着色图 507
致谢 507
附录G版本注释 508
获得X软件 509
附录H其它信息来源 509
故障修复 510
网络新闻 511
其它Xlib书籍 512
电话支持 513
培训 513
工具箱 513
H-1. X集团 513
自我发现 514
X集团 613
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《Maya 2018完全实战技术手册》来阳编著 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《慢性呼吸系统疾病物理治疗工作手册》(荷)瑞克·考斯林克(RikGosselink) 2020
- 《战略情报 情报人员、管理者和用户手册》(澳)唐·麦克道尔(Don McDowell)著 2019
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《Prometheus技术秘笈》百里燊 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《药剂学实验操作技术》刘芳,高森主编 2019
- 《林下养蜂技术》罗文华,黄勇,刘佳霖主编 2017
- 《脱硝运行技术1000问》朱国宇编 2019
- 《催化剂制备过程技术》韩勇责任编辑;(中国)张继光 2019
- 《信息系统安全技术管理策略 信息安全经济学视角》赵柳榕著 2020