我知道我可以使用TeXShop
或任何其他文字处理程序来检查我的文档的拼写,但我想知道是否有任何在 shell/终端中运行的拼写检查脚本。
我看到有个程序叫aspell
,但是很久没更新了。有没有什么好的程序/脚本?
答案1
阿斯佩尔
虽然aspell
已经提到了,但我还是想给出一些用法示例。
基本用法
aspell --mode=tex -c sample-file.tex
语言
列出所有词典:
aspell dump dicts
更改语言来检查:
aspell --lang=de --mode=tex -c sample-file.tex
aspell 的缺点
下面是我刚写的一份德文文档,一共 413 行,比较小。
这应该被识别为 LaTeX,但事实并非如此:
前\begin{document}
:
\sisetup{locale=DE}
- “语言环境”\pgfmathdeclarefunction{strrepeat}{2}{%
- “重复”pgfmathint{#2}\pgfmath@count\pgfmathresult
之后两次 - 3x“计数”\let\pgfmathresult\pgfutil@empty
- “空的”\pgfutil@loop
- “环形”\pgfutil@repeat
- “重复”
\pgfmath@smuggleone
- “走私者”\algtext*{EndIf}
- “结束如果”、“结束当”、“结束函数”\usetikzlibrary{arrows, positioning, calc, shapes}
- “箭头”、“定位”、“计算”、“形状”\DeclareMathOperator{\ggT}{ggT}
- “ggT”(这在德语数学文献中有效)
25x 字:
\tikzset{
Stern Brocot at/.style={at/.pgfmath={
strcat("([rotate around=180:(!", strrepeat("#1",\SBLevel),")] !",
strrepeat("#1",\SBLevel-1),"2)")}},
Stern Brocot at*/.style n args={3}{
at/.pgfmath={strcat("(!",strrepeat("#1",#2),"-| SB@#3)")},
append after command/.expanded={\ifnum#2<\SBLevel(\noexpand\tikzlastnode)
edge[densely dotted] (SB@#3@\the\numexpr\SBLLoop+1\relax)\fi}}}
后\begin{document}
:
- TikZ 中的几乎所有内容
algorithm
环境中的很多\begin{tabular}{l||ccl}
-“ccl”
aspell 在处理带连字符的单词时也存在问题(来源)
解决方法
创建一个名为的文件my_def.tex
,并将整个序言放入其中。然后添加\include{my_def}
到您的序言中。它应该是您的文件。
但是,这并不能解决 TikZ / 表格问题。但您可以对 TikZ 图像应用相同的解决方法。我猜对表格这样做不太方便。
答案2
在我看来,很长时间没有更新的事实aspell
意味着它很好。我经常使用它。你只面临识别 LaTeX 关键字的问题,但在几篇文档之后,你将大部分关键字添加到你的词典中,然后你就可以愉快地进行拼写检查 ;)
答案3
虽然aspell
效果还不错,但新的流行趋势似乎是亨斯佩尔.它还可以检查LaTeX文件。