diff options
| -rw-r--r-- | MANUAL.txt | 12 | ||||
| -rw-r--r-- | man/pandoc.1 | 46 | ||||
| -rw-r--r-- | src/Text/Pandoc/App.hs | 6 | ||||
| -rw-r--r-- | src/Text/Pandoc/Options.hs | 1 | ||||
| -rw-r--r-- | src/Text/Pandoc/Writers/HTML.hs | 9 | 
5 files changed, 67 insertions, 7 deletions
| diff --git a/MANUAL.txt b/MANUAL.txt index 42b658af9..7a9871d8f 100644 --- a/MANUAL.txt +++ b/MANUAL.txt @@ -1217,9 +1217,21 @@ of the following options.      not specified, a link to the KaTeX CDN will be inserted. Note that this      option does not imply `--katex`. +`--gladtex` + +:   Enclose TeX math in `<eq>` tags in HTML output.  The resulting HTML +    can then be processed by [GladTeX] to produce images of the typeset +    formulas and an HTML file with links to these images. +    So, the procedure is: + +        pandoc -s --gladtex input.md -o myfile.htex +        gladtex -d myfile-images myfile.htex +        # produces myfile.html and images in myfile-images +  [MathML]: http://www.w3.org/Math/  [MathJax]: https://www.mathjax.org  [KaTeX]: https://github.com/Khan/KaTeX +[GladTeX]: http://humenda.github.io/GladTeX/  Options for wrapper scripts  --------------------------- diff --git a/man/pandoc.1 b/man/pandoc.1 index ed9fdb009..5c560f11b 100644 --- a/man/pandoc.1 +++ b/man/pandoc.1 @@ -647,8 +647,7 @@ a specified full or relative path (executable or non\-executable)  .B \f[C]\-M\f[] \f[I]KEY\f[][\f[C]=\f[]\f[I]VAL\f[]], \f[C]\-\-metadata=\f[]\f[I]KEY\f[][\f[C]:\f[]\f[I]VAL\f[]]  Set the metadata field \f[I]KEY\f[] to the value \f[I]VAL\f[].  A value specified on the command line overrides a value specified in the -document using [YAML metadata -blocks][Extension:\f[C]yaml_metadata_block\f[]]. +document using YAML metadata blocks.  Values will be parsed as YAML boolean or string values.  If no value is specified, the value will be treated as Boolean true.  Like \f[C]\-\-variable\f[], \f[C]\-\-metadata\f[] causes template @@ -727,6 +726,8 @@ Produce output with an appropriate header and footer (e.g.  a standalone HTML, LaTeX, TEI, or RTF file, not a fragment).  This option is set automatically for \f[C]pdf\f[], \f[C]epub\f[],  \f[C]epub3\f[], \f[C]fb2\f[], \f[C]docx\f[], and \f[C]odt\f[] output. +For \f[C]native\f[] output, this option causes metadata to be included; +otherwise, metadata is suppressed.  .RS  .RE  .TP @@ -1413,6 +1414,22 @@ inserted.  Note that this option does not imply \f[C]\-\-katex\f[].  .RS  .RE +.TP +.B \f[C]\-\-gladtex\f[] +Enclose TeX math in \f[C]<eq>\f[] tags in HTML output. +The resulting HTML can then be processed by GladTeX to produce images of +the typeset formulas and an HTML file with links to these images. +So, the procedure is: +.RS +.IP +.nf +\f[C] +pandoc\ \-s\ \-\-gladtex\ input.md\ \-o\ myfile.htex +gladtex\ \-d\ myfile\-images\ myfile.htex +#\ produces\ myfile.html\ and\ images\ in\ myfile\-images +\f[] +.fi +.RE  .SS Options for wrapper scripts  .TP  .B \f[C]\-\-dump\-args\f[] @@ -1489,9 +1506,8 @@ arbitrary information at any point in the file.  They may be set at the command line using the \f[C]\-V/\-\-variable\f[]  option.  If a variable is not set, pandoc will look for the key in the -document\[aq]s metadata \[en] which can be set using either [YAML -metadata blocks][Extension:\f[C]yaml_metadata_block\f[]] or with the -\f[C]\-\-metadata\f[] option. +document\[aq]s metadata \[en] which can be set using either YAML +metadata blocks or with the \f[C]\-\-metadata\f[] option.  .SS Variables set by pandoc  .PP  Some variables are set automatically by pandoc. @@ -2081,7 +2097,25 @@ $endif$  .fi  .PP  This will include \f[C]X\f[] in the template if \f[C]variable\f[] has a -non\-null value; otherwise it will include \f[C]Y\f[]. +truthy value; otherwise it will include \f[C]Y\f[]. +Here a truthy value is any of the following: +.IP \[bu] 2 +a string that is not entirely white space, +.IP \[bu] 2 +a non\-empty array where the first value is truthy, +.IP \[bu] 2 +any number (including zero), +.IP \[bu] 2 +any object, +.IP \[bu] 2 +the boolean \f[C]true\f[] (to specify the boolean \f[C]true\f[] value +using YAML metadata or the \f[C]\-\-metadata\f[] flag, use \f[C]y\f[], +\f[C]Y\f[], \f[C]yes\f[], \f[C]Yes\f[], \f[C]YES\f[], \f[C]true\f[], +\f[C]True\f[], \f[C]TRUE\f[], \f[C]on\f[], \f[C]On\f[], or \f[C]ON\f[]; +with the \f[C]\-\-variable\f[] flag, simply omit a value for the +variable, e.g. +\f[C]\-\-variable\ draft\f[]). +.PP  \f[C]X\f[] and \f[C]Y\f[] are placeholders for any valid template text,  and may include interpolated variables or other conditionals.  The \f[C]$else$\f[] section may be omitted. diff --git a/src/Text/Pandoc/App.hs b/src/Text/Pandoc/App.hs index 920462d48..a59fd9bbe 100644 --- a/src/Text/Pandoc/App.hs +++ b/src/Text/Pandoc/App.hs @@ -1403,6 +1403,12 @@ options =                    "URL")                    "" -- Use KaTeX for HTML Math +    , Option "" ["gladtex"] +                 (NoArg +                  (\opt -> +                      return opt { optHTMLMathMethod = GladTeX })) +                 "" -- "Use gladtex for HTML math" +      , Option "" ["abbreviations"]                  (ReqArg                   (\arg opt -> return opt { optAbbreviations = Just arg }) diff --git a/src/Text/Pandoc/Options.hs b/src/Text/Pandoc/Options.hs index 4797a3094..e5ca1764c 100644 --- a/src/Text/Pandoc/Options.hs +++ b/src/Text/Pandoc/Options.hs @@ -107,6 +107,7 @@ data EPUBVersion = EPUB2 | EPUB3 deriving (Eq, Show, Read, Data, Typeable, Gener  data HTMLMathMethod = PlainMath                      | WebTeX String               -- url of TeX->image script. +                    | GladTeX                      | MathML                      | MathJax String              -- url of MathJax.js                      | KaTeX String                -- url of KaTeX files diff --git a/src/Text/Pandoc/Writers/HTML.hs b/src/Text/Pandoc/Writers/HTML.hs index 535071ae2..a09ad2fda 100644 --- a/src/Text/Pandoc/Writers/HTML.hs +++ b/src/Text/Pandoc/Writers/HTML.hs @@ -58,7 +58,7 @@ import qualified Data.Text.Lazy as TL  import Network.HTTP (urlEncode)  import Network.URI (URI (..), parseURIReference, unEscapeString)  import Numeric (showHex) -import Text.Blaze.Internal (customLeaf, MarkupM(Empty)) +import Text.Blaze.Internal (customLeaf, customParent, MarkupM(Empty))  #if MIN_VERSION_blaze_markup(0,6,3)  #else  import Text.Blaze.Internal (preEscapedString, preEscapedText) @@ -1029,6 +1029,13 @@ inlineToHtml opts inline = do                return $ case t of                          InlineMath  -> m                          DisplayMath -> brtag >> m >> brtag +           GladTeX -> +              return $ +                customParent (textTag "eq") ! +                  customAttribute "env" +                    (toValue $ if t == InlineMath +                                  then ("math" :: Text) +                                  else "displaymath") $ strToHtml str             MathML -> do                let conf = useShortEmptyTags (const False)                             defaultConfigPP | 
