BNU-FZH

fengzhenhua@outlook.com

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
阅读全文 »

2023年07月17日星期一晴北京市北京师范大学, 在 Neovim 中成功配置好了各插件和语法高亮,而且也非常好用。但是 vim 也升级到了 vim9 , 这两个编辑器都是很好的,一时间不知做何种选择,就性能来讲目前感觉还是 Neovim 理胜一筹,而目前为了保持 vim 的同步跟进,我首先将 vim 的插件管理器由 vundle 切换为 vim-plug , 其管理插件的效率更高一些。今天,则实现了 vim 的 LSP 配置。

阅读全文 »

虽然配置好了 Neovim ,并且工作良好,但是对于 Vim 也不想停留在过去的水平,所以同样升级了 Vim 的配置,首先将插件管理器由 Vundle 切换为 vim-plug ,其安装及使用方法请参考官方 README.md 文件内容。

由于网络问题,访问github并不稳定,在配置插件时已经使用git@github.com: 全面取代了https://github.com/ , 但是对于插件vim-pug自己升级的问题并没有很好的解决,因为其默认是从https://github.com/下载自己的,相比较而言,neovim下的packer就要好的多,因为它可以自己管理自己。解决此问题的方法,暂时定为:

  1. 找到plug.vim第95行

    ~/.vim/autoload/plug.vim
    1
    let s:plug_src = 'https://github.com/junegunn/vim-plug.git'

  2. 修改为

    ~/.vim/autoload/plug.vim
    1
    let s:plug_src = 'git@github.com:junegunn/vim-plug.git'

  3. 升级后,此地址再次变回https://github.com, 所以每次升级时都要执行上述操作。如果官方改良了这个升级地址,则不需要自己修改了,但是貌似这个更改有点难度。

阅读全文 »

2023年07月16日星期日晴北京市北京师范大学, 由于某些原因 github 访问并不流畅,于是决定将其 README.md 文件原文照搬于此,以期方便大众。 oh-my-zsh 的官方网站为: https://ohmyz.sh 安装时限于网络速度我们推荐使用手动安装的方式,尽量不要用自动模式。

Oh My Zsh

Oh My Zsh is an open source , community-driven framework for managing your zsh configuration.

阅读全文 »

最近配置完成了Neovim和Vim , 在编辑文件时语法高亮是最重要的一个功能,它可以帮助减少错误。当这两个编辑器配置完成后,我想到了我的zsh还一直使用默认的配置,而它也是支持一些插件配置,可以增强功能的,于是决定配置一下我的zsh终端。

为什么要用zsh

相比于默认的Bash , Zsh 有更多的自定义选项,并支持扩展,比如Zsh可以实现强大的命令补全,命令高亮等一系列炫酷的功能。虽然 Zsh 相比 Bash 启动慢了点(网上说 1秒左右),同时语法和标准 Shell 有点区别,但是我在使用中还没有遇到。

阅读全文 »

世界上最好的编辑器之一是 Vim 它的升级版本为 Neovim ,在终端中打开的命令分别是 vim 和 nvim , 一款漂亮的主题可以使工作变的更加愉悦,但是众的主题又不好选择。还好我们有一个网站 https://vimcolorschemes.com ,可以直观的看到这些主题 ,但是该如何选择呢? 当然可以直接安装选中的主题,但是本文推荐一劳永逸的主题:vim 安装主题 base16-vim , neovim 安装主题 nvim-base16 , 这两个主题也可以认为是多个主题的集合,可以自由选择主题。

nvim安装nvim-base16

在 neovim 中使用当前流行的 packer 插件管理器,配置如下

~/.config/nvim/lua/plg/plugins.lua
1
2
3
4
5
6
7
8
9
use {
'git@github.com:folke/tokyonight.nvim',
'git@github.com:tomasr/molokai',
'git@github.com:catppuccin/nvim',
'git@github.com:jaredgorski/SpaceCamp',
'git@github.com:morhetz/gruvbox',
'git@github.com:nelstrom/vim-mac-classic-theme',
'git@github.com:RRethy/nvim-base16',
}
阅读全文 »