Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Consider the following minimum working example containing a blockquote as defined in a Pandoc-generated document:

\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

Question

How could I obtain a light gray background for the blockquote with a dark red 1em-thick left vertical borderline only by changing the preamble? Other borders should be 0pt.

share|improve this question

1 Answer 1

up vote 3 down vote accepted

Since the text is marked up logically within a blockquote environment and pandoc includes custom headers included with the -H option after the default ones, you can simply create an environment which displays the text in the desired way using any mechanism which meets your needs.

I define a framedtext environment with the name blockquote and the desired features, which is used instead of the default definition.

\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,
  ]

which gives

enter image description here

Another option is to use background environment with the name blockquote. For example:

\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,
  ]

which gives the same result as before, but has the advantage that the content can break across pages.

share|improve this answer
    
Using pandoc's -H option to overwrite pandoc environments is really clever. –  Serge Stroobandt Sep 4 '13 at 13:26
1  
I prefer textbackgrounds (or backgrounds) over framed as the latter does not break across pages. –  Aditya Sep 5 '13 at 17:50
    
@Aditya Another drawback of using framedtext instead of textbackground is that whitespace between paragraphs is not printed. On the other hand, I could textbackground not get that far as to print only the left frame border. –  Serge Stroobandt Oct 23 '13 at 19:40
1  
@SergeStroobandt: See the edited answer to see how to add whitespace inside a framedtext and how to use background –  Aditya Oct 24 '13 at 0:26

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.