diff --git a/collects/scribble/latex-render.ss b/collects/scribble/latex-render.ss index f9c1c10c2b..cf16f373e8 100644 --- a/collects/scribble/latex-render.ss +++ b/collects/scribble/latex-render.ss @@ -17,6 +17,7 @@ (define show-link-page-numbers (make-parameter #f)) (define done-link-page-numbers (make-parameter #f)) (define disable-images (make-parameter #f)) +(define escape-brackets (make-parameter #f)) (define-struct (toc-paragraph paragraph) ()) @@ -124,7 +125,8 @@ (if no-number? "*" "")) (when (not (or (part-style? d 'hidden) no-number?)) (printf "[") - (parameterize ([disable-images #t]) + (parameterize ([disable-images #t] + [escape-brackets #t]) (render-content (part-title-content d) d ri)) (printf "]"))) (printf "{") @@ -597,6 +599,11 @@ [(#\{ #\}) (if (rendering-tt) (format "{\\char`\\~a}" c) (format "\\~a" c))] + [(#\[ #\]) (if (escape-brackets) + (if (eq? c #\[) + "{\\SOpenSq}" + "{\\SCloseSq}") + c)] [(#\# #\% #\& #\$) (format "\\~a" c)] [(#\uA0) "~"] [(#\uDF) "{\\ss}"] diff --git a/collects/scribble/scribble.tex b/collects/scribble/scribble.tex index 89db92aa51..0fc36b6ea6 100644 --- a/collects/scribble/scribble.tex +++ b/collects/scribble/scribble.tex @@ -117,6 +117,10 @@ \newcommand{\subsectionhidden}[1]{\subsection{#1}} \newcommand{\subsubsectionhidden}[1]{\subsubsection{#1}} +% When brackets appear in section titles: +\newcommand{\SOpenSq}{[} +\newcommand{\SCloseSq}{]} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Scribble then generates the following: