0%

前言

侄子这几天在背单词,但是打开了初中英语词汇的书,看了好几天了,还是只翻了前面几页。背,或者说 “读” 单词书有什么意思,期间没有足够的反馈,看着单词似乎认识又似乎不认识。我们又何尝不是这样过来的人呢,也都知道拿着词汇书记单词的枯燥,换做谁都不愿意以这种方式来记单词。
哥哥给侄子买了本词汇书和一本阅读理解的作业书,甩给他了,可是却不知道他,作为初二学生,连 face, said, more 这类的基础词汇都不认识,还指望他自己背词汇书和做题吗,明显方法上是有错误的。所以,打算让侄子试一下使用 Anki 来背单词,或者更准确的来说是 “记单词”,而不是 “背单词”,其实我的目标很简单,只是 “记”,对单词和释义留有一个印象即可,真正想要记牢单词,还需要在实战写作业查单词的过程中去记住这个单词。

Anki 是什么

这里只要知道 Anki 是一款电子抽认卡类型的软件就可以了,抽认卡即正面是问题,反面是答案,就那么简单。要我说 Anki 和墨墨背单词、百词斩这些软件的区别,一是 Anki 除了可以用来记单词,什么都可以记,因为抽认卡是我们自己创建的,二是 Anki 自动分配学习任务背后的那一套算法比市场上的软件要好,三是 Anki 高度的可自定义(包括抽认卡的模板、CSS 样式等)… 更多的我就不再深入了,对于入门的新手来说,第一点和第二点足够了

为什么 Anki

使用 Anki 有那么几个好处:

  1. 词汇资源丰富。Ankiweb 上就有现成的初中英语词汇卡包,对于这种公共科目,直接下载使用,基本上无需花时间来自制抽认卡
  2. 充分及时的反馈。对于一个单词,先出来的是单词,而后再根据自己的判断来决定对这个单词的熟悉程度。不像纸质书一样,词汇和释义一眼扫过去,好像这个释义本身就对应着这个单词,好像这个单词本来就会,但其实这都是假象,并且缺少及时反馈,会与不会,最终结果都是只停留于看书,结果当然是越看越无趣,越看越想睡。Anki 这类抽认卡则开始只出现单词,自己心里做完判断会不会之后再显示答案,再对这张抽认卡做出反馈。单词到主动回忆释义的过程 总比 直接同时看着单词和释义的过程 记忆效果更好。了解更多:请搜索 主动回忆
  3. 电子资源有标准发音。图片什么的先不说,我个人认为图片对记忆词汇的帮助并不大,但是词汇的发音就不一样了,听多了,就算不知道这个单词的意思,但起码看到这个单词就会读了
  4. 考核方便。电子的抽认卡通过某些条件进行筛选,可以轻松的从已学习的抽认卡中抽选出不同难易程度的卡片(筛选是可以根据当时答题的反馈结果对个人进行针对性的过滤的)。而相对于词汇书,想要考核,又需要有人通过默写的手段来进行检查,这种手段真的是低效的,对于进行检查的人来说,需要一个单词一个单词的读词汇,等着默写的人一个一个的写完,而对于默写的人来说,这无疑是童年噩梦。默写完了还需要进行批改,批改完了又如何,错了的词汇进行抄写?了解更多: Anki 之筛选记忆库高级篇
  5. 自动分配任务。对于词汇书,昨天记的单词今天还要在过一遍吗?是全部过一遍吗还是挑几个过一遍?全部过一遍太耗时间了,难道前天,大前天记的单词也需要再重新过一遍?这些问题对于 Anki 来说就不是问题。Anki 只需要你设置每天需要背诵多少个新增词汇就够了,至于前几天背诵的词汇,单词再次出现(也就是你今天需要完成的任务)都是根据当时候你的反馈进行安排的。这样,你可以完全复习到前几天遇到不是很熟悉的单词,当然并不受说简单的词汇不会再出现,而是简单的词汇相对于这些不熟悉的词汇,出现的间隔时间较长一些,频率较低一些。而且,重要的一点是,Anki 会根据你每次的答题反馈对这个间隔时间和出现频率进行调整,你也不必要纠结这个词汇我到底是会还是不会的问题了,不会又怎么了,大不了我让这个单词多出现几次嘛。所以可以做到:只要信任 Anki 的任务分配,那么之后就不用考虑该如何复习之前学过的内容了,打开软件直接开始学就完了。其实,这里所说的自动分配任务,其后是有着一套完整的算法的,这里不具体展开说,有兴趣的可以自行搜索 spaced-repetition-algorithmSupermemo 等内容

一些背单词的原则

  1. 准确率。接着上方的第 4 点说,单词就算默写正确,又能代表你真正记住了这个单词了吗,就算拼写错误,也不见得如何呀,最多是这个单词中有几个字母和发音什么的确实不太好区分或者其他。再说,其实默写单词这种方式,短期记忆的影响特别大,因为知道等会就要默写这几个单词了,注意力当然可以快速集中到容易出错的单词身上,可仔细想一想,考试或者说默写这个环节一旦过了之后,这些短期记忆就会被迅速清空,所以说默写环节记得的那几个单词也并不意味着你之后几天还能准确的默的出来。我想说的是,不要太关注 100% 的准确率(这里的准确率是抽人的准确率,而不是默写的准确率),达到 80-90% 就足够了,每天所记的单词数量可以适当调高,错就错了,不会就不会,又怎么了,大不了通过抽认卡点一下 “重来”、“困难” 这两个按钮嘛,十分钟之内又会再次出现。每天 100 个新单词、准确率达到 80-90% 可能要比每天 30 个准确率达到 100% 要容易的多
  2. 不要尝试在连续的时间段内重复的记那么几个单词,而是要将记每个单词的时间分配在多个不连续的时间段中。意思就相当于在连续时间段中背诵一串单词,和在不同时间段中背诵一串单词的效果是完全不一样的(当然这里假设两者所花的总时间相同),这点可能大家也深有体会,配合着 Anki 的自动分配任务,这一点完全由程序自动完成,而不需我们考虑

使用效果

待更新…

2022-08-05 更新

侄子使用 Anki 来背单词,效果还是有的,到目前为止,他自己说课本上每页基本上单词认识一半左右了(他背了哪些单词,知道那些单词,我似乎比他更清楚,原因可见下)。当然,使用 Anki 的过程中,也发现了一些问题,这里记录一下

A. 牌组不是我自己所制作的,并没有按照单词的难易程度(或单词的出现频率)划分子牌组,导致一开始就会出现一些难度非常大的单词,这对于单词零基础的侄子来说是一件难事,我需要手动将这些频率出现较低的单词先暂停学习,怕到时候花了那么长时间背的单词,做题的过程中竟然一个也不出现,那不就极大降低背单词的兴趣了,背这种低频词汇实际上是吃力不讨好的事。

针对这一点,可以采取如下策略,但都需要我来手动调整:

  1. 将下载到的大牌组按照词汇出现的频率划分成多个子牌组,从易到难的学。
  2. 不用划分子牌组,在学习新单词的时候做好标记,比如重点词汇使用红色旗帜,常规词汇使用绿色旗帜,暂停掉太难而又不常见的词汇。做好旗帜一是可以方便后期做筛选,二是侄子可判断这个单词的重要程度,但是需要在他背新单词时我在旁边看着,一个个的过滤的这些单词,这也正是我所采用的方式。
  3. 自己创建卡包,针对他们英语暑假作业上的单词进行有针对性的练习,或先让他手动将不会的词汇做标记,然后再根据这些标记的单词做卡片。

B. 我需要腾出一台设备给侄子背单词,要么手机,要么电脑,反正是需要腾出一台设备让他学,自己有时还需要到旁边守着,以防他学着学着就刷其他东西去了。

C. 短期时间记忆大量词汇容易导致词汇意思和词汇对不上号,经常记混。但这是正常的,换做谁都会这样。

了解更多

前言

有关 ublacklist 的内容可参考本博客之前的文章:屏蔽内容农场简明指南

ublacklist 订阅源

1
2
3
4
5
https://raw.githubusercontent.com/cobaltdisco/Google-Chinese-Results-Blocklist/master/uBlacklist_subscription.txt 
https://raw.githubusercontent.com/arosh/ublacklist-github-translation/master/uBlacklist.txt
https://raw.githubusercontent.com/dallaslu/penzai-list/main/uBlacklist.txt
https://raw.githubusercontent.com/liubiantao/uBlacklist-Websites/master/uBlacklist.txt
https://raw.githubusercontent.com/arosh/ublacklist-stackoverflow-translation/master/uBlacklist.txt

插件设置

  • 添加订阅源

01-添加订阅源.png

  • 屏蔽列表多端同步

02-屏蔽列表多端同步.png

推荐阅读

参考资料

功能说明

  1. 使用 COM 物件 Word.Application,将 DOCX 档转换为 PDF 格式
  2. 整批转换资料夹里的所有 DOCX 档
  3. 使用 ExportAsFixedFormat 方法

程序源代码请参见:https://gist.github.com/emisjerry/5f936143f1086cc4b0eb100e891dbed3

我们要做的修改只要将第三行的存放 docx 的文件夹路径设定一下就好,注意只能对 docx 进行转换,无法转换 doc 文档

通过与 docx 自带的 PDF 转换比较了一下,生成的 PDF 大小一模一样

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
;; 将DOCX批量转换为PDF

sFolder := "Z:\DOC"
sOutputExt := ".pdf"

Loop %sFolder%\*.docx {
sInputFilename = %A_LoopFileName%
;MsgBox filename=%sPdfFileName%
iPos := InStr(sInputFilename, "~")
if (iPos = 1) {
Continue
}
Docx2Pdf(sFolder . "\" . sInputFilename, sOutputExt)
}

Docx2Pdf(sInputFilename, sOutputExt) {
WD := ComObjCreate("Word.Application") ; Create Word object
WD.Documents.Open(sInputFilename) ;open this file
WD.visible:=0 ;make visible for this example. Normally set to zero
iFormat := 17
sOutputFilename := StrReplace(sInputFilename, ".docx", ".pdf")
;MsgBox fn=%sOutputFilename%, ext=%sOutputExt%, format=%iFormat%
;;WdSaveFormat https://docs.microsoft.com/zh-tw/office/vba/api/word.wdsaveformat

OpenAfterExport := True
OptimizeFor := False
Range := 0
From := 1
To := False
/*
Item:= 0
IncludeDocProps := False
KeepIRM := True
reateBookmarks := wdExportCreateHeadingBookmarks := 1
ocStructureTags := False
BitmapMissingFonts := True
UseISO19005_1 := False
*/

;; WD.ActiveDocument.ExportAsFixedFormat(sOutputFilename, 17, OpenAfterExport, OptimizeFor, Range, From, To, Item, IncludeDocProps, KeepIRM, CreateBookmarks, DocStructureTags, BitmapMissingFonts, UseISO19005_1)

WD.ActiveDocument.ExportAsFixedFormat(sOutputFilename,17,OpenAfterExport,OptimizeFor,Range,From,To)

WD.quit ; quit Word
WD := ""
}

自定义发音

模板中配置如下信息,安卓和 Windows 都是可以使用在线发音的,可不知为何 Mac 上不行

1
[sound:https://dict.youdao.com/dictvoice?audio={{单词}}]

自定义 Anki 字体

1
2
3
4
5
6
@font-face {
font-family: myfont;
src: url('_LXGWWenKai-Regular.ttf');
}

font-family: myfont;

复习时可编辑

1
2
3
{{#正文}}
{{{edit:正文}}
{{/正文}}

针对 PDF 中带有特殊字体导致文字乱码 / 文字错位的问题(其他计算机中缺少相应的字体)

首先需要明确一点是 Adobe PDF 中没有专门的一个命令用来将文字转曲,具体操作如下

转曲前的检查

  1. 文档属性 ⇒ 字体 ⇒ 查看文档中内嵌的字体

01-查看文档中内嵌的字体.png

进行转曲

编辑 PDF ⇒ 添加水印 ⇒ 水印设置如下

02-添加水印来实现文字转曲效果.png

添加水印之后,退出 PDF 编辑界面,进入 “印刷制作”

04-印刷制作-拼合器预览中进行相应的设置.png

转曲后的检查

拼合之后,检查文档中的字体信息,结果是没有包含任何字体

05-通过拼合之后的文档中不包含任何字体.png

注意:拼合之后,鼠标无法在选中 PDF 中原有的文字,是对内容的一个极大的破坏,且操作不可逆,在拼合前注意是否需要备份一份文档,只能通过 OCR 等进行识别了

转曲前后文件大小比较(仅供参考):7 页 368kb⇒ 1250kb

语法

1
2
3
4
5
\begin{thebibliography}{widest label}
%\bibitem[item number]{citation}...
\bibitem[1]{citation}参考文献内容
%\bibitem[2]{...}...
\end{thebibliography}

参数说明

  • widest label :参考文献序号的最大宽度。添加参考文献数量的一个宽度,当有两位数的参考文献时可以使用任意的两位数(比如文献小于 100 篇时,可以使用 99、10 等任意两位数字,习惯写 99);超过 100 时,则任意填写一个三位数
  • item number :可选参数,该条目的序号,如果省略,则按自然排序给定序号
  • citation :与 \cite{} 命令中的标签匹配。和图、表环境中所使用的 \label 作用相同

完整示例

1
2
3
4
5
6
7
8
9
10
11
\documentclass{ctexart}

\begin{document}
text text text text text text text\cite{ref1} text text text text text text text text text text text text text text text text text text text text text text text\cite{Coffeelize} text text text text text text text text text text text text text text text text text text text\cite{02} text text text text text text text text text text text text text text text text text text text text text text

\begin{thebibliography}{99} % 添加参考文献数量的一个宽度,当有两位数的参考文献时可以使用任意的两位数;超过100时,则任意填写一个三位数
\bibitem{ref1}KOVACIC I, BRENNAN M J, WATERS T P. A study of a nonlinear vibration isolator with a quasi-zero stiffness characteristic[J]. Journal of Sound and Vibration, 2008,315(3):700-711.
\bibitem{02}CARRELLA A, BRENNAN M J, WATERS T P. Static analysis of a passive vibration isolator with quasi-zero-stiffness characteristic[J]. Journal of Sound and Vibration, 2007, 301(3):678-689.
\bibitem{Coffeelize}这里是智朋的个人博客:\verb|https://coffeelize.top|
\end{thebibliography}
\end{document}

01-thebibliography环境插入参考文献.png

查看 tex 原文件和输出的 PDF 可知

  1. 该示例中使用的是 article(ctexart)文档类,thebibliography 环境生成不带编号的一节或一章(report、book 文档类)
  2. 尽管文献 3 插入在文献 2 的前面,但是其编号是按照 bibitem 的顺序自动排序的,而不是按照文献的插入顺序进行排序的
  3. 输出的参考文献列表中:并没有出现期刊名斜体,卷期号什么加粗,如果需要调整格式,需要在 tex 中手动调整╮(╯▽╰)╭

其他说明

在 article 文档类中的节标题为 “Reference”,而在 report、book 等文档类中章节标题默认为 “Bibliography”

ctexart、ctexbook 等文档类对中文进行了适配,节标题均为 “参考文献”(如上图所示)

上角标编号

Q:想一想,在 word 中,将 [1] 转变为上角标的 [1] 需要几步?
A:一步,选中 [1],点击一下 “上标” 即可

01-Word中编号设置为上标.png

在 LaTeX 中同样如此,即将原来的 “cite 命令” 和 “上标命令” 封装一下

1
\newcommand{\upcite}[1]{\textsuperscript{\cite{#1}}} 

通过在导言区添加如上命令,需要添加引用的时候直接使用 \upcite 命令即可

1
2
3
4
5
6
7
8
9
10
11
12
13
\documentclass{ctexart}
\newcommand{\upcite}[1]{\textsuperscript{\cite{#1}}}
\begin{document}
\begin{itemize}
\item 参考文献非上标编号\cite{ref1}
\item 参考文献上标编号\upcite{Coffeelize}
\end{itemize}

\begin{thebibliography}{9}
\bibitem{ref1}参考文献1
\bibitem{Coffeelize}这里是智朋的个人博客
\end{thebibliography}
\end{document}

03-LaTeX参考文献上标标注.png

参考资料

使用 BIBTeX 排版参考文献

  1. 准备一份 BIBTeX 数据库,假设数据库文件名为 books.bib,和 LaTeX 源代码一般位于同一个目录下。
  2. 在源代码中添加必要的命令。假设源代码名为 demo.tex
    1. 首先需要使用命令 \bibliographystyle 设定参考文献的格式。
    2. 其次,在正文中引用参考文献。BIBTeX 程序在生成参考文献列表的时候,通常只列出用了 \cite 命令引用的那些。如果需要列出未被引用的文献,则需要 \nocite{ ⟨ citation ⟩ } 命令;而 \nocite{*} 则让所有未被引用的文献都列出。
    3. 再次,在需要列出参考文献的位置,使用 \bibliography 命令代替 thebibliography 环境:\bibliography{ ⟨ bib-name ⟩ },其中 ⟨ bib-name ⟩ 是 BIBTeX 数据库的文件名,不要带 .bib 扩展名。
    4. 注意:\bibliographystyle\bibliography 这两个命令缺一不可,否则使用 BIBTeX 生成参考文献列表的时候会报错
  3. 开始编译
    1. 使用 xelatex 或 pdflatex 编译源代码 demo.tex
    2. 使用 bibtex 命令(处理一些 aux、bbl 文件,不需要我们管)
    3. 在使用 xelatex 或 pdflatex 编译两遍(读入参考文献并正确,生成引用。)

整个过程使用的命令如下(可以略去扩展名):

1
2
3
4
xelatex demo
bibtex demo
xelatex demo
xelatex demo

关于 bibliographystyle

参考文献的写法在不同文献里千差万别,包括作者、标题、年份等各项的顺序和字体样式、文献在列表中的排序规则等。BIBTeX 用样式(style)来管理参考文献的写法。BIBTeX 提供了几个预定义的样式,如 plain, unsrt, alpha 等。如果使用期刊模板的话,可能会提供自用的样式。样式文件以 .bst 为扩展名。
使用样式文件的方法是在源代码内(一般在导言区)使用 \bibliographystyle 命令:

1
\bibliographystyle{⟨ bst-name ⟩}

这里 ⟨ bst-name ⟩ 为 .bst 样式文件的名称,不要带 .bst 扩展名。

比如说如下的 plain 样式和 GB/T 7714—2015 样式

  • plain

[1] Alice Axford, Bob Birkin, Charlie Copper, and Danny Dannford. Demostration of bibliography items. Journal of TeXperts, 36(7):114–120, Mar 2013.

  • gbt7714-numerical

[1] 陈登原。国史旧闻:第 1 卷 [M]. 北京:中华书局,2000:29.

案例分析

1
2
3
4
5
6
7
8
9
\documentclass{ctexart}
% 指定参考文献的样式
\bibliographystyle{plain}
\begin{document}
登斯楼也,则有去国怀乡,忧谗畏讥\cite{rentoumis2016implementation},满目萧然,感极而悲者矣\cite{孟炎2021交变温度场对光伏组件性能的影响研究}。

%使用\bibliography命令替代原先的thebibliography环境
\bibliography{mybib} %引入自己的bib库,不要带bib扩展名
\end{document}

比如使用 plain 样式的 bibliographystyle,然后随机插入两条文献,编译结果如下图所示:

02-使用plain样式生成的参考文献.png

从上图可看出,对于多个作者:“等”、“.et.al” 还需要进行相应的设置。其原因在于 bibliographystyle 使用的是 plain 样式。plain 的中文翻译点击此可查看:海词词典,大致意思是 “朴素的,纯的”,也就是说参考文献样式按照 “正文文本” 一样处理,而不会对齐进行一些额外的操作。

而如过我们使用的是 gbt7714-numerical 样式,注:使用 gbt7714-numerical 样式需要使用 gbt7714 宏包

1
2
3
4
%...在导言区添加如下两行内容
\usepackage[sort&compress]{gbt7714}
\bibliographystyle{gbt7714-numerical}
%\begin{document}

输出结果如下,已经对参考文献的样式进行了符合 gbt-7714 标准形式的输出

04-使用gb7714输出参考文献.png

完整案例如下

1
2
3
4
5
6
7
8
9
10
\documentclass{ctexart}
% 指定参考文献的样式
\usepackage[sort&compress]{gbt7714}
\bibliographystyle{gbt7714-numerical}
\begin{document}
登斯楼也,则有去国怀乡,忧谗畏讥\cite{rentoumis2016implementation},满目萧然,感极而悲者矣\cite{孟炎2021交变温度场对光伏组件性能的影响研究}。

%使用\bibliography命令替代原先的thebibliography环境
\bibliography{mybib} %引入自己的bib库,不要带bib扩展名
\end{document}

拓展

更多添加参考文献的方案

除了使用 BIBTeX 添加参考文献之外,实际上 Latex 还有其他几种添加参考文献的方案,以下为三种插入参考文献方式比较:

03-三种插入参考文献方式比较.png

如何选择

  • 有现成的样式文件可以用就用
  • BIBTeX 和 biber 都可以用,选自己熟悉的或者编译速度快的,我还是喜欢使用 BIBTeX
  • 假设投稿中遇到以下情景
情景 选择
无样式文件提供 自己开发样式文件难度大,只能用 thebibliography 环境
提供 BIBTeX 或 biber 样式之一 有工具可以用就用
BIBTeX 或 biber 两者均提供了 两者都行,我倾向于编译速度较快的 BIBTeX

通过下载 BibTeX 样式文件输出符号 GBT7714-2005 标准的 BibTeX Style

可参考如下两链接中的任意一种

参考资料

  • LaTeX 官方入门手册:一份(不太)简短的 LaTeX2ε 介绍
  • LaTeX 工作室:LaTeX 中参考文献的处理.pdf

记录一个 “无实际意义” 的宏包:shapepar,宏包名由 “shape” 和 “par” 构成,见名之意,该宏包和形状有关。
01-文本以心形的方式输出.png

由 Donald Arseneau 开发的宏包 shapepar 定义了命令 \shapepar , 它可以按预定义的形状排版段落。段落的尺寸自动被调整,以使得整个造型中都添满了文本。但是被排版的段落中应不含有显示公式或 \vadjust 内容,因为其中含有 \vspace 命令.

LaTeX 中常见的图文混排的宏包有 picinpar、wrapfigure 和 cutwin 等,它们的功能大致相当,都是实现图表和文字的混排。这里要讲的 shapepar 宏包非常有意思,可以将一段文字排成一些有趣的图案,已经预定义的有 \circlepar(圆形)、\CDlabel (CD 光盘)、\heartpar (心形)、\starpar (五角形) 等等。下面以 \heartpar 为例。

02-宏包预定义好的形状.png

案例分析

1
2
3
4
5
\documentclass{ctexart}
\usepackage{shapepar}
\begin{document}
\heartpar{壬戌之秋,七月既望,苏子与客泛舟,游于赤壁之下。清风徐来,水波不兴,举酒属客,诵明月之诗,歌窈窕之章。少焉,月出于东山之上,徘徊于斗牛之间,白露横江,水光接天;纵一苇之所如,陵万顷之茫然。浩浩乎如凭虚御风,而不知其所止;飘飘乎如遗世独立,羽化而登仙。}
\end{document}

01-文本以心形的方式输出.png

另外,其他已经预定义好的形状(不太常用的形状),可通过 ∗shape.def 在电脑中搜索,但是需要 include 来引入

拓展应用

宏包作者提供了自定义形状的一些命令,比如如下形状 ,具体请参阅宏包手册,这里暂时没有需求就不做深入研究了。
关于这个自定义形状,有兴趣的同学可自行搜索 ShapePatch by Christian Gollwitzer

03-自定义形状.png

参考资料

前言

本教程不涉及 Anki 的安装、制卡、牌组设置和自定义牌组模板(样式)等具体操作。这里仅列举了作为一个 Anki 的 3 年老用户学习 / 使用过程中的一些优秀资源,以下的一些链接中或许包含本人之前发布的一些内容,虽部分过时但仍推荐看一看。

如果个人记忆系统 (这里指 Anki) 这么好,为什么人们没有广泛地使用他们呢?
这个问题类似于两个经济学家的老笑话,当他们中的一个人看到地上一张 20 美元的钞票时,他说:“看,地上有 20 美元!” 另一个回答:“不可能,如果真的有,早就有人捡到了。” ——Anki 看起来就像是躺在地上的 20 美元

推荐阅读

Anki 插件

推荐阅读

推荐插件

Anki 制卡

视频制卡

阅读制卡

  • (Win/Mac):浏览器插件 在线词典助手 使用
    • 浏览器插件 Anki 划词制卡助手 用起来没有上面这款流畅,推荐使用上面的在线词典助手,两个插件都是同一个开发者
  • (Android):Anki 划词助手,可以从酷安应用市场上下载

了解更多

一些个人建议

阅读了上面的一些链接,假设你已经对 Anki、Supermemo、Remnote 等间隔重复 (Spaced Repetition) 软件有了一些了解。但是在这里,作为 Remnote 使用半年的用户,这里不是很推荐使用 Remnote 这款工具,具体可查阅本博客之前的文章: 为什么放弃使用 remnote 。但是作为最近几年新开发的软件,这款软件可能仍处于快速更新迭代的状态,最近半年本人已经完全弃用了这款产品,因此这篇文章的可靠性可能还需要读者自行判断。

其次,下载 Anki 推荐从其官网 ankiweb 上下载,而不是从 ankichina 上进行下载。由于 Anki 是开源软件 (其他平台免费,但 IOS 系统上的 APP 是付费的),免费提供同步服务,但由于服务器不在国内的缘故,同步过程可能稍有些慢,但是相信我,相比于前几年前 Anki 2.0 版本时的同步,速度已经是快很多很多了,如果不是一次性同步大量媒体资源(比如导入一个几十兆的卡包),同步过程也是挺快的。
而 ankichina 组织 针对这个同步问题,对其进行了二次开发,虽然在同步速度上占优势,但却对 Anki 的某些使用场景 / 功能上启用了收费。
我想说的是,原生的 Anki 已经完全够用了,同步速度稍慢也正好是对我们滥用媒体资源(比如笔记中插入图片、视频、音频等)的克制。这里也极度不推荐自己搭建 Anki 同步服务器、将 Anki 装机 U 盘等行为,毕竟数据无价,谨慎操作。

附上 LaTeX 排版好的文档

前言

minipage 环境在 LaTeX 官方入门手册(一份(不太)简短的 LaTeX2ε 介绍 V6.03)中的介绍的较少,和 \parbox 命令一个案例就过去了,其实这样安排是挺好的,毕竟这本书的定位和一些宏包的使用手册是不一样的。对于读者来说,可能看起来很模糊,一个环境带有三个可选参数和一个必选参数,且可选参数中还有两个是涉及到和盒子位置相关的参数,不仔细看难理解。我自己也是看了好久才明白过来,如果能有对比更加鲜明的案例和可视化的图片讲解啥的最好不过了,因此,写下了本文,希望对读者们有用。

需要注意的是先了解 minipage 环境的定位:该环境在入门手册中位于 垂直盒子 这一小节。在以下的案例中,希望读者们将它作为一个盒子看待

基本语法

1
2
3
\begin{minipage}[位置][高度][内容位置]{宽度}
盒子内容
\end{minipage}

minipage 环境带有一个必要参数:宽度,内容超过盒子宽度就会自动换行

以下内容摘自刘海洋编著的《LaTeX 入门》。这里我们只讨论 minipage,而不讨论 \parbox 命令,这两者都是垂直盒子,故经常放在一起进行讲解,请自动忽略有关 \parbox 的内容。

\parbox 和 minipage 环境还可以带三个可选参数,分别表示盒子的基线位置、盒子的高度以及(指定高度后)盒子内容在盒子内的位置。位置参数可以使用 c(居中)、t(顶部)、b(底部),默认为居中。内容位置参数可以使用 c、t、b、s(垂直分散对齐)。其中 s 参数只有有弹性间距时生效。而 t 选项指按第一行的基线对齐,而不是盒子顶端。

是不是看晕了…

案例分析

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
\documentclass{ctexart}
\begin{document}
正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容

\vspace{2ex}
这里也是正文
\begin{minipage}[c][4cm][t]{2em}
上下天光
\end{minipage}
\qquad
\begin{minipage}[c][4cm][c]{2em}
一碧万顷
\end{minipage}
\qquad
\begin{minipage}[c][4cm][b]{2em}
沙鸥翔集
\end{minipage}
这里也是正文
\end{document}

输出如下
03-minipage参数讲解.png

标注如下
05-做好标注的minipage.png

案例讲解

配合如上的标注图片,以第一个盒子说明

1
\begin{minipage}[t][4cm][t]{2em} 

前两个参数 [t][4cm]:表示盒子的基线(顶线)与盒子当前所处环境的基线(也就是 “这里也是正文” 的基线)之间的距离为 4cm
第三个参数 [t]:表示盒子内容在盒子中垂直方向的对齐方式,此处为顶部对齐(2 盒子则为垂直居中对齐,3 盒子为底部对齐)
第四个参数 {2em}:表示盒子宽度就 2 个字符宽度,超出则自动换行(“上下天光” 共 4 个字符宽度,故超盒子宽度自动换行)
第二、三两个盒子可以对照着盒一的标注进行分析,这里就不在赘述了。

PS:标注图当中是 \qquad 表示水平间距,常见的命令如 \quad\qquad 相当于两个 \quad 长度

拓展

如果在 minipage 里使用 \footnote 命令,生成的脚注会出现在盒子底部,编号是独立的,并且使用小写字母编号。这也是 minipage 环境之被称为 “迷你页”(Mini-page)的原因。

01-minipage中插入脚注png.png

参考资料

  • 刘海洋:LaTeX 入门
  • Latex 的官方入门手册:一份(不太)简短的 LaTeX2ε 介绍