更改所选文本的字体属性(即使未选中)

时间:2012-12-23 12:05:43

标签: emacs fonts alignment

由于我想使用在使用align函数时不能很好地对齐的字体,我想我可以在对齐文本之前更改字体类型。

所以,我不想改变所选文本的内容,但我想编辑所选文本以改变当时的字体,允许使用对齐。

(defun set-font-and-align () 
  (change font type of the selected text)
  (align-regexp)
)

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

经过一番努力,这就是我想出来的:

(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 )))
  )