From d0bf7efe95f3b2347073549e83496d9dc636594e Mon Sep 17 00:00:00 2001 From: John MacFarlane <jgm@berkeley.edu> Date: Sat, 13 Jul 2019 16:11:58 -0700 Subject: [PATCH] Man writer: fixed boldfacing of definition terms. Previously the bold-facing would be interrupted by other formatting, because we used `.B`. Closes #5620. --- src/Text/Pandoc/Writers/Man.hs | 4 ++-- test/command/5620.md | 9 +++++++++ test/writer.man | 34 +++++++++++++++++----------------- 3 files changed, 28 insertions(+), 19 deletions(-) create mode 100644 test/command/5620.md diff --git a/src/Text/Pandoc/Writers/Man.hs b/src/Text/Pandoc/Writers/Man.hs index ed8682a84..e13f46af9 100644 --- a/src/Text/Pandoc/Writers/Man.hs +++ b/src/Text/Pandoc/Writers/Man.hs @@ -228,7 +228,7 @@ definitionListItemToMan :: PandocMonad m -> ([Inline],[[Block]]) -> StateT WriterState m Doc definitionListItemToMan opts (label, defs) = do - labelText <- inlineListToMan opts label + labelText <- withFontFeature 'B' (inlineListToMan opts label) contents <- if null defs then return empty else liftM vcat $ forM defs $ \blocks -> @@ -245,7 +245,7 @@ definitionListItemToMan opts (label, defs) = do then empty else text ".RS" $$ rest' $$ text ".RE" [] -> return empty - return $ text ".TP" $$ nowrap (text ".B " <> labelText) $$ contents + return $ text ".TP" $$ labelText $$ contents -- | Convert list of Pandoc block elements to man. blockListToMan :: PandocMonad m diff --git a/test/command/5620.md b/test/command/5620.md new file mode 100644 index 000000000..428af0f8e --- /dev/null +++ b/test/command/5620.md @@ -0,0 +1,9 @@ +``` +% pandoc -t man +`-o`, `--output=`*OUTFILE* +: Write output to *OUTFILE* instead of `stdout`(3) +^D +.TP +\f[B]\f[CB]-o\f[B], \f[CB]--output=\f[B]\f[BI]OUTFILE\f[B]\f[R] +Write output to \f[I]OUTFILE\f[R] instead of \f[C]stdout\f[R](3) +``` diff --git a/test/writer.man b/test/writer.man index 413512c73..cb0681afb 100644 --- a/test/writer.man +++ b/test/writer.man @@ -318,47 +318,47 @@ Williams .PP Tight using spaces: .TP -.B apple +\f[B]apple\f[R] red fruit .TP -.B orange +\f[B]orange\f[R] orange fruit .TP -.B banana +\f[B]banana\f[R] yellow fruit .PP Tight using tabs: .TP -.B apple +\f[B]apple\f[R] red fruit .TP -.B orange +\f[B]orange\f[R] orange fruit .TP -.B banana +\f[B]banana\f[R] yellow fruit .PP Loose: .TP -.B apple +\f[B]apple\f[R] red fruit .TP -.B orange +\f[B]orange\f[R] orange fruit .TP -.B banana +\f[B]banana\f[R] yellow fruit .PP Multiple blocks with italics: .TP -.B \f[I]apple\f[R] +\f[B]\f[BI]apple\f[B]\f[R] red fruit .RS .PP contains seeds, crisp, pleasant to taste .RE .TP -.B \f[I]orange\f[R] +\f[B]\f[BI]orange\f[B]\f[R] orange fruit .RS .IP @@ -375,31 +375,31 @@ orange block quote .PP Multiple definitions, tight: .TP -.B apple +\f[B]apple\f[R] red fruit computer .TP -.B orange +\f[B]orange\f[R] orange fruit bank .PP Multiple definitions, loose: .TP -.B apple +\f[B]apple\f[R] red fruit computer .TP -.B orange +\f[B]orange\f[R] orange fruit bank .PP Blank line after term, indented marker, alternate markers: .TP -.B apple +\f[B]apple\f[R] red fruit computer .TP -.B orange +\f[B]orange\f[R] orange fruit .RS .IP "1." 3