ConTeXt:如何更改 Pandoc 生成的块引用的背景颜色和边框?

ConTeXt:如何更改 Pandoc 生成的块引用的背景颜色和边框?

考虑以下最小工作示例,blockquote其中包含潘多克生成的文档:

\setuppapersize [A4][A4]
\setuplayout    [width=middle,  backspace=1.5in, cutspace=1.5in,
                 height=middle, topspace=0.75in, bottomspace=0.75in]

\setuppagenumbering[location={footer,center}]

\setupdelimitedtext
  [blockquote]
  [before={\blank[medium]},
   after={\blank[medium]},
   indentnext=no,
  ]

\starttext
\input tufte
\startblockquote
\input zapf
\stopblockquote
\input knuth
\stoptext

问题

我怎样才能仅通过更改前言来获得浅灰色背景,并blockquote带有深红色 1em 厚的左垂直边框?其他边框应为 0pt。

答案1

由于文本在环境中逻辑地标记,并且 pandoc 包含选项blockquote 中包含的自定义标题-H默认值,您可以简单地创建一个环境,使用任何满足您需求的机制以所需的方式显示文本。

我定义一个framedtext环境的名称blockquote和所需的特性,用来代替默认定义。

\startsetups framedsetups
  \setupwhitespace[medium]
\stopsetups


\defineframedtext
  [blockquote]
  [
    framecolor=darkred,
    background=color,
    backgroundcolor=lightgray,
    frame=off, 
    leftframe=on,
    rulethickness=1em,
    offset=overlay,
    loffset=2em,
    roffset=1em,
    width=\textwidth,
    setups=framedsetups,
  ]

这使

在此处输入图片描述

另一个选择是使用background名称为 的环境blockquote。例如:

\definebackground
  [blockquote]
  [
    framecolor=darkred,
    background=color,
    backgroundcolor=lightgray,
    frame=off, 
    leftframe=on,
    rulethickness=1em,
    offset=overlay,
    leftoffset=2em,
    rightoffset=1em,
    width=\textwidth,
    setups=framedsetups,
    before=\blank,
    after=\blank,
  ]

其结果与之前相同,但优点在于内容可以跨页。

相关内容