添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
  • 11.4 Methods for Identification and Estimation
  • 11.4.1 Directed Acyclic Graphs(DAG) for Identification
  • 11.4.2 Indirect Connection
  • 11.4.3 Common Cause
  • 11.4.4 Common Effect
  • 11.4.5 Example: Simpson’s Paradox
  • 11.5 链接
  • 12 网络分析
  • 12.1 节点属性
  • 12.2 网络集群
  • 12.3 随机网络模型
  • 12.4 无尺度网络
  • 12.5 无尺度的生成 - Barabási-Albert 模型
  • 12.6 网络的进化 - Bianconi-Barabási 模型
  • 12.7 度相关现象
  • 12.8 网络稳健性
  • 12.9 网络回归
  • 12.10 网络扩散行为
  • 12.11 网络可视化
  • 13 博弈论
  • 13.1 术语
  • 13.2 支配策略(dominate strategy)
  • 13.3 最佳回应(Best respinse)
  • 13.4 纳什均衡(Nash Equilibrium)
  • 13.5 帕累托最优(Pareto Optimality)
  • 13.6 混合策略(Mixed stratergies)
  • 13.7 寻找纳什均衡
  • 13.8 被支配策略(dominated strategy)
  • 13.9 最大最小策略(Maxmin strategies)
  • 13.10 扩展形式博弈
  • 13.11 完美子博弈
  • 13.12 信息不对称扩展形式博弈
  • 13.13 混合与行为策略
  • 13.14 重复博弈
  • 13.15 随机博弈(stochastic game)
  • 13.16 虚拟行动(fictitious play)
  • 13.17 无悔学习(No-regret learning)
  • 13.18 无限重复博弈的平衡
  • 13.19 贝叶斯博弈
  • 13.20 联盟博弈
  • 13.21 夏普利值(Shapley Value)
  • 13.22 核心
  • 13.23 选举
  • 13.24 机制设计
  • 13.25 VCG机制
  • 13.26 拍卖
  • 14 生物信息
  • 14.1 数据结构
  • 14.2 Pubmed 搜索
  • 14.3 动态规划
  • 14.4 得分矩阵
  • 14.5 E 值
  • 14.6 PSI-BLAST
  • 14.7 蛋白
  • 14.8 蛋白结构预测
  • 14.9 细菌基因组
  • 14.10 病毒
  • 14.11 单核苷酸多态性(SNP)
  • 14.12 真核基因预测
  • 14.13 DNA指纹
  • 14.14 Ensembl
  • 14.15 基因组学数据分析
  • 14.15.1 microarrays
  • 14.15.2 NGS
  • 14.15.3 数据分析应用背景
  • 14.15.4 Bioconductor
  • 14.15.5 示例:甲基化数据分析
  • 14.16 链接
  • 15 生存分析
  • 15.1 Concepts
  • 15.2 Notation
  • 15.3 Cox proportional-hazards regression model
  • 15.4 Case: Recidivism
  • 15.4.1 result
  • 15.5 further
  • 15.6 Time-Dependent Covariates
  • 15.7 Model Diagnostics
  • 15.8 Reference
  • 16 流行病学
  • 16.1 声明
  • 16.2 早期疾病的概念
  • 16.3 近代流行病学关键人物
  • 16.4 现代慢性病流行病学
  • 16.5 流行病学基本概念
  • 16.5.1 基本假设
  • 16.5.2 定义
  • 16.6 描述性流行病学
  • 16.6.1 疾病爆发的研究步骤
  • 16.6.2 慢性病的描述性流行病学
  • 16.6.3 描述流行病学分类
  • 16.7 分析流行病学
  • 16.8 疾病监控
  • 16.9 疾病频率的测量
  • 16.9.1 人群
  • 16.9.2 患病率(prevalence)
  • 16.9.3 风险(risk)
  • 16.9.4 比率(rate)
  • 16.9.5 其他频率测量
  • 16.10 联系测量
  • 16.10.1 风险比与比率比(risk ratio rate ratio)
  • 16.10.2 对照组
  • 16.10.3 风险差(risk difference)
  • 16.10.4 归因比例(Attributable Proportion Among the Exposed)
  • 16.10.5 人群归因比例(Population Attributable Fraction)
  • 16.10.6 胜率比(odds ratio)
  • 16.11 随机误差
  • 16.12 研究道德
  • 16.13 临床实验
  • 16.13.1 研究对象
  • 16.13.2 对照组与控制组
  • 16.13.3 临床分析中的问题
  • 16.14 队列研究
  • 16.14.1 前瞻性队列研究
  • 16.14.2 回顾性队列研究
  • 16.14.3 双向队列研究
  • 16.14.4 固定队列与开放队列
  • 16.14.5 研究对象
  • 16.14.6 队列追踪
  • 16.14.7 优点
  • 16.14.8 前瞻性队列研究缺点
  • 16.14.9 回顾性队列研究缺点
  • 16.14.10 偏误
  • 16.15 病例对照研究
  • 16.16 标准化
  • 16.17 混杂
  • 16.18 效应修饰(EMM)
  • 16.19 多变量方法
  • 16.20 筛选
  • 16.21 因果推断
  • 16.21.1 Hill 因果标准
  • 16.21.2 部分原因理论
  • 16.21.3 逆向模型(Counterfactual models)
  • 16.21.4 有向无环图(DAGs)
  • 16.22 论文研读
  • 16.22.1 Introduction
  • 16.22.2 Methods
  • 16.22.3 Results
  • 16.22.4 Discussion
  • 16.22.5 Conclusion
  • 16.22.6 Clinical Trial
  • 16.22.7 Cohort Study
  • 16.22.8 Case-Control Study
  • 16.22.9 Screening Test
  • 16.22.10 Additional Considerations
  • 17 自然语言处理
  • 18 量化投资
  • 18.1 股票收益模型
  • 18.2 风险
  • 18.3 收益
  • 18.4 一般性投资
  • 18.5 风险管理原理
  • 18.6 金融技术与发明
  • 18.7 投资组合
  • 18.8 保险
  • 18.9 有效市场假说
  • 18.10 行为经济学
  • 18.11 债券
  • 18.12 银行
  • 18.13 金融监管
  • 18.14 信用评级
  • 18.15 投行
  • 18.16 股票
  • 18.17 房产
  • 18.18 期货
  • 18.19 期权
  • 18.20 金融民主化
  • Github Repo
  • 根目录用斜线,在绝对路径时使用: /

  • 主目录(home directory)用波浪线替代: ~

  • 命令行命令通常需要传递参数标志及参数,用空格隔开 (recipe): command -flags arguments

  • 打印当前目录 pwd (print working directory)

  • 清除当前命令行窗口的命令 clear

  • 列出当前目录下文件与文件夹 ls

    ls -a 列举隐藏文件 ls -l 列举文件文件夹细节 ls -h 列举更易懂的文件细节

  • 列出当前目录下文件大小 du (display disk usage statistics)

    du -h 列举更易懂的文件文件夹大小 du -d 1 列举一级目录文件文件夹大小

  • 换目录 cd (change directory)

    cd 后面接路径会转当前目录 cd 留空会会主目录 cd .. 转上一级目录

  • 新建目录 mkdir (make directory)

  • 新建文件或修改文件时间戳 touch

  • 复制文件 cp (copy)

    cp 第一个参数是文件,第二个参数是新文件路径 cp -r 第一个参数可以是路径,所有文件会复制到第二个参数路径

  • 删除 rm (remove)

    rm -r 可删除整个目录

  • 移动/重命名 mv (move)

  • echo 打印输入的参数

  • date 打印当天日期

  • 2.3 版本控制

    使用 Git 来进行版本控制,GitHub 是基于 Git 的远程版本控制

    $ git config --global user.name "Your Name Here" # 输入用户名
    $ git config --global user.email "[email protected]" # 输入邮箱
    $ git config --list # 检查
    $ git init # 初始化目录
    $ git add . # 添加新文件
    $ git add -u # 更新改名或删除的文件
    $ git add -A|git add --all # 添加所有改动
    $ git commit -m "your message goes here" # 描述并缓存本地工作区改动到上一次commit
    $ git reset --hard HEAD^/commitid  # 回退前一次commit 如果soft会放到暂存区
    $ git revert -n commitid  # 删掉某一次修改
    $ git log # 查看commit记录 用Q退出
    $ git status # 查看状态
    $ git remote add # 添加服务器端地址
    $ git remote -v # 查看远端状态
    $ git push # 将本地commit推送到github服务器端
    $ git pull|fetch|merge|clone # 本地获取远端repo
    $ exit # 退出

    2.4 数据获取

  • 复制:cp 或 scp(安全复制) > scp -i mykey.pem ~/Desktop/logs.csv :data

  • 解压:unpack > unpack logs.tar.gz

  • 转化 excel 为csv:in2csv、csvcut、csvlook > in2csv data/imdb-250.xlsx | head | csvcut -c Title,Year,Rating | csvlook

  • 查询关系数据库:sql2csv > sql2csv –db ‘sqlite:///data/iris.db’ –query ‘SELECT * FROM iris’ ‘WHERE sepal_length > 7.5’

  • 互联网下载:curl -u 登录 -L 链接跳转 -I http头文件 > curl -s http://www.gutenberg.org/cache/epub/76/pg76.txt | head -n 10 > curl -u username:password ftp://host/file > curl -L j.mp/locatbbar

  • API:curlicue 来进行认证

  • 2.5 远程控制

  • ssh 远程登录22端口
  • scp 对服务器拷贝 scp -r local/data host:/data/
  • screen 远程登陆时防止长时间操作断连 c+a d 断开 c+a k 中止 screen -r 续连
  • df 查看磁盘分区使用状况 df -h
  • du 查看磁盘使用状况 du -h
  • 2.6 高级命令

  • !! 可重复上次命令

  • chmod 增加权限

  • #!/usr/bin/env bash 增加状况说明

  • NUM_WORDS=“$1” 增加参数

  • 2.7 R

    2.7.1 语言导论

  • R语言是S语言的一种方言
  • 1976年S是John Chambers等在贝尔实验室作为Fortran的扩展库开发出来的
  • 1988年用C语言重写 S3方法 白皮书
  • 1993年StatSci从贝尔实验室获得S语言的独家开发售卖许可
  • 1998年S4方法 绿皮书 之后S语言稳定 获得Association for Computing Machinery’s Software System Award
  • 2004年Insightful(原StatSci)从Lucent收购了S语言
  • 2006年Alcatel收购了Lucent成立Alcatel-Lucent
  • 2008年TIBCO收购Insightful 之前Insightful开发并售卖S-PLUS
  • 1991年Ross Ihaka与Robert GentlemanNew在Zealand开发了R
  • 1993年发布R第一份许可
  • 1995年R作为自由软件发放GUN许可
  • 1996年R邮件列表创立
  • 1997年R Core成立 控制R源码
  • 2000年R version 1.0.0 放出
  • 2013年R version 3.0.2 放出
  • R由CRAN掌控的base包与其他包组成
  • 其余参考 R主页
  • 出色的R包
  • 过时的R包
  • 2.7.2 获得帮助

  • help()
  • ?command
  • 给出版本号与平台
  • 给一个简短的重现例子
  • 2.7.3 数据类型及基本运算

  • 所有数据都是对象 所有对象都有类型
  • 基本类型包括:字符“” 数字 整数L 复数( Re 实部 Im 虚部) 逻辑
  • 向量储存同一类型数据
  • list存储不同类型数据 [[*]] 引用相应向量 unlist 可用做紧凑输出
  • 对象可以有属性 attributes
  • 对象赋值符号为 <- 赋值同时展示加括号或直接输入对象名 可累加赋值 a <- b <- c
  • # 表示注释 不执行
  • : 用来产生整数序列 也可以用 seq 生成
  • 向量用 c 产生
  • 空向量用 vector() 函数建立
  • 向量中类型不同的对象元素会被强制转换为同一类型 字符优先级最高 其次数字 其次逻辑(0 or 1) 也可以用来串联字符
  • 可使用 as.* 来强制转化数据类型
  • 对象可以用 names 命名
  • 变量名开头不能是数字和. 大小写敏感 下划线不要出现在名字里 分割用. 变量名中不能有空格
  • 保留字符 FALSE Inf NA NaN NULL TRUE break else for function if in next repeat while
  • 清空 rm(list = ls())
  • 带有 dimension 属性的向量为矩阵 矩阵的生成次序为upper-left
  • matrix(1:6,nrow=2,ncol=3) 表示建一个2行3列矩阵 从1到6 先列后行赋值 可用 byrow = T 来更改
  • 可用 c dim 赋值行和列数 这样可把一个向量转为一个矩阵 m<-1:6;dim(m)<-c(2,3)
  • 矩阵可以用 rbind cbind 生成
  • t 对矩阵转置
  • 因子变量表示分类数据 用标签名区分 用 level 来命名排序 默认是字母排序 有些函数对顺序敏感可用 levels = c() 来命名 ( 例如低中高的排序 ) 数字表示 drop = T 表示显示截取数据的水平 nlevels 给出个数
  • NaN表未定义或缺失值 NA表示无意义转换或缺失值 NaN可以是NA反之不可以 NA有数据类型 is.NaN与is.NA 可用来检验
  • 特殊list 每个元素长度相等
  • 每一列类型相同 矩阵所有数据类型相同
  • 特殊属性 row.names
  • 转为矩阵 data.matrix
  • 变量名自动转化 可以不同
  • 因子变量保持为字符可以用 I data.frame(x,y,I(c))
  • 表示更高维度的数据
  • dim() = c(x,y,z) 三维数组表示一组数
  • dimnames 给数组命名
  • 数组调用如果只有一行 需要 drop = F 否则 不会按照数组分类
  • ts 产生时间序列对象
  • .Last.value 引用前一个数值
  • 取整数 用 round(x,n) n表示保留几位小数
  • 截取整数 trunc
  • 开平方 sqrt
  • 绝对值 abs
  • 指数函数 exp
  • 自然对数函数 log
  • 以 10 为底的对数函数 log10
  • 三角函数 sin cos tan asin acos atan
  • 常用的逻辑运算符有: 大于 > 小于 < 等于 == 小于或等于 <= 大于或等于 >= & ! |
  • 判断向量x中是否与y中元素相等 x %in% y 结果返回逻辑值
  • sum 求和 prod 求连乘
  • range 给极值范围
  • duplicated 给出有重复的值
  • unique 给出无重复的值
  • 向量操作 union 并集 intersect 交集 setdiff 除了交集的部分
  • rep 用向量循环生成向量
  • 整型变量后面加上L x<-10L
  • Inf代表1/0 同样1/Inf运算结果为0
  • 2.7.4 环境/文件操作

  • getwd() setwd() 设置工作目录
  • ls() 列举环境中bianliang
  • list.files() dir() 列举当前目录下文件
  • args() 列举函数默认变量
  • dir.create() 创建文件目录 加上 recursive=T 可创建多级目录
  • file.create() 创建文件
  • file.exists() 检查文件是否存在
  • file.info() 检查文件信息
  • file.rename() 文件重命名
  • file.copy() 文件复制
  • file.path() 文件路径 多个文件组成多级路径
  • unlink() 删除文件
  • 2.7.5 下载

  • 设定工作目录与数据存储目录
  • 可以用[x,y]提取特定数值
  • [-1,-2]可剔除第一行第二列
  • [[]]用来从list或者frame里提取元素 类型固定 可提取序列x[[1]][[3]] 可部分匹配 exact=FALSE
  • $用名字提取元素 可部分匹配
  • 提取矩阵时默认只能提取向量 但可以提取1*1矩阵x[1,2,drop=FALSE]
  • 先用is.NA()提取 用!排除 缺失值可用is.element(x,y)来处理很多表示NA值的数字 返回x %in% y的逻辑值
  • complete.cases()提取有效数据用[]提取可用数据
  • head(x,n) n表示从头截取多少行
  • tail(x,n) n表示从尾截取多少行
  • subset(x,f) x表示数据 f表示表达式
  • 条件筛选中获得一个变量多个数值的数据使用 [is.element(x,c(' ',' ',' ')),] 或者[x%in%c(' ',' ',' '),] 使用x == c( ' ' , ' ' , ' ' ) 会报错 循环查找三个变量
  • x!='t' 可能会把空白值输入 应该使用is.element(x,'t')
  • ifelse(con,yes,no) 利用条件筛选 返回yes 或者no 的值
  • 支持正则表达式
  • 增加行直接$
  • seq产生序列
  • 通过[按行 列或条件截取
  • which返回行号
  • 排序向量用sort
  • 排序数据框(多向量)用order
  • plyl包排序
  • read.table read.csv 读取表格 反之write.table
  • readLines 读取文本行 反之writeLines
  • source 读取R代码 反之dump
  • dget 读取多个R代码 反之dput
  • load 读取保存的工作区 反之save
  • unserialize 读取二进制R对象 反之serialize
  • ?read.table
  • 大数据读取提速
  • comment.char = "" 不扫描注释
  • 设定nrows
  • 设定colClasses
  • read.table
  • read.csv 默认sep=",", header=TRUE
  • quote 设定引用
  • na.strings 设定缺失值字符
  • nrows 设定读取字段
  • skip 跳过开始行数
  • 2.7.7.2 读取excle文件

  • xlsx包
  • 网页常用格式
  • 形式与内容分开
  • 形式包括标签 元素 属性等
  • js对象符号 结构化 常作为API输出格式
  • jsonlite包
  • 网络应用常见数据库软件
  • 一行一记录
  • 数据库表间有index向量
  • RMySQL包
  • 分层分组读取大量数据的格式
  • rhdf5
  • 网页抓取HTML数据
  • 读完了一定关链接
  • httr包
  • 通过接口授权后调用数据
  • httr包
  • readbitmap
  • EBImage (Bioconductor)
  • rdgal
  • rgeos
  • raster
  • tuneR
  • seewave
  • table 按向量元素频数总结
  • sum(is.na(data)) any(is.na(data)) all(data$x > 0) 异常值总结
  • colSums(is.na(data)) 行列求和
  • table(data$x %in% c("21212"))特定数值计数总结
  • xtabs ftable 创建列联表
  • print(object.size(fakeData),units="Mb") 现实数据大小
  • cut 通过设置breaks产生分类变量
  • Hmisc
  • Raw data -> Processing script -> tidy data

  • code book
  • 详尽的处理步骤记录
  • 原始数据要求
  • 未经去除异常值
  • 每个变量一列
  • 同一变量不同样本不在一行
  • 一种变量一个表
  • 多张表要有一列可以相互链接
  • 变量名要有意义
  • 一个文件一张表
  • code book
  • 包含研究设计与变量信息的章节
  • 处理步骤记录
  • 输入为原始数据
  • 输出为处理过数据
  • 脚本中无特定参数
  • 每一列一个变量
  • 每一行一个样本
  • 每个文件存储一类样本
  • melt进行数据融合
  • reshape2
  • dcast分组汇总数据框
  • acast分组汇总向量数组
  • arrange指定变量名排序
  • merge按照指定向量合并数据
  • plyr包的join函数也可实现合并
  • 2.7.10 数据操作data.table包

  • 基本兼容data.frame
  • 通过key可指定因子变量并快速提取分组的行
  • 可在第二个参数是R表达式
  • 处理大小写tolower toupper
  • 处理变量名strsplit
  • 日期以data类型存储
  • 时间以POSIXctPOSIXlt 类型存储
  • 数字上是从1970-01-01以来的天数或秒数
  • POSIXct以整数存储时间
  • POSIXlt以年月日时分秒等信息存储时间
  • strptime as.Date as.POSIXlt as.POSIXct用来更改字符为时间
  • formate处理日期格式
  • %a 周缩写
  • %b 月缩写
  • %B 月全名
  • %y 2位年
  • %Y 4位年
  • weekdays 显示星期
  • months 显示月份
  • julian 显示70年以来的日期
  • lubridate包
  • ymd_hms
  • Sys.timezone
  • ## [[4]] ## [1] 0.0835 0.9080 3.9590 2.6301

  • lapply 的精简版
  • 如果结果是单元素列表 转化为向量
  • 如果结果是等长向量 转化为矩阵
  • 否则输出依旧为列表
  • 类似 lapply 可用更复杂函数 返回矩阵
  • 2.7.19.4 replicate

  • 用于将函数循环使用 如返回随机矩阵
  • 2.7.19.5 rapply

  • how 来调整输出方法 如选取某列表中类型数据进行迭代
  • 2.7.19.6 apply

  • 数组边际函数 常用于矩阵的行列处理
  • 行为1,列为2
  • 可用 rowSums rowMeans colSums colMeans 来替代 大数据量更快
  • 对数据子集(因子变量区分)向量应用函数
  • 对数据按照因子变量应用函数 类似 tapply
  • 按照某个分类变量a分类求均值 by(x[,-a],a,mean)
  • 2.7.19.9 split

  • 将数据按因子分割为列表 常配合 lapply 使用
  • 类似 tapply
  • 可用来生成分组 用 drop 来删除空分组
  • 多变量版 apply 从多个参数范围取值 并用函数得到结果
  • 对环境变量应用函数 用于包
  • 三种提示 message warning error 只有 error 致命
  • 关注重现性
  • 调试工具 traceback debug browser trace recover
  • 2.7.22 分析代码

  • 先设计 后优化
  • system.time 计算代码运行时间 返回对象类型 proc_time
  • ‵user time` 执行代码用时
  • system time CPU时间
  • elapsed time 实际用时
  • 在多核或并行条件下实际用时可以短于执行代码用时
  • 明确知道耗时较长的函数时使用
  • Rprof R代码要支持分析函数
  • summaryRprof 可使结果易读
  • 不要与 system.time 混用
  • 0.02s记录一次执行函数
  • by.total 记录单个函数用时
  • by.self 记录函数执行时被调用函数用时
  • 对象用 setClass 指定类型 用 setMethod 指定处理类型的方法
  • 对象一般指新的数据类型
  • S3函数对象不算严格 generic 处理对象 开放 没有指定类型就用通用方法
  • S4函数对象定义严格 只处理指定类型对象 不可直接调用方法 针对性强
  • stats4 有很多针对性的极大似然估计的对象定义与方法
  • 2.7.25 并行计算

  • 任务切分后多线程/多核/多机同时执行,然后汇总,需要调用配置管理
  • 并行计算的优势在于利用独立计算单元同时计算汇总
  • 单机可以多核或多进程,例如OpenMP
  • 也可以GPU加速,例如CUDA
  • 集群可在应用层定义后交给后端做分发例如 snow
  • 有些函数已经进行了并行化优化可直接调用,有些需要声明用法才能调用
  • 多机器临时集群可以跨主机分布或进行云计算,需要指定名称,可通过 传统 socket 或符合MPI标准的方式来组建
  • BiocParallel 包封装了常见并行函数方便编程
  • bplapply 对每个x进行函数计算,同 lapply
  • bpmapply 对多个函数参数并行运行函数,同 mapply
  • bpiterate 对迭代出得数据反复运行函数
  • bpvec 向量化运算,这样切分更快
  • bpaggregate 聚合运算
  • pdftex 可解决文档直接输出为PDF的问题 避免产生dvi
  • 早期不支持unicode 对多国语言只能通过调用宏包来实现字符与图形对应 cjk ctt ctex 等都是此类宏包 需要安装字体
  • xetex 可原生支持unicode的引擎并调用系统字体 支持plain tex xelatex 可支持latex宏包
  • luatex 合并 metapost 可直接绘图 可直接调用字体 可脱离宏包调用程序 现与 context 结合紧密
  • tex 格式 Knuth为原始300个控制序列写的宏包 有600命令 这900个合称 plain tex

  • 将引擎 宏包 格式 辅助程序等打包即为发行版

  • miktex texlive mactex
  • context minimals 只有自己的引擎与宏包
  • 字体 最早是栅格 后来是矢量

  • type I 是最早的矢量
  • truetype 是type I 的竞争对手
  • opentype 是基于truetype的进化版
  • 最早格式为DVI 为字体准备了字形盒子 可通过上面编码调用字库显示 之后出现了PS与PDF
  • 原来要编译多次 现在只需要用 xetex luatex 引擎就可以了 他们内置了库来实现字形盒子与字体的联系 这个库有cache功能
  • 衬线体 起笔落笔有差异 横竖粗细各不同 易于识别 宋体
  • 非衬线体 笔画粗细一致 无装饰 醒目 黑体
  • 等宽体 每个字宽窄相同 汉字 编程
  • xeCJK 使用 xelatex 引擎的中文宏包 纠正了 xelatex 一些缩进等的不美观
  • ctex 包含早期 CTT CJK xeCJK 可用 \setCJKmainfont{SimSun} 来调用系统字体 下面是底层调用中英文混排
  • 2.9.2.1 实例讲解

    \documentclass[12pt,a4paper]{article}
    \usepackage{xltxtra,fontspec,xunicode}
    \usepackage[slantfont,boldfont]{xeCJK} % 允许斜体和粗体
    \setCJKmainfont{FZJingLeiS-R-GB}   % 设置缺省中文字体 
    \setCJKmonofont{SimSun}   % 设置等宽字体
    \setmainfont{TeX Gyre Pagella} % 英文衬线字体
    \setmonofont{Monaco} % 英文等宽字体
    \setsansfont{Trebuchet MS} % 英文无衬线字体

    2.9.3 常见问题

  • 空白 tab与多个空白认为是一个空白 空行表示段落结束

  • 保留字符 # $ % ^ & _ { } ~ \ 可使用 \# \$ \% \^{} \& \_ \{ \} \~{} 来表示 \\ 表示断行 $\backslash$ 生成反斜杠

  • latex 命令 \tex{} 后面加空格防止命令延长 {} 中为命令参数

  • % 表示注释掉一行 也可使用 \usepackage{verbatim} 中的 comment 环境

  • 源文件结构

  • \documentclass[]{...} 声明文档类型 [] 中为选项 包括字体 纸张 公式对齐 等文档格式
  • \usepackage[]{...} 加入需要的宏包 [] 中为触发功能的关键词
  • 以上为导言区
  • \begin{document} 开始正文
  • \end{document} 结束文档
  • 页面样式 \pagestyle{style} 不同页眉页脚样式

  • \include{filename} 用来包含文档 多用于大型文档 在新页包含 连续可用 \input{filename}

  • \includeonly{filename,filename,. . .} 导言区包含文档 在所有 \include 文档中 只有 \includeonly 中的会被处理

  • 语法检查 \usepackage{syntonly} \syntaxonly

  • \hyphenation{word list} 给出断字列表 完整的不允许断 有-的表示允许的唯一断字点 在文档中-表示唯一允许断字的地方

  • mbox fbox 不允许断字的地方 后者给出一个方框 mbox 可用来分割连字

  • 输入两个表示双引号
  • - 输入1个连字号 2个短破折 3个长破折 网址中波浪号用 $\sim$ 而不是 \~ 表示
  • 摄氏度用 $-30\,^{\circ}\mathrm{C}$ 表示
  • \ldots 表示省略号 bable宏包可处理多种非中文语言
  • ~ 用来强制取消大写字母后空格多出的一点 \@ 用来表示大写字母作为最后一个词后句号的处理 一般 latex 不会处理大写字母后的句号(加入多一点空格)认为是缩写

  • \frontmatter 应接着命令 \begin{document} 使用 它把页码更换为罗马数字

  • 正文前的内容普遍使用带星的命令(例如, \chapter*{Preface} ) 以阻止 latex 对它们排序

  • \mainmatter 应出现在书的第一章紧前面 它打开阿拉伯页码计数器并对页码从新计数

  • \appendix 标志书中附录材料的开始 该命令后的各章序号改用字母标记

  • \backmatter 应该插入与书中最后一部分内容的紧前面 如参考文献和索引 在标准文档类型中它对页面没有什么效果

  • 交叉引用 \label{marker} 引用点 \ref{marker} 引用 \pagere./f{marker} 引用点页码交叉引用

  • 产生脚注 \footnote{footnote text}

  • 强调 \underline{text} 下划线 \emph{text} 斜体 强调中强调会切换字体

  • itemize 环境用于简单的列表 enumerate 环境用于带序号的列表 description 环境用于带描述的列表
  • flushleft flushright 环境分别产生靠左排列和靠右排列的段落
  • center 环境产生居中的文本 如果你不输入命令 \\ 指定断行点 latex 将自行决定
  • quote 环境对重要断语和例子的引用很重要
  • quotation 环境用于超过几段的较长引用,因为它对段落进行缩进
  • verse 环境用于诗歌,在诗歌中断行很重要。在一行的末尾用 \\ 断行,在每一段后留一空行
  • verbatim 环境直接输出其中内容 可用断字表示 可表示空格 较短的用 \verb*|like this :-) |
  • \begin{tabular}{table spec} 用来生成表格
  • \begin{figure}[placement specifier] or \begin{table}[placement specifier] 表示浮动体
  • \caption{caption text} 给浮动体加标签
  • \listoffigures \listoftables 生成图表目录
  • 段落中放于 \( \) $ $ 或者 \begin{math} \end{math}
  • 单独一行可放于 \[ \] \begin{displaymath} \end{displaymath}
  • 带编号可放于 equation 数学环境中
  • 空格和分行都将被忽略 所有的空格或是由数学表达式逻辑的衍生 或是由特殊的命令如 \ \quad \qquad 来得到
  • 不允许有空行 每个公式中只能有一个段落
  • 每个字符都将被看作是一个变量名并以此来排版 如果你希望在公式中出现普通的文本(使用正体字并可以有空格),那么你必须使用命令 \textrm{...} 来输入这些文本
  • \newtheorem{name}[counter]{text}[section] 定理环境 name 是短关键字,用于标识“定理”。 text 定义“定理”的真实名称,会在最终文件中打印出来。

  • 建立新命令

  • \newcommand{name}[num]{definition}
  • 第一个参数 name 是你想要建立的命令的名称
  • 第二个参数 definition 是命令的定义
  • 第三个参数 num 是可选的 用于指定命令所需的参数数目(命令最多可以有9个参数)如果不给出这个参数 那么新建的命令将不接受任何参数
  • num 可用来传参, \renewcommand 可用来建立与原命令名称相同的命令
  • 建立新环境 \newenvironment{name}[num]{before}{after}

  • 建立新宏包 \ProvidesPackage{package name} 命令环境打包起名字保存为 sty 可直接调用 其实就是打包导言区

  • 行距 \linespread{factor}

  • 首行缩进与段落间距 \setlength{\parindent}{0pt} \setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}

  • 水平距离 \hspace{length} 橡皮擦 \stretch{n} x\hspace{\stretch{3}}x

  • 垂直距离 \vspace{length}

  • \sum\limits_{k=1}^n k^2 使求和符号上下标真正出现在上下位

  •