我想跳过对包中的宏\acrshort
(也\acrlong
和\acrfull
)内部的检查glossaries
。
我尝试了以下邮报,我在宏方面取得了一些成功\cite...
(为了完整性,我将其列在下面)
;; https://tex.stackexchange.com/a/150882/37198
(setq ispell-tex-skip-alists
(list
(append
(car ispell-tex-skip-alists)
'(
("[^\\]\\$" . "[^\\]\\$")
("\\\\textcite" ispell-tex-arg-end)
("\\\\parencite" ispell-tex-arg-end)
("\\\\footcite" ispell-tex-arg-end)
("\\\\fullcite" ispell-tex-arg-end)
("\\\\citetitle" ispell-tex-arg-end)
("\\\\citep" ispell-tex-arg-end)
("\\\\cites" ispell-tex-arg-end)
("\\\\eqref" ispell-tex-arg-end)
("\\\\acrshort" ispell-tex-arg-end)
("\\\\acrlong" ispell-tex-arg-end)
("\\\\acrfull" ispell-tex-arg-end)
;; ("\\\\operatorname\\*" ispell-tex-arg-end)
;; ("\\\\operatorname" ispell-tex-arg-end)
;; ("\\\\mycommadtwo" ispell-tex-arg-end 2)
;; add as many lines like the previous two as you need before the "))"
))
(cadr ispell-tex-skip-alists)))
但它不起作用,也就是说,\acrshort
仍然没有跳过内部检查。但下面的方法确实有效,
(eval-after-load "tex-ispell"
'(progn
(TeX-ispell-skip-setcar
'(
("\\\\acrshort" ispell-tex-arg-end)
("\\\\acrlong" ispell-tex-arg-end)
("\\\\acrfull" ispell-tex-arg-end)
))
;; (TeX-ispell-skip-setcdr
;; '(("myverbatim" . "\\\\end{myverbatim}")))
))
我不太明白为什么会发生这种情况。
我检查了变量ispell-tex-skip-alists
,区别在于前一种方法将零件放在("\\\\acrshort" ispell-tex-arg-end)
列表中间,而后一种方法(成功)将零件放在列表开头。有没有更合适或更推荐的方法?非常感谢!