pandoc 2.11.0.4 → 2.11.1
raw patch · 36 files changed
+701/−225 lines, 36 filesdep ~commonmarkdep ~commonmark-extensionsPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: commonmark, commonmark-extensions
API changes (from Hackage documentation)
+ Text.Pandoc.Error: PandocBibliographyError :: Text -> Text -> PandocError
- Text.Pandoc.Parsing: (<?>) :: () => ParsecT s u m a -> String -> ParsecT s u m a
+ Text.Pandoc.Parsing: (<?>) :: forall s u (m :: Type -> Type) a. ParsecT s u m a -> String -> ParsecT s u m a
- Text.Pandoc.Parsing: (<|>) :: () => ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
+ Text.Pandoc.Parsing: (<|>) :: forall s u (m :: Type -> Type) a. ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
- Text.Pandoc.Parsing: alphaNum :: Stream s m Char => ParsecT s u m Char
+ Text.Pandoc.Parsing: alphaNum :: forall s (m :: Type -> Type) u. Stream s m Char => ParsecT s u m Char
- Text.Pandoc.Parsing: anyChar :: Stream s m Char => ParsecT s u m Char
+ Text.Pandoc.Parsing: anyChar :: forall s (m :: Type -> Type) u. Stream s m Char => ParsecT s u m Char
- Text.Pandoc.Parsing: anyToken :: (Stream s m t, Show t) => ParsecT s u m t
+ Text.Pandoc.Parsing: anyToken :: forall s (m :: Type -> Type) t u. (Stream s m t, Show t) => ParsecT s u m t
- Text.Pandoc.Parsing: char :: Stream s m Char => Char -> ParsecT s u m Char
+ Text.Pandoc.Parsing: char :: forall s (m :: Type -> Type) u. Stream s m Char => Char -> ParsecT s u m Char
- Text.Pandoc.Parsing: choice :: Stream s m t => [ParsecT s u m a] -> ParsecT s u m a
+ Text.Pandoc.Parsing: choice :: forall s (m :: Type -> Type) t u a. Stream s m t => [ParsecT s u m a] -> ParsecT s u m a
- Text.Pandoc.Parsing: count :: Stream s m t => Int -> ParsecT s u m a -> ParsecT s u m [a]
+ Text.Pandoc.Parsing: count :: forall s (m :: Type -> Type) t u a. Stream s m t => Int -> ParsecT s u m a -> ParsecT s u m [a]
- Text.Pandoc.Parsing: digit :: Stream s m Char => ParsecT s u m Char
+ Text.Pandoc.Parsing: digit :: forall s (m :: Type -> Type) u. Stream s m Char => ParsecT s u m Char
- Text.Pandoc.Parsing: endBy :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.Pandoc.Parsing: endBy :: forall s (m :: Type -> Type) t u a sep. Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.Pandoc.Parsing: endBy1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.Pandoc.Parsing: endBy1 :: forall s (m :: Type -> Type) t u a sep. Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.Pandoc.Parsing: eof :: (Stream s m t, Show t) => ParsecT s u m ()
+ Text.Pandoc.Parsing: eof :: forall s (m :: Type -> Type) t u. (Stream s m t, Show t) => ParsecT s u m ()
- Text.Pandoc.Parsing: getInput :: Monad m => ParsecT s u m s
+ Text.Pandoc.Parsing: getInput :: forall (m :: Type -> Type) s u. Monad m => ParsecT s u m s
- Text.Pandoc.Parsing: getPosition :: Monad m => ParsecT s u m SourcePos
+ Text.Pandoc.Parsing: getPosition :: forall (m :: Type -> Type) s u. Monad m => ParsecT s u m SourcePos
- Text.Pandoc.Parsing: getState :: Monad m => ParsecT s u m u
+ Text.Pandoc.Parsing: getState :: forall (m :: Type -> Type) s u. Monad m => ParsecT s u m u
- Text.Pandoc.Parsing: letter :: Stream s m Char => ParsecT s u m Char
+ Text.Pandoc.Parsing: letter :: forall s (m :: Type -> Type) u. Stream s m Char => ParsecT s u m Char
- Text.Pandoc.Parsing: lookAhead :: Stream s m t => ParsecT s u m a -> ParsecT s u m a
+ Text.Pandoc.Parsing: lookAhead :: forall s (m :: Type -> Type) t u a. Stream s m t => ParsecT s u m a -> ParsecT s u m a
- Text.Pandoc.Parsing: many :: () => ParsecT s u m a -> ParsecT s u m [a]
+ Text.Pandoc.Parsing: many :: forall s u (m :: Type -> Type) a. ParsecT s u m a -> ParsecT s u m [a]
- Text.Pandoc.Parsing: many1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m [a]
+ Text.Pandoc.Parsing: many1 :: forall s (m :: Type -> Type) t u a. Stream s m t => ParsecT s u m a -> ParsecT s u m [a]
- Text.Pandoc.Parsing: manyTill :: Stream s m t => ParsecT s u m a -> ParsecT s u m end -> ParsecT s u m [a]
+ Text.Pandoc.Parsing: manyTill :: forall s (m :: Type -> Type) t u a end. Stream s m t => ParsecT s u m a -> ParsecT s u m end -> ParsecT s u m [a]
- Text.Pandoc.Parsing: newline :: Stream s m Char => ParsecT s u m Char
+ Text.Pandoc.Parsing: newline :: forall s (m :: Type -> Type) u. Stream s m Char => ParsecT s u m Char
- Text.Pandoc.Parsing: noneOf :: Stream s m Char => [Char] -> ParsecT s u m Char
+ Text.Pandoc.Parsing: noneOf :: forall s (m :: Type -> Type) u. Stream s m Char => [Char] -> ParsecT s u m Char
- Text.Pandoc.Parsing: notFollowedBy :: (Stream s m t, Show a) => ParsecT s u m a -> ParsecT s u m ()
+ Text.Pandoc.Parsing: notFollowedBy :: forall s (m :: Type -> Type) t a u. (Stream s m t, Show a) => ParsecT s u m a -> ParsecT s u m ()
- Text.Pandoc.Parsing: oneOf :: Stream s m Char => [Char] -> ParsecT s u m Char
+ Text.Pandoc.Parsing: oneOf :: forall s (m :: Type -> Type) u. Stream s m Char => [Char] -> ParsecT s u m Char
- Text.Pandoc.Parsing: option :: Stream s m t => a -> ParsecT s u m a -> ParsecT s u m a
+ Text.Pandoc.Parsing: option :: forall s (m :: Type -> Type) t a u. Stream s m t => a -> ParsecT s u m a -> ParsecT s u m a
- Text.Pandoc.Parsing: optionMaybe :: Stream s m t => ParsecT s u m a -> ParsecT s u m (Maybe a)
+ Text.Pandoc.Parsing: optionMaybe :: forall s (m :: Type -> Type) t u a. Stream s m t => ParsecT s u m a -> ParsecT s u m (Maybe a)
- Text.Pandoc.Parsing: optional :: Stream s m t => ParsecT s u m a -> ParsecT s u m ()
+ Text.Pandoc.Parsing: optional :: forall s (m :: Type -> Type) t u a. Stream s m t => ParsecT s u m a -> ParsecT s u m ()
- Text.Pandoc.Parsing: satisfy :: Stream s m Char => (Char -> Bool) -> ParsecT s u m Char
+ Text.Pandoc.Parsing: satisfy :: forall s (m :: Type -> Type) u. Stream s m Char => (Char -> Bool) -> ParsecT s u m Char
- Text.Pandoc.Parsing: sepBy :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.Pandoc.Parsing: sepBy :: forall s (m :: Type -> Type) t u a sep. Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.Pandoc.Parsing: sepBy1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.Pandoc.Parsing: sepBy1 :: forall s (m :: Type -> Type) t u a sep. Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.Pandoc.Parsing: sepEndBy :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.Pandoc.Parsing: sepEndBy :: forall s (m :: Type -> Type) t u a sep. Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.Pandoc.Parsing: sepEndBy1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.Pandoc.Parsing: sepEndBy1 :: forall s (m :: Type -> Type) t u a sep. Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.Pandoc.Parsing: setInput :: Monad m => s -> ParsecT s u m ()
+ Text.Pandoc.Parsing: setInput :: forall (m :: Type -> Type) s u. Monad m => s -> ParsecT s u m ()
- Text.Pandoc.Parsing: setPosition :: Monad m => SourcePos -> ParsecT s u m ()
+ Text.Pandoc.Parsing: setPosition :: forall (m :: Type -> Type) s u. Monad m => SourcePos -> ParsecT s u m ()
- Text.Pandoc.Parsing: setState :: Monad m => u -> ParsecT s u m ()
+ Text.Pandoc.Parsing: setState :: forall (m :: Type -> Type) u s. Monad m => u -> ParsecT s u m ()
- Text.Pandoc.Parsing: skipMany :: () => ParsecT s u m a -> ParsecT s u m ()
+ Text.Pandoc.Parsing: skipMany :: forall s u (m :: Type -> Type) a. ParsecT s u m a -> ParsecT s u m ()
- Text.Pandoc.Parsing: skipMany1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m ()
+ Text.Pandoc.Parsing: skipMany1 :: forall s (m :: Type -> Type) t u a. Stream s m t => ParsecT s u m a -> ParsecT s u m ()
- Text.Pandoc.Parsing: space :: Stream s m Char => ParsecT s u m Char
+ Text.Pandoc.Parsing: space :: forall s (m :: Type -> Type) u. Stream s m Char => ParsecT s u m Char
- Text.Pandoc.Parsing: spaces :: Stream s m Char => ParsecT s u m ()
+ Text.Pandoc.Parsing: spaces :: forall s (m :: Type -> Type) u. Stream s m Char => ParsecT s u m ()
- Text.Pandoc.Parsing: string :: Stream s m Char => String -> ParsecT s u m String
+ Text.Pandoc.Parsing: string :: forall s (m :: Type -> Type) u. Stream s m Char => String -> ParsecT s u m String
- Text.Pandoc.Parsing: tokenPrim :: Stream s m t => (t -> String) -> (SourcePos -> t -> s -> SourcePos) -> (t -> Maybe a) -> ParsecT s u m a
+ Text.Pandoc.Parsing: tokenPrim :: forall s (m :: Type -> Type) t a u. Stream s m t => (t -> String) -> (SourcePos -> t -> s -> SourcePos) -> (t -> Maybe a) -> ParsecT s u m a
- Text.Pandoc.Parsing: try :: () => ParsecT s u m a -> ParsecT s u m a
+ Text.Pandoc.Parsing: try :: forall s u (m :: Type -> Type) a. ParsecT s u m a -> ParsecT s u m a
- Text.Pandoc.Parsing: unexpected :: Stream s m t => String -> ParsecT s u m a
+ Text.Pandoc.Parsing: unexpected :: forall s (m :: Type -> Type) t u a. Stream s m t => String -> ParsecT s u m a
- Text.Pandoc.Parsing: updateState :: Monad m => (u -> u) -> ParsecT s u m ()
+ Text.Pandoc.Parsing: updateState :: forall (m :: Type -> Type) u s. Monad m => (u -> u) -> ParsecT s u m ()
Files
- MANUAL.txt +41/−14
- cabal.project +4/−4
- changelog.md +105/−0
- data/templates/article.jats_publishing +13/−0
- data/templates/default.latex +4/−3
- data/templates/default.man +1/−1
- data/templates/styles.html +49/−17
- man/pandoc.1 +37/−7
- pandoc.cabal +3/−3
- src/Text/Pandoc/App/Opt.hs +5/−0
- src/Text/Pandoc/Citeproc.hs +37/−16
- src/Text/Pandoc/Error.hs +3/−0
- src/Text/Pandoc/Filter.hs +5/−3
- src/Text/Pandoc/Readers/DocBook.hs +4/−5
- src/Text/Pandoc/Readers/HTML.hs +32/−2
- src/Text/Pandoc/Readers/LaTeX.hs +8/−7
- src/Text/Pandoc/Readers/LaTeX/Parsing.hs +5/−1
- src/Text/Pandoc/Writers/HTML.hs +4/−2
- src/Text/Pandoc/Writers/LaTeX.hs +12/−10
- stack.yaml +4/−3
- test/command/5367.md +3/−3
- test/command/6783.md +26/−0
- test/command/6796.md +16/−0
- test/command/6802.md +9/−0
- test/command/docbook-bibliography.md +20/−0
- test/command/pandoc-citeproc-chicago-fullnote-bibliography.md +2/−2
- test/command/pandoc-citeproc-locators-integrated.md +2/−2
- test/lhs-test.html +42/−18
- test/lhs-test.html+lhs +42/−18
- test/tables.latex +63/−36
- test/tables/nordics.html4 +6/−6
- test/tables/nordics.html5 +6/−6
- test/writer.html4 +42/−18
- test/writer.html5 +42/−18
- test/writer.jats_archiving +2/−0
- test/writer.jats_publishing +2/−0
MANUAL.txt view
@@ -1,7 +1,7 @@ --- title: Pandoc User's Guide author: John MacFarlane-date: October 20, 2020+date: November 3, 2020 --- # Synopsis@@ -665,18 +665,18 @@ : Specifies what to do with insertions, deletions, and comments produced by the MS Word "Track Changes" feature. `accept` (the- default), inserts all insertions, and ignores all- deletions. `reject` inserts all deletions and ignores- insertions. Both `accept` and `reject` ignore comments. `all` puts- in insertions, deletions, and comments, wrapped in spans with- `insertion`, `deletion`, `comment-start`, and `comment-end`- classes, respectively. The author and time of change is- included. `all` is useful for scripting: only accepting changes- from a certain reviewer, say, or before a certain date. If a- paragraph is inserted or deleted, `track-changes=all` produces a- span with the class `paragraph-insertion`/`paragraph-deletion`- before the affected paragraph break. This option only affects the- docx reader.+ default) processes all the insertions and deletions.+ `reject` ignores them. Both `accept` and `reject` ignore comments.+ `all` includes all insertions, deletions, and comments, wrapped+ in spans with `insertion`, `deletion`, `comment-start`, and+ `comment-end` classes, respectively. The author and time of+ change is included. `all` is useful for scripting: only+ accepting changes from a certain reviewer, say, or before a+ certain date. If a paragraph is inserted or deleted,+ `track-changes=all` produces a span with the class+ `paragraph-insertion`/`paragraph-deletion` before the+ affected paragraph break. This option only affects the docx+ reader. `--extract-media=`*DIR* @@ -1533,6 +1533,7 @@ bibliography: - foobar.bib - barbaz.json+citation-abbreviations: abbrevs.json # Filters will be assumed to be Lua filters if they have # the .lua extension, and json filters otherwise. But@@ -2189,7 +2190,7 @@ ### Variables for HTML `document-css`-: Enables inclusion of most of the CSS in the `styles.html`+: Enables inclusion of most of the [CSS] in the `styles.html` [partial](#partials) (have a look with `pandoc --print-default-data-file=templates/styles.html`). Unless you use [`--css`](#option--css), this variable@@ -2213,6 +2214,10 @@ `monofont` : sets the CSS `font-family` property on `code` elements. +`monobackgroundcolor`+: sets the CSS `background-color` property on `code` elements+ and adds extra padding.+ `linestretch` : sets the CSS `line-height` property on the `html` element, which is preferred to be unitless.@@ -2222,6 +2227,28 @@ `margin-left`, `margin-right`, `margin-top`, `margin-bottom` : sets the corresponding CSS `padding` properties on the `body` element.++To override or extend some [CSS] for just one document, include for example:++ ---+ header-includes: |+ <style>+ blockquote {+ font-style: italic;+ }+ tr.even {+ background-color: #f0f0f0;+ }+ td, th {+ padding: 0.5em 2em 0.5em 0.5em;+ }+ tbody {+ border-bottom: none;+ }+ </style>+ ---++[CSS]: https://developer.mozilla.org/en-US/docs/Learn/CSS ### Variables for HTML math
cabal.project view
@@ -4,8 +4,8 @@ flags: +embed_data_files -trypandoc ghc-options: -j +RTS -A64m -RTS --- source-repository-package--- type: git--- location: https://github.com/jgm/citeproc--- tag: 0.1.0.3+source-repository-package+ type: git+ location: https://github.com/jgm/citeproc+ tag: 1860f189e9995c1dc27a68893bedfbf8de1ee67f
changelog.md view
@@ -1,5 +1,110 @@ # Revision history for pandoc +## pandoc 2.11.1 (2020-11-03)++ * DocBook Reader: fix duplicate bibliography bug (#6773, Nils Carlson).++ * HTML reader:++ + Parse contents of iframes (#6770).+ + Parse inline svg as image unless `raw_html` is set in the reader (in+ which case the svg is passed through as raw HTML) (#6770).++ * LaTeX reader:++ + Fix bug parsing macro arguments (#6796). If `\cL` is+ defined as `\mathcal{L}`, and `\til` as `\tilde{#1}`, then+ `\til\cL` should expand to `\tilde{\mathcal{L}}`, but+ pandoc was expanding it to `\tilde\mathcal{L}`. This is+ fixed by parsing the arguments in "verbatim mode" when the+ macro expands arguments at the point of use.+ + Properly support optional (cite) argument for+ `\blockquote` from `csquotes` (#6802).++ * LaTeX writer: Improved calculation of table column widths.+ We now have LaTeX do the calculation, using `\tabcolsep`.+ So we should now have accurate relative column widths no+ matter what the text width. The default template has been modified to load+ the calc package if tables are used.++ * HTML writer: Fix duplicate "class" attribute for table+ rows (Andy Morris).++ * Text.Pandoc.Filter: allow shorter YAML representation of Citeproc+ (Albert Krewinkel). The map-based YAML representation of filters expects+ `type` and `path` fields. The path field had to be present for all filter+ types, but is not used for citeproc filters. The field can now be omitted+ when type is "citeproc", as described in the MANUAL.++ * Text.Pandoc.Error: Add `PandocBibliographyError` constructor+ for `PandocError` [API change]. This ensures that bibliography parsing+ errors generate messages that include the bibliography file name --+ otherwise it can be quite mysterious where it is coming from.++ * Citeproc: properly handle `csl` field with `data:` URI (#6783).+ This is used with the JATS writer, so this fixes a regression+ in pandoc 2.11 with JATS output and citeproc.++ * Allow `citation-abbreviations` in defaults file.++ * JATS templates: ensure `jats_publishing` output is valid+ (Albert Krewinkel).++ * LaTeX template: Fix `CSLRightInline`, so that it does not+ run over the right margin.++ * HTML template: default CSS tweaks (Mauro Bieg and John+ MacFarlane).++ - Fix margin before codeblock+ - Add `monobackgroundcolor` variable, making the background color+ and padding of code optional.+ - Ensure that backgrounds from highlighting styles take precedence over+ monobackgroundcolor+ - Remove list markers from TOC+ - Add margin-bottom where needed+ - Remove italics from blockquote styling+ - Change borders and spacing in tables to be more consistent with other+ output formats+ - Style h5, h6+ - Set font-size for print media to 12pt.+ - Reduce interline space.+ - Reduce interparagraph space.+ - Reduce line width.+ - Remove the special `line-height: 1` for table cells.+ - Remove the special line-height for pre.+ - Ensure that there is a bit more space before a heading+ than after.+ - Slightly reduced space after title header.+ - Add CSS example to MANUAL++ * man template: Change comment that triggers `tbl` from+ `.\"t` to `'\" t`, as specified in groff_man(7) (#6803).++ * Use latest commonmark, commonmark-extensions.+ This fixes a bug with nested blocks in footnotes with the+ `footnote` extension to `commonmark`. See jgm/commonmark-hs#63.++ * Citeproc: use comma for in-text citations inside footnotes.+ When an author-in-text citation like `@foo` occurs in a footnote,+ we now render it with: `AUTHOR NAME + COMMA + SPACE + REST`.+ Previously we rendered: `AUTHOR NAME + SPACE + "(" + REST + ")"`.+ This gives better results. Note that normal citations are still+ rendered in parentheses.++ * Use latest citeproc:++ + citeproc no longer capitalizes notes, so we do it+ in pandoc when appropriate.+ + Closes #6783.++ * Clarify manual on `--track-changes` (#6801).++ * Add `doc/jats.md` to document pandoc's handling of JATS+ (#6794, Albert Krewinkel).++ * Fix code example in lua-filters.md (#6795).+ ## pandoc 2.11.0.4 (2020-10-21) * Commonmark writer: fix regression with fenced divs (#6768).
data/templates/article.jats_publishing view
@@ -14,6 +14,13 @@ $if(journal.pmc)$ <journal-id journal-id-type="pmc">$journal.pmc$</journal-id> $endif$+$-- Fallback: an empty journal-id in case none is available.+$if(journal.publisher-id)$+$elseif(journal.nlm-ta)$+$elseif(journal.pmc)$+$else$+<journal-id></journal-id>+$endif$ <journal-title-group> $if(journal.title)$ <journal-title>$journal.title$</journal-title>@@ -27,6 +34,12 @@ $endif$ $if(journal.eissn)$ <issn pub-type="epub">$journal.eissn$</issn>+$endif$+$-- At least one issn element is required; use empty issn as fallback+$if(journal.pissn)$+$elseif(journal.eissn)$+$else$+<issn></issn> $endif$ <publisher> <publisher-name>$journal.publisher-name$</publisher-name>
data/templates/default.latex view
@@ -257,6 +257,7 @@ $endif$ $if(tables)$ \usepackage{longtable,booktabs}+\usepackage{calc} % for calculating minipage widths $if(beamer)$ \usepackage{caption} % Make caption package work with longtable@@ -383,10 +384,10 @@ \fi }% {}-\usepackage{calc} % for \widthof, \maxof+\usepackage{calc} \newcommand{\CSLBlock}[1]{#1\hfill\break}-\newcommand{\CSLLeftMargin}[1]{\parbox[t]{\maxof{\widthof{#1}}{\csllabelwidth}}{#1}}-\newcommand{\CSLRightInline}[1]{\parbox[t]{\linewidth}{#1}}+\newcommand{\CSLLeftMargin}[1]{\parbox[t]{\csllabelwidth}{#1}}+\newcommand{\CSLRightInline}[1]{\parbox[t]{\linewidth - \csllabelwidth}{#1}} \newcommand{\CSLIndent}[1]{\hspace{\cslhangindent}#1} $endif$
data/templates/default.man view
@@ -1,5 +1,5 @@ $if(has-tables)$-.\"t+'\" t $endif$ $if(pandoc-version)$ .\" Automatically generated by Pandoc $pandoc-version$
data/templates/styles.html view
@@ -1,6 +1,6 @@ $if(document-css)$ html {- line-height: $if(linestretch)$$linestretch$$else$1.7$endif$;+ line-height: $if(linestretch)$$linestretch$$else$1.5$endif$; font-family: $if(mainfont)$$mainfont$$else$Georgia, serif$endif$; font-size: $if(fontsize)$$fontsize$$else$20px$endif$; color: $if(fontcolor)$$fontcolor$$else$#1a1a1a$endif$;@@ -8,7 +8,7 @@ } body { margin: 0 auto;- max-width: 40em;+ max-width: 36em; padding-left: $if(margin-left)$$margin-left$$else$50px$endif$; padding-right: $if(margin-right)$$margin-right$$else$50px$endif$; padding-top: $if(margin-top)$$margin-top$$else$50px$endif$;@@ -28,6 +28,7 @@ body { background-color: transparent; color: black;+ font-size: 12pt; } p, h2, h3 { orphans: 3;@@ -38,7 +39,7 @@ } } p {- margin-top: 1.7em;+ margin: 1em 0; } a { color: $if(linkcolor)$$linkcolor$$else$#1a1a1a$endif$;@@ -50,59 +51,90 @@ max-width: 100%; } h1, h2, h3, h4, h5, h6 {- margin-top: 1.7em;+ margin-top: 1.4em; }+h5, h6 {+ font-size: 1em;+ font-style: italic;+}+h6 {+ font-weight: normal;+} ol, ul { padding-left: 1.7em;- margin-top: 1.7em;+ margin-top: 1em; } li > ol, li > ul { margin-top: 0; } blockquote {- margin: 1.7em 0 1.7em 1.7em;+ margin: 1em 0 1em 1.7em; padding-left: 1em; border-left: 2px solid #e6e6e6;- font-style: italic;+ color: #606060; } code { font-family: $if(monofont)$$monofont$$else$Menlo, Monaco, 'Lucida Console', Consolas, monospace$endif$;- background-color: #f0f0f0;+$if(monobackgroundcolor)$+ background-color: $monobackgroundcolor$;+ padding: .2em .4em;+$endif$ font-size: 85%; margin: 0;- padding: .2em .4em; } pre {- line-height: 1.5em;+ margin: 1em 0;+$if(monobackgroundcolor)$+ background-color: $monobackgroundcolor$; padding: 1em;- background-color: #f0f0f0;+$endif$ overflow: auto; } pre code { padding: 0; overflow: visible; }+.sourceCode {+ background-color: transparent;+ overflow: visible;+} hr { background-color: #1a1a1a; border: none; height: 1px;- margin-top: 1.7em;+ margin: 1em 0; } table {+ margin: 1em 0; border-collapse: collapse; width: 100%; overflow-x: auto; display: block;+ font-variant-numeric: lining-nums tabular-nums; }-th, td {- border-bottom: 1px solid lightgray;- padding: 1em 3em 1em 0;+table caption {+ margin-bottom: 0.75em; }+tbody {+ margin-top: 0.5em;+ border-top: 1px solid $if(fontcolor)$$fontcolor$$else$#1a1a1a$endif$;+ border-bottom: 1px solid $if(fontcolor)$$fontcolor$$else$#1a1a1a$endif$;+}+th {+ border-top: 1px solid $if(fontcolor)$$fontcolor$$else$#1a1a1a$endif$;+ padding: 0.25em 0.5em 0.25em 0.5em;+}+td {+ padding: 0.125em 0.5em 0.25em 0.5em;+} header {- margin-bottom: 6em;+ margin-bottom: 4em; text-align: center; }-nav a:not(:hover) {+#TOC li {+ list-style: none;+}+#TOC a:not(:hover) { text-decoration: none; } $endif$
man/pandoc.1 view
@@ -1,7 +1,7 @@-.\"t-.\" Automatically generated by Pandoc 2.11.0.4+'\" t+.\" Automatically generated by Pandoc 2.11.1 .\"-.TH "Pandoc User\[cq]s Guide" "" "October 20, 2020" "pandoc 2.11.0.4" ""+.TH "Pandoc User\[cq]s Guide" "" "November 3, 2020" "pandoc 2.11.1" "" .hy .SH NAME pandoc - general markup converter@@ -704,12 +704,12 @@ \f[B]\f[CB]--track-changes=accept\f[B]\f[R]|\f[B]\f[CB]reject\f[B]\f[R]|\f[B]\f[CB]all\f[B]\f[R] Specifies what to do with insertions, deletions, and comments produced by the MS Word \[lq]Track Changes\[rq] feature.-\f[C]accept\f[R] (the default), inserts all insertions, and ignores all+\f[C]accept\f[R] (the default) processes all the insertions and deletions.-\f[C]reject\f[R] inserts all deletions and ignores insertions.+\f[C]reject\f[R] ignores them. Both \f[C]accept\f[R] and \f[C]reject\f[R] ignore comments.-\f[C]all\f[R] puts in insertions, deletions, and comments, wrapped in-spans with \f[C]insertion\f[R], \f[C]deletion\f[R],+\f[C]all\f[R] includes all insertions, deletions, and comments, wrapped+in spans with \f[C]insertion\f[R], \f[C]deletion\f[R], \f[C]comment-start\f[R], and \f[C]comment-end\f[R] classes, respectively. The author and time of change is included.@@ -1748,6 +1748,7 @@ bibliography: - foobar.bib - barbaz.json+citation-abbreviations: abbrevs.json # Filters will be assumed to be Lua filters if they have # the .lua extension, and json filters otherwise. But@@ -2489,6 +2490,10 @@ \f[B]\f[CB]monofont\f[B]\f[R] sets the CSS \f[C]font-family\f[R] property on \f[C]code\f[R] elements. .TP+\f[B]\f[CB]monobackgroundcolor\f[B]\f[R]+sets the CSS \f[C]background-color\f[R] property on \f[C]code\f[R]+elements and adds extra padding.+.TP \f[B]\f[CB]linestretch\f[B]\f[R] sets the CSS \f[C]line-height\f[R] property on the \f[C]html\f[R] element, which is preferred to be unitless.@@ -2500,6 +2505,31 @@ \f[B]\f[CB]margin-left\f[B]\f[R], \f[B]\f[CB]margin-right\f[B]\f[R], \f[B]\f[CB]margin-top\f[B]\f[R], \f[B]\f[CB]margin-bottom\f[B]\f[R] sets the corresponding CSS \f[C]padding\f[R] properties on the \f[C]body\f[R] element.+.PP+To override or extend some CSS for just one document, include for+example:+.IP+.nf+\f[C]+---+header-includes: |+ <style>+ blockquote {+ font-style: italic;+ }+ tr.even {+ background-color: #f0f0f0;+ }+ td, th {+ padding: 0.5em 2em 0.5em 0.5em;+ }+ tbody {+ border-bottom: none;+ }+ </style>+---+\f[R]+.fi .SS Variables for HTML math .TP \f[B]\f[CB]classoption\f[B]\f[R]
pandoc.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.2 name: pandoc-version: 2.11.0.4+version: 2.11.1 build-type: Simple license: GPL-2.0-or-later license-file: COPYING.md@@ -405,8 +405,8 @@ bytestring >= 0.9 && < 0.12, case-insensitive >= 1.2 && < 1.3, citeproc >= 0.1.0.3 && < 0.2,- commonmark >= 0.1.0.2 && < 0.2,- commonmark-extensions >= 0.2 && < 0.3,+ commonmark >= 0.1.1 && < 0.2,+ commonmark-extensions >= 0.2.0.2 && < 0.3, commonmark-pandoc >= 0.2 && < 0.3, connection >= 0.3.1, containers >= 0.4.2.1 && < 0.7,
src/Text/Pandoc/App/Opt.hs view
@@ -367,6 +367,11 @@ foldr addItem o xs) <|> (parseYAML v >>= \(x :: Text) -> return $ \o -> addItem x o)+ "citation-abbreviations" ->+ parseYAML v >>= \x ->+ return (\o -> o{ optMetadata =+ addMeta "citation-abbreviations" (T.unpack x)+ (optMetadata o) }) "ipynb-output" -> parseYAML v >>= \x -> return (\o -> o{ optIpynbOutput = x }) "include-before-body" ->
src/Text/Pandoc/Citeproc.hs view
@@ -28,7 +28,7 @@ import Text.Pandoc (PandocMonad(..), PandocError(..), readDataFile, ReaderOptions(..), pandocExtensions, report, LogMessage(..), fetchItem)-import Text.Pandoc.Shared (stringify, ordNub, blocksToInlines)+import Text.Pandoc.Shared (stringify, ordNub, blocksToInlines, tshow) import qualified Text.Pandoc.UTF8 as UTF8 import Data.Aeson (eitherDecode) import Data.Default@@ -60,7 +60,7 @@ setResourcePath $ oldRp ++ maybe [] (\u -> [u <> "/csl", u <> "/csl/dependent"]) mbUdd- let fp' = if T.any (=='.') fp+ let fp' = if T.any (=='.') fp || "data:" `T.isPrefixOf` fp then fp else fp <> defaultExtension (result, _) <- fetchItem fp'@@ -90,7 +90,6 @@ UTF8.toText <$> catchError (getFile ".csl" basename) (\_ -> fst <$> fetchItem url) - -- TODO check .csl directory if not found styleRes <- Citeproc.parseStyle getParentStyle cslContents style <- case styleRes of@@ -164,8 +163,10 @@ _ -> id let Pandoc meta'' bs' =- maybe id (setMeta "nocite") metanocites $- walk (fixQuotes . mvPunct moveNotes locale) $ walk deNote $+ maybe id (setMeta "nocite") metanocites .+ walk (map capitalizeNoteCitation .+ fixQuotes . mvPunct moveNotes locale) .+ walk deNote . evalState (walkM insertResolvedCitations $ Pandoc meta' bs) $ cits return $ Pandoc meta''@@ -206,16 +207,18 @@ -> Maybe FilePath -> ByteString -> m [Reference Inlines]-getRefs locale format idpred mbfp raw =+getRefs locale format idpred mbfp raw = do+ let err' = throwError .+ PandocBibliographyError (maybe mempty T.pack mbfp) case format of Format_bibtex ->- either (throwError . PandocAppError . T.pack . show) return .+ either (err' . tshow) return . readBibtexString Bibtex locale idpred . UTF8.toText $ raw Format_biblatex ->- either (throwError . PandocAppError . T.pack . show) return .+ either (err' . tshow) return . readBibtexString Biblatex locale idpred . UTF8.toText $ raw Format_json ->- either (throwError . PandocAppError . T.pack)+ either (err' . T.pack) (return . filter (idpred . unItemId . referenceId)) . cslJsonToReferences $ raw Format_yaml -> do@@ -514,15 +517,33 @@ extractText (NumVal n) = T.pack (show n) extractText _ = mempty -deNote :: Inline -> Inline-deNote (Note bs) = Note $ walk go bs+capitalizeNoteCitation :: Inline -> Inline+capitalizeNoteCitation (Cite cs [Note [Para ils]]) =+ Cite cs+ [Note [Para $ B.toList $ addTextCase Nothing CapitalizeFirst+ $ B.fromList ils]]+capitalizeNoteCitation x = x++deNote :: [Inline] -> [Inline]+deNote [] = []+deNote (Note bs:rest) =+ Note (walk go bs) : deNote rest where- go (Note bs')- = Span ("",[],[]) (Space : Str "(" :- (removeFinalPeriod- (blocksToInlines bs')) ++ [Str ")"])+ go (Cite (c:cs) ils)+ | citationMode c == AuthorInText+ = Cite cs (concatMap noteAfterComma ils)+ | otherwise+ = Cite cs (concatMap noteInParens ils) go x = x-deNote x = x+ noteInParens (Note bs')+ = Space : Str "(" :+ removeFinalPeriod (blocksToInlines bs') ++ [Str ")"]+ noteInParens x = [x]+ noteAfterComma (Note bs')+ = Str "," : Space :+ removeFinalPeriod (blocksToInlines bs')+ noteAfterComma x = [x]+deNote (x:xs) = x : deNote xs -- Note: we can't use dropTextWhileEnd indiscriminately, -- because this would remove the final period on abbreviations like Ibid.
src/Text/Pandoc/Error.hs view
@@ -62,6 +62,7 @@ | PandocUnknownWriterError Text | PandocUnsupportedExtensionError Text Text | PandocCiteprocError CiteprocError+ | PandocBibliographyError Text Text deriving (Show, Typeable, Generic) instance Exception PandocError@@ -143,6 +144,8 @@ "for " <> f PandocCiteprocError e' -> err 24 $ prettyCiteprocError e'+ PandocBibliographyError fp msg -> err 25 $+ "Error reading bibliography file " <> fp <> ":\n" <> msg err :: Int -> Text -> IO a err exitCode msg = do
src/Text/Pandoc/Filter.hs view
@@ -47,11 +47,13 @@ parseYAML node = (withMap "Filter" $ \m -> do ty <- m .: "type"- fp <- m .: "path"+ fp <- m .:? "path"+ let missingPath = fail $ "Expected 'path' for filter of type " ++ show ty+ let filterWithPath constr = maybe missingPath (return . constr . T.unpack) case ty of "citeproc" -> return CiteprocFilter- "lua" -> return $ LuaFilter $ T.unpack fp- "json" -> return $ JSONFilter $ T.unpack fp+ "lua" -> filterWithPath LuaFilter fp+ "json" -> filterWithPath JSONFilter fp _ -> fail $ "Unknown filter type " ++ show (ty :: T.Text)) node <|> (withStr "Filter" $ \t -> do
src/Text/Pandoc/Readers/DocBook.hs view
@@ -794,11 +794,10 @@ "titleabbrev" -> skip "authorinitials" -> skip "bibliography" -> sect 0- "bibliodiv" -> do- tit <- case filterChild (named "title") e of- Just _ -> sect 1- Nothing -> return mempty- (tit <>) <$> parseMixed para (elContent e)+ "bibliodiv" ->+ case filterChild (named "title") e of+ Just _ -> sect 1+ Nothing -> return mempty "biblioentry" -> parseMixed para (elContent e) "bibliomisc" -> parseMixed para (elContent e) "bibliomixed" -> parseMixed para (elContent e)
src/Text/Pandoc/Readers/HTML.hs view
@@ -47,6 +47,7 @@ import qualified Text.Pandoc.Builder as B import Text.Pandoc.Class.PandocMonad (PandocMonad (..)) import Text.Pandoc.CSS (foldOrElse, pickStyleAttrProps)+import qualified Text.Pandoc.UTF8 as UTF8 import Text.Pandoc.Definition import Text.Pandoc.Readers.LaTeX (rawLaTeXInline) import Text.Pandoc.Readers.LaTeX.Types (Macro)@@ -65,6 +66,7 @@ import Text.Pandoc.Walk import Text.Parsec.Error import Text.TeXMath (readMathML, writeTeX)+import Data.ByteString.Base64 (encode) -- | Convert HTML-formatted string to 'Pandoc' document. readHtml :: PandocMonad m@@ -87,7 +89,7 @@ result <- flip runReaderT def $ runParserT parseDoc (HTMLState def{ stateOptions = opts }- [] Nothing Set.empty [] M.empty)+ [] Nothing Set.empty [] M.empty opts) "source" tags case result of Right doc -> return doc@@ -110,7 +112,8 @@ baseHref :: Maybe URI, identifiers :: Set.Set Text, logMessages :: [LogMessage],- macros :: M.Map Text Macro+ macros :: M.Map Text Macro,+ readerOpts :: ReaderOptions } data HTMLLocal = HTMLLocal { quoteContext :: QuoteContext@@ -183,6 +186,7 @@ , pDiv , pPlain , pFigure+ , pIframe , pRawHtmlBlock ] trace (T.take 60 $ tshow $ B.toList res)@@ -399,6 +403,18 @@ else kvs return $ B.divWith (ident, classes', kvs') contents +pIframe :: PandocMonad m => TagParser m Blocks+pIframe = try $ do+ guardDisabled Ext_raw_html+ tag <- pSatisfy (tagOpen (=="iframe") (isJust . lookup "src"))+ pCloses "iframe" <|> eof+ url <- canonicalizeUrl $ fromAttrib "src" tag+ (bs, _) <- openURL url+ let inp = UTF8.toText bs+ opts <- readerOpts <$> getState+ Pandoc _ contents <- readHtml opts inp+ return $ B.divWith ("",["iframe"],[]) $ B.fromList contents+ pRawHtmlBlock :: PandocMonad m => TagParser m Blocks pRawHtmlBlock = do raw <- pHtmlBlock "script" <|> pHtmlBlock "style" <|> pHtmlBlock "textarea"@@ -655,6 +671,7 @@ , pLineBreak , pLink , pImage+ , pSvg , pBdo , pCode , pCodeWithClass [("samp","sample"),("var","variable")]@@ -792,6 +809,19 @@ v -> [(k, v)] let kvs = concatMap getAtt ["width", "height", "sizes", "srcset"] return $ B.imageWith (uid, cls, kvs) (escapeURI url) title (B.text alt)++pSvg :: PandocMonad m => TagParser m Inlines+pSvg = do+ guardDisabled Ext_raw_html+ -- if raw_html enabled, parse svg tag as raw+ opent@(TagOpen _ attr') <- pSatisfy (matchTagOpen "svg" [])+ let (ident,cls,_) = toAttr attr'+ contents <- many (notFollowedBy (pCloses "svg") >> pAny)+ closet <- TagClose "svg" <$ (pCloses "svg" <|> eof)+ let rawText = T.strip $ renderTags' (opent : contents ++ [closet])+ let svgData = "data:image/svg+xml;base64," <>+ UTF8.toText (encode $ UTF8.fromText rawText)+ return $ B.imageWith (ident,cls,[]) svgData mempty mempty pCodeWithClass :: PandocMonad m => [(T.Text,Text)] -> TagParser m Inlines pCodeWithClass elemToClass = try $ do
src/Text/Pandoc/Readers/LaTeX.hs view
@@ -309,18 +309,19 @@ else doubleQuoted . langspan <$> withQuoteContext InDoubleQuote tok blockquote :: PandocMonad m => Bool -> Maybe Text -> LP m Blocks-blockquote citations mblang = do- citePar <- if citations- then do- cs <- cites NormalCitation False- return $ para (cite cs mempty)- else return mempty+blockquote cvariant mblang = do+ citepar <- if cvariant+ then (\xs -> para (cite xs mempty))+ <$> cites NormalCitation False+ else option mempty $ para <$> bracketed inline let lang = mblang >>= babelLangToBCP47 let langdiv = case lang of Nothing -> id Just l -> divWith ("",[],[("lang", renderLang l)])+ _closingPunct <- option mempty $ bracketed inline -- currently ignored bs <- grouped block- return $ blockQuote . langdiv $ (bs <> citePar)+ optional $ symbolIn (".:;?!" :: [Char]) -- currently ignored+ return $ blockQuote . langdiv $ (bs <> citepar) doAcronym :: PandocMonad m => Text -> LP m Inlines doAcronym form = do
src/Text/Pandoc/Readers/LaTeX/Parsing.hs view
@@ -484,7 +484,11 @@ Nothing -> mzero Just (Macro expansionPoint argspecs optarg newtoks) -> do let getargs' = do- args <- case optarg of+ args <-+ (case expansionPoint of+ ExpandWhenUsed -> withVerbatimMode+ ExpandWhenDefined -> id)+ $ case optarg of Nothing -> getargs M.empty argspecs Just o -> do x <- option o bracketedToks
src/Text/Pandoc/Writers/HTML.hs view
@@ -1089,16 +1089,18 @@ -> TableRow -> StateT WriterState m Html tableRowToHtml opts (TableRow tblpart attr rownum rowhead rowbody) = do- let rowclass = A.class_ $ case rownum of+ let rowclass = case rownum of Ann.RowNumber x | x `rem` 2 == 1 -> "odd" _ | tblpart /= Thead -> "even" _ -> "header"+ let attr' = case attr of+ (id', classes, rest) -> (id', rowclass:classes, rest) let celltype = case tblpart of Thead -> HeaderCell _ -> BodyCell headcells <- mapM (cellToHtml opts HeaderCell) rowhead bodycells <- mapM (cellToHtml opts celltype) rowbody- rowHtml <- addAttrs opts attr $ H.tr ! rowclass $ do+ rowHtml <- addAttrs opts attr' $ H.tr $ do nl opts mconcat headcells mconcat bodycells
src/Text/Pandoc/Writers/LaTeX.hs view
@@ -851,9 +851,6 @@ -> [[Block]] -> LW m (Doc Text) tableRowToLaTeX header aligns widths cols = do- -- scale factor compensates for extra space between columns- -- so the whole table isn't larger than columnwidth- let scaleFactor = 0.97 ** fromIntegral (length aligns) let isSimple [Plain _] = True isSimple [Para _] = True isSimple [] = True@@ -861,9 +858,10 @@ -- simple tables have to have simple cells: let widths' = if all (== 0) widths && not (all isSimple cols) then replicate (length aligns)- (scaleFactor / fromIntegral (length aligns))- else map (scaleFactor *) widths- cells <- mapM (tableCellToLaTeX header) $ zip3 widths' aligns cols+ (1 / fromIntegral (length aligns))+ else widths+ let numcols = length widths'+ cells <- mapM (tableCellToLaTeX header numcols) $ zip3 widths' aligns cols return $ hsep (intersperse "&" cells) <> "\\tabularnewline" -- For simple latex tables (without minipages or parboxes),@@ -890,11 +888,12 @@ displayMathToInline (Math DisplayMath x) = Math InlineMath x displayMathToInline x = x -tableCellToLaTeX :: PandocMonad m => Bool -> (Double, Alignment, [Block])+tableCellToLaTeX :: PandocMonad m+ => Bool -> Int -> (Double, Alignment, [Block]) -> LW m (Doc Text)-tableCellToLaTeX _ (0, _, blocks) =+tableCellToLaTeX _ _ (0, _, blocks) = blockListToLaTeX $ walk fixLineBreaks $ walk displayMathToInline blocks-tableCellToLaTeX header (width, align, blocks) = do+tableCellToLaTeX header numcols (width, align, blocks) = do beamer <- gets stBeamer externalNotes <- gets stExternalNotes inMinipage <- gets stInMinipage@@ -912,9 +911,12 @@ AlignCenter -> "\\centering" AlignDefault -> "\\raggedright" return $ "\\begin{minipage}" <> valign <>- braces (text (printf "%.2f\\columnwidth" width)) <>+ braces (text (printf+ "(\\columnwidth - %d\\tabcolsep) * \\real{%.2f}"+ (numcols - 1) width)) <> halign <> cr <> cellContents <> "\\strut" <> cr <> "\\end{minipage}"+-- (\columnwidth - 8\tabcolsep) * \real{0.15} notesToLaTeX :: [Doc Text] -> Doc Text notesToLaTeX [] = empty
stack.yaml view
@@ -19,10 +19,11 @@ - HsYAML-0.2.1.0 - HsYAML-aeson-0.2.0.0 - doctemplates-0.8.2-- commonmark-0.1.0.2-- commonmark-extensions-0.2.0.1+- commonmark-0.1.1+- commonmark-extensions-0.2.0.2 - commonmark-pandoc-0.2.0.1-- citeproc-0.1.0.3+- git: https://github.com/jgm/citeproc+ commit: 1860f189e9995c1dc27a68893bedfbf8de1ee67f ghc-options: "$locals": -fhide-source-paths -Wno-missing-home-modules
test/command/5367.md view
@@ -23,18 +23,18 @@ \begin{longtable}[]{@{}c@{}} \caption[Sample table.]{Sample table.\footnote{caption footnote}}\tabularnewline \toprule-\begin{minipage}[b]{0.16\columnwidth}\centering+\begin{minipage}[b]{(\columnwidth - 0\tabcolsep) * \real{0.17}}\centering Fruit\footnote{header footnote}\strut \end{minipage}\tabularnewline \midrule \endfirsthead \toprule-\begin{minipage}[b]{0.16\columnwidth}\centering+\begin{minipage}[b]{(\columnwidth - 0\tabcolsep) * \real{0.17}}\centering Fruit{}\strut \end{minipage}\tabularnewline \midrule \endhead-\begin{minipage}[t]{0.16\columnwidth}\centering+\begin{minipage}[t]{(\columnwidth - 0\tabcolsep) * \real{0.17}}\centering Bans\footnote{table cell footnote}\strut \end{minipage}\tabularnewline \bottomrule
+ test/command/6783.md view
@@ -0,0 +1,26 @@+```+% pandoc -f markdown -t plain -s --citeproc+---+references:+- author:+ - family: Jupyter+ given: Project+ container-title: Proceedings of the 17th Python in Science Conference+ id: 'ref-1'+ issued: 2018+ title: 'Binder 2.0 - Reproducible, interactive, sharable environments for science at scale'+ type: 'paper-conference'+ volume:+...++This is a test[@ref-1].+^D+++This is a test(Jupyter 2018).++Jupyter, Project. 2018. “Binder 2.0 - Reproducible, Interactive,+Sharable Environments for Science at Scale.” In Proceedings of the 17th+Python in Science Conference.+```+
+ test/command/6796.md view
@@ -0,0 +1,16 @@+```+% pandoc -f latex -t markdown+\newcommand{\cL}{\mathcal{L}}+\newcommand{\til}[1]{\tilde{#1}}++$$\til\cL$$++\newcommand{\mc}[1]{\mathcal{#1}}+\newcommand{\dL}{\mc{L}}++$$\til\dL$$+^D+$$\tilde{\mathcal{L}}$$++$$\tilde{\mathcal{L}}$$+```
+ test/command/6802.md view
@@ -0,0 +1,9 @@+```+% pandoc -f latex -t native+\blockquote[test][]{quote}+^D+[BlockQuote+ [Para [Str "quote"]+ ,Para [Str "test"]]]++```
+ test/command/docbook-bibliography.md view
@@ -0,0 +1,20 @@+```+% pandoc -f docbook -t native --quiet+<bibliodiv>+<title>Document References</title>+<bibliomixed>+<bibliomisc><anchor xml:id="refTheFirst" xreflabel="[1]"/>[1] First reference</bibliomisc>+</bibliomixed>+<bibliomixed>+<bibliomisc><anchor xml:id="refTheSecond" xreflabel="[2]"/>[2] Second reference</bibliomisc>+</bibliomixed>+<bibliomixed>+<bibliomisc><anchor xml:id="refTheThird" xreflabel="[3]"/>[3] Third reference</bibliomisc>+</bibliomixed>+</bibliodiv>+^D+[Header 1 ("",[],[]) [Str "Document",Space,Str "References"]+,Para [Span ("refTheFirst",[],[]) [],Str "[1]",Space,Str "First",Space,Str "reference"]+,Para [Span ("refTheSecond",[],[]) [],Str "[2]",Space,Str "Second",Space,Str "reference"]+,Para [Span ("refTheThird",[],[]) [],Str "[3]",Space,Str "Third",Space,Str "reference"]]+```
test/command/pandoc-citeproc-chicago-fullnote-bibliography.md view
@@ -114,7 +114,7 @@ Roe, "Why Water Is Wet," in *Third Book*, ed. Sam Smith (Oxford: Oxford University Press, 2007)](#ref-пункт3). -[^7]: [Doe and Roe](#ref-пункт3) (["Why Water Is Wet," 12](#ref-пункт3))+[^7]: [Doe and Roe](#ref-пункт3), ["Why Water Is Wet," 12](#ref-пункт3) and a citation without locators ([Doe and Roe, "Why Water Is Wet"](#ref-пункт3)). @@ -123,7 +123,7 @@ [^9]: See [Doe, *First Book*, 2005, 34--35](#ref-item1). -[^10]: Some citations (See [Doe, chap. 3](#ref-item1); [Doe and Roe,+[^10]: Some citations (see [Doe, chap. 3](#ref-item1); [Doe and Roe, "Why Water Is Wet"](#ref-пункт3); [Doe, "Article," 2006](#ref-item2)).
test/command/pandoc-citeproc-locators-integrated.md view
@@ -29,7 +29,7 @@ [@citekey, p. \[89\]] -[@citekey and nothing else].+[@citekey and nothing else] [@citekey, 123(4)\[5\]6, and suffix] @@ -79,7 +79,7 @@ [^9] -.[^10]+[^10] [^11]
test/lhs-test.html view
@@ -7,7 +7,7 @@ <title>lhs-test</title> <style> html {- line-height: 1.7;+ line-height: 1.5; font-family: Georgia, serif; font-size: 20px; color: #1a1a1a;@@ -15,7 +15,7 @@ } body { margin: 0 auto;- max-width: 40em;+ max-width: 36em; padding-left: 50px; padding-right: 50px; padding-top: 50px;@@ -35,6 +35,7 @@ body { background-color: transparent; color: black;+ font-size: 12pt; } p, h2, h3 { orphans: 3;@@ -45,7 +46,7 @@ } } p {- margin-top: 1.7em;+ margin: 1em 0; } a { color: #1a1a1a;@@ -57,59 +58,82 @@ max-width: 100%; } h1, h2, h3, h4, h5, h6 {- margin-top: 1.7em;+ margin-top: 1.4em; }+ h5, h6 {+ font-size: 1em;+ font-style: italic;+ }+ h6 {+ font-weight: normal;+ } ol, ul { padding-left: 1.7em;- margin-top: 1.7em;+ margin-top: 1em; } li > ol, li > ul { margin-top: 0; } blockquote {- margin: 1.7em 0 1.7em 1.7em;+ margin: 1em 0 1em 1.7em; padding-left: 1em; border-left: 2px solid #e6e6e6;- font-style: italic;+ color: #606060; } code { font-family: Menlo, Monaco, 'Lucida Console', Consolas, monospace;- background-color: #f0f0f0; font-size: 85%; margin: 0;- padding: .2em .4em; } pre {- line-height: 1.5em;- padding: 1em;- background-color: #f0f0f0;+ margin: 1em 0; overflow: auto; } pre code { padding: 0; overflow: visible; }+ .sourceCode {+ background-color: transparent;+ overflow: visible;+ } hr { background-color: #1a1a1a; border: none; height: 1px;- margin-top: 1.7em;+ margin: 1em 0; } table {+ margin: 1em 0; border-collapse: collapse; width: 100%; overflow-x: auto; display: block;+ font-variant-numeric: lining-nums tabular-nums; }- th, td {- border-bottom: 1px solid lightgray;- padding: 1em 3em 1em 0;+ table caption {+ margin-bottom: 0.75em; }+ tbody {+ margin-top: 0.5em;+ border-top: 1px solid #1a1a1a;+ border-bottom: 1px solid #1a1a1a;+ }+ th {+ border-top: 1px solid #1a1a1a;+ padding: 0.25em 0.5em 0.25em 0.5em;+ }+ td {+ padding: 0.125em 0.5em 0.25em 0.5em;+ } header {- margin-bottom: 6em;+ margin-bottom: 4em; text-align: center; }- nav a:not(:hover) {+ #TOC li {+ list-style: none;+ }+ #TOC a:not(:hover) { text-decoration: none; } code{white-space: pre-wrap;}
test/lhs-test.html+lhs view
@@ -7,7 +7,7 @@ <title>lhs-test</title> <style> html {- line-height: 1.7;+ line-height: 1.5; font-family: Georgia, serif; font-size: 20px; color: #1a1a1a;@@ -15,7 +15,7 @@ } body { margin: 0 auto;- max-width: 40em;+ max-width: 36em; padding-left: 50px; padding-right: 50px; padding-top: 50px;@@ -35,6 +35,7 @@ body { background-color: transparent; color: black;+ font-size: 12pt; } p, h2, h3 { orphans: 3;@@ -45,7 +46,7 @@ } } p {- margin-top: 1.7em;+ margin: 1em 0; } a { color: #1a1a1a;@@ -57,59 +58,82 @@ max-width: 100%; } h1, h2, h3, h4, h5, h6 {- margin-top: 1.7em;+ margin-top: 1.4em; }+ h5, h6 {+ font-size: 1em;+ font-style: italic;+ }+ h6 {+ font-weight: normal;+ } ol, ul { padding-left: 1.7em;- margin-top: 1.7em;+ margin-top: 1em; } li > ol, li > ul { margin-top: 0; } blockquote {- margin: 1.7em 0 1.7em 1.7em;+ margin: 1em 0 1em 1.7em; padding-left: 1em; border-left: 2px solid #e6e6e6;- font-style: italic;+ color: #606060; } code { font-family: Menlo, Monaco, 'Lucida Console', Consolas, monospace;- background-color: #f0f0f0; font-size: 85%; margin: 0;- padding: .2em .4em; } pre {- line-height: 1.5em;- padding: 1em;- background-color: #f0f0f0;+ margin: 1em 0; overflow: auto; } pre code { padding: 0; overflow: visible; }+ .sourceCode {+ background-color: transparent;+ overflow: visible;+ } hr { background-color: #1a1a1a; border: none; height: 1px;- margin-top: 1.7em;+ margin: 1em 0; } table {+ margin: 1em 0; border-collapse: collapse; width: 100%; overflow-x: auto; display: block;+ font-variant-numeric: lining-nums tabular-nums; }- th, td {- border-bottom: 1px solid lightgray;- padding: 1em 3em 1em 0;+ table caption {+ margin-bottom: 0.75em; }+ tbody {+ margin-top: 0.5em;+ border-top: 1px solid #1a1a1a;+ border-bottom: 1px solid #1a1a1a;+ }+ th {+ border-top: 1px solid #1a1a1a;+ padding: 0.25em 0.5em 0.25em 0.5em;+ }+ td {+ padding: 0.125em 0.5em 0.25em 0.5em;+ } header {- margin-bottom: 6em;+ margin-bottom: 4em; text-align: center; }- nav a:not(:hover) {+ #TOC li {+ list-style: none;+ }+ #TOC a:not(:hover) { text-decoration: none; } code{white-space: pre-wrap;}
test/tables.latex view
@@ -52,45 +52,57 @@ \begin{longtable}[]{@{}clrl@{}} \caption{Here's the caption. It may span multiple lines.}\tabularnewline \toprule-\begin{minipage}[b]{0.13\columnwidth}\centering+\begin{minipage}[b]{(\columnwidth - 3\tabcolsep) * \real{0.15}}\centering Centered Header\strut-\end{minipage} & \begin{minipage}[b]{0.12\columnwidth}\raggedright+\end{minipage} &+\begin{minipage}[b]{(\columnwidth - 3\tabcolsep) * \real{0.14}}\raggedright Left Aligned\strut-\end{minipage} & \begin{minipage}[b]{0.14\columnwidth}\raggedleft+\end{minipage} &+\begin{minipage}[b]{(\columnwidth - 3\tabcolsep) * \real{0.16}}\raggedleft Right Aligned\strut-\end{minipage} & \begin{minipage}[b]{0.31\columnwidth}\raggedright+\end{minipage} &+\begin{minipage}[b]{(\columnwidth - 3\tabcolsep) * \real{0.35}}\raggedright Default aligned\strut \end{minipage}\tabularnewline \midrule \endfirsthead \toprule-\begin{minipage}[b]{0.13\columnwidth}\centering+\begin{minipage}[b]{(\columnwidth - 3\tabcolsep) * \real{0.15}}\centering Centered Header\strut-\end{minipage} & \begin{minipage}[b]{0.12\columnwidth}\raggedright+\end{minipage} &+\begin{minipage}[b]{(\columnwidth - 3\tabcolsep) * \real{0.14}}\raggedright Left Aligned\strut-\end{minipage} & \begin{minipage}[b]{0.14\columnwidth}\raggedleft+\end{minipage} &+\begin{minipage}[b]{(\columnwidth - 3\tabcolsep) * \real{0.16}}\raggedleft Right Aligned\strut-\end{minipage} & \begin{minipage}[b]{0.31\columnwidth}\raggedright+\end{minipage} &+\begin{minipage}[b]{(\columnwidth - 3\tabcolsep) * \real{0.35}}\raggedright Default aligned\strut \end{minipage}\tabularnewline \midrule \endhead-\begin{minipage}[t]{0.13\columnwidth}\centering+\begin{minipage}[t]{(\columnwidth - 3\tabcolsep) * \real{0.15}}\centering First\strut-\end{minipage} & \begin{minipage}[t]{0.12\columnwidth}\raggedright+\end{minipage} &+\begin{minipage}[t]{(\columnwidth - 3\tabcolsep) * \real{0.14}}\raggedright row\strut-\end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedleft+\end{minipage} &+\begin{minipage}[t]{(\columnwidth - 3\tabcolsep) * \real{0.16}}\raggedleft 12.0\strut-\end{minipage} & \begin{minipage}[t]{0.31\columnwidth}\raggedright+\end{minipage} &+\begin{minipage}[t]{(\columnwidth - 3\tabcolsep) * \real{0.35}}\raggedright Example of a row that spans multiple lines.\strut \end{minipage}\tabularnewline-\begin{minipage}[t]{0.13\columnwidth}\centering+\begin{minipage}[t]{(\columnwidth - 3\tabcolsep) * \real{0.15}}\centering Second\strut-\end{minipage} & \begin{minipage}[t]{0.12\columnwidth}\raggedright+\end{minipage} &+\begin{minipage}[t]{(\columnwidth - 3\tabcolsep) * \real{0.14}}\raggedright row\strut-\end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedleft+\end{minipage} &+\begin{minipage}[t]{(\columnwidth - 3\tabcolsep) * \real{0.16}}\raggedleft 5.0\strut-\end{minipage} & \begin{minipage}[t]{0.31\columnwidth}\raggedright+\end{minipage} &+\begin{minipage}[t]{(\columnwidth - 3\tabcolsep) * \real{0.35}}\raggedright Here's another one. Note the blank line between rows.\strut \end{minipage}\tabularnewline \bottomrule@@ -100,33 +112,42 @@ \begin{longtable}[]{@{}clrl@{}} \toprule-\begin{minipage}[b]{0.13\columnwidth}\centering+\begin{minipage}[b]{(\columnwidth - 3\tabcolsep) * \real{0.15}}\centering Centered Header\strut-\end{minipage} & \begin{minipage}[b]{0.12\columnwidth}\raggedright+\end{minipage} &+\begin{minipage}[b]{(\columnwidth - 3\tabcolsep) * \real{0.14}}\raggedright Left Aligned\strut-\end{minipage} & \begin{minipage}[b]{0.14\columnwidth}\raggedleft+\end{minipage} &+\begin{minipage}[b]{(\columnwidth - 3\tabcolsep) * \real{0.16}}\raggedleft Right Aligned\strut-\end{minipage} & \begin{minipage}[b]{0.31\columnwidth}\raggedright+\end{minipage} &+\begin{minipage}[b]{(\columnwidth - 3\tabcolsep) * \real{0.35}}\raggedright Default aligned\strut \end{minipage}\tabularnewline \midrule \endhead-\begin{minipage}[t]{0.13\columnwidth}\centering+\begin{minipage}[t]{(\columnwidth - 3\tabcolsep) * \real{0.15}}\centering First\strut-\end{minipage} & \begin{minipage}[t]{0.12\columnwidth}\raggedright+\end{minipage} &+\begin{minipage}[t]{(\columnwidth - 3\tabcolsep) * \real{0.14}}\raggedright row\strut-\end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedleft+\end{minipage} &+\begin{minipage}[t]{(\columnwidth - 3\tabcolsep) * \real{0.16}}\raggedleft 12.0\strut-\end{minipage} & \begin{minipage}[t]{0.31\columnwidth}\raggedright+\end{minipage} &+\begin{minipage}[t]{(\columnwidth - 3\tabcolsep) * \real{0.35}}\raggedright Example of a row that spans multiple lines.\strut \end{minipage}\tabularnewline-\begin{minipage}[t]{0.13\columnwidth}\centering+\begin{minipage}[t]{(\columnwidth - 3\tabcolsep) * \real{0.15}}\centering Second\strut-\end{minipage} & \begin{minipage}[t]{0.12\columnwidth}\raggedright+\end{minipage} &+\begin{minipage}[t]{(\columnwidth - 3\tabcolsep) * \real{0.14}}\raggedright row\strut-\end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedleft+\end{minipage} &+\begin{minipage}[t]{(\columnwidth - 3\tabcolsep) * \real{0.16}}\raggedleft 5.0\strut-\end{minipage} & \begin{minipage}[t]{0.31\columnwidth}\raggedright+\end{minipage} &+\begin{minipage}[t]{(\columnwidth - 3\tabcolsep) * \real{0.35}}\raggedright Here's another one. Note the blank line between rows.\strut \end{minipage}\tabularnewline \bottomrule@@ -148,22 +169,28 @@ \begin{longtable}[]{@{}clrl@{}} \toprule \endhead-\begin{minipage}[t]{0.13\columnwidth}\centering+\begin{minipage}[t]{(\columnwidth - 3\tabcolsep) * \real{0.15}}\centering First\strut-\end{minipage} & \begin{minipage}[t]{0.12\columnwidth}\raggedright+\end{minipage} &+\begin{minipage}[t]{(\columnwidth - 3\tabcolsep) * \real{0.14}}\raggedright row\strut-\end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedleft+\end{minipage} &+\begin{minipage}[t]{(\columnwidth - 3\tabcolsep) * \real{0.16}}\raggedleft 12.0\strut-\end{minipage} & \begin{minipage}[t]{0.31\columnwidth}\raggedright+\end{minipage} &+\begin{minipage}[t]{(\columnwidth - 3\tabcolsep) * \real{0.35}}\raggedright Example of a row that spans multiple lines.\strut \end{minipage}\tabularnewline-\begin{minipage}[t]{0.13\columnwidth}\centering+\begin{minipage}[t]{(\columnwidth - 3\tabcolsep) * \real{0.15}}\centering Second\strut-\end{minipage} & \begin{minipage}[t]{0.12\columnwidth}\raggedright+\end{minipage} &+\begin{minipage}[t]{(\columnwidth - 3\tabcolsep) * \real{0.14}}\raggedright row\strut-\end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedleft+\end{minipage} &+\begin{minipage}[t]{(\columnwidth - 3\tabcolsep) * \real{0.16}}\raggedleft 5.0\strut-\end{minipage} & \begin{minipage}[t]{0.31\columnwidth}\raggedright+\end{minipage} &+\begin{minipage}[t]{(\columnwidth - 3\tabcolsep) * \real{0.35}}\raggedright Here's another one. Note the blank line between rows.\strut \end{minipage}\tabularnewline \bottomrule
test/tables/nordics.html4 view
@@ -17,38 +17,38 @@ </tr> </thead> <tbody class="souvereign-states">-<tr class="odd" class="country">+<tr class="odd country"> <th align="center">Denmark</th> <td align="left">Copenhagen</td> <td align="left">5,809,502</td> <td align="left">43,094</td> </tr>-<tr class="even" class="country">+<tr class="even country"> <th align="center">Finland</th> <td align="left">Helsinki</td> <td align="left">5,537,364</td> <td align="left">338,145</td> </tr>-<tr class="odd" class="country">+<tr class="odd country"> <th align="center">Iceland</th> <td align="left">Reykjavik</td> <td align="left">343,518</td> <td align="left">103,000</td> </tr>-<tr class="even" class="country">+<tr class="even country"> <th align="center">Norway</th> <td align="left">Oslo</td> <td align="left">5,372,191</td> <td align="left">323,802</td> </tr>-<tr class="odd" class="country">+<tr class="odd country"> <th align="center">Sweden</th> <td align="left">Stockholm</td> <td align="left">10,313,447</td> <td align="left">450,295</td> </tr> </tbody><tfoot>-<tr class="even" id="summary">+<tr id="summary" class="even"> <td align="center">Total</td> <td align="left"></td> <td align="left" id="total-population">27,376,022</td>
test/tables/nordics.html5 view
@@ -17,38 +17,38 @@ </tr> </thead> <tbody class="souvereign-states">-<tr class="odd" class="country">+<tr class="odd country"> <th style="text-align: center;">Denmark</th> <td style="text-align: left;">Copenhagen</td> <td style="text-align: left;">5,809,502</td> <td style="text-align: left;">43,094</td> </tr>-<tr class="even" class="country">+<tr class="even country"> <th style="text-align: center;">Finland</th> <td style="text-align: left;">Helsinki</td> <td style="text-align: left;">5,537,364</td> <td style="text-align: left;">338,145</td> </tr>-<tr class="odd" class="country">+<tr class="odd country"> <th style="text-align: center;">Iceland</th> <td style="text-align: left;">Reykjavik</td> <td style="text-align: left;">343,518</td> <td style="text-align: left;">103,000</td> </tr>-<tr class="even" class="country">+<tr class="even country"> <th style="text-align: center;">Norway</th> <td style="text-align: left;">Oslo</td> <td style="text-align: left;">5,372,191</td> <td style="text-align: left;">323,802</td> </tr>-<tr class="odd" class="country">+<tr class="odd country"> <th style="text-align: center;">Sweden</th> <td style="text-align: left;">Stockholm</td> <td style="text-align: left;">10,313,447</td> <td style="text-align: left;">450,295</td> </tr> </tbody><tfoot>-<tr class="even" id="summary">+<tr id="summary" class="even"> <td style="text-align: center;">Total</td> <td style="text-align: left;"></td> <td style="text-align: left;" id="total-population">27,376,022</td>
test/writer.html4 view
@@ -10,7 +10,7 @@ <title>Pandoc Test Suite</title> <style type="text/css"> html {- line-height: 1.7;+ line-height: 1.5; font-family: Georgia, serif; font-size: 20px; color: #1a1a1a;@@ -18,7 +18,7 @@ } body { margin: 0 auto;- max-width: 40em;+ max-width: 36em; padding-left: 50px; padding-right: 50px; padding-top: 50px;@@ -38,6 +38,7 @@ body { background-color: transparent; color: black;+ font-size: 12pt; } p, h2, h3 { orphans: 3;@@ -48,7 +49,7 @@ } } p {- margin-top: 1.7em;+ margin: 1em 0; } a { color: #1a1a1a;@@ -60,59 +61,82 @@ max-width: 100%; } h1, h2, h3, h4, h5, h6 {- margin-top: 1.7em;+ margin-top: 1.4em; }+ h5, h6 {+ font-size: 1em;+ font-style: italic;+ }+ h6 {+ font-weight: normal;+ } ol, ul { padding-left: 1.7em;- margin-top: 1.7em;+ margin-top: 1em; } li > ol, li > ul { margin-top: 0; } blockquote {- margin: 1.7em 0 1.7em 1.7em;+ margin: 1em 0 1em 1.7em; padding-left: 1em; border-left: 2px solid #e6e6e6;- font-style: italic;+ color: #606060; } code { font-family: Menlo, Monaco, 'Lucida Console', Consolas, monospace;- background-color: #f0f0f0; font-size: 85%; margin: 0;- padding: .2em .4em; } pre {- line-height: 1.5em;- padding: 1em;- background-color: #f0f0f0;+ margin: 1em 0; overflow: auto; } pre code { padding: 0; overflow: visible; }+ .sourceCode {+ background-color: transparent;+ overflow: visible;+ } hr { background-color: #1a1a1a; border: none; height: 1px;- margin-top: 1.7em;+ margin: 1em 0; } table {+ margin: 1em 0; border-collapse: collapse; width: 100%; overflow-x: auto; display: block;+ font-variant-numeric: lining-nums tabular-nums; }- th, td {- border-bottom: 1px solid lightgray;- padding: 1em 3em 1em 0;+ table caption {+ margin-bottom: 0.75em; }+ tbody {+ margin-top: 0.5em;+ border-top: 1px solid #1a1a1a;+ border-bottom: 1px solid #1a1a1a;+ }+ th {+ border-top: 1px solid #1a1a1a;+ padding: 0.25em 0.5em 0.25em 0.5em;+ }+ td {+ padding: 0.125em 0.5em 0.25em 0.5em;+ } header {- margin-bottom: 6em;+ margin-bottom: 4em; text-align: center; }- nav a:not(:hover) {+ #TOC li {+ list-style: none;+ }+ #TOC a:not(:hover) { text-decoration: none; } code{white-space: pre-wrap;}
test/writer.html5 view
@@ -10,7 +10,7 @@ <title>Pandoc Test Suite</title> <style> html {- line-height: 1.7;+ line-height: 1.5; font-family: Georgia, serif; font-size: 20px; color: #1a1a1a;@@ -18,7 +18,7 @@ } body { margin: 0 auto;- max-width: 40em;+ max-width: 36em; padding-left: 50px; padding-right: 50px; padding-top: 50px;@@ -38,6 +38,7 @@ body { background-color: transparent; color: black;+ font-size: 12pt; } p, h2, h3 { orphans: 3;@@ -48,7 +49,7 @@ } } p {- margin-top: 1.7em;+ margin: 1em 0; } a { color: #1a1a1a;@@ -60,59 +61,82 @@ max-width: 100%; } h1, h2, h3, h4, h5, h6 {- margin-top: 1.7em;+ margin-top: 1.4em; }+ h5, h6 {+ font-size: 1em;+ font-style: italic;+ }+ h6 {+ font-weight: normal;+ } ol, ul { padding-left: 1.7em;- margin-top: 1.7em;+ margin-top: 1em; } li > ol, li > ul { margin-top: 0; } blockquote {- margin: 1.7em 0 1.7em 1.7em;+ margin: 1em 0 1em 1.7em; padding-left: 1em; border-left: 2px solid #e6e6e6;- font-style: italic;+ color: #606060; } code { font-family: Menlo, Monaco, 'Lucida Console', Consolas, monospace;- background-color: #f0f0f0; font-size: 85%; margin: 0;- padding: .2em .4em; } pre {- line-height: 1.5em;- padding: 1em;- background-color: #f0f0f0;+ margin: 1em 0; overflow: auto; } pre code { padding: 0; overflow: visible; }+ .sourceCode {+ background-color: transparent;+ overflow: visible;+ } hr { background-color: #1a1a1a; border: none; height: 1px;- margin-top: 1.7em;+ margin: 1em 0; } table {+ margin: 1em 0; border-collapse: collapse; width: 100%; overflow-x: auto; display: block;+ font-variant-numeric: lining-nums tabular-nums; }- th, td {- border-bottom: 1px solid lightgray;- padding: 1em 3em 1em 0;+ table caption {+ margin-bottom: 0.75em; }+ tbody {+ margin-top: 0.5em;+ border-top: 1px solid #1a1a1a;+ border-bottom: 1px solid #1a1a1a;+ }+ th {+ border-top: 1px solid #1a1a1a;+ padding: 0.25em 0.5em 0.25em 0.5em;+ }+ td {+ padding: 0.125em 0.5em 0.25em 0.5em;+ } header {- margin-bottom: 6em;+ margin-bottom: 4em; text-align: center; }- nav a:not(:hover) {+ #TOC li {+ list-style: none;+ }+ #TOC a:not(:hover) { text-decoration: none; } code{white-space: pre-wrap;}
test/writer.jats_archiving view
@@ -4,8 +4,10 @@ <article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="1.2" article-type="other"> <front> <journal-meta>+<journal-id></journal-id> <journal-title-group> </journal-title-group>+<issn></issn> <publisher> <publisher-name></publisher-name> </publisher>
test/writer.jats_publishing view
@@ -4,8 +4,10 @@ <article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="1.2" article-type="other"> <front> <journal-meta>+<journal-id></journal-id> <journal-title-group> </journal-title-group>+<issn></issn> <publisher> <publisher-name></publisher-name> </publisher>