Jan Braun writes: >> But even with this code added: we may have to dig deeper >> into the problem? I think I had a typo in the code I suggested, it should read: (with-eval-after-load "tex-mode" (add-hook 'doctex-mode-hook (lambda () (setq-local latex-outline-regexp (concat "[% \t]*" "\\\\" (regexp-opt (append latex-metasection-list (mapcar #'car latex-section-alist)) t))) (setq-local outline-regexp latex-outline-regexp)))) Now take a small example like this: %\iffalse %<*driver> \documentclass{ltxdox} \usepackage{microtype} % and other usual LaTeX preamble stuff \EnableCrossrefs \CodelineIndex \RecordChanges \setcounter{IndexColumns}{2} \begin{document} \DocInput{jb-test.dtx} \end{document} % %\fi % % \section{Introduction} % This is some introduction. % % \section{User macros} % This is some text. % And this is some text % % \section{Implementation} % % \begin{macrocode} %<*package> % \end{macrocode} % % \begin{macrocode} \def\foo#1{% $#1$% } % \end{macrocode} % % \begin{macrocode} % % \end{macrocode} % %\endinput % Local Variables: % mode: doctex % End: When I start Emacs with 'emacs -Q', open the file above, do 'M-x outline-minor-mode RET' followed by 'C-c @ C-t', this is what I see: