diff --git a/MANUAL.txt b/MANUAL.txt
--- a/MANUAL.txt
+++ b/MANUAL.txt
@@ -1,7 +1,7 @@
 ---
 title: Pandoc User's Guide
 author: John MacFarlane
-date: February 17, 2024
+date: February 29, 2024
 ---
 
 # Synopsis
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,68 @@
 # Revision history for pandoc
 
+## pandoc 3.1.12.2 (2024-02-29)
+
+  * Docx reader:
+
+    + Ensure that table captions are counted (#9518).
+    + Detect caption by style name not id (#9518).
+      The styleId can change depending on the localization.
+    + Avoid emitting empty paragraph where caption was.
+
+  * Markdown reader: fix regression in link parsing with wikilinks extensions
+    (#9481).  This fixes a regression introduced in 3.1.12.
+
+  * Org reader/writer: support admonitions (#9475).
+
+  * Org writer: omit extra blank line at end of quote block.
+
+  * Typst writer: ensure that `-`, `+`, etc. are escaped at beginning of block
+    (#9478). Our recent relaxing of escaping (#9386) caused problems for
+    things like emphasized `-` characters that were rendered using
+    `#strong[-]#`.  This now gets rendered as `#strong[\-]`.
+
+  * LaTeX writer: fix bug when a language is specified in two different ways
+    (#9472). If you used `lang: de-DE` but then had a span or div with
+    `lang=de`, the preamble would try to load `ngerman` twice, leading
+    to an error. This fix ensures that a language is only loaded once.
+
+  * Docx writer: Don't copy over `footnotePr` in `settings.xml`
+    from reference.docx (#9522).
+
+  * EPUB writer: omit EPUB2-specific meta tag on EPUB3 (#9493).
+    This caused a validation failure in epubs with cover images.
+
+  * Lua: avoid crashing when an error message is not valid UTF-8 (Albert
+    Krewinkel).
+
+  * Text.Pandoc.SelfContained:
+
+    + Add `role="img"` to svgs.
+    + Add `aria-label` to svg elements with `alt` text if present.
+      Screen readers ignore `alt` attributes on svg elements but do
+      pay attention to `aria-label` (#9525).
+
+  * Text.Pandoc.Shared: Fix regression in section numbering in
+    `makeSections` (#9516). Starting with pandoc 3.1.12, unnumbered
+    sections incremented the section number.
+
+  * Text.Pandoc.Class: fix `openUrl` TLS negotiation (#9483).
+    With the release of TLS 2.0.0, the TLS library started requiring
+    Extended Main Secret for the TLS handshake. This caused problems
+    connecting to zotero's server and others that do not support TLS 1.3.
+    This commit relaxes this requirement.
+
+  * Depend on djot 0.1.1.0 (fixes rendering on multiline block attributes).
+
+  * Use new releases of skylighting-format-blaze-html (#9520).
+    Fixes auto-wrapping of long source lines in HTML print media.
+
+  * Use new commonmark-extensions (fixes issue with the
+    `rebase_relative_paths` extension when used with commonmark/gfm.
+
+  * Makefile: improve epub-validation target (#9493).
+    Use `--epub-cover-image` to catch issues that only arise with that.
+
 ## pandoc 3.1.12.1 (2024-02-17)
 
   * EPUB writer: omit EPUBv3-specific accessibility features on epub2
diff --git a/pandoc.cabal b/pandoc.cabal
--- a/pandoc.cabal
+++ b/pandoc.cabal
@@ -1,6 +1,6 @@
 cabal-version:   2.4
 name:            pandoc
-version:         3.1.12.1
+version:         3.1.12.2
 build-type:      Simple
 license:         GPL-2.0-or-later
 license-file:    COPYING.md
@@ -478,7 +478,7 @@
                  case-insensitive      >= 1.2      && < 1.3,
                  citeproc              >= 0.8.1    && < 0.9,
                  commonmark            >= 0.2.5.1  && < 0.3,
-                 commonmark-extensions >= 0.2.5.2  && < 0.3,
+                 commonmark-extensions >= 0.2.5.3  && < 0.3,
                  commonmark-pandoc     >= 0.2.2.1  && < 0.3,
                  containers            >= 0.6.0.1  && < 0.8,
                  crypton-connection    >= 0.3.1    && < 0.4,
@@ -528,7 +528,9 @@
                  xml                   >= 1.3.12   && < 1.4,
                  typst                 >= 0.5.0.1  && < 0.5.1,
                  vector                >= 0.12     && < 0.14,
-                 djot                  >= 0.1      && < 0.2
+                 djot                  >= 0.1.1.0  && < 0.2,
+                 tls                   >= 2.0.1    && < 2.1,
+                 crypton-x509-system   >= 1.6.7    && < 1.7
 
   if !os(windows)
     build-depends:  unix >= 2.4 && < 2.9
diff --git a/src/Text/Pandoc/Class/IO.hs b/src/Text/Pandoc/Class/IO.hs
--- a/src/Text/Pandoc/Class/IO.hs
+++ b/src/Text/Pandoc/Class/IO.hs
@@ -42,7 +42,9 @@
 import Data.Text (Text, pack, unpack)
 import Data.Time (TimeZone, UTCTime)
 import Data.Unique (hashUnique)
-import Network.Connection (TLSSettings (TLSSettingsSimple))
+import Network.Connection (TLSSettings(..))
+import qualified Network.TLS as TLS
+import qualified Network.TLS.Extra as TLS
 import Network.HTTP.Client
        (httpLbs, responseBody, responseHeaders,
         Request(port, host, requestHeaders), parseRequest, newManager)
@@ -69,6 +71,7 @@
 import Text.Pandoc.Walk (walk)
 import qualified Control.Exception as E
 import qualified Data.ByteString as B
+import qualified Data.ByteString.Char8 as B8
 import qualified Data.ByteString.Lazy as BL
 import qualified Data.CaseInsensitive as CI
 import qualified Data.Text as T
@@ -80,6 +83,8 @@
 import qualified System.FilePath.Glob
 import qualified System.Random
 import qualified Text.Pandoc.UTF8 as UTF8
+import Data.Default (def)
+import System.X509 (getSystemCertificateStore)
 #ifndef EMBED_DATA_FILES
 import qualified Paths_pandoc as Paths
 #endif
@@ -137,16 +142,32 @@
      disableCertificateValidation <- getsCommonState stNoCheckCertificate
      report $ Fetching u
      res <- liftIO $ E.try $ withSocketsDo $ do
-       let parseReq = parseRequest
        proxy <- tryIOError (getEnv "http_proxy")
        let addProxy' x = case proxy of
                             Left _ -> return x
-                            Right pr -> parseReq pr >>= \r ->
+                            Right pr -> parseRequest pr >>= \r ->
                                 return (addProxy (host r) (port r) x)
-       req <- parseReq (unpack u) >>= addProxy'
+       req <- parseRequest (unpack u) >>= addProxy'
        let req' = req{requestHeaders = customHeaders ++ requestHeaders req}
-       let tlsSimple = TLSSettingsSimple disableCertificateValidation False False
-       let tlsManagerSettings = mkManagerSettings tlsSimple  Nothing
+       certificateStore <- getSystemCertificateStore
+       let tlsSettings = TLSSettings $
+              (TLS.defaultParamsClient (show $ host req')
+                                       (B8.pack $ show $ port req'))
+                 { TLS.clientSupported = def{ TLS.supportedCiphers =
+                                              TLS.ciphersuite_default
+                                            , TLS.supportedExtendedMainSecret =
+                                               TLS.AllowEMS }
+                 , TLS.clientShared = def
+                     { TLS.sharedCAStore = certificateStore
+                     , TLS.sharedValidationCache =
+                         if disableCertificateValidation
+                            then TLS.ValidationCache
+                                  (\_ _ _ -> return TLS.ValidationCachePass)
+                                  (\_ _ _ -> return ())
+                            else def
+                     }
+                 }
+       let tlsManagerSettings = mkManagerSettings tlsSettings  Nothing
        resp <- newManager tlsManagerSettings >>= httpLbs req'
        return (B.concat $ toChunks $ responseBody resp,
                UTF8.toText `fmap` lookup hContentType (responseHeaders resp))
diff --git a/src/Text/Pandoc/Readers/Docx.hs b/src/Text/Pandoc/Readers/Docx.hs
--- a/src/Text/Pandoc/Readers/Docx.hs
+++ b/src/Text/Pandoc/Readers/Docx.hs
@@ -762,9 +762,9 @@
   in
     bodyPartToBlocks $ Paragraph pPr' parparts
 bodyPartToBlocks (TblCaption _ _) =
-  return $ para mempty -- collected separately
+  return mempty
 bodyPartToBlocks (Tbl _ _ _ []) =
-  return $ para mempty
+  return mempty
 bodyPartToBlocks (Tbl cap grid look parts) = do
   captions <- gets docxTableCaptions
   fullCaption <- case captions of
diff --git a/src/Text/Pandoc/Readers/Docx/Parse.hs b/src/Text/Pandoc/Readers/Docx/Parse.hs
--- a/src/Text/Pandoc/Readers/Docx/Parse.hs
+++ b/src/Text/Pandoc/Readers/Docx/Parse.hs
@@ -766,7 +766,8 @@
                   <$> asks envParStyles
                   <*> asks envNumbering
 
-      let hasCaptionStyle = elem "Caption" (pStyleId <$> pStyle parstyle)
+      let hasCaptionStyle =
+            any ((== "caption") . pStyleName) (pStyle parstyle)
 
       let isTableNumberElt el@(Element name attribs _ _) =
            (qName name == "fldSimple" &&
@@ -792,9 +793,8 @@
       case pHeading parstyle of
         Nothing | Just (numId, lvl) <- pNumInfo parstyle -> do
                     mkListItem parstyle numId lvl parparts
-        _ -> if isTable
-                then return $ TblCaption parstyle parparts
-                else return $ Paragraph parstyle parparts
+        _ -> return $ (if hasCaptionStyle then TblCaption else Paragraph)
+                      parstyle parparts
 
 elemToBodyPart ns element
   | isElem ns "w" "tbl" element = do
diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs
--- a/src/Text/Pandoc/Readers/Markdown.hs
+++ b/src/Text/Pandoc/Readers/Markdown.hs
@@ -1847,16 +1847,17 @@
   titleAfter <-
     (True <$ guardEnabled Ext_wikilinks_title_after_pipe) <|>
     (False <$ guardEnabled Ext_wikilinks_title_before_pipe)
-  string "[[" *> notFollowedBy' (char '[')
-  raw <- many1TillChar anyChar (try $ string "]]")
-  let (title, url) = case T.break (== '|') raw of
-        (before, "") -> (before, before)
-        (before, after)
-          | titleAfter -> (T.drop 1 after, before)
-          | otherwise -> (before, T.drop 1 after)
-  guard $ T.all (`notElem` ['\n','\r','\f','\t']) url
-  return . pure . constructor nullAttr url "wikilink" $
-     B.text $ fromEntities title
+  try $ do
+    string "[[" *> notFollowedBy' (char '[')
+    raw <- many1TillChar anyChar (try $ string "]]")
+    let (title, url) = case T.break (== '|') raw of
+          (before, "") -> (before, before)
+          (before, after)
+            | titleAfter -> (T.drop 1 after, before)
+            | otherwise -> (before, T.drop 1 after)
+    guard $ T.all (`notElem` ['\n','\r','\f','\t']) url
+    return . pure . constructor nullAttr url "wikilink" $
+       B.text $ fromEntities title
 
 link :: PandocMonad m => MarkdownParser m (F Inlines)
 link = try $ do
diff --git a/src/Text/Pandoc/Readers/Org/Blocks.hs b/src/Text/Pandoc/Readers/Org/Blocks.hs
--- a/src/Text/Pandoc/Readers/Org/Blocks.hs
+++ b/src/Text/Pandoc/Readers/Org/Blocks.hs
@@ -180,16 +180,21 @@
   blkType <- blockHeaderStart
   ($ blkType) $
     case T.toLower blkType of
-      "export"  -> exportBlock
-      "comment" -> rawBlockLines (const mempty)
-      "html"    -> rawBlockLines (return . B.rawBlock (lowercase blkType))
-      "latex"   -> rawBlockLines (return . B.rawBlock (lowercase blkType))
-      "ascii"   -> rawBlockLines (return . B.rawBlock (lowercase blkType))
-      "example" -> exampleBlock blockAttrs
-      "quote"   -> parseBlockLines (fmap B.blockQuote)
-      "verse"   -> verseBlock
-      "src"     -> codeBlock blockAttrs
-      _         ->
+      "export"    -> exportBlock
+      "comment"   -> rawBlockLines (const mempty)
+      "html"      -> rawBlockLines (return . B.rawBlock (lowercase blkType))
+      "latex"     -> rawBlockLines (return . B.rawBlock (lowercase blkType))
+      "ascii"     -> rawBlockLines (return . B.rawBlock (lowercase blkType))
+      "example"   -> exampleBlock blockAttrs
+      "quote"     -> parseBlockLines (fmap B.blockQuote)
+      "verse"     -> verseBlock
+      "src"       -> codeBlock blockAttrs
+      "note"      -> admonitionBlock "note" blockAttrs
+      "warning"   -> admonitionBlock "warning" blockAttrs
+      "tip"       -> admonitionBlock "tip" blockAttrs
+      "caution"   -> admonitionBlock "caution" blockAttrs
+      "important" -> admonitionBlock "important" blockAttrs
+      _           ->
         -- case-sensitive checks
         case blkType of
           "abstract" -> metadataBlock
@@ -202,6 +207,16 @@
 
    lowercase :: Text -> Text
    lowercase = T.toLower
+
+admonitionBlock :: PandocMonad m
+                => Text -> BlockAttributes -> Text -> OrgParser m (F Blocks)
+admonitionBlock blockType blockAttrs rawtext = do
+  bls <- parseBlockLines id rawtext
+  let id' = fromMaybe mempty $ blockAttrName blockAttrs
+  pure $ fmap
+    (B.divWith (id', [blockType], []) .
+     (B.divWith ("", ["title"], []) (B.para (B.str (T.toTitle blockType))) <>))
+    bls
 
 exampleBlock :: PandocMonad m => BlockAttributes -> Text -> OrgParser m (F Blocks)
 exampleBlock blockAttrs _label = do
diff --git a/src/Text/Pandoc/SelfContained.hs b/src/Text/Pandoc/SelfContained.hs
--- a/src/Text/Pandoc/SelfContained.hs
+++ b/src/Text/Pandoc/SelfContained.hs
@@ -146,7 +146,7 @@
   | any (isSourceAttribute tagname) as
      = do
        as' <- mapM processAttribute as
-       let attrs = rights as'
+       let attrs = addRole "img" $ addAriaLabel $ rights as'
        let svgContents = lefts as'
        rest <- convertTags ts
        case svgContents of
@@ -218,6 +218,20 @@
               else return $ Right (x,y)
 
 convertTags (t:ts) = (t:) <$> convertTags ts
+
+addRole :: T.Text -> [(T.Text, T.Text)] -> [(T.Text, T.Text)]
+addRole role attrs =
+  case lookup "role" attrs of
+    Nothing -> ("role", role) : attrs
+    Just _ -> attrs
+
+addAriaLabel :: [(T.Text, T.Text)] -> [(T.Text, T.Text)]
+addAriaLabel attrs =
+  case lookup "aria-label" attrs of
+    Just _ -> attrs
+    Nothing -> case lookup "alt" attrs of
+                 Just alt -> ("aria-label", alt) : attrs
+                 Nothing -> attrs
 
 -- we want to drop spaces, <?xml>, and comments before <svg>
 -- and anything after </svg>:
diff --git a/src/Text/Pandoc/Shared.hs b/src/Text/Pandoc/Shared.hs
--- a/src/Text/Pandoc/Shared.hs
+++ b/src/Text/Pandoc/Shared.hs
@@ -529,7 +529,7 @@
           | otherwise = 0
     let newnum = zipWith adjustNum [minLevel..level]
                     (lastnum ++ repeat 0)
-    unless (null newnum) $ S.put newnum
+    unless (null newnum || "unnumbered" `elem` classes) $ S.put newnum
     let (sectionContents, rest) = break (headerLtEq level) xs
     sectionContents' <- go sectionContents
     rest' <- go rest
diff --git a/src/Text/Pandoc/Writers/Docx.hs b/src/Text/Pandoc/Writers/Docx.hs
--- a/src/Text/Pandoc/Writers/Docx.hs
+++ b/src/Text/Pandoc/Writers/Docx.hs
@@ -643,7 +643,8 @@
                      , "alwaysMergeEmptyNamespace"
                      , "updateFields"
                      , "hdrShapeDefaults"
-                     , "footnotePr"
+                     -- , "footnotePr" -- this can cause problems, see #9522
+                     -- , "endnotePr"
                      , "compat"
                      , "docVars"
                      , "rsids"
diff --git a/src/Text/Pandoc/Writers/EPUB.hs b/src/Text/Pandoc/Writers/EPUB.hs
--- a/src/Text/Pandoc/Writers/EPUB.hs
+++ b/src/Text/Pandoc/Writers/EPUB.hs
@@ -1050,7 +1050,8 @@
         rightsNodes = maybe [] (dcTag' "rights") $ epubRights md
         coverImageNodes = maybe []
             (\img -> [unode "meta" !  [(metaprop,"cover"),
-                                       ("content",toId img)] $ ()])
+                                       ("content",toId img)] $ ()
+                        | version == EPUB2])
             $ epubCoverImage md
         modifiedNodes = [ unode "meta" ! [(metaprop, "dcterms:modified")] $
                showDateTimeISO8601 currentTime | version == EPUB3 ]
diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs
--- a/src/Text/Pandoc/Writers/LaTeX.hs
+++ b/src/Text/Pandoc/Writers/LaTeX.hs
@@ -175,7 +175,6 @@
   titleMeta <- stringToLaTeX TextString $ stringify $ docTitle meta
   authorsMeta <- mapM (stringToLaTeX TextString . stringify) $ docAuthors meta
   -- we need a default here since lang is used in template conditionals
-  let otherLangs = [l | l <- docLangs, mblang /= Just l]
   let hasStringValue x = isJust (getField x metadata :: Maybe (Doc Text))
   let geometryFromMargins = mconcat $ intersperse ("," :: Doc Text) $
                             mapMaybe (\(x,y) ->
@@ -251,15 +250,18 @@
                           -> resetField "papersize" ("a" <> ds)
                       _   -> id)
                   metadata
+  let babelLang = mblang >>= toBabel
   let context' =
           -- note: lang is used in some conditionals in the template,
           -- so we need to set it if we have any babel/polyglossia:
           maybe id (\l -> defField "lang"
                       (literal $ renderLang l)) mblang
         $ maybe id (\l -> defField "babel-lang"
-                      (literal l)) (mblang >>= toBabel)
+                      (literal l)) babelLang
         $ defField "babel-otherlangs"
-             (map literal $ mapMaybe toBabel otherLangs)
+             (map literal
+               (nubOrd . catMaybes . filter (/= babelLang)
+                $ map toBabel docLangs))
         $ defField "latex-dir-rtl"
            ((render Nothing <$> getField "dir" context) ==
                Just ("rtl" :: Text)) context
diff --git a/src/Text/Pandoc/Writers/Org.hs b/src/Text/Pandoc/Writers/Org.hs
--- a/src/Text/Pandoc/Writers/Org.hs
+++ b/src/Text/Pandoc/Writers/Org.hs
@@ -206,7 +206,7 @@
 blockToOrg (BlockQuote blocks) = do
   contents <- blockListToOrg blocks
   return $ blankline $$ "#+begin_quote" $$
-           contents $$ "#+end_quote" $$ blankline
+           chomp contents $$ "#+end_quote" $$ blankline
 blockToOrg (Table _ blkCapt specs thead tbody tfoot) =  do
   let (caption', _, _, headers, rows) = toLegacyTable blkCapt specs thead tbody tfoot
   caption'' <- inlineListToOrg caption'
@@ -352,6 +352,7 @@
                              --   key-value pairs.
   | UnwrappedWithAnchor Text -- ^ Not mapped to other type, only
                              --   identifier is retained (if any).
+  deriving (Show)
 
 -- | Gives the most suitable method to render a list of blocks
 -- with attributes.
@@ -368,23 +369,39 @@
   = UnwrappedWithAnchor ident
  where
   isGreaterBlockClass :: Text -> Bool
-  isGreaterBlockClass = (`elem` ["center", "quote"]) . T.toLower
+  isGreaterBlockClass t = case T.toLower t of
+                            "center" -> True
+                            "quote" -> True
+                            x -> isAdmonition x
 
+isAdmonition :: Text -> Bool
+isAdmonition "warning" = True
+isAdmonition "important" = True
+isAdmonition "tip" = True
+isAdmonition "note" = True
+isAdmonition "caution" = True
+isAdmonition _ = False
+
 -- | Converts a Div to an org-mode element.
 divToOrg :: PandocMonad m
          => Attr -> [Block] -> Org m (Doc Text)
 divToOrg attr bs = do
-  contents <- blockListToOrg bs
   case divBlockType attr of
-    GreaterBlock blockName attr' ->
+    GreaterBlock blockName attr' -> do
       -- Write as greater block. The ID, if present, is added via
       -- the #+name keyword; other classes and key-value pairs
       -- are kept as #+attr_html attributes.
-      return $ blankline $$ attrHtml attr'
+      contents <- case bs of
+                    (Div ("",["title"],[]) _ : bs')
+                      | isAdmonition blockName -> blockListToOrg bs'
+                    _ -> blockListToOrg bs
+      return $ blankline
+            $$ attrHtml attr'
             $$ "#+begin_" <> literal blockName
-            $$ contents
+            $$ chomp contents
             $$ "#+end_" <> literal blockName $$ blankline
     Drawer drawerName (_,_,kvs) -> do
+      contents <- blockListToOrg bs
       -- Write as drawer. Only key-value pairs are retained.
       let keys = vcat $ map (\(k,v) ->
                                ":" <> literal k <> ":"
@@ -394,6 +411,7 @@
             $$ contents $$ blankline
             $$ text ":END:" $$ blankline
     UnwrappedWithAnchor ident -> do
+      contents <- blockListToOrg bs
       -- Unwrap the div. All attributes are discarded, except for
       -- the identifier, which is added as an anchor before the
       -- div contents.
@@ -408,9 +426,13 @@
   let
     name = if T.null ident then mempty else "#+name: " <> literal ident <> cr
     keyword = "#+attr_html"
-    classKv = ("class", T.unwords classes)
-    kvStrings = map (\(k,v) -> ":" <> k <> " " <> v) (classKv:kvs)
-  in name <> keyword <> ": " <> literal (T.unwords kvStrings) <> cr
+    addClassKv = if null classes
+                    then id
+                    else (("class", T.unwords classes):)
+    kvStrings = map (\(k,v) -> ":" <> k <> " " <> v) (addClassKv kvs)
+  in name <> if null kvStrings
+                then mempty
+                else keyword <> ": " <> literal (T.unwords kvStrings) <> cr
 
 -- | Convert list of Pandoc block elements to Org.
 blockListToOrg :: PandocMonad m
diff --git a/src/Text/Pandoc/Writers/Typst.hs b/src/Text/Pandoc/Writers/Typst.hs
--- a/src/Text/Pandoc/Writers/Typst.hs
+++ b/src/Text/Pandoc/Writers/Typst.hs
@@ -218,6 +218,9 @@
   return $ hang ind (marker <> space) contents
 
 inlinesToTypst :: PandocMonad m => [Inline] -> TW m (Doc Text)
+inlinesToTypst ils@(Str t : _) -- need to escape - in '[-]' #9478
+  | Just (c, _) <- T.uncons t
+  , needsEscapeAtLineStart c = ("\\" <>) . hcat <$> mapM inlineToTypst ils
 inlinesToTypst ils = hcat <$> mapM inlineToTypst ils
 
 inlineToTypst :: PandocMonad m => Inline -> TW m (Doc Text)
@@ -360,11 +363,13 @@
     needsEscape '~' = True
     needsEscape ':' = context == TermContext
     needsEscape _ = False
-    needsEscapeAtLineStart '/' = True
-    needsEscapeAtLineStart '+' = True
-    needsEscapeAtLineStart '-' = True
-    needsEscapeAtLineStart '=' = True
-    needsEscapeAtLineStart _ = False
+
+needsEscapeAtLineStart :: Char -> Bool
+needsEscapeAtLineStart '/' = True
+needsEscapeAtLineStart '+' = True
+needsEscapeAtLineStart '-' = True
+needsEscapeAtLineStart '=' = True
+needsEscapeAtLineStart _ = False
 
 data LabelType =
     FreestandingLabel
diff --git a/test/command/8948.md b/test/command/8948.md
--- a/test/command/8948.md
+++ b/test/command/8948.md
@@ -3,7 +3,7 @@
 ![minimal](command/minimal.svg)
 ![minimal](command/minimal.svg)
 ^D
-<p><svg alt="minimal" viewBox="-.333 -.333 480 150" style="background-color:#ffffff00" xml:space="preserve" width="480" height="150"><use href="#svg_7868854ffb8f30209cd0" width="100%" height="100%" /></svg> <svg id="svg_7868854ffb8f30209cd0" alt="minimal" viewBox="-.333 -.333 480 150" style="background-color:#ffffff00" xml:space="preserve" width="480" height="150">
+<p><svg role="img" aria-label="minimal" alt="minimal" viewBox="-.333 -.333 480 150" style="background-color:#ffffff00" xml:space="preserve" width="480" height="150"><use href="#svg_7868854ffb8f30209cd0" width="100%" height="100%" /></svg> <svg id="svg_7868854ffb8f30209cd0" role="img" aria-label="minimal" alt="minimal" viewBox="-.333 -.333 480 150" style="background-color:#ffffff00" xml:space="preserve" width="480" height="150">
     <path d="M 0 35.5 L 6.5 22.5 L 16 37 L 23 24 L 34.8 43.7 L 42.5 30 L 50.3 47 L 59.7 27.7 L 69 47 L 85 17.7 L 98.3 39 L 113 9.7 L 127.7 42.3 L 136.3 23.7 L 147 44.3 L 158.3 20.3 L 170.3 40.3 L 177.7 25.7 L 189.7 43 L 199.7 21 L 207.7 35 L 219 11 L 233 37 L 240.3 23.7 L 251 43 L 263 18.3 L 272.7 33.3 L 283 10 L 295 32.3 L 301.3 23 L 311.7 37 L 323.7 7.7 L 339.3 39 L 346.3 25.7 L 356.3 42.3 L 369.7 15 L 376.3 25.7 L 384 9 L 393 28.3 L 400.3 19 L 411.7 38.3 L 421 21 L 434.3 43 L 445 25 L 453 36.3 L 464.3 18.3 L 476.2 40.3 L 480 33.5 L 480 215 L 0 215 L 0 35.5 Z" fill="#175720" />
 </svg></p>
 ```
@@ -13,7 +13,7 @@
 ![minimal](command/minimal.svg)
 ![minimal](command/minimal.svg){#foo}
 ^D
-<p><svg alt="minimal" viewBox="-.333 -.333 480 150" style="background-color:#ffffff00" xml:space="preserve" width="480" height="150"><use href="#foo" width="100%" height="100%" /></svg> <svg id="foo" alt="minimal" viewBox="-.333 -.333 480 150" style="background-color:#ffffff00" xml:space="preserve" width="480" height="150">
+<p><svg role="img" aria-label="minimal" alt="minimal" viewBox="-.333 -.333 480 150" style="background-color:#ffffff00" xml:space="preserve" width="480" height="150"><use href="#foo" width="100%" height="100%" /></svg> <svg id="foo" role="img" aria-label="minimal" alt="minimal" viewBox="-.333 -.333 480 150" style="background-color:#ffffff00" xml:space="preserve" width="480" height="150">
     <path d="M 0 35.5 L 6.5 22.5 L 16 37 L 23 24 L 34.8 43.7 L 42.5 30 L 50.3 47 L 59.7 27.7 L 69 47 L 85 17.7 L 98.3 39 L 113 9.7 L 127.7 42.3 L 136.3 23.7 L 147 44.3 L 158.3 20.3 L 170.3 40.3 L 177.7 25.7 L 189.7 43 L 199.7 21 L 207.7 35 L 219 11 L 233 37 L 240.3 23.7 L 251 43 L 263 18.3 L 272.7 33.3 L 283 10 L 295 32.3 L 301.3 23 L 311.7 37 L 323.7 7.7 L 339.3 39 L 346.3 25.7 L 356.3 42.3 L 369.7 15 L 376.3 25.7 L 384 9 L 393 28.3 L 400.3 19 L 411.7 38.3 L 421 21 L 434.3 43 L 445 25 L 453 36.3 L 464.3 18.3 L 476.2 40.3 L 480 33.5 L 480 215 L 0 215 L 0 35.5 Z" fill="#175720" />
 </svg></p>
 ```
diff --git a/test/command/9420.md b/test/command/9420.md
--- a/test/command/9420.md
+++ b/test/command/9420.md
@@ -2,7 +2,7 @@
 % pandoc --embed-resources
 ![](command/9420.svg)
 ^D
-<p><svg id="svg_e1815ef374a63cf552e4" width="504pt" height="360pt" viewBox="0 0 504 360">
+<p><svg id="svg_e1815ef374a63cf552e4" role="img" width="504pt" height="360pt" viewBox="0 0 504 360">
 <defs>
 <clipPath id="svg_e1815ef374a63cf552e4_clip1-c3ce354c">
   <path />
diff --git a/test/command/9467.md b/test/command/9467.md
--- a/test/command/9467.md
+++ b/test/command/9467.md
@@ -2,7 +2,7 @@
 % pandoc --embed-resources
 ![](command/9467.svg)
 ^D
-<p><svg id="svg2" width="191.56267" height="151.71201" viewBox="0 0 191.56267 151.71201" xmlns:svg="http://www.w3.org/2000/svg">
+<p><svg id="svg2" role="img" width="191.56267" height="151.71201" viewBox="0 0 191.56267 151.71201" xmlns:svg="http://www.w3.org/2000/svg">
   <defs id="svg2_defs6">
     <clipPath clipPathUnits="userSpaceOnUse" id="svg2_clipPath24">
       <path d="M 56.69362,0 113.38724,113.38724 170.08086,0 Z" id="svg2_path22" />
diff --git a/test/command/9472.md b/test/command/9472.md
new file mode 100644
--- /dev/null
+++ b/test/command/9472.md
@@ -0,0 +1,85 @@
+```
+% pandoc -t latex -s
+---
+lang: de-DE
+---
+
+More text in English. ['Zitat auf Deutsch.']{lang=de}
+
+[Bonjour]{lang=fr} [café]{lang="fr-FR"}
+^D
+% Options for packages loaded elsewhere
+\PassOptionsToPackage{unicode}{hyperref}
+\PassOptionsToPackage{hyphens}{url}
+%
+\documentclass[
+]{article}
+\usepackage{amsmath,amssymb}
+\usepackage{iftex}
+\ifPDFTeX
+  \usepackage[T1]{fontenc}
+  \usepackage[utf8]{inputenc}
+  \usepackage{textcomp} % provide euro and other symbols
+\else % if luatex or xetex
+  \usepackage{unicode-math} % this also loads fontspec
+  \defaultfontfeatures{Scale=MatchLowercase}
+  \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
+\fi
+\usepackage{lmodern}
+\ifPDFTeX\else
+  % xetex/luatex font selection
+\fi
+% Use upquote if available, for straight quotes in verbatim environments
+\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
+\IfFileExists{microtype.sty}{% use microtype if available
+  \usepackage[]{microtype}
+  \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
+}{}
+\makeatletter
+\@ifundefined{KOMAClassName}{% if non-KOMA class
+  \IfFileExists{parskip.sty}{%
+    \usepackage{parskip}
+  }{% else
+    \setlength{\parindent}{0pt}
+    \setlength{\parskip}{6pt plus 2pt minus 1pt}}
+}{% if KOMA class
+  \KOMAoptions{parskip=half}}
+\makeatother
+\usepackage{xcolor}
+\setlength{\emergencystretch}{3em} % prevent overfull lines
+\providecommand{\tightlist}{%
+  \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
+\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
+\ifLuaTeX
+\usepackage[bidi=basic]{babel}
+\else
+\usepackage[bidi=default]{babel}
+\fi
+\babelprovide[main,import]{ngerman}
+\babelprovide[import]{french}
+% get rid of language-specific shorthands (see #6817):
+\let\LanguageShortHands\languageshorthands
+\def\languageshorthands#1{}
+\ifLuaTeX
+  \usepackage{selnolig}  % disable illegal ligatures
+\fi
+\usepackage{bookmark}
+\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
+\urlstyle{same}
+\hypersetup{
+  pdflang={de-DE},
+  hidelinks,
+  pdfcreator={LaTeX via pandoc}}
+
+\author{}
+\date{}
+
+\begin{document}
+
+More text in English. \foreignlanguage{ngerman}{`Zitat auf Deutsch.'}
+
+\foreignlanguage{french}{Bonjour} \foreignlanguage{french}{café}
+
+\end{document}
+
+```
diff --git a/test/command/9475.md b/test/command/9475.md
new file mode 100644
--- /dev/null
+++ b/test/command/9475.md
@@ -0,0 +1,102 @@
+```
+% pandoc -f org -t native
+#+begin_note
+Useful note.
+#+end_note
+
+#+begin_warning
+Be careful!
+#+end_warning
+
+#+begin_tip
+Try this...
+#+end_tip
+
+#+begin_caution
+Caution
+#+end_caution
+
+#+name: foo
+#+begin_important
+Important
+#+end_important
+^D
+[ Div
+    ( "" , [ "note" ] , [] )
+    [ Div ( "" , [ "title" ] , [] ) [ Para [ Str "Note" ] ]
+    , Para [ Str "Useful" , Space , Str "note." ]
+    ]
+, Div
+    ( "" , [ "warning" ] , [] )
+    [ Div ( "" , [ "title" ] , [] ) [ Para [ Str "Warning" ] ]
+    , Para [ Str "Be" , Space , Str "careful!" ]
+    ]
+, Div
+    ( "" , [ "tip" ] , [] )
+    [ Div ( "" , [ "title" ] , [] ) [ Para [ Str "Tip" ] ]
+    , Para [ Str "Try" , Space , Str "this\8230" ]
+    ]
+, Div
+    ( "" , [ "caution" ] , [] )
+    [ Div ( "" , [ "title" ] , [] ) [ Para [ Str "Caution" ] ]
+    , Para [ Str "Caution" ]
+    ]
+, Div
+    ( "foo" , [ "important" ] , [] )
+    [ Div ( "" , [ "title" ] , [] ) [ Para [ Str "Important" ] ]
+    , Para [ Str "Important" ]
+    ]
+]
+
+```
+
+```
+% pandoc -f native -t org
+[ Div
+    ( "" , [ "note" ] , [] )
+    [ Div ( "" , [ "title" ] , [] ) [ Para [ Str "Note" ] ]
+    , Para [ Str "Useful" , Space , Str "note." ]
+    ]
+, Div
+    ( "" , [ "warning" ] , [] )
+    [ Div ( "" , [ "title" ] , [] ) [ Para [ Str "Warning" ] ]
+    , Para [ Str "Be" , Space , Str "careful!" ]
+    ]
+, Div
+    ( "" , [ "tip" ] , [] )
+    [ Div ( "" , [ "title" ] , [] ) [ Para [ Str "Tip" ] ]
+    , Para [ Str "Try" , Space , Str "this\8230" ]
+    ]
+, Div
+    ( "" , [ "caution" ] , [] )
+    [ Div ( "" , [ "title" ] , [] ) [ Para [ Str "Caution" ] ]
+    , Para [ Str "Caution" ]
+    ]
+, Div
+    ( "foo" , [ "important" ] , [] )
+    [ Div ( "" , [ "title" ] , [] ) [ Para [ Str "Important" ] ]
+    , Para [ Str "Important" ]
+    ]
+]
+^D
+#+begin_note
+Useful note.
+#+end_note
+
+#+begin_warning
+Be careful!
+#+end_warning
+
+#+begin_tip
+Try this...
+#+end_tip
+
+#+begin_caution
+Caution
+#+end_caution
+
+#+name: foo
+#+begin_important
+Important
+#+end_important
+```
diff --git a/test/command/9478.md b/test/command/9478.md
new file mode 100644
--- /dev/null
+++ b/test/command/9478.md
@@ -0,0 +1,9 @@
+```
+% pandoc -t typst --wrap=preserve
+**- a -
+- b**
+^D
+#strong[\- a -
+\- b]
+```
+
diff --git a/test/command/9481.md b/test/command/9481.md
new file mode 100644
--- /dev/null
+++ b/test/command/9481.md
@@ -0,0 +1,7 @@
+```
+% pandoc -f markdown+wikilinks_title_after_pipe
+[a](https://example.com)
+^D
+<p><a href="https://example.com">a</a></p>
+
+```
diff --git a/test/command/9516.md b/test/command/9516.md
new file mode 100644
--- /dev/null
+++ b/test/command/9516.md
@@ -0,0 +1,17 @@
+```
+% pandoc --number-sections
+# One {-}
+
+# Two
+
+# Three {-}
+
+# Four
+^D
+<h1 class="unnumbered" id="one">One</h1>
+<h1 data-number="1" id="two"><span
+class="header-section-number">1</span> Two</h1>
+<h1 class="unnumbered" id="three">Three</h1>
+<h1 data-number="2" id="four"><span
+class="header-section-number">2</span> Four</h1>
+```
diff --git a/test/docx/golden/block_quotes.docx b/test/docx/golden/block_quotes.docx
Binary files a/test/docx/golden/block_quotes.docx and b/test/docx/golden/block_quotes.docx differ
diff --git a/test/docx/golden/codeblock.docx b/test/docx/golden/codeblock.docx
Binary files a/test/docx/golden/codeblock.docx and b/test/docx/golden/codeblock.docx differ
diff --git a/test/docx/golden/comments.docx b/test/docx/golden/comments.docx
Binary files a/test/docx/golden/comments.docx and b/test/docx/golden/comments.docx differ
diff --git a/test/docx/golden/custom_style_no_reference.docx b/test/docx/golden/custom_style_no_reference.docx
Binary files a/test/docx/golden/custom_style_no_reference.docx and b/test/docx/golden/custom_style_no_reference.docx differ
diff --git a/test/docx/golden/custom_style_preserve.docx b/test/docx/golden/custom_style_preserve.docx
Binary files a/test/docx/golden/custom_style_preserve.docx and b/test/docx/golden/custom_style_preserve.docx differ
diff --git a/test/docx/golden/custom_style_reference.docx b/test/docx/golden/custom_style_reference.docx
Binary files a/test/docx/golden/custom_style_reference.docx and b/test/docx/golden/custom_style_reference.docx differ
diff --git a/test/docx/golden/definition_list.docx b/test/docx/golden/definition_list.docx
Binary files a/test/docx/golden/definition_list.docx and b/test/docx/golden/definition_list.docx differ
diff --git a/test/docx/golden/document-properties-short-desc.docx b/test/docx/golden/document-properties-short-desc.docx
Binary files a/test/docx/golden/document-properties-short-desc.docx and b/test/docx/golden/document-properties-short-desc.docx differ
diff --git a/test/docx/golden/document-properties.docx b/test/docx/golden/document-properties.docx
Binary files a/test/docx/golden/document-properties.docx and b/test/docx/golden/document-properties.docx differ
diff --git a/test/docx/golden/headers.docx b/test/docx/golden/headers.docx
Binary files a/test/docx/golden/headers.docx and b/test/docx/golden/headers.docx differ
diff --git a/test/docx/golden/image.docx b/test/docx/golden/image.docx
Binary files a/test/docx/golden/image.docx and b/test/docx/golden/image.docx differ
diff --git a/test/docx/golden/inline_code.docx b/test/docx/golden/inline_code.docx
Binary files a/test/docx/golden/inline_code.docx and b/test/docx/golden/inline_code.docx differ
diff --git a/test/docx/golden/inline_formatting.docx b/test/docx/golden/inline_formatting.docx
Binary files a/test/docx/golden/inline_formatting.docx and b/test/docx/golden/inline_formatting.docx differ
diff --git a/test/docx/golden/inline_images.docx b/test/docx/golden/inline_images.docx
Binary files a/test/docx/golden/inline_images.docx and b/test/docx/golden/inline_images.docx differ
diff --git a/test/docx/golden/link_in_notes.docx b/test/docx/golden/link_in_notes.docx
Binary files a/test/docx/golden/link_in_notes.docx and b/test/docx/golden/link_in_notes.docx differ
diff --git a/test/docx/golden/links.docx b/test/docx/golden/links.docx
Binary files a/test/docx/golden/links.docx and b/test/docx/golden/links.docx differ
diff --git a/test/docx/golden/lists.docx b/test/docx/golden/lists.docx
Binary files a/test/docx/golden/lists.docx and b/test/docx/golden/lists.docx differ
diff --git a/test/docx/golden/lists_continuing.docx b/test/docx/golden/lists_continuing.docx
Binary files a/test/docx/golden/lists_continuing.docx and b/test/docx/golden/lists_continuing.docx differ
diff --git a/test/docx/golden/lists_div_bullets.docx b/test/docx/golden/lists_div_bullets.docx
Binary files a/test/docx/golden/lists_div_bullets.docx and b/test/docx/golden/lists_div_bullets.docx differ
diff --git a/test/docx/golden/lists_multiple_initial.docx b/test/docx/golden/lists_multiple_initial.docx
Binary files a/test/docx/golden/lists_multiple_initial.docx and b/test/docx/golden/lists_multiple_initial.docx differ
diff --git a/test/docx/golden/lists_restarting.docx b/test/docx/golden/lists_restarting.docx
Binary files a/test/docx/golden/lists_restarting.docx and b/test/docx/golden/lists_restarting.docx differ
diff --git a/test/docx/golden/nested_anchors_in_header.docx b/test/docx/golden/nested_anchors_in_header.docx
Binary files a/test/docx/golden/nested_anchors_in_header.docx and b/test/docx/golden/nested_anchors_in_header.docx differ
diff --git a/test/docx/golden/notes.docx b/test/docx/golden/notes.docx
Binary files a/test/docx/golden/notes.docx and b/test/docx/golden/notes.docx differ
diff --git a/test/docx/golden/raw-blocks.docx b/test/docx/golden/raw-blocks.docx
Binary files a/test/docx/golden/raw-blocks.docx and b/test/docx/golden/raw-blocks.docx differ
diff --git a/test/docx/golden/raw-bookmarks.docx b/test/docx/golden/raw-bookmarks.docx
Binary files a/test/docx/golden/raw-bookmarks.docx and b/test/docx/golden/raw-bookmarks.docx differ
diff --git a/test/docx/golden/table_one_row.docx b/test/docx/golden/table_one_row.docx
Binary files a/test/docx/golden/table_one_row.docx and b/test/docx/golden/table_one_row.docx differ
diff --git a/test/docx/golden/table_with_list_cell.docx b/test/docx/golden/table_with_list_cell.docx
Binary files a/test/docx/golden/table_with_list_cell.docx and b/test/docx/golden/table_with_list_cell.docx differ
diff --git a/test/docx/golden/tables-default-widths.docx b/test/docx/golden/tables-default-widths.docx
Binary files a/test/docx/golden/tables-default-widths.docx and b/test/docx/golden/tables-default-widths.docx differ
diff --git a/test/docx/golden/tables.docx b/test/docx/golden/tables.docx
Binary files a/test/docx/golden/tables.docx and b/test/docx/golden/tables.docx differ
diff --git a/test/docx/golden/tables_separated_with_rawblock.docx b/test/docx/golden/tables_separated_with_rawblock.docx
Binary files a/test/docx/golden/tables_separated_with_rawblock.docx and b/test/docx/golden/tables_separated_with_rawblock.docx differ
diff --git a/test/docx/golden/track_changes_deletion.docx b/test/docx/golden/track_changes_deletion.docx
Binary files a/test/docx/golden/track_changes_deletion.docx and b/test/docx/golden/track_changes_deletion.docx differ
diff --git a/test/docx/golden/track_changes_insertion.docx b/test/docx/golden/track_changes_insertion.docx
Binary files a/test/docx/golden/track_changes_insertion.docx and b/test/docx/golden/track_changes_insertion.docx differ
diff --git a/test/docx/golden/track_changes_move.docx b/test/docx/golden/track_changes_move.docx
Binary files a/test/docx/golden/track_changes_move.docx and b/test/docx/golden/track_changes_move.docx differ
diff --git a/test/docx/golden/track_changes_scrubbed_metadata.docx b/test/docx/golden/track_changes_scrubbed_metadata.docx
Binary files a/test/docx/golden/track_changes_scrubbed_metadata.docx and b/test/docx/golden/track_changes_scrubbed_metadata.docx differ
diff --git a/test/docx/golden/unicode.docx b/test/docx/golden/unicode.docx
Binary files a/test/docx/golden/unicode.docx and b/test/docx/golden/unicode.docx differ
diff --git a/test/docx/golden/verbatim_subsuper.docx b/test/docx/golden/verbatim_subsuper.docx
Binary files a/test/docx/golden/verbatim_subsuper.docx and b/test/docx/golden/verbatim_subsuper.docx differ
diff --git a/test/docx/table_captions_no_field.native b/test/docx/table_captions_no_field.native
--- a/test/docx/table_captions_no_field.native
+++ b/test/docx/table_captions_no_field.native
@@ -1,7 +1,6 @@
 [Para [Str "See",Space,Str "Table",Space,Str "5.1."]
-,Para [Str "Table",Space,Str "5.1"]
-,Table ("",[],[]) (Caption Nothing
- [])
+,Table ("",[],[])
+ (Caption Nothing [ Para [ Str "Table" , Space , Str "5.1" ] ])
  [(AlignDefault,ColWidth 0.7605739372523825)
  ,(AlignDefault,ColWidth 0.11971303137380876)
  ,(AlignDefault,ColWidth 0.11971303137380876)]
diff --git a/test/docx/table_captions_with_field.native b/test/docx/table_captions_with_field.native
--- a/test/docx/table_captions_with_field.native
+++ b/test/docx/table_captions_with_field.native
@@ -1,6 +1,6 @@
 [Para [Str "See",Space,Str "Table",Space,Str "1."]
-,Para [Str "Table",Space,Str "1"]
-,Table ("",[],[]) (Caption Nothing [])
+,Table ("",[],[])
+ (Caption Nothing [ Para [ Str "Table" , Space , Str "1" ] ])
  [(AlignDefault,ColWidth 0.7605739372523825)
  ,(AlignDefault,ColWidth 0.11971303137380876)
  ,(AlignDefault,ColWidth 0.11971303137380876)]
@@ -31,7 +31,8 @@
  (TableFoot ("",[],[])
  [])
 ,Header 2 ("section", [], []) []
-,Table ("",[],[]) (Caption Nothing [])
+,Table ("",[],[])
+ (Caption Nothing [Para [Str "Table", Space, Str "2"]])
  [(AlignDefault,ColWidth 0.3332963620230701)
  ,(AlignDefault,ColWidth 0.3332963620230701)
  ,(AlignDefault,ColWidth 0.3334072759538598)]
@@ -48,5 +49,4 @@
   [])]
  (TableFoot ("",[],[])
  [])
-,Para [Str "Table",Space,Str "2"]
 ,Para [Str "See",Space,Str "Table",Space,Str "2."]]
diff --git a/test/lhs-test.html b/test/lhs-test.html
--- a/test/lhs-test.html
+++ b/test/lhs-test.html
@@ -179,7 +179,7 @@
     }
     @media print {
     pre > code.sourceCode { white-space: pre-wrap; }
-    pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
+    pre > code.sourceCode > span { display: inline-block; text-indent: -5em; padding-left: 5em; }
     }
     pre.numberSource code
       { counter-reset: source-line 0; }
diff --git a/test/lhs-test.html+lhs b/test/lhs-test.html+lhs
--- a/test/lhs-test.html+lhs
+++ b/test/lhs-test.html+lhs
@@ -179,7 +179,7 @@
     }
     @media print {
     pre > code.sourceCode { white-space: pre-wrap; }
-    pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
+    pre > code.sourceCode > span { display: inline-block; text-indent: -5em; padding-left: 5em; }
     }
     pre.numberSource code
       { counter-reset: source-line 0; }
diff --git a/test/writer.org b/test/writer.org
--- a/test/writer.org
+++ b/test/writer.org
@@ -75,7 +75,6 @@
 
 #+begin_quote
 This is a block quote. It is pretty short.
-
 #+end_quote
 
 #+begin_quote
@@ -96,14 +95,11 @@
 
 #+begin_quote
 nested
-
 #+end_quote
 
 #+begin_quote
 nested
-
 #+end_quote
-
 #+end_quote
 
 This should not be a block quote: 2 > 1.
@@ -345,7 +341,6 @@
 
   #+begin_quote
   orange block quote
-
   #+end_quote
 
 Multiple definitions, tight:
@@ -753,7 +748,6 @@
 
 #+begin_quote
 Blockquoted: [[http://example.com/]]
-
 #+end_quote
 
 Auto-links should not occur here: =<http://example.com/>=
@@ -787,7 +781,6 @@
 
 #+begin_quote
 Notes can go in quotes.[fn:4]
-
 #+end_quote
 
 1. And in list items.[fn:5]
