簡體   English   中英

AUCTeX:插入引用/引用而不包含宏

[英]AUCTeX: insert reference / citation without macro

有沒有一種添加引用/引用格式的方法,該格式可以將引用/引用標簽直接插入到緩沖區中而不將其包含在宏中?

需要明確的是:當我點擊Cc ) AUCTeX會提示您輸入參考格式,當我點擊return它將在緩沖區中插入~\\ref{LABEL} [在下一個緩沖區中選擇適當的參考之后]。 我想添加綁定到\\?s (空格)的參考格式,該格式僅插入LABEL部分。

那就是說:我按Cc ) ,然后<space> ,然后選擇引用,然后... tadaa緩沖區中有LABEL

[編輯:]我已經嘗試過

(eval-after-load "latex"
       '(progn
          (add-to-list
                'reftex-ref-style-alist
                '("Default" t
                  (("" ?\s))))))

但是,這會將標簽用大括號括起來,並在點之前加一個~

我通過在reftex-reference添加around-advice創建了一個解決方案,但是,這不是一個很好的解決方案。 我將其作為答案,但我仍然希望有一個更好的解決方案。

(eval-after-load "latex"
  '(progn
     (add-to-list
      'reftex-ref-style-alist
      '("Default" t
    (("LABEL ONLY" ?\s))))

     (defadvice reftex-format-special (around reftex-format-special-labely-only activate)
       "Advice `reftex-format-special' such that if
REFSTYLE is \"LABEL ONLY\" it will insert
only the reference's label."
       (if (string= (ad-get-arg 2) "LABEL ONLY")
       (setq ad-return-value (format "%s" (ad-get-arg 0)))
     ad-do-it))))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM