# smartparens does not work well in orgmode

First, let me say I am new to orgmode and emacs. I am sure I am not providing all the relevant information for the problem, so please let me know what can I add here.

I am using emacs 26.3, and I use spacemacs.

The problem is:

smartparens is not working well in orgmode. This is what I see when I type the left parenthesis (

When I add a parenthesis after a whitespace) (
When I add a parenthesis with no whitespace()


when I type $$ it works well: When I add \ and parenthesis after a whitespace \($$


In both cases the tab key does not work to get me out of the parenthesis.

My user-config has this to load smartparens

  ;; smartparens
(sp-with-modes 'org-mode
(sp-local-pair "$" "$")
(sp-local-pair "" "" :actions '(rem))
(sp-local-pair "=" "=" :actions '(rem))
(sp-local-pair "" "" :actions '(rem))
(sp-local-pair "\\left(" "\\right)" :trigger "\\l(" :post-handlers '(sp-latex-insert-spaces-inside-pair))
(sp-local-pair "\\left[" "\\right]" :trigger "\\l[" :post-handlers '(sp-latex-insert-spaces-inside-pair))
(sp-local-pair "\\left\\{" "\\right\\}" :trigger "\\l{" :post-handlers '(sp-latex-insert-spaces-inside-pair))
(sp-local-pair "\\left|" "\\right|" :trigger "\\l|" :post-handlers '(sp-latex-insert-spaces-inside-pair))
(sp-local-pair "(" ")")
(sp-local-pair "\$$" "\$$")
(sp-local-pair "\$" "\$")))


• It may be that there is an unavoidable conflict with smartparens (although the manual does not mention it). In particular , TAB is bound to org-cycle in Org mode buffers, so there is probably a conflict there. Mar 11, 2020 at 20:38
• What are you trying to do with the (sp-local-pair "" "" :actions '(rem)) lines? I would suggest you begin with (require 'smartparens-config) and move on from there. Also, I don't think sp binds the TAB key to anything. Maybe you can try the sp-up-sexp command to move out of the parentheses. Mar 12, 2020 at 0:13
• @jagrg I tried your advice. I started with removing all the special configuration I had in the user-config and put (require 'smartparens-config) and it indeed worked. Then I tweaked what I wanted to get the desired behavior. I will post an answer below. Thanks! Mar 12, 2020 at 14:53

The following settings in the user-config in my .spacemacs file makes everything work properly.

  ;; smartparens
(require 'smartparens-config)
(sp-local-pair 'org-mode "\$" "\$")
(sp-local-pair 'org-mode "$" "$")
(sp-local-pair 'org-mode "'" "'" :actions '(rem))
(sp-local-pair 'org-mode "=" "=" :actions '(rem))
(sp-local-pair 'org-mode "\\left(" "\\right)" :trigger "\\l(" :post-handlers '(sp-latex-insert-spaces-inside-pair))
(sp-local-pair 'org-mode "\\left[" "\\right]" :trigger "\\l[" :post-handlers '(sp-latex-insert-spaces-inside-pair))
(sp-local-pair 'org-mode "\\left\\{" "\\right\\}" :trigger "\\l{" :post-handlers '(sp-latex-insert-spaces-inside-pair))
(sp-local-pair 'org-mode "\\left|" "\\right|" :trigger "\\l|" :post-handlers '(sp-latex-insert-spaces-inside-pair))


This works well with org-cdlatex-mode and finally my parenthesis are matched correctly!