2021/1/22

Latex入门

Latex简单介绍

Latex是一种文件生成系统,它生成纯文本文件,后缀名为.tex。它不像Word软件编写文件一样所见即所得,而是用一定的语法或者标记符号来组织内容。Latex在学术写作中被广泛使用,特别是像数学和计算机这样的学科。Latex可以让你忘记格式,而专注于内容。有人可能会问我们已经有word了,用起来也很方便啊,为什么还要用Latex这种还有些技术门槛的工具呢?其实在学术写作中,我们往往会对内容不停地改来改去,特别是如果还插入了图片的话,每次修改都可能需要重新排版,而Latex可以让你不用担心这些,任何时候都能帮你输出高质量的排版,在不确定的地方加一个注释,任何时候都可以重新修改而对输出的PDF没有影响。下面我就来介绍一下Latex的基础知识:

安装和配置Latex

首先根据平台安装一个Tex的发行版,我用的Mac,所以安装的是MacTex。这个文件很大,需要一点耐心去下载和安装。然后选择一个Latex编辑器,MacTex装好后会自带一个编辑器TeXShop,一般来说已经够用了,如果你已经习惯了用别的编辑器如SublimText写代码的话,需要在对你的编辑器进行进一步的配置,具体操作请自行Google,在这里就不详细展开了。

基本框架:

首先建立一个test.tex文件,在其中输入:

\documentclass{article}
\begin{document} 

Hello world! 

\end{document}

这样就生成了一个最基本的tex文件,在TeXShop中点击Typeset或者command+T快捷键(在Sublime Text中是Command+B)就可以编译并生成PDF了

基本语法

1. 选择文档类型

\documentclass{}规定文档的类型,可以选择文章article,也可以选择其它类型,如book、letter等等

2. 添加注释

在每一行的末尾加上%,然后就可以添加注释了,编译后注释的内容不会出现在文档中。如果文章内容中需要使用%的话,需要在%前面加上反斜杠\。

3. 添加标题、作者、日期等信息

\documentclass{article}  
\title{My first Latex document} 
\author{Yingshan Li} 
\date{8/26/2018} 
\begin{document} 
\maketitle 

Hello world! 

\end{document}

这样就可以将文章的标题、作者、日期等信息添加到文章中了,\maketitle这个控制序列可以将这些信息按照预定的格式打印出来。

4. 添加目录

只需要在导言区中添加\tableofcontents就可以了

\documentclass{article}  
\title{My first Latex document} 
\author{Yingshan Li} 
\date{8/26/2018} 
\begin{document} 
\maketitle 
\tableofcontents 

Hello world! 

\end{document}

添加章节

\section{} 
\subsection{} 
\subsubsection{}

添加段落

\paragraph{} 
\subparagraph{} 
\subsubparagraph{}

添加包

当需要用到非默认存在的包时,需要在导言区中添加,如

\documentclass{article}  
\usepackage{amsmath} 
\title{My first Latex document} 
\author{Yingshan Li} 
\date{8/26/2018} 
\begin{document} 
\maketitle 

Hello world! 

\end{document}

字体设置

一般我们用fontspec包来设置字体

\usepackage{fontspec} 
\setmainfont{Times New Roman}

字体大小

\tiny 
\scriptsize 
\footnotesize 
\small 
\normalsize 
\large 
\large 
\LARGE 
\huge 
\Huge

添加数学公式

插入行内公式

$ … $

Einstein 's $E=mc^2$.   %equation within line

插入行间公式

[ … ]

\[ E=mc^2. \]   %equation between lines

在一行中插入多个公式

\begin{displaymath} 
S_{n+1} = S_{n} + S_{n},  
S_{n}=1=2^{n} 
\end{displaymath}

对行间公式进行编号

\begin{equation} 
... 
\end{equation}

上下标

^{} %power 
_{} %下标

分式

\frac{m}{n} %n分之m

开方

\sqrt{} %开平方 
\sqrt[m]{n} %n开m次方

累计求和

\sum_{i=m}^{n}  %从m到n求和

累计求积

\prod_{i=m}^{n} %从m到n求积

积分

\int_{i=m}^{n}  %从m到n积分

向量

\vec a  %a向量 
\overrightarrow{AB} %A到B的向量

省略号

a+b+\cdots+z    %a+b+…+z

大括号

\underbrace{a+b+\cdots+z}_{26}  %a+b+…+z

横杠

\overline{m+n}  %m+n公式上面加上横杠 
\underline{m+n} %m+n公式下面加上横杠

Written with StackEdit.

vim-latex-live-preview插件实现中文预览

在网上搜索了很长时间终于把这个问题解决了。用 vim 写 latex的过程中,想要实时预览就得用到vim-latex-live-preview插件。

在预览有中文字符的tex文件总是会报错。
要想vim-latex-live-preview插件支持中文预览
只需要在 ~/.vimrc文件中加入下面两行代码就可以了。

set fileencoding=utf-8
let g:livepreview_engine = ‘xelatex’


参考链接

Written with StackEdit.

2020/12/4

为什么有人为资本家辩护

(https://www.zhihu.com/question/402574881/answer/1610578284)
我们国家的舆论宣传,还有教育都是倾向资本的,在这样的环境下成长起来,支持资本也不见怪。

舆论宣传,cctv2曾经出的纪录片,《华尔街》,里面谈及金融危机的时候,为华尔街的资本家辩护,说是金融衍生品是了不起的创新。

还有我们的教育也是。在高中历史中,世界史主线就是资本主义的经济思想文化。里面谈及资本的原始积累,虽然也谈到了三角贸易,谈到了羊吃人。但最后用辩证法,这是资本主义工业化的必要环节,资本主义所创造的财富超过过去的一切时代上。对于资本主义发展过程的血腥屠杀,犯的严重的反人类罪行篇幅太少。

一个人如果只呆在象牙塔里,没有经过社会的毒打,那么这个人很大概率会为资本家辩护的。比如,中国大学里的大多数教职人员是公知的重灾区。不同的是大学生,在学校是保守主义,一旦走出社会,光速被教做人,体验到残酷的社会,分分钟左转。

社会是最好的大学!

Written with StackEdit.

2020/10/12

王震晚年怒批《河殇》

原文链接  https://www.guancha.cn/ZhongHuaWang/2013_11_13_185329.shtml

(王震,1908年出生于湖南浏阳。1927年加入中国共产党,历任红八军代军长,红六军团政委,红二军团政委,八路军359旅旅长兼政委,南下支队司令员,中原军区第一副司令员兼参谋长,中国人民解放军第一兵团司令员兼政委,中共中央新疆分局书记,新疆军区代司令员兼政委,铁道兵司令员兼政委,解放军副总参谋长,国务院农垦部部长,国务院副总理,中共中央军委常委,中共中央党校校长,中共中央顾问委员会副主任,中共第十一、十二届中央政治局委员,1955年被授予上将军衔。1993年3月12日,在广州逝世,享年85岁。

2020/10/1

网文是垃圾文学么

 网文刚开始出现的时候都是给小白看的爽文,现在看来也的确是垃圾。


那种在网络上火了的歪脸战神在我这种大龄青年来说肯定是垃圾。但是在那些刚入坑网文的小学生来看评价完全不同

网文发展到现在已经好多年了,建议找好看的网文就到起点排行榜去看。诡秘之主看完,你就不会说网文是垃圾文学。

诡秘之主看完,我又去把乌贼的一世之尊,奥术神座,目前正在看灭运图论。二十二条途径,九个序列,扮演法这些天才的点子。

你可以发现乌贼的文笔,以及小说情节的节奏掌控的越来越好。



2020/9/16

明清谁应该为中国的落后负责

谁该为中国的落后负责

明清都已经是只存在历史书上的过去的政权,怎么让他们负责。

没人有办法去叫死人负责,难道让明清活过来么。

明朝应该对千千万万的饿殍负责,所以它亡了

清朝,应该对中国近代的落后负责,就是也亡了

还有北洋,民国,他们承担不起,拯救中国的使命,所以它们也亡

有句话说的好,如果要给一个人权力,就去让他承担责任。

人类有史以来,得国之正,没有任何一个政权比的上





2020/7/29

Linux常用命令

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!

 

我总结了常用的Linux命令,方便你的Linux使用。下面是格式说明,你现在可以跳过,直到遇到疑问时再来查询。

$ 命令行提示符

粗体表示命令

斜体表示参数

    filename, file1, file2 都是文件名。有时文件名有后缀,比如file.zip

    command 命令名

    dir 文件夹名

    string 字符串

    username 用户名

    groupname 组名

    regex 正则表达式

    path 路径

    device 设备名

    partition 分区名

    IP IP地址

    domain 域名

    ID 远程用户ID

    host 主机名,可以为IP地址或者域名

    var 变量名

    value 变量值

 

命令帮助

$man command

查询命令command的说明文档

    $man -k keyword

    查询关键字

$info command

更加详细的说明文档

$whatis command

简要说明

$which command

command的binary文件所在路径

$whereis command

在搜索路径中的所有command

 

这里只是以command (binary file) 为例。比如man还可以用于查询系统函数、配置文件等。

 

用户

$finger username

显示用户username的信息

$who

显示当前登陆用户

    $who am I

    一个有趣的用法

$write username

向用户发送信息 (用EOF结束输入)

$su

成为root用户

$sudo command

以root用户身份执行

$passwd

更改密码

 

SHELL (BASH)

$history

显示在当前shell下命令历史

$alias

显示所有的命令别称

    $alias new_command='command'

    将命令command别称为new_command

$env

显示所有的环境变量

    $export var=value

    设置环境变量varvalue   

 

$expr 1 + 1

计算1+1

 

文件系统

$du -sh dir

文件夹大小, -h 人类可读的单位, -s 只显示摘要

$find . -name filename

从当前路径开始,向下寻找文件filename

$locate string

寻找包含有string的路径

    $updatedb

    与find不同,locate并不是实时查找。你需要更新数据库,以获得最新信息。

$ln -s filename path

为文件filenamepath位置创建软链接

$pwd

显示当前路径

    $cd path

    更改当前工作路径为path

    $cd -

    更改当前路径为之前的路径

 

文件

$touch filename

如果文件不存在,创建一个空白文件;如果文件存在,更新文件读取和修改时间。

$rm filename

删除文件

$cp file1 file2

复制file1file2

$ls -l path

显示文件和文件相关信息

$mkdir dir

创建dir文件夹

    $mkdir -p path

    递归创建路径path上的所有文件夹

    $rmdir dir

    删除dir文件夹,dir必须为空文件夹。

    $rm -r dir

    删除dir文件夹,以及其包含的所有文件

$file filename

文件filename的类型描述

$chown username:groupname filename

更改文件的拥有用会为owner,拥有组为group

$chmod 755 filename

更改文件的权限为755: owner r+w+x, group: r+x, others: r+x

 

$od -c filename

以ASCII字符显示文件

 

文件显示

$cat filename

显示文件
    $cat file1 file2

    连接显示file1和file2

$head -1 filename

显示文件第一行

$tail -5 filename

显示文件倒数第五行

$diff file1 file2

显示file1file2的差别

$sort filename

对文件中的行排序,并显示

    $sort -f filename

    排序时,不考虑大小写

    $sort -u filename

    排序,并去掉重复的行

$uniq filename

显示文件filename中不重复的行 (内容相同,但不相邻的行,不算做重复)

$wc filename

统计文件中的字符、词和行数

    $wc -l filename

    统计文件中的行数

 

文本

$echo string

显示string

$echo string | cut -c5-7

截取文本的第5到第7列

$echo string | grep regex

显示包含正则表达式regex的行

$echo string | grep -o regex

显示符合正则regrex的子字符串

 

时间与日期

$date

当前日期时间

    $date +"%Y-%m-%d_%T"

    以YYYY-MM-DD_HH:MM:SS的格式显示日期时间 (格式可参考$man date)

    $date --date="1999-01-03 05:30:00" 100 days

    显示从1900-01-03 05:30:00向后100天的日期时间

$sleep 300 

休眠300秒

 

进程

$top

显示进程信息,并实时更新

$ps

显示当前shell下的进程

    $ps -lu username

    显示用户username的进程

    $ps -ajx

    以比较完整的格式显示所有的进程

$kill PID

杀死PID进程 (PID为Process ID)

    $kill %job

    杀死job工作 (job为job number)

$lsof -u username

用户username的进程所打开的文件

$dmesg

显示系统日志

$time a.out

测试a.out的运行时间

 

硬件

$uname -a

显示系统信息

$df -lh

显示所有硬盘的使用状况

$mount

显示所有的硬盘分区挂载

    $mount partition path

    挂在partition到路径path

    $umount partition

    卸载partition

$sudo fdisk -l

显示所有的分区

    $sudo fdisk device

    为device(比如/dev/sdc)创建分区表。 进入后选择n, p, w

    $sudo mkfs -t ext3 partition

    格式化分区patition(比如/dev/sdc1)

    修改 /etc/fstab,以自动挂载分区。增加行:

    /dev/sdc1  path(mount point) ext3 defaults 0 0

$arch

显示架构

$cat /proc/cpuinfo

显示CPU信息

$cat /proc/meminfo

显示内存信息

$free

显示内存使用状况

$pagesize

显示内存page大小(以KByte为单位)

 

网络

$ifconfig

显示网络接口以及相应的IP地址。ifconfig可用于设置网络接口

    $ifup eth0

    运行eth0接口

    $ifdown eth0

    关闭eth0接口

$iwconfig

显示无线网络接口

$route

显示路由表。route还可以用于修改路由表

$netstat

显示当前的网络连接状态

$ping IP

发送ping包到地址IP

$traceroute IP

探测前往地址IP的路由路径

$dhclient

向DHCP主机发送DHCP请求,以获得IP地址以及其他设置信息。

$host domain

DNS查询,寻找域名domain对应的IP

    $host IP

    反向DNS查询

$wget url

使用wget下载url指向的资源

    $wget -m url 

    镜像下载

 

SSH登陆与文件传输

$ssh ID@host

ssh登陆远程服务器hostID为用户名。

$sftp ID@host

登陆服务器hostID为用户名。sftp登陆后,可以使用下面的命令进一步操作:

    get filename    # 下载文件

    put filename    # 上传文件

    ls              # 列出host上当前路径的所有文件

    cd              # 在host上更改当前路径

    lls             # 列出本地主机上当前路径的所有文件

    lcd             # 在本地主机更改当前路径

$scp localpath ID@host:path

将本地localpath指向的文件上传到远程主机的path路径

    $scp -r ID@site:path localpath

    以ssh协议,遍历下载path路径下的整个文件系统,到本地的localpath

 

压缩与归档

$zip file.zip file1 file2

file1file2压缩到file.zip

$unzip file.zip

解压缩file.zip

 

$gzip -c filename > file.gz

将文件filename压缩到file.gz

$gunzip file.gz

解压缩file.gz文件

 

$tar -cf file.tar file1 file2

创建tar归档

    $tar -zcvf file.tar file1 file2

    创建tar归档,并压缩

    $tar -xf file.tar

    释放tar归档

    $tar -zxf file.tar.gz

    解压并释放tar归档

 

打印

$lpr filename

打印文件

$lpstat

显示所有打印机的状态