由于我想使用在使用align
函数时不能很好对齐的字体,我想我可以在对齐文本之前更改字体类型。
所以,我不想改变选中的文本会发生什么,但我想编辑选中的文本以改变当时的字体,允许使用对齐。
(defun set-font-and-align ()
(change font type of the selected text)
(align-regexp)
)
有任何想法吗?
经过一些工作,这就是我想出的:
(overlay-put (make-overlay (region-beginning) (region-end)) 'face '(:family "Monospace"))
这会将区域中文本的字体更改为 Monospace。类似地,可以添加:bold
其他内容。
这是它的实际效果:我用它来标记段落,然后分配一个等宽字体,然后在&
和上对齐\\
。
(defun align-test ()
(interactive)
(mark-paragraph)
(overlay-put (make-overlay (region-beginning) (region-end)) 'face '(:family "Monospace"))
(if (eq major-mode 'latex-mode)
(progn (align-regexp (region-beginning) (region-end) "\\(\\s-*\\)&" 1 1 t )
(align-regexp (region-beginning) (region-end) "\\(\\s-*\\)\\\\\\\\" 1 1 t )))
)