       t)))
 
 (defun p2l--convert-command0 (latex pillar &optional newline)
+  "Transform all LATEX 0-arg commands to PILLAR.
+LATEX is the name of a 0-argument macro (e.g., \eg).  PILLAR is
+the Pillar markup to replace the macro with.  NEWLINE, if t, will
+make sure the replacement text will start on a newline."
   (p2l--setup-buffer)
   (while (p2l--convert-command0-once latex pillar newline)))
 
 (defun p2l--convert-command1-once (latex pillar-begin &optional pillar-end newline)
+  "Transform the next LATEX 1-arg command.
+LATEX is the name of a 0-argument macro (e.g., \eg).
+PILLAR-BEGIN is the Pillar markup to replace the macro name with.
+PILLAR-END, if provided, is the Pillar markup that will be
+written after the macro's first argument.  NEWLINE, if t, will
+make sure the replacement text will start on a newline."
   (when (p2l--convert-command0-once latex pillar-begin newline)
     (let ((start (point))
           end)
       (forward-sexp)
-      (delete-backward-char 1)
+      (delete-char -1)
       (insert pillar-end)
       (setq end (point))
       (goto-char start)

              (delete-forward-char 1) ;; [
              (p2l--delete-all-spaces)
              (re-search-forward "]")
              (delete-backward-char 1) ;; ]
              (p2l--delete-all-spaces)
              (newline 1)
              (insert ":")))

     (delete-region (point) end))))

(defun p2l--convert-command0-once (latex pillar &optional newline)
  "Transform the next LATEX 0-arg command to PILLAR.
LATEX is the name of a 0-argument macro (e.g., \eg).  PILLAR is
the Pillar markup to replace the macro with.  NEWLINE, if t, will
make sure the replacement text will start on a newline."
  (when (re-search-forward
         (concat "\\\\" latex) nil t)
    (let ((start (match-beginning 0))
