fix Scribble latex rendering when a section title has a ssquare bracket

svn: r18512
This commit is contained in:
Matthew Flatt 2010-03-11 14:24:41 +00:00
parent 1af4bb9cfb
commit edfd0812c6
2 changed files with 12 additions and 1 deletions

View File

@ -17,6 +17,7 @@
(define show-link-page-numbers (make-parameter #f)) (define show-link-page-numbers (make-parameter #f))
(define done-link-page-numbers (make-parameter #f)) (define done-link-page-numbers (make-parameter #f))
(define disable-images (make-parameter #f)) (define disable-images (make-parameter #f))
(define escape-brackets (make-parameter #f))
(define-struct (toc-paragraph paragraph) ()) (define-struct (toc-paragraph paragraph) ())
@ -124,7 +125,8 @@
(if no-number? "*" "")) (if no-number? "*" ""))
(when (not (or (part-style? d 'hidden) no-number?)) (when (not (or (part-style? d 'hidden) no-number?))
(printf "[") (printf "[")
(parameterize ([disable-images #t]) (parameterize ([disable-images #t]
[escape-brackets #t])
(render-content (part-title-content d) d ri)) (render-content (part-title-content d) d ri))
(printf "]"))) (printf "]")))
(printf "{") (printf "{")
@ -597,6 +599,11 @@
[(#\{ #\}) (if (rendering-tt) [(#\{ #\}) (if (rendering-tt)
(format "{\\char`\\~a}" c) (format "{\\char`\\~a}" c)
(format "\\~a" c))] (format "\\~a" c))]
[(#\[ #\]) (if (escape-brackets)
(if (eq? c #\[)
"{\\SOpenSq}"
"{\\SCloseSq}")
c)]
[(#\# #\% #\& #\$) (format "\\~a" c)] [(#\# #\% #\& #\$) (format "\\~a" c)]
[(#\uA0) "~"] [(#\uA0) "~"]
[(#\uDF) "{\\ss}"] [(#\uDF) "{\\ss}"]

View File

@ -117,6 +117,10 @@
\newcommand{\subsectionhidden}[1]{\subsection{#1}} \newcommand{\subsectionhidden}[1]{\subsection{#1}}
\newcommand{\subsubsectionhidden}[1]{\subsubsection{#1}} \newcommand{\subsubsectionhidden}[1]{\subsubsection{#1}}
% When brackets appear in section titles:
\newcommand{\SOpenSq}{[}
\newcommand{\SCloseSq}{]}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Scribble then generates the following: % Scribble then generates the following: