commit 1831913e6e95f997ad2e111e54e95a0a39ddeaca
parent f378a5eac6d6fea47a419bb26cd97380dd6ed7c2
Author: Matthew Flatt <mflatt@racket-lang.org>
Date: Thu, 11 Mar 2010 14:24:41 +0000
fix Scribble latex rendering when a section title has a ssquare bracket
svn: r18512
original commit: edfd0812c6173c17218b26b37ca3e0b6d25f02a7
Diffstat:
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git 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
@@ -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: