LaTeX & ConTeXt writers: escape [ and ] as {[} and {]}.

This avoids unwanted interpretation as optional arguments
in some contexts, which caused the brackets to silently
disappear!
This commit is contained in:
John MacFarlane 2010-10-24 19:31:06 -07:00
parent 220a20bf92
commit 7e9e959548
4 changed files with 16 additions and 12 deletions

View file

@ -92,6 +92,8 @@ escapeCharForConTeXt ch =
'#' -> "\\#"
'<' -> "\\letterless{}"
'>' -> "\\lettermore{}"
'[' -> "{[}"
']' -> "{]}"
'_' -> "\\letterunderscore{}"
'\160' -> "~"
x -> [x]

View file

@ -107,6 +107,8 @@ stringToLaTeX = escapeStringUsing latexEscapes
, ('|', "\\textbar{}")
, ('<', "\\textless{}")
, ('>', "\\textgreater{}")
, ('[', "{[}") -- to avoid interpretation as
, (']', "{]}") -- optional arguments
, ('\160', "~")
]

View file

@ -743,9 +743,9 @@ Left brace: \letteropenbrace{}
Right brace: \letterclosebrace{}
Left bracket: [
Left bracket: {[}
Right bracket: ]
Right bracket: {]}
Left paren: (
@ -795,7 +795,7 @@ Foo \useURL[14][/url/][][bar]\from[14].
Foo \useURL[15][/url/][][bar]\from[15].
With \useURL[16][/url/][][embedded [brackets]]\from[16].
With \useURL[16][/url/][][embedded {[}brackets{]}]\from[16].
\useURL[17][/url/][][b]\from[17] by itself should be a link.
@ -805,7 +805,7 @@ Indented \useURL[19][/url][][twice]\from[19].
Indented \useURL[20][/url][][thrice]\from[20].
This should [not][] be a link.
This should {[}not{]}{[}{]} be a link.
\starttyping
[not]: /url
@ -886,10 +886,10 @@ footnote (as with list items).
If you want, you can indent every line, but you can also be lazy
and just indent the first line of each block.}
This should {\em not} be a footnote reference, because it contains
a space.[\letterhat{}my note] Here is an inline note.
a space.{[}\letterhat{}my note{]} Here is an inline note.
\footnote{This is {\em easier} to type. Inline notes may contain
\useURL[31][http://google.com][][links]\from[31] and \type{]}
verbatim characters, as well as [bracketed text].}
verbatim characters, as well as {[}bracketed text{]}.}
\startblockquote
Notes can go in quotes.

View file

@ -704,9 +704,9 @@ Left brace: \{
Right brace: \}
Left bracket: [
Left bracket: {[}
Right bracket: ]
Right bracket: {]}
Left paren: (
@ -756,7 +756,7 @@ Foo \href{/url/}{bar}.
Foo \href{/url/}{bar}.
With \href{/url/}{embedded [brackets]}.
With \href{/url/}{embedded {[}brackets{]}}.
\href{/url/}{b} by itself should be a link.
@ -766,7 +766,7 @@ Indented \href{/url}{twice}.
Indented \href{/url}{thrice}.
This should [not][] be a link.
This should {[}not{]}{[}{]} be a link.
\begin{verbatim}
[not]: /url
@ -845,10 +845,10 @@ footnote (as with list items).
If you want, you can indent every line, but you can also be lazy
and just indent the first line of each block.}
This should \emph{not} be a footnote reference, because it contains
a space.[\^{}my note] Here is an inline note.%
a space.{[}\^{}my note{]} Here is an inline note.%
\footnote{This is \emph{easier} to type. Inline notes may contain
\href{http://google.com}{links} and \verb!]! verbatim characters,
as well as [bracketed text].}
as well as {[}bracketed text{]}.}
\begin{quote}
Notes can go in quotes.%