BNU-FZH

fengzhenhua@outlook.com

2023年09月08日星期五雷阵雨北京市北京师范大学,打算尝试一下Archlinux下的新的Aur助手,安装命令为

paru
1
sudo pacman -S paru

详细用法参见: paru 进阶教程

使用paru安装软件时,首先解决github.com无法访问的问题,此参见: 解决ArchLinux使用yay或paru安装软件时从Github下载慢或不可下载的问题

为了避免每次下载时都进入审阅模式,请执行命令:

skipreview
1
paru --skipreview -S foobar

阅读全文 »

2023年08月12日星期六阴北京市北京师范大学, 离京前发一篇文章,以方便后面工作的需要。

绘图线型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
'.'       point marker
',' pixel marker
'o' circle marker
'v' triangle_down marker
'^' triangle_up marker
'<' triangle_left marker
'>' triangle_right marker
'1' tri_down marker
'2' tri_up marker
'3' tri_left marker
'4' tri_right marker
's' square marker
'p' pentagon marker
'*' star marker
'h' hexagon1 marker
'H' hexagon2 marker
'+' plus marker
'x' x marker
'D' diamond marker
'd' thin_diamond marker
'|' vline marker
'_' hline marker
阅读全文 »

在使用 Neovim 后发现,配置好主题及底部状态栏后确定好看好用多了。于是在没有最终确定抛弃 vim 时,选择配置好 vim ,但是所有的文件都写入到 ~/.vimrc文件中,会影响vim的启动速度,于是这个问题的解决方法就是,将配置好的主题一并列在本博客,而在配置文件中只给出链接。

阅读全文 »

2023年08月02日星期三阴北京市北京师范大学, 前面文章写了一个克隆git仓库子目录的方法,此篇文章记录单独克隆一个仓库中子文件的方法。

克隆仓库中子文件
1
2
VimCFG=~/.vimrc
curl -o $VimCFG https://gitlab.com/fengzhenhua/script/-/raw/main/vimrc\?inline\=false

2023年08月02日星期三阴北京市北京师范大学, 为了保证 Neovim 的配置自动同步到 gitlab,再另外的机器上再同步升级配置和插件,这就需要将配置的子目录单独克隆到配置目录~/.config中,在网络上找到相应的方法,现记录于此方便大众。

clone 仓库的子目录
1
2
3
4
5
6
cd ~/.config/
git init # 初始化仓库
git remote add origin git@gitlab.com:fengzhenhua/neovimconfig.git #增加远程仓库
git config core.sparsecheckout true # 设置Sparse Checkout 为true
echo "nvim" >> .git/info/sparse-checkout # 将要克隆的目录下的子目录nvim加入
git pull --depth 1 origin main #pull 下来代码

注意:在上述代码中的第5行,nvim 是相对于目录 git@gitlab.com:fengzhenhua/neovimconfig 而言的,也就是完整目录应当为git@gitlab.com:fengzhenhua/neovimconfig/nvim 。 若是在nvim下的lua目录,则应当写为nvim/lua 做对应的取代。

参考文章:git clone仓库的一个子目录

2023年07月27日星期四小雨北京市北京师范大学, 最近开始准备写论文了,所以需要研究使用 LaTeX 写标准英文论文的方法。今天记录插入文献,插入参考文献有两种方式,用 BibTeX 和不用 BibTeX ,今天我们先来看使用 BibTeX 插入文献的方法.

生成文献引用的命令

创建完 .bib文件后,我们在\begin{document}后边正文里结尾处写上参考文献的类型

1
\bibliographystyle{unsrt}
  • plain-此格式的参考文献的条目的编号是按照作者的字母顺序

  • unsrt – 基本上跟 plain 类型一样,此格式的参考文献的条目的编号是按照引用的顺序,而不是按照作者的字母顺序

  • alpha – 类似于 plain 类型,当参考文献的条目的编号基于作者名字和出版年份的顺序

  • abbrv – 缩写格式

在源文件末尾加入以下命令,声明文献列表格式和调入数据库文件,同时在此位置处生成引用列表。

生成参考文献列表
1
2
\bibliographystyle{unsrt}
\bibliography{reference}

这里reference 就是你的 BibTeX 数据库文件 reference.bib

正文引用参考文献

LaTeX 提供了最基本的 \cite 命令用于在正文中引用参考文献:

1
\cite{引用文章名称}

“引用文章名称" 就是前边定义 @article 后面的名称,如下面的 \cite{simon2019sciences}

编译

编译带有参考文献列表的文件
1
2
3
4
xelatex foo.tex
bibtex foo.aux
xelatex foo.tex
xelatex foo.tex
  1. 第一次编译foo.tex文件,生成没有文献列表的PDF文件,同时将\cite命令产生的引用信息、\biblography指定的数据库名、\bibliographystyle指定的文献格式名写入到foo.aux辅助文件。
  2. 使用bibtex程序处理第一次编译得到的foo.aux辅助文件,按照其中记录的引用文献信息、从foo.bib数据库中提取出排版参考文献列表的LaTeX代码,写入foo.bbl文件。
  3. 再次编译foo.tex文件,读入上一步生成的foo.bbl文件,生成有文献列表的PDF文件,同时将\cite的引用信息再次写入foo.aux文件。
  4. 第三次编译foo.tex文件,读入前面生成的foo.bbl文件,在指定位置生成文献列表,读入上一步生成的foo.aux辅助文件,在引用处生成正确的引用编号信息,得到有正确文献列表和引用的PDF文件。
BibTex介绍

BibTeX 是什么?

BibTeX 是最为流行的参考文献数据组织格式之一。它的出现让我们摆脱手写参考文献条目的麻烦。我们还可以通过参考文献样式的支持,让同一份 BibTeX 数据库生成不同样式的参考文献列表。

BibTeX 数据库以 .bib 作为扩展名,其内容是若干个文献条目, 我们在此简单列举学术论文里使用较多的 BIBTEX 文献条目类别:

  1. article 学术论文,必需字段有 author, title, journal, year; 可选字段包括 volume, number,pages, doi 等;

  2. book 书籍,必需字段有 author/editor, title, publisher, year; 可选字段包括 volume/number,series, address 等;

  3. incollection 论文集中的一篇,必需字段有 author, title, booktitle, publisher, year; 可选字段包括 editor, volume/number, chapter, pages, address 等;

  4. inbook 书中的一章,必需字段有 author/editor, title, chapter/pages, publisher, year; 可选字段包括 volume/number, series, address 等。

阅读全文 »

2023年07月25日星期二晴北京市北京师范大学, 今天使用Python3绘图,发现当调用 tkinter 宏包时,系统报错, 解决方法为,安装 tkinter, 由于我使用的是 ArchLinux, 所以直接执行

install tkinter
1
sudo pacman -S tk

最近配置好 Neovim 后,由于暂时不能决定是否淘汰 Vim9 , 因为这二者目前来看不相上下,所以逐步完成 Vim 的先进化配置。 今天记录的是设置行号, Vim 有两种行号模式, 一种是绝对行号,即每一行显示的行号就是当前行的行号,另一种是相对行号,当前行记为 0 ,向上和向下分别是相对于此行的行数, 但是这两种规则可以实现混合,即同时开启,结果就是当前行显示的是该行的绝对行事号,向上向下分别是相对于此行的行数。于是和 Neovim 设置相对应,开启混合模式,设置如下

~/.vimrc
1
2
set number
set relativenumber

设置也可以设置简写形式,即 set nuset rnu ,但是为了提高可读性,我在配置文件中使用了全称。一般简写可以用在命令行中临时执行的命令,这样输入命令时会快一写。

在日常生活中离不开终端,为了更加直观的向别人展示终端操作就需要录制一个动态的gif图像。目前我所接触到的有两个比较适合录制终端的工具 peek 和 byzanz ,安装如下

安装程序
1
sudo pacman -S peek byzanz

但是在执行录制时需要将录制程序转到后台,然后录制命令。相较之下,peek 有一个 gui 可以更好的控制程序。但是 byzanz 执行录制时需要执行命令 byzanz-record ~/out.git 命令。现将 peek 的详细说明文件 README.md 放于此,供大家参考:

Peek - an animated GIF recorder

IMPORTANT: The Peek project has been declared deprecated, please read the announcement.

阅读全文 »

2023年07月17日星期一晴北京市北京师范大学, 因为我的论文中需要做图,由于 MatLab 在使用的时候还需要注册且安装软件很大, 于是决定将之前写的代码转为 python 绘图。 虽然上学期学了一些 Python 课程,但是对于绘图并没有做详细讨论, 一个软件或者宏包, 最详细的使用手册莫过于官网。 所以本文列出相关网站,以期逐步学习之用。

  1. matplotlib in github

  2. matplotlib 官网

  3. 一本相当好的书和源代码 SCIENTIFIC VISUALIZATION PYTHON & MATPLOTLIB

    下载图书和源码
    1
    git clone git@github.com:rougier/scientific-visualization-book

Matplotlib logotype

Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python.

Check out our home page for more information.

image
阅读全文 »