Block quote with big quotation marksQuote style like on owni.euBlockquotes in LateXAdding an open-quote mark to the start of each line in a multiline quotation?How to create a 'fact box' or pull quote that is tied to the margins of your page?Block quote with big quotation marks and opening quote on bottomQuotes problem in beamerBlock quote with big quotations - white on blackBlock quote with big quotation marks in marginBlock quoting with big quotes on all the width of the pagea stylish footnote: brackets for a whole paragraph of textQuote style like on owni.euMacro for handling placement of last quotation mark when setting quotes in text?Encoding italian quotation marksHow to create a 'fact box' or pull quote that is tied to the margins of your page?Block quote with big quotations - white on blackBlock quote with big quotation marks and opening quote on bottomcsquotes: punctuation and quotation markscsquotes: Footnotes after Block Quotes with Quotation MarksCustomizing style of formal block quote in csquotes?Multi column block quote

Quoting Keynes in a lecture

Biological Blimps: Propulsion

The IT department bottlenecks progress, how should I handle this?

Is it necessary to use pronouns with the verb "essere"?

Shouldn’t conservatives embrace universal basic income?

What (the heck) is a Super Worm Equinox Moon?

What is going on with gets(stdin) on the site coderbyte?

I found an audio circuit and I built it just fine, but I find it a bit too quiet. How do I amplify the output so that it is a bit louder?

A Trivial Diagnosis

Is there a nicer/politer/more positive alternative for "negates"?

How do you make your own symbol when Detexify fails?

Can I say "fingers" when referring to toes?

Why do ¬, ∀ and ∃ have the same precedence?

Why should universal income be universal?

Which Article Helped Get Rid of Technobabble in RPGs?

Review your own paper in Mathematics

When were female captains banned from Starfleet?

Mimic lecturing on blackboard, facing audience

Does the Linux kernel need a file system to run?

What to do when eye contact makes your coworker uncomfortable?

Are Captain Marvel's powers affected by Thanos breaking the Tesseract and claiming the stone?

Does the reader need to like the PoV character?

C++ copy constructor called at return

What features enable the Su-25 Frogfoot to operate with such a wide variety of fuels?



Block quote with big quotation marks


Quote style like on owni.euBlockquotes in LateXAdding an open-quote mark to the start of each line in a multiline quotation?How to create a 'fact box' or pull quote that is tied to the margins of your page?Block quote with big quotation marks and opening quote on bottomQuotes problem in beamerBlock quote with big quotations - white on blackBlock quote with big quotation marks in marginBlock quoting with big quotes on all the width of the pagea stylish footnote: brackets for a whole paragraph of textQuote style like on owni.euMacro for handling placement of last quotation mark when setting quotes in text?Encoding italian quotation marksHow to create a 'fact box' or pull quote that is tied to the margins of your page?Block quote with big quotations - white on blackBlock quote with big quotation marks and opening quote on bottomcsquotes: punctuation and quotation markscsquotes: Footnotes after Block Quotes with Quotation MarksCustomizing style of formal block quote in csquotes?Multi column block quote













74















How can I create a block quote enviroment with big quotation marks similar to the Cquote Template of Wikipedia?



Additionally it would be nice to place both quotation marks and quote in a colored box and to have the author closer to the citation.










share|improve this question



















  • 1





    JFYI: See now also Block quote with big quotation marks and opening quote on bottom.

    – Speravir
    Feb 21 '13 at 3:32















74















How can I create a block quote enviroment with big quotation marks similar to the Cquote Template of Wikipedia?



Additionally it would be nice to place both quotation marks and quote in a colored box and to have the author closer to the citation.










share|improve this question



















  • 1





    JFYI: See now also Block quote with big quotation marks and opening quote on bottom.

    – Speravir
    Feb 21 '13 at 3:32













74












74








74


41






How can I create a block quote enviroment with big quotation marks similar to the Cquote Template of Wikipedia?



Additionally it would be nice to place both quotation marks and quote in a colored box and to have the author closer to the citation.










share|improve this question
















How can I create a block quote enviroment with big quotation marks similar to the Cquote Template of Wikipedia?



Additionally it would be nice to place both quotation marks and quote in a colored box and to have the author closer to the citation.







color punctuation quoting






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Apr 30 '11 at 11:37









lockstep

192k53593723




192k53593723










asked Apr 29 '11 at 20:00









EmersonEmerson

1,44541928




1,44541928







  • 1





    JFYI: See now also Block quote with big quotation marks and opening quote on bottom.

    – Speravir
    Feb 21 '13 at 3:32












  • 1





    JFYI: See now also Block quote with big quotation marks and opening quote on bottom.

    – Speravir
    Feb 21 '13 at 3:32







1




1





JFYI: See now also Block quote with big quotation marks and opening quote on bottom.

– Speravir
Feb 21 '13 at 3:32





JFYI: See now also Block quote with big quotation marks and opening quote on bottom.

– Speravir
Feb 21 '13 at 3:32










5 Answers
5






active

oldest

votes


















68














Here's one solution using TikZ which defines a new environment using the framed package. You should preferably compile this with xelatex or lualatex, since it gives the easiest access to a wide range of fonts. I've added code to make it run under pdflatex as well.



The code has now been updated to allow some flexibility in the formatting of the different components of the quotation, and the environment takes two arguments:



Environment Syntax




 beginshadequote[<alignment>]<author>
text of quote
endshadequote




Code



% !TEX TS-program = xeLaTeX

documentclass[12pt]article
usepackageifxetex,ifluatex
usepackageetoolbox
usepackage[svgnames]xcolor

usepackagetikz

usepackageframed

% conditional for xetex or luatex
newififxetexorluatex
ifxetex
xetexorluatextrue
else
ifluatex
xetexorluatextrue
else
xetexorluatexfalse
fi
fi
%
ifxetexorluatex%
usepackagefontspec
usepackagelibertine % or use setmainfont to choose any font on your system
newfontfamilyquotefont[Ligatures=TeX]Linux Libertine O % selects Libertine as the quote font
else
usepackage[utf8]inputenc
usepackage[T1]fontenc
usepackagelibertine % or any other font package
newcommand*quotefontfontfamilyLinuxLibertineT-LF % selects Libertine as the quote font
fi

newcommand*quotesize60 % if quote size changes, need a way to make shifts relative
% Make commands for the quotes
newcommand*openquote
tikz[remember picture,overlay,xshift=-4ex,yshift=-2.5ex]
node (OQ) quotefontfontsizequotesizequotesizeselectfont``;kern0pt

newcommand*closequote[1]
tikz[remember picture,overlay,xshift=4ex,yshift=#1]
node (CQ) quotefontfontsizequotesizequotesizeselectfont'';

% select a colour for the shading
colorletshadecolorAzure

newcommand*shadedauthorformatemph % define format for the author argument

% Now a command to allow left, right and centre alignment of the author
newcommand*authoralign[1]%
if#1l
defauthorfilldefquotefillhfill
else
if#1r
defauthorfillhfilldefquotefill
else
if#1c
gdefauthorfillhfilldefquotefillhfill
elsetypeoutInvalid option
fi
fi
fi
% wrap everything in its own environment which takes one argument (author) and one optional argument
% specifying the alignment [l, r or c]
%
newenvironmentshadequote[2][l]%
authoralign#1
ifblank#2
defshadequoteauthordefyshift-2exdefquotefillhfill
defshadequoteauthorparauthorfillshadedauthorformat#2defyshift2ex
beginsnugshadebeginquoteopenquote
shadequoteauthorquotefillclosequoteyshiftendquoteendsnugshade

begindocument

beginshadequote[l]Douglas Adams
A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
endshadequote

beginshadequote[r]Douglas Adams
A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
endshadequote

beginshadequote[c]Douglas Adams
A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
endshadequote

beginshadequote
A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
endshadequote

enddocument


In this code, the font for the quotation marks is set independently of the main document font. This is because depending on the main font you choose, the very large quotation marks will not look good; Linux Libertine has pretty quotes that seem appropriate for the purpose. If you want to use this environment with another main document font, remove/change the usepackagelibertine.



Sample output



output of code






share|improve this answer




















  • 1





    @Alun: Why do you define quotefont? libertine is already present.

    – Herbert
    Apr 30 '11 at 14:32






  • 1





    @Herbert Because these are decorative elements, it makes sense to define the font for the quotes independent of the document font. For example, if you just use Computer Modern, the big quotes look quite silly; The libertine font has a pretty quote for this purpose, and I would use it with most document fonts.

    – Alan Munn
    Apr 30 '11 at 14:53











  • @Alun: You know, that I know that ... ;-) But then it makes sense to use another text font in your example, if you want to show this behaviour.

    – Herbert
    Apr 30 '11 at 17:32






  • 1





    @Chernoff I'm not sure why this happens, but you can adjust the value of xshift in the closequote macro to 1ex (or similar values) to adjust the positioning of the quote.

    – Alan Munn
    Jun 30 '18 at 16:02







  • 1





    @Chernoff Again, not sure the reason, but you can add vspace1ex (or similar value) before the emph in the shadedauthorformat definition.

    – Alan Munn
    Jun 30 '18 at 16:41


















30














(We just got another question asking for something similar: Quote style like on owni.eu. I wasn't aware of this question when I started to answer that one, but on becoming aware of it decided to post my answer here instead.)



It's also TikZ-based but slightly different to Alan's as the whole thing ends up in a TikZ node. This does mean that it won't work with page-breaking. One could also adapt the quote marks from Alan's version to make them look a bit better.



Here's the result:



fancy quotes



And here's the code:



documentclassarticle
thispagestyleempty
usepackagelipsum
usepackagetikz
usetikzlibrarybackgrounds
makeatletter

tikzset%
fancy quotes/.style=
text width=fq@width pt,
align=justify,
inner sep=1em,
anchor=north west,
minimum width=linewidth,
,
fancy quotes width/.initial=.8linewidth,
fancy quotes marks/.style=
scale=8,
text=white,
inner sep=0pt,
,
fancy quotes opening/.style=
fancy quotes marks,
,
fancy quotes closing/.style=
fancy quotes marks,
,
fancy quotes background/.style=
show background rectangle,
inner frame xsep=0pt,
background rectangle/.style=
fill=gray!25,
rounded corners,
,



newenvironmentfancyquotes[1][]%
noindent
tikzpicture[fancy quotes background]
node[fancy quotes opening,anchor=north west] (fq@ul) at (0,0) ``;
tikz@scan@one@pointpgfutil@firstofone(fq@ul.east)
pgfmathsetmacrofq@widthlinewidth - 2*pgf@x
node[fancy quotes,#1] (fq@txt) at (fq@ul.north west) bgroup
egroup;
node[overlay,fancy quotes closing,anchor=east] at (fq@txt.south east) '';
endtikzpicture

makeatother

begindocument
lipsum[1]

beginfancyquotes
lipsum[1]
endfancyquotes

lipsum[1]
enddocument


The lipsum package is just to provide some dummy text.






share|improve this answer

























  • I like this one a lot and have started to use it in my documents. Thanks!

    – adl
    Jan 26 '12 at 16:46











  • This looks seriously good in documents. Thanks!

    – tchakravarty
    Jul 25 '12 at 6:53











  • Just had a request on TeXwelt.de to have the box in twocolumn mode taking up just one column. Basically, s/textwidth/columnwidth/g. Can you add a line explaining and maybe another screenshot?

    – Johannes_B
    Feb 13 '15 at 16:44











  • @Johannes_B Feel free to edit the answer with that change. As this is over three years old, I don't feel able to resurrect it myself.

    – Loop Space
    Feb 14 '15 at 19:34






  • 1





    @Johannes_B @LoopSpace This is great! This creates no spacing between paragraphs within the block quote, however. How can I modify it so that there is normal spacing between paragraphs within the fancyquotes environment? I tried adding setlengthbaselineskip16pt and setlengthparskipbaselineskip but neither one worked.

    – incandescentman
    Dec 21 '16 at 5:31


















25














documentclass[12pt]article
usepackage[T1]fontenc
usepackagelibertine
usepackagegraphicx
usepackage[svgnames]xcolor
usepackageframed

newcommand*openquotemakebox(25,-22)scalebox5``
newcommand*closequotemakebox(25,-22)scalebox5''
colorletshadecolorAzure

makeatletter
newifif@right
defshadequote@righttrueshadequote@i
defshadequote@ibeginsnugshadebeginquoteopenquote
defendshadequote%
if@righthfillficlosequoteendquoteendsnugshade
@namedefshadequote*@rightfalseshadequote@i
@namedefendshadequote*endshadequote
makeatother
begindocument

beginshadequote
Some quoted words
endshadequote

beginshadequote*
Some quoted words
endshadequote*

beginshadequote
A common mistake that people make when trying to design something completely
foolproof is to underestimate the ingenuity of complete fools.paremphDouglas Adams
endshadequote

enddocument


enter image description here






share|improve this answer























  • Using your code in a minimal example works great, but when I copy it to a large document I work on I get the error "You can't use 'spacefactor' in vertical mode". Do you have any idea how to resolve this problem? Thanks!

    – lumbric
    Mar 21 '12 at 22:39











  • you'd forgotten the makeatletter ... makeatother

    – Herbert
    Mar 22 '12 at 11:09











  • Thanks a lot! It took me quite a while to figure out what happend, but you were right, I messed up the makeatletter and makeatother commands. This happend after exporting some code from LyX, at this step LyX put some additional makeatletter and makeatother around my custom code.

    – lumbric
    Mar 26 '12 at 21:22











  • If there is a line break before the closing quote, it looks a bit strange. I don't have a real good suggestion, but I think placing simple a nolinebreak makes things a bit better. This means one would have to replace the line if@righthfillficlosequoteendquoteendsnugshade} by nolinebreakif@righthfillficlosequoteendquoteendsnugshade}. This is a comment and not an edit, because I'm unsure if it's the best solution.

    – lumbric
    Mar 28 '12 at 20:28











  • I'm trying to use this in my thesis which is based on classicthesis but the problem is, it mess with all my fonts and change them. What am I doing wrong here? The same holds for @Herbert 's answer.

    – Pouya
    Sep 25 '13 at 15:31


















4














Had I known about this question, I would not have written cfr-dquote. However, I didn't, so I did. Here's a lightly modified version of my package for public consumption or rejection.



The package defines a command, dquote[<dimension>]<long text><short text which is intended to be used so that <dimension> is the width desired, <long text> is the quotation and <short text> is the attribution.



The package is based on TikZ and the appearance can be customised using the usual key-value interface. For example, I've never used this with a coloured background to the quotation, but that is easy to achieve by simply altering quote style.



For example,



documentclass[a4paper,british]article
usepackage[utf8]inputenc
usepackagegeometry,babel,csquotes
usepackagecfr-lm
usepackagecfr-dquote
MakeAutoQuote‘’
MakeAutoQuote*“”
begindocument
tikzset%
dquote text font=fontfamilyLobsterTwo-LFselectfontLargeupshape,
dquote attrib font=fontfamilyLobsterTwo-LFselectfontHugeitshape,
dquote=
quote style/.style=align=justify, fill=blue!50!cyan, fill opacity=.2, text opacity=1, text=blue!15!darkgray,
marks=
size=Huge,
scale=4,
color=blue!50!darkgray,
opacity=.5,
,
,
%
dquote%
‘Come, we shall have some fun now!’ thought Alice. ‘I'm glad they've begun asking riddles --- I believe I can guess that,’ she added aloud.

‘Do you mean that you think you can find out the answer to it?’ said the March Hare.

‘Exactly so,’ said Alice.

‘Then you should say what you mean,’ the March Hare went on.

‘I do,’ Alice hastily replied; ‘at least --- at least I mean what I say --- that's the same thing, you know.’

‘Not the same thing a bit!’ said the Hatter. ‘Why, you might just as well say that ‘I see what I eat’ is the same thing as ‘I eat what I see’!’

‘You might just as well say,’ added the March Hare, ‘that ‘I like what I get’ is the same thing as ‘I get what I like’!’

‘You might just as well say,’ added the Dormouse, which seemed to be talking in its sleep, ‘that ‘I breathe when I sleep’ is the same thing as ‘I sleep when I breathe’!’
Lewis Carroll

enddocument


produces the following output



Alice quote



The package consists of two files, cfr-dquote.sty and cfr-dquote.tex. In theory, the latter can be compiled alone, since it uses the standalone class, but don't be tempted to use it this way - that's just to make tweaks and debugging easier.



Complete code:



beginfilecontentscfr-dquote.sty
% !TEX encoding = UTF-8 Unicode
% cfr-dquote.sty
NeedsTeXFormatLaTeX2e% LaTeX 2.09 can't be used (nor non-LaTeX)
[1994/12/01]% LaTeX date must December 1994 or later
RequirePackagesvn-prov
ProvidesPackageSVN$Id: cfr-dquote.sty 7799 2018-07-20 01:52:15Z cfr $
RequirePackagexcolor,pifont,standalone,xparse,tikz
usetikzlibrarycalc,positioning,backgrounds
IfFileExiststikzlibrarypicfix.code.texusetikzlibrarypicfix
IfFileExiststikzlibrarycfrexternal.code.texusetikzlibrarycfrexternalusetikzlibraryexternal
NewDocumentCommanddquotetextfonthooknormalfontlarge
NewDocumentCommanddquoteattribfonthooknormalfontnormalsize
AtBeginDocument%
newlengthcfrdquoteparskipsetlengthcfrdquoteparskipparskip%
newlengthcfrdquoteparindentsetlengthcfrdquoteparindentparindent
% BEGIN defaults
tikzset%
dquote text font/.code=%
RenewDocumentCommanddquotetextfonthook#1
,
dquote attrib font/.code=%
RenewDocumentCommanddquoteattribfonthook#1
,
dquote/.code=%
tikzset%
/cfr-dquote/.cd,
#1

,
/cfr-dquote/quote style/.style=align=justify, color=blue!50!black,
/cfr-dquote/quote/.style=/cfr-dquote/quote style, font=dquotetextfonthook,
/cfr-dquote/attrib/.style=/cfr-dquote/quote style, font=dquoteattribfonthook,
/cfr-dquote/quote mark/.style=color=cfrdquotecolor, opacity=cfrdquoteopacity, font=cfrdquotesize, scale=cfrdquotescale,
/cfr-dquote/.cd,
width/.store in=cfrdquotewidth,
text/.store in=cfrdquotetext,
attribution/.store in=cfrdquoteattrib,
width=120mm,
text=Does dim o gwbl yn y fan hon!,
attribution=Neb,
marks/.code=%
tikzset%
/cfr-dquote/quote marks/.cd,
#1

,
quote marks/size/.store in=cfrdquotesize,
quote marks/scale/.store in=cfrdquotescale,
quote marks/color/.store in=cfrdquotecolor,
quote marks/opacity/.store in=cfrdquoteopacity,
marks=
size=Huge,
scale=4,
color=blue!50!cyan,
opacity=.25,
,

% END defaults
% BEGIN defn dquote
NewDocumentCommanddquote O 120mm +m m %
tikzset%
external/export next=false,
/cfr-dquote/.cd,
width=#1,
text=setlengthparskipcfrdquoteparskipsetlengthparindentcfrdquoteparindent#2,
attribution=#3
%
inputcfr-dquote%

% END defn dquote
endinput
endfilecontents
beginfilecontentscfr-dquote.tex
% !TEX TS-program = pdflatex
% !TEX encoding = UTF-8 Unicode
% arara: pdflatex: synctex: true
%BEGIN preamble
csname standaloneignoreendcsname
pdfminorversion=7
PassOptionsToPackagergbxcolor
RequirePackagesvn-prov
ProvidesFileSVN$Id: cfr-dquote.tex 7800 2018-07-20 01:58:28Z cfr $
documentclass[tikz,12pt]standalone
usetikzlibrarycalc,positioning,backgrounds
usepackagepifont,biblatex
% END preamble

begindocument%
begintikzpicture[node distance=0pt]
node (quotation) [/cfr-dquote/quote, text width=cfrdquotewidth] cfrdquotetext;
node (attrib) [/cfr-dquote/attrib, below=of quotation, text width=cfrdquotewidth] cfrdquoteattrib;
node (qlhs) [left=of quotation.north west, /cfr-dquote/quote mark, xshift=.25em, yshift=.25em, anchor=north east] ding123;
node (qrhs) [right=of quotation.south east, /cfr-dquote/quote mark, xshift=-.25em, yshift=-.75em, anchor=south west] ding124;
pgfresetboundingbox
useasboundingbox (attrib.south -| qlhs.west) rectangle (quotation.north -| qrhs.east);
endtikzpicture%
enddocument
endfilecontents


documentclass[a4paper,british]article
usepackage[utf8]inputenc
usepackagegeometry,babel,csquotes
usepackagecfr-lm
usepackagecfr-dquote
MakeAutoQuote‘’
MakeAutoQuote*“”
begindocument
tikzset%
dquote text font=fontfamilyLobsterTwo-LFselectfontLargeupshape,
dquote attrib font=fontfamilyLobsterTwo-LFselectfontHugeitshape,
dquote=
quote style/.style=align=justify, fill=blue!50!cyan, fill opacity=.2, text opacity=1, text=blue!15!darkgray,
marks=
size=Huge,
scale=4,
color=blue!50!darkgray,
opacity=.5,
,
,
%
dquote%
‘Come, we shall have some fun now!’ thought Alice. ‘I'm glad they've begun asking riddles --- I believe I can guess that,’ she added aloud.

‘Do you mean that you think you can find out the answer to it?’ said the March Hare.

‘Exactly so,’ said Alice.

‘Then you should say what you mean,’ the March Hare went on.

‘I do,’ Alice hastily replied; ‘at least --- at least I mean what I say --- that's the same thing, you know.’

‘Not the same thing a bit!’ said the Hatter. ‘Why, you might just as well say that ‘I see what I eat’ is the same thing as ‘I eat what I see’!’

‘You might just as well say,’ added the March Hare, ‘that ‘I like what I get’ is the same thing as ‘I get what I like’!’

‘You might just as well say,’ added the Dormouse, which seemed to be talking in its sleep, ‘that ‘I breathe when I sleep’ is the same thing as ‘I sleep when I breathe’!’
Lewis Carroll

enddocument





share|improve this answer






























    0
















    I know that this is old, but I may as well share my simple attempt.



    Note: requires usepackagexcolor



    newcommandquotebox[1]begincenterfcolorboxwhiteblue!15!gray!15beginminipage0.9linewidthvspace10ptcenterbeginminipage0.8linewidthspaceHuge``#1hspace1.5embreaknullHugehfill''endminipagesmallbreakendminipageendcenter


    Example:



    Example image





    share








    New contributor




    Ender - Joshua Pritsker is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.



















      Your Answer








      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "85"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: false,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: null,
      bindNavPrevention: true,
      postfix: "",
      imageUploader:
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      ,
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );













      draft saved

      draft discarded


















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f16964%2fblock-quote-with-big-quotation-marks%23new-answer', 'question_page');

      );

      Post as a guest















      Required, but never shown

























      5 Answers
      5






      active

      oldest

      votes








      5 Answers
      5






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      68














      Here's one solution using TikZ which defines a new environment using the framed package. You should preferably compile this with xelatex or lualatex, since it gives the easiest access to a wide range of fonts. I've added code to make it run under pdflatex as well.



      The code has now been updated to allow some flexibility in the formatting of the different components of the quotation, and the environment takes two arguments:



      Environment Syntax




       beginshadequote[<alignment>]<author>
      text of quote
      endshadequote




      Code



      % !TEX TS-program = xeLaTeX

      documentclass[12pt]article
      usepackageifxetex,ifluatex
      usepackageetoolbox
      usepackage[svgnames]xcolor

      usepackagetikz

      usepackageframed

      % conditional for xetex or luatex
      newififxetexorluatex
      ifxetex
      xetexorluatextrue
      else
      ifluatex
      xetexorluatextrue
      else
      xetexorluatexfalse
      fi
      fi
      %
      ifxetexorluatex%
      usepackagefontspec
      usepackagelibertine % or use setmainfont to choose any font on your system
      newfontfamilyquotefont[Ligatures=TeX]Linux Libertine O % selects Libertine as the quote font
      else
      usepackage[utf8]inputenc
      usepackage[T1]fontenc
      usepackagelibertine % or any other font package
      newcommand*quotefontfontfamilyLinuxLibertineT-LF % selects Libertine as the quote font
      fi

      newcommand*quotesize60 % if quote size changes, need a way to make shifts relative
      % Make commands for the quotes
      newcommand*openquote
      tikz[remember picture,overlay,xshift=-4ex,yshift=-2.5ex]
      node (OQ) quotefontfontsizequotesizequotesizeselectfont``;kern0pt

      newcommand*closequote[1]
      tikz[remember picture,overlay,xshift=4ex,yshift=#1]
      node (CQ) quotefontfontsizequotesizequotesizeselectfont'';

      % select a colour for the shading
      colorletshadecolorAzure

      newcommand*shadedauthorformatemph % define format for the author argument

      % Now a command to allow left, right and centre alignment of the author
      newcommand*authoralign[1]%
      if#1l
      defauthorfilldefquotefillhfill
      else
      if#1r
      defauthorfillhfilldefquotefill
      else
      if#1c
      gdefauthorfillhfilldefquotefillhfill
      elsetypeoutInvalid option
      fi
      fi
      fi
      % wrap everything in its own environment which takes one argument (author) and one optional argument
      % specifying the alignment [l, r or c]
      %
      newenvironmentshadequote[2][l]%
      authoralign#1
      ifblank#2
      defshadequoteauthordefyshift-2exdefquotefillhfill
      defshadequoteauthorparauthorfillshadedauthorformat#2defyshift2ex
      beginsnugshadebeginquoteopenquote
      shadequoteauthorquotefillclosequoteyshiftendquoteendsnugshade

      begindocument

      beginshadequote[l]Douglas Adams
      A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
      endshadequote

      beginshadequote[r]Douglas Adams
      A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
      endshadequote

      beginshadequote[c]Douglas Adams
      A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
      endshadequote

      beginshadequote
      A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
      endshadequote

      enddocument


      In this code, the font for the quotation marks is set independently of the main document font. This is because depending on the main font you choose, the very large quotation marks will not look good; Linux Libertine has pretty quotes that seem appropriate for the purpose. If you want to use this environment with another main document font, remove/change the usepackagelibertine.



      Sample output



      output of code






      share|improve this answer




















      • 1





        @Alun: Why do you define quotefont? libertine is already present.

        – Herbert
        Apr 30 '11 at 14:32






      • 1





        @Herbert Because these are decorative elements, it makes sense to define the font for the quotes independent of the document font. For example, if you just use Computer Modern, the big quotes look quite silly; The libertine font has a pretty quote for this purpose, and I would use it with most document fonts.

        – Alan Munn
        Apr 30 '11 at 14:53











      • @Alun: You know, that I know that ... ;-) But then it makes sense to use another text font in your example, if you want to show this behaviour.

        – Herbert
        Apr 30 '11 at 17:32






      • 1





        @Chernoff I'm not sure why this happens, but you can adjust the value of xshift in the closequote macro to 1ex (or similar values) to adjust the positioning of the quote.

        – Alan Munn
        Jun 30 '18 at 16:02







      • 1





        @Chernoff Again, not sure the reason, but you can add vspace1ex (or similar value) before the emph in the shadedauthorformat definition.

        – Alan Munn
        Jun 30 '18 at 16:41















      68














      Here's one solution using TikZ which defines a new environment using the framed package. You should preferably compile this with xelatex or lualatex, since it gives the easiest access to a wide range of fonts. I've added code to make it run under pdflatex as well.



      The code has now been updated to allow some flexibility in the formatting of the different components of the quotation, and the environment takes two arguments:



      Environment Syntax




       beginshadequote[<alignment>]<author>
      text of quote
      endshadequote




      Code



      % !TEX TS-program = xeLaTeX

      documentclass[12pt]article
      usepackageifxetex,ifluatex
      usepackageetoolbox
      usepackage[svgnames]xcolor

      usepackagetikz

      usepackageframed

      % conditional for xetex or luatex
      newififxetexorluatex
      ifxetex
      xetexorluatextrue
      else
      ifluatex
      xetexorluatextrue
      else
      xetexorluatexfalse
      fi
      fi
      %
      ifxetexorluatex%
      usepackagefontspec
      usepackagelibertine % or use setmainfont to choose any font on your system
      newfontfamilyquotefont[Ligatures=TeX]Linux Libertine O % selects Libertine as the quote font
      else
      usepackage[utf8]inputenc
      usepackage[T1]fontenc
      usepackagelibertine % or any other font package
      newcommand*quotefontfontfamilyLinuxLibertineT-LF % selects Libertine as the quote font
      fi

      newcommand*quotesize60 % if quote size changes, need a way to make shifts relative
      % Make commands for the quotes
      newcommand*openquote
      tikz[remember picture,overlay,xshift=-4ex,yshift=-2.5ex]
      node (OQ) quotefontfontsizequotesizequotesizeselectfont``;kern0pt

      newcommand*closequote[1]
      tikz[remember picture,overlay,xshift=4ex,yshift=#1]
      node (CQ) quotefontfontsizequotesizequotesizeselectfont'';

      % select a colour for the shading
      colorletshadecolorAzure

      newcommand*shadedauthorformatemph % define format for the author argument

      % Now a command to allow left, right and centre alignment of the author
      newcommand*authoralign[1]%
      if#1l
      defauthorfilldefquotefillhfill
      else
      if#1r
      defauthorfillhfilldefquotefill
      else
      if#1c
      gdefauthorfillhfilldefquotefillhfill
      elsetypeoutInvalid option
      fi
      fi
      fi
      % wrap everything in its own environment which takes one argument (author) and one optional argument
      % specifying the alignment [l, r or c]
      %
      newenvironmentshadequote[2][l]%
      authoralign#1
      ifblank#2
      defshadequoteauthordefyshift-2exdefquotefillhfill
      defshadequoteauthorparauthorfillshadedauthorformat#2defyshift2ex
      beginsnugshadebeginquoteopenquote
      shadequoteauthorquotefillclosequoteyshiftendquoteendsnugshade

      begindocument

      beginshadequote[l]Douglas Adams
      A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
      endshadequote

      beginshadequote[r]Douglas Adams
      A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
      endshadequote

      beginshadequote[c]Douglas Adams
      A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
      endshadequote

      beginshadequote
      A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
      endshadequote

      enddocument


      In this code, the font for the quotation marks is set independently of the main document font. This is because depending on the main font you choose, the very large quotation marks will not look good; Linux Libertine has pretty quotes that seem appropriate for the purpose. If you want to use this environment with another main document font, remove/change the usepackagelibertine.



      Sample output



      output of code






      share|improve this answer




















      • 1





        @Alun: Why do you define quotefont? libertine is already present.

        – Herbert
        Apr 30 '11 at 14:32






      • 1





        @Herbert Because these are decorative elements, it makes sense to define the font for the quotes independent of the document font. For example, if you just use Computer Modern, the big quotes look quite silly; The libertine font has a pretty quote for this purpose, and I would use it with most document fonts.

        – Alan Munn
        Apr 30 '11 at 14:53











      • @Alun: You know, that I know that ... ;-) But then it makes sense to use another text font in your example, if you want to show this behaviour.

        – Herbert
        Apr 30 '11 at 17:32






      • 1





        @Chernoff I'm not sure why this happens, but you can adjust the value of xshift in the closequote macro to 1ex (or similar values) to adjust the positioning of the quote.

        – Alan Munn
        Jun 30 '18 at 16:02







      • 1





        @Chernoff Again, not sure the reason, but you can add vspace1ex (or similar value) before the emph in the shadedauthorformat definition.

        – Alan Munn
        Jun 30 '18 at 16:41













      68












      68








      68







      Here's one solution using TikZ which defines a new environment using the framed package. You should preferably compile this with xelatex or lualatex, since it gives the easiest access to a wide range of fonts. I've added code to make it run under pdflatex as well.



      The code has now been updated to allow some flexibility in the formatting of the different components of the quotation, and the environment takes two arguments:



      Environment Syntax




       beginshadequote[<alignment>]<author>
      text of quote
      endshadequote




      Code



      % !TEX TS-program = xeLaTeX

      documentclass[12pt]article
      usepackageifxetex,ifluatex
      usepackageetoolbox
      usepackage[svgnames]xcolor

      usepackagetikz

      usepackageframed

      % conditional for xetex or luatex
      newififxetexorluatex
      ifxetex
      xetexorluatextrue
      else
      ifluatex
      xetexorluatextrue
      else
      xetexorluatexfalse
      fi
      fi
      %
      ifxetexorluatex%
      usepackagefontspec
      usepackagelibertine % or use setmainfont to choose any font on your system
      newfontfamilyquotefont[Ligatures=TeX]Linux Libertine O % selects Libertine as the quote font
      else
      usepackage[utf8]inputenc
      usepackage[T1]fontenc
      usepackagelibertine % or any other font package
      newcommand*quotefontfontfamilyLinuxLibertineT-LF % selects Libertine as the quote font
      fi

      newcommand*quotesize60 % if quote size changes, need a way to make shifts relative
      % Make commands for the quotes
      newcommand*openquote
      tikz[remember picture,overlay,xshift=-4ex,yshift=-2.5ex]
      node (OQ) quotefontfontsizequotesizequotesizeselectfont``;kern0pt

      newcommand*closequote[1]
      tikz[remember picture,overlay,xshift=4ex,yshift=#1]
      node (CQ) quotefontfontsizequotesizequotesizeselectfont'';

      % select a colour for the shading
      colorletshadecolorAzure

      newcommand*shadedauthorformatemph % define format for the author argument

      % Now a command to allow left, right and centre alignment of the author
      newcommand*authoralign[1]%
      if#1l
      defauthorfilldefquotefillhfill
      else
      if#1r
      defauthorfillhfilldefquotefill
      else
      if#1c
      gdefauthorfillhfilldefquotefillhfill
      elsetypeoutInvalid option
      fi
      fi
      fi
      % wrap everything in its own environment which takes one argument (author) and one optional argument
      % specifying the alignment [l, r or c]
      %
      newenvironmentshadequote[2][l]%
      authoralign#1
      ifblank#2
      defshadequoteauthordefyshift-2exdefquotefillhfill
      defshadequoteauthorparauthorfillshadedauthorformat#2defyshift2ex
      beginsnugshadebeginquoteopenquote
      shadequoteauthorquotefillclosequoteyshiftendquoteendsnugshade

      begindocument

      beginshadequote[l]Douglas Adams
      A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
      endshadequote

      beginshadequote[r]Douglas Adams
      A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
      endshadequote

      beginshadequote[c]Douglas Adams
      A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
      endshadequote

      beginshadequote
      A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
      endshadequote

      enddocument


      In this code, the font for the quotation marks is set independently of the main document font. This is because depending on the main font you choose, the very large quotation marks will not look good; Linux Libertine has pretty quotes that seem appropriate for the purpose. If you want to use this environment with another main document font, remove/change the usepackagelibertine.



      Sample output



      output of code






      share|improve this answer















      Here's one solution using TikZ which defines a new environment using the framed package. You should preferably compile this with xelatex or lualatex, since it gives the easiest access to a wide range of fonts. I've added code to make it run under pdflatex as well.



      The code has now been updated to allow some flexibility in the formatting of the different components of the quotation, and the environment takes two arguments:



      Environment Syntax




       beginshadequote[<alignment>]<author>
      text of quote
      endshadequote




      Code



      % !TEX TS-program = xeLaTeX

      documentclass[12pt]article
      usepackageifxetex,ifluatex
      usepackageetoolbox
      usepackage[svgnames]xcolor

      usepackagetikz

      usepackageframed

      % conditional for xetex or luatex
      newififxetexorluatex
      ifxetex
      xetexorluatextrue
      else
      ifluatex
      xetexorluatextrue
      else
      xetexorluatexfalse
      fi
      fi
      %
      ifxetexorluatex%
      usepackagefontspec
      usepackagelibertine % or use setmainfont to choose any font on your system
      newfontfamilyquotefont[Ligatures=TeX]Linux Libertine O % selects Libertine as the quote font
      else
      usepackage[utf8]inputenc
      usepackage[T1]fontenc
      usepackagelibertine % or any other font package
      newcommand*quotefontfontfamilyLinuxLibertineT-LF % selects Libertine as the quote font
      fi

      newcommand*quotesize60 % if quote size changes, need a way to make shifts relative
      % Make commands for the quotes
      newcommand*openquote
      tikz[remember picture,overlay,xshift=-4ex,yshift=-2.5ex]
      node (OQ) quotefontfontsizequotesizequotesizeselectfont``;kern0pt

      newcommand*closequote[1]
      tikz[remember picture,overlay,xshift=4ex,yshift=#1]
      node (CQ) quotefontfontsizequotesizequotesizeselectfont'';

      % select a colour for the shading
      colorletshadecolorAzure

      newcommand*shadedauthorformatemph % define format for the author argument

      % Now a command to allow left, right and centre alignment of the author
      newcommand*authoralign[1]%
      if#1l
      defauthorfilldefquotefillhfill
      else
      if#1r
      defauthorfillhfilldefquotefill
      else
      if#1c
      gdefauthorfillhfilldefquotefillhfill
      elsetypeoutInvalid option
      fi
      fi
      fi
      % wrap everything in its own environment which takes one argument (author) and one optional argument
      % specifying the alignment [l, r or c]
      %
      newenvironmentshadequote[2][l]%
      authoralign#1
      ifblank#2
      defshadequoteauthordefyshift-2exdefquotefillhfill
      defshadequoteauthorparauthorfillshadedauthorformat#2defyshift2ex
      beginsnugshadebeginquoteopenquote
      shadequoteauthorquotefillclosequoteyshiftendquoteendsnugshade

      begindocument

      beginshadequote[l]Douglas Adams
      A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
      endshadequote

      beginshadequote[r]Douglas Adams
      A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
      endshadequote

      beginshadequote[c]Douglas Adams
      A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
      endshadequote

      beginshadequote
      A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
      endshadequote

      enddocument


      In this code, the font for the quotation marks is set independently of the main document font. This is because depending on the main font you choose, the very large quotation marks will not look good; Linux Libertine has pretty quotes that seem appropriate for the purpose. If you want to use this environment with another main document font, remove/change the usepackagelibertine.



      Sample output



      output of code







      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited May 2 '13 at 4:44

























      answered Apr 30 '11 at 0:36









      Alan MunnAlan Munn

      163k28432711




      163k28432711







      • 1





        @Alun: Why do you define quotefont? libertine is already present.

        – Herbert
        Apr 30 '11 at 14:32






      • 1





        @Herbert Because these are decorative elements, it makes sense to define the font for the quotes independent of the document font. For example, if you just use Computer Modern, the big quotes look quite silly; The libertine font has a pretty quote for this purpose, and I would use it with most document fonts.

        – Alan Munn
        Apr 30 '11 at 14:53











      • @Alun: You know, that I know that ... ;-) But then it makes sense to use another text font in your example, if you want to show this behaviour.

        – Herbert
        Apr 30 '11 at 17:32






      • 1





        @Chernoff I'm not sure why this happens, but you can adjust the value of xshift in the closequote macro to 1ex (or similar values) to adjust the positioning of the quote.

        – Alan Munn
        Jun 30 '18 at 16:02







      • 1





        @Chernoff Again, not sure the reason, but you can add vspace1ex (or similar value) before the emph in the shadedauthorformat definition.

        – Alan Munn
        Jun 30 '18 at 16:41












      • 1





        @Alun: Why do you define quotefont? libertine is already present.

        – Herbert
        Apr 30 '11 at 14:32






      • 1





        @Herbert Because these are decorative elements, it makes sense to define the font for the quotes independent of the document font. For example, if you just use Computer Modern, the big quotes look quite silly; The libertine font has a pretty quote for this purpose, and I would use it with most document fonts.

        – Alan Munn
        Apr 30 '11 at 14:53











      • @Alun: You know, that I know that ... ;-) But then it makes sense to use another text font in your example, if you want to show this behaviour.

        – Herbert
        Apr 30 '11 at 17:32






      • 1





        @Chernoff I'm not sure why this happens, but you can adjust the value of xshift in the closequote macro to 1ex (or similar values) to adjust the positioning of the quote.

        – Alan Munn
        Jun 30 '18 at 16:02







      • 1





        @Chernoff Again, not sure the reason, but you can add vspace1ex (or similar value) before the emph in the shadedauthorformat definition.

        – Alan Munn
        Jun 30 '18 at 16:41







      1




      1





      @Alun: Why do you define quotefont? libertine is already present.

      – Herbert
      Apr 30 '11 at 14:32





      @Alun: Why do you define quotefont? libertine is already present.

      – Herbert
      Apr 30 '11 at 14:32




      1




      1





      @Herbert Because these are decorative elements, it makes sense to define the font for the quotes independent of the document font. For example, if you just use Computer Modern, the big quotes look quite silly; The libertine font has a pretty quote for this purpose, and I would use it with most document fonts.

      – Alan Munn
      Apr 30 '11 at 14:53





      @Herbert Because these are decorative elements, it makes sense to define the font for the quotes independent of the document font. For example, if you just use Computer Modern, the big quotes look quite silly; The libertine font has a pretty quote for this purpose, and I would use it with most document fonts.

      – Alan Munn
      Apr 30 '11 at 14:53













      @Alun: You know, that I know that ... ;-) But then it makes sense to use another text font in your example, if you want to show this behaviour.

      – Herbert
      Apr 30 '11 at 17:32





      @Alun: You know, that I know that ... ;-) But then it makes sense to use another text font in your example, if you want to show this behaviour.

      – Herbert
      Apr 30 '11 at 17:32




      1




      1





      @Chernoff I'm not sure why this happens, but you can adjust the value of xshift in the closequote macro to 1ex (or similar values) to adjust the positioning of the quote.

      – Alan Munn
      Jun 30 '18 at 16:02






      @Chernoff I'm not sure why this happens, but you can adjust the value of xshift in the closequote macro to 1ex (or similar values) to adjust the positioning of the quote.

      – Alan Munn
      Jun 30 '18 at 16:02





      1




      1





      @Chernoff Again, not sure the reason, but you can add vspace1ex (or similar value) before the emph in the shadedauthorformat definition.

      – Alan Munn
      Jun 30 '18 at 16:41





      @Chernoff Again, not sure the reason, but you can add vspace1ex (or similar value) before the emph in the shadedauthorformat definition.

      – Alan Munn
      Jun 30 '18 at 16:41











      30














      (We just got another question asking for something similar: Quote style like on owni.eu. I wasn't aware of this question when I started to answer that one, but on becoming aware of it decided to post my answer here instead.)



      It's also TikZ-based but slightly different to Alan's as the whole thing ends up in a TikZ node. This does mean that it won't work with page-breaking. One could also adapt the quote marks from Alan's version to make them look a bit better.



      Here's the result:



      fancy quotes



      And here's the code:



      documentclassarticle
      thispagestyleempty
      usepackagelipsum
      usepackagetikz
      usetikzlibrarybackgrounds
      makeatletter

      tikzset%
      fancy quotes/.style=
      text width=fq@width pt,
      align=justify,
      inner sep=1em,
      anchor=north west,
      minimum width=linewidth,
      ,
      fancy quotes width/.initial=.8linewidth,
      fancy quotes marks/.style=
      scale=8,
      text=white,
      inner sep=0pt,
      ,
      fancy quotes opening/.style=
      fancy quotes marks,
      ,
      fancy quotes closing/.style=
      fancy quotes marks,
      ,
      fancy quotes background/.style=
      show background rectangle,
      inner frame xsep=0pt,
      background rectangle/.style=
      fill=gray!25,
      rounded corners,
      ,



      newenvironmentfancyquotes[1][]%
      noindent
      tikzpicture[fancy quotes background]
      node[fancy quotes opening,anchor=north west] (fq@ul) at (0,0) ``;
      tikz@scan@one@pointpgfutil@firstofone(fq@ul.east)
      pgfmathsetmacrofq@widthlinewidth - 2*pgf@x
      node[fancy quotes,#1] (fq@txt) at (fq@ul.north west) bgroup
      egroup;
      node[overlay,fancy quotes closing,anchor=east] at (fq@txt.south east) '';
      endtikzpicture

      makeatother

      begindocument
      lipsum[1]

      beginfancyquotes
      lipsum[1]
      endfancyquotes

      lipsum[1]
      enddocument


      The lipsum package is just to provide some dummy text.






      share|improve this answer

























      • I like this one a lot and have started to use it in my documents. Thanks!

        – adl
        Jan 26 '12 at 16:46











      • This looks seriously good in documents. Thanks!

        – tchakravarty
        Jul 25 '12 at 6:53











      • Just had a request on TeXwelt.de to have the box in twocolumn mode taking up just one column. Basically, s/textwidth/columnwidth/g. Can you add a line explaining and maybe another screenshot?

        – Johannes_B
        Feb 13 '15 at 16:44











      • @Johannes_B Feel free to edit the answer with that change. As this is over three years old, I don't feel able to resurrect it myself.

        – Loop Space
        Feb 14 '15 at 19:34






      • 1





        @Johannes_B @LoopSpace This is great! This creates no spacing between paragraphs within the block quote, however. How can I modify it so that there is normal spacing between paragraphs within the fancyquotes environment? I tried adding setlengthbaselineskip16pt and setlengthparskipbaselineskip but neither one worked.

        – incandescentman
        Dec 21 '16 at 5:31















      30














      (We just got another question asking for something similar: Quote style like on owni.eu. I wasn't aware of this question when I started to answer that one, but on becoming aware of it decided to post my answer here instead.)



      It's also TikZ-based but slightly different to Alan's as the whole thing ends up in a TikZ node. This does mean that it won't work with page-breaking. One could also adapt the quote marks from Alan's version to make them look a bit better.



      Here's the result:



      fancy quotes



      And here's the code:



      documentclassarticle
      thispagestyleempty
      usepackagelipsum
      usepackagetikz
      usetikzlibrarybackgrounds
      makeatletter

      tikzset%
      fancy quotes/.style=
      text width=fq@width pt,
      align=justify,
      inner sep=1em,
      anchor=north west,
      minimum width=linewidth,
      ,
      fancy quotes width/.initial=.8linewidth,
      fancy quotes marks/.style=
      scale=8,
      text=white,
      inner sep=0pt,
      ,
      fancy quotes opening/.style=
      fancy quotes marks,
      ,
      fancy quotes closing/.style=
      fancy quotes marks,
      ,
      fancy quotes background/.style=
      show background rectangle,
      inner frame xsep=0pt,
      background rectangle/.style=
      fill=gray!25,
      rounded corners,
      ,



      newenvironmentfancyquotes[1][]%
      noindent
      tikzpicture[fancy quotes background]
      node[fancy quotes opening,anchor=north west] (fq@ul) at (0,0) ``;
      tikz@scan@one@pointpgfutil@firstofone(fq@ul.east)
      pgfmathsetmacrofq@widthlinewidth - 2*pgf@x
      node[fancy quotes,#1] (fq@txt) at (fq@ul.north west) bgroup
      egroup;
      node[overlay,fancy quotes closing,anchor=east] at (fq@txt.south east) '';
      endtikzpicture

      makeatother

      begindocument
      lipsum[1]

      beginfancyquotes
      lipsum[1]
      endfancyquotes

      lipsum[1]
      enddocument


      The lipsum package is just to provide some dummy text.






      share|improve this answer

























      • I like this one a lot and have started to use it in my documents. Thanks!

        – adl
        Jan 26 '12 at 16:46











      • This looks seriously good in documents. Thanks!

        – tchakravarty
        Jul 25 '12 at 6:53











      • Just had a request on TeXwelt.de to have the box in twocolumn mode taking up just one column. Basically, s/textwidth/columnwidth/g. Can you add a line explaining and maybe another screenshot?

        – Johannes_B
        Feb 13 '15 at 16:44











      • @Johannes_B Feel free to edit the answer with that change. As this is over three years old, I don't feel able to resurrect it myself.

        – Loop Space
        Feb 14 '15 at 19:34






      • 1





        @Johannes_B @LoopSpace This is great! This creates no spacing between paragraphs within the block quote, however. How can I modify it so that there is normal spacing between paragraphs within the fancyquotes environment? I tried adding setlengthbaselineskip16pt and setlengthparskipbaselineskip but neither one worked.

        – incandescentman
        Dec 21 '16 at 5:31













      30












      30








      30







      (We just got another question asking for something similar: Quote style like on owni.eu. I wasn't aware of this question when I started to answer that one, but on becoming aware of it decided to post my answer here instead.)



      It's also TikZ-based but slightly different to Alan's as the whole thing ends up in a TikZ node. This does mean that it won't work with page-breaking. One could also adapt the quote marks from Alan's version to make them look a bit better.



      Here's the result:



      fancy quotes



      And here's the code:



      documentclassarticle
      thispagestyleempty
      usepackagelipsum
      usepackagetikz
      usetikzlibrarybackgrounds
      makeatletter

      tikzset%
      fancy quotes/.style=
      text width=fq@width pt,
      align=justify,
      inner sep=1em,
      anchor=north west,
      minimum width=linewidth,
      ,
      fancy quotes width/.initial=.8linewidth,
      fancy quotes marks/.style=
      scale=8,
      text=white,
      inner sep=0pt,
      ,
      fancy quotes opening/.style=
      fancy quotes marks,
      ,
      fancy quotes closing/.style=
      fancy quotes marks,
      ,
      fancy quotes background/.style=
      show background rectangle,
      inner frame xsep=0pt,
      background rectangle/.style=
      fill=gray!25,
      rounded corners,
      ,



      newenvironmentfancyquotes[1][]%
      noindent
      tikzpicture[fancy quotes background]
      node[fancy quotes opening,anchor=north west] (fq@ul) at (0,0) ``;
      tikz@scan@one@pointpgfutil@firstofone(fq@ul.east)
      pgfmathsetmacrofq@widthlinewidth - 2*pgf@x
      node[fancy quotes,#1] (fq@txt) at (fq@ul.north west) bgroup
      egroup;
      node[overlay,fancy quotes closing,anchor=east] at (fq@txt.south east) '';
      endtikzpicture

      makeatother

      begindocument
      lipsum[1]

      beginfancyquotes
      lipsum[1]
      endfancyquotes

      lipsum[1]
      enddocument


      The lipsum package is just to provide some dummy text.






      share|improve this answer















      (We just got another question asking for something similar: Quote style like on owni.eu. I wasn't aware of this question when I started to answer that one, but on becoming aware of it decided to post my answer here instead.)



      It's also TikZ-based but slightly different to Alan's as the whole thing ends up in a TikZ node. This does mean that it won't work with page-breaking. One could also adapt the quote marks from Alan's version to make them look a bit better.



      Here's the result:



      fancy quotes



      And here's the code:



      documentclassarticle
      thispagestyleempty
      usepackagelipsum
      usepackagetikz
      usetikzlibrarybackgrounds
      makeatletter

      tikzset%
      fancy quotes/.style=
      text width=fq@width pt,
      align=justify,
      inner sep=1em,
      anchor=north west,
      minimum width=linewidth,
      ,
      fancy quotes width/.initial=.8linewidth,
      fancy quotes marks/.style=
      scale=8,
      text=white,
      inner sep=0pt,
      ,
      fancy quotes opening/.style=
      fancy quotes marks,
      ,
      fancy quotes closing/.style=
      fancy quotes marks,
      ,
      fancy quotes background/.style=
      show background rectangle,
      inner frame xsep=0pt,
      background rectangle/.style=
      fill=gray!25,
      rounded corners,
      ,



      newenvironmentfancyquotes[1][]%
      noindent
      tikzpicture[fancy quotes background]
      node[fancy quotes opening,anchor=north west] (fq@ul) at (0,0) ``;
      tikz@scan@one@pointpgfutil@firstofone(fq@ul.east)
      pgfmathsetmacrofq@widthlinewidth - 2*pgf@x
      node[fancy quotes,#1] (fq@txt) at (fq@ul.north west) bgroup
      egroup;
      node[overlay,fancy quotes closing,anchor=east] at (fq@txt.south east) '';
      endtikzpicture

      makeatother

      begindocument
      lipsum[1]

      beginfancyquotes
      lipsum[1]
      endfancyquotes

      lipsum[1]
      enddocument


      The lipsum package is just to provide some dummy text.







      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited Apr 13 '17 at 12:35









      Community

      1




      1










      answered Sep 14 '11 at 11:27









      Loop SpaceLoop Space

      113k29306609




      113k29306609












      • I like this one a lot and have started to use it in my documents. Thanks!

        – adl
        Jan 26 '12 at 16:46











      • This looks seriously good in documents. Thanks!

        – tchakravarty
        Jul 25 '12 at 6:53











      • Just had a request on TeXwelt.de to have the box in twocolumn mode taking up just one column. Basically, s/textwidth/columnwidth/g. Can you add a line explaining and maybe another screenshot?

        – Johannes_B
        Feb 13 '15 at 16:44











      • @Johannes_B Feel free to edit the answer with that change. As this is over three years old, I don't feel able to resurrect it myself.

        – Loop Space
        Feb 14 '15 at 19:34






      • 1





        @Johannes_B @LoopSpace This is great! This creates no spacing between paragraphs within the block quote, however. How can I modify it so that there is normal spacing between paragraphs within the fancyquotes environment? I tried adding setlengthbaselineskip16pt and setlengthparskipbaselineskip but neither one worked.

        – incandescentman
        Dec 21 '16 at 5:31

















      • I like this one a lot and have started to use it in my documents. Thanks!

        – adl
        Jan 26 '12 at 16:46











      • This looks seriously good in documents. Thanks!

        – tchakravarty
        Jul 25 '12 at 6:53











      • Just had a request on TeXwelt.de to have the box in twocolumn mode taking up just one column. Basically, s/textwidth/columnwidth/g. Can you add a line explaining and maybe another screenshot?

        – Johannes_B
        Feb 13 '15 at 16:44











      • @Johannes_B Feel free to edit the answer with that change. As this is over three years old, I don't feel able to resurrect it myself.

        – Loop Space
        Feb 14 '15 at 19:34






      • 1





        @Johannes_B @LoopSpace This is great! This creates no spacing between paragraphs within the block quote, however. How can I modify it so that there is normal spacing between paragraphs within the fancyquotes environment? I tried adding setlengthbaselineskip16pt and setlengthparskipbaselineskip but neither one worked.

        – incandescentman
        Dec 21 '16 at 5:31
















      I like this one a lot and have started to use it in my documents. Thanks!

      – adl
      Jan 26 '12 at 16:46





      I like this one a lot and have started to use it in my documents. Thanks!

      – adl
      Jan 26 '12 at 16:46













      This looks seriously good in documents. Thanks!

      – tchakravarty
      Jul 25 '12 at 6:53





      This looks seriously good in documents. Thanks!

      – tchakravarty
      Jul 25 '12 at 6:53













      Just had a request on TeXwelt.de to have the box in twocolumn mode taking up just one column. Basically, s/textwidth/columnwidth/g. Can you add a line explaining and maybe another screenshot?

      – Johannes_B
      Feb 13 '15 at 16:44





      Just had a request on TeXwelt.de to have the box in twocolumn mode taking up just one column. Basically, s/textwidth/columnwidth/g. Can you add a line explaining and maybe another screenshot?

      – Johannes_B
      Feb 13 '15 at 16:44













      @Johannes_B Feel free to edit the answer with that change. As this is over three years old, I don't feel able to resurrect it myself.

      – Loop Space
      Feb 14 '15 at 19:34





      @Johannes_B Feel free to edit the answer with that change. As this is over three years old, I don't feel able to resurrect it myself.

      – Loop Space
      Feb 14 '15 at 19:34




      1




      1





      @Johannes_B @LoopSpace This is great! This creates no spacing between paragraphs within the block quote, however. How can I modify it so that there is normal spacing between paragraphs within the fancyquotes environment? I tried adding setlengthbaselineskip16pt and setlengthparskipbaselineskip but neither one worked.

      – incandescentman
      Dec 21 '16 at 5:31





      @Johannes_B @LoopSpace This is great! This creates no spacing between paragraphs within the block quote, however. How can I modify it so that there is normal spacing between paragraphs within the fancyquotes environment? I tried adding setlengthbaselineskip16pt and setlengthparskipbaselineskip but neither one worked.

      – incandescentman
      Dec 21 '16 at 5:31











      25














      documentclass[12pt]article
      usepackage[T1]fontenc
      usepackagelibertine
      usepackagegraphicx
      usepackage[svgnames]xcolor
      usepackageframed

      newcommand*openquotemakebox(25,-22)scalebox5``
      newcommand*closequotemakebox(25,-22)scalebox5''
      colorletshadecolorAzure

      makeatletter
      newifif@right
      defshadequote@righttrueshadequote@i
      defshadequote@ibeginsnugshadebeginquoteopenquote
      defendshadequote%
      if@righthfillficlosequoteendquoteendsnugshade
      @namedefshadequote*@rightfalseshadequote@i
      @namedefendshadequote*endshadequote
      makeatother
      begindocument

      beginshadequote
      Some quoted words
      endshadequote

      beginshadequote*
      Some quoted words
      endshadequote*

      beginshadequote
      A common mistake that people make when trying to design something completely
      foolproof is to underestimate the ingenuity of complete fools.paremphDouglas Adams
      endshadequote

      enddocument


      enter image description here






      share|improve this answer























      • Using your code in a minimal example works great, but when I copy it to a large document I work on I get the error "You can't use 'spacefactor' in vertical mode". Do you have any idea how to resolve this problem? Thanks!

        – lumbric
        Mar 21 '12 at 22:39











      • you'd forgotten the makeatletter ... makeatother

        – Herbert
        Mar 22 '12 at 11:09











      • Thanks a lot! It took me quite a while to figure out what happend, but you were right, I messed up the makeatletter and makeatother commands. This happend after exporting some code from LyX, at this step LyX put some additional makeatletter and makeatother around my custom code.

        – lumbric
        Mar 26 '12 at 21:22











      • If there is a line break before the closing quote, it looks a bit strange. I don't have a real good suggestion, but I think placing simple a nolinebreak makes things a bit better. This means one would have to replace the line if@righthfillficlosequoteendquoteendsnugshade} by nolinebreakif@righthfillficlosequoteendquoteendsnugshade}. This is a comment and not an edit, because I'm unsure if it's the best solution.

        – lumbric
        Mar 28 '12 at 20:28











      • I'm trying to use this in my thesis which is based on classicthesis but the problem is, it mess with all my fonts and change them. What am I doing wrong here? The same holds for @Herbert 's answer.

        – Pouya
        Sep 25 '13 at 15:31















      25














      documentclass[12pt]article
      usepackage[T1]fontenc
      usepackagelibertine
      usepackagegraphicx
      usepackage[svgnames]xcolor
      usepackageframed

      newcommand*openquotemakebox(25,-22)scalebox5``
      newcommand*closequotemakebox(25,-22)scalebox5''
      colorletshadecolorAzure

      makeatletter
      newifif@right
      defshadequote@righttrueshadequote@i
      defshadequote@ibeginsnugshadebeginquoteopenquote
      defendshadequote%
      if@righthfillficlosequoteendquoteendsnugshade
      @namedefshadequote*@rightfalseshadequote@i
      @namedefendshadequote*endshadequote
      makeatother
      begindocument

      beginshadequote
      Some quoted words
      endshadequote

      beginshadequote*
      Some quoted words
      endshadequote*

      beginshadequote
      A common mistake that people make when trying to design something completely
      foolproof is to underestimate the ingenuity of complete fools.paremphDouglas Adams
      endshadequote

      enddocument


      enter image description here






      share|improve this answer























      • Using your code in a minimal example works great, but when I copy it to a large document I work on I get the error "You can't use 'spacefactor' in vertical mode". Do you have any idea how to resolve this problem? Thanks!

        – lumbric
        Mar 21 '12 at 22:39











      • you'd forgotten the makeatletter ... makeatother

        – Herbert
        Mar 22 '12 at 11:09











      • Thanks a lot! It took me quite a while to figure out what happend, but you were right, I messed up the makeatletter and makeatother commands. This happend after exporting some code from LyX, at this step LyX put some additional makeatletter and makeatother around my custom code.

        – lumbric
        Mar 26 '12 at 21:22











      • If there is a line break before the closing quote, it looks a bit strange. I don't have a real good suggestion, but I think placing simple a nolinebreak makes things a bit better. This means one would have to replace the line if@righthfillficlosequoteendquoteendsnugshade} by nolinebreakif@righthfillficlosequoteendquoteendsnugshade}. This is a comment and not an edit, because I'm unsure if it's the best solution.

        – lumbric
        Mar 28 '12 at 20:28











      • I'm trying to use this in my thesis which is based on classicthesis but the problem is, it mess with all my fonts and change them. What am I doing wrong here? The same holds for @Herbert 's answer.

        – Pouya
        Sep 25 '13 at 15:31













      25












      25








      25







      documentclass[12pt]article
      usepackage[T1]fontenc
      usepackagelibertine
      usepackagegraphicx
      usepackage[svgnames]xcolor
      usepackageframed

      newcommand*openquotemakebox(25,-22)scalebox5``
      newcommand*closequotemakebox(25,-22)scalebox5''
      colorletshadecolorAzure

      makeatletter
      newifif@right
      defshadequote@righttrueshadequote@i
      defshadequote@ibeginsnugshadebeginquoteopenquote
      defendshadequote%
      if@righthfillficlosequoteendquoteendsnugshade
      @namedefshadequote*@rightfalseshadequote@i
      @namedefendshadequote*endshadequote
      makeatother
      begindocument

      beginshadequote
      Some quoted words
      endshadequote

      beginshadequote*
      Some quoted words
      endshadequote*

      beginshadequote
      A common mistake that people make when trying to design something completely
      foolproof is to underestimate the ingenuity of complete fools.paremphDouglas Adams
      endshadequote

      enddocument


      enter image description here






      share|improve this answer













      documentclass[12pt]article
      usepackage[T1]fontenc
      usepackagelibertine
      usepackagegraphicx
      usepackage[svgnames]xcolor
      usepackageframed

      newcommand*openquotemakebox(25,-22)scalebox5``
      newcommand*closequotemakebox(25,-22)scalebox5''
      colorletshadecolorAzure

      makeatletter
      newifif@right
      defshadequote@righttrueshadequote@i
      defshadequote@ibeginsnugshadebeginquoteopenquote
      defendshadequote%
      if@righthfillficlosequoteendquoteendsnugshade
      @namedefshadequote*@rightfalseshadequote@i
      @namedefendshadequote*endshadequote
      makeatother
      begindocument

      beginshadequote
      Some quoted words
      endshadequote

      beginshadequote*
      Some quoted words
      endshadequote*

      beginshadequote
      A common mistake that people make when trying to design something completely
      foolproof is to underestimate the ingenuity of complete fools.paremphDouglas Adams
      endshadequote

      enddocument


      enter image description here







      share|improve this answer












      share|improve this answer



      share|improve this answer










      answered Apr 30 '11 at 6:01









      HerbertHerbert

      276k25419732




      276k25419732












      • Using your code in a minimal example works great, but when I copy it to a large document I work on I get the error "You can't use 'spacefactor' in vertical mode". Do you have any idea how to resolve this problem? Thanks!

        – lumbric
        Mar 21 '12 at 22:39











      • you'd forgotten the makeatletter ... makeatother

        – Herbert
        Mar 22 '12 at 11:09











      • Thanks a lot! It took me quite a while to figure out what happend, but you were right, I messed up the makeatletter and makeatother commands. This happend after exporting some code from LyX, at this step LyX put some additional makeatletter and makeatother around my custom code.

        – lumbric
        Mar 26 '12 at 21:22











      • If there is a line break before the closing quote, it looks a bit strange. I don't have a real good suggestion, but I think placing simple a nolinebreak makes things a bit better. This means one would have to replace the line if@righthfillficlosequoteendquoteendsnugshade} by nolinebreakif@righthfillficlosequoteendquoteendsnugshade}. This is a comment and not an edit, because I'm unsure if it's the best solution.

        – lumbric
        Mar 28 '12 at 20:28











      • I'm trying to use this in my thesis which is based on classicthesis but the problem is, it mess with all my fonts and change them. What am I doing wrong here? The same holds for @Herbert 's answer.

        – Pouya
        Sep 25 '13 at 15:31

















      • Using your code in a minimal example works great, but when I copy it to a large document I work on I get the error "You can't use 'spacefactor' in vertical mode". Do you have any idea how to resolve this problem? Thanks!

        – lumbric
        Mar 21 '12 at 22:39











      • you'd forgotten the makeatletter ... makeatother

        – Herbert
        Mar 22 '12 at 11:09











      • Thanks a lot! It took me quite a while to figure out what happend, but you were right, I messed up the makeatletter and makeatother commands. This happend after exporting some code from LyX, at this step LyX put some additional makeatletter and makeatother around my custom code.

        – lumbric
        Mar 26 '12 at 21:22











      • If there is a line break before the closing quote, it looks a bit strange. I don't have a real good suggestion, but I think placing simple a nolinebreak makes things a bit better. This means one would have to replace the line if@righthfillficlosequoteendquoteendsnugshade} by nolinebreakif@righthfillficlosequoteendquoteendsnugshade}. This is a comment and not an edit, because I'm unsure if it's the best solution.

        – lumbric
        Mar 28 '12 at 20:28











      • I'm trying to use this in my thesis which is based on classicthesis but the problem is, it mess with all my fonts and change them. What am I doing wrong here? The same holds for @Herbert 's answer.

        – Pouya
        Sep 25 '13 at 15:31
















      Using your code in a minimal example works great, but when I copy it to a large document I work on I get the error "You can't use 'spacefactor' in vertical mode". Do you have any idea how to resolve this problem? Thanks!

      – lumbric
      Mar 21 '12 at 22:39





      Using your code in a minimal example works great, but when I copy it to a large document I work on I get the error "You can't use 'spacefactor' in vertical mode". Do you have any idea how to resolve this problem? Thanks!

      – lumbric
      Mar 21 '12 at 22:39













      you'd forgotten the makeatletter ... makeatother

      – Herbert
      Mar 22 '12 at 11:09





      you'd forgotten the makeatletter ... makeatother

      – Herbert
      Mar 22 '12 at 11:09













      Thanks a lot! It took me quite a while to figure out what happend, but you were right, I messed up the makeatletter and makeatother commands. This happend after exporting some code from LyX, at this step LyX put some additional makeatletter and makeatother around my custom code.

      – lumbric
      Mar 26 '12 at 21:22





      Thanks a lot! It took me quite a while to figure out what happend, but you were right, I messed up the makeatletter and makeatother commands. This happend after exporting some code from LyX, at this step LyX put some additional makeatletter and makeatother around my custom code.

      – lumbric
      Mar 26 '12 at 21:22













      If there is a line break before the closing quote, it looks a bit strange. I don't have a real good suggestion, but I think placing simple a nolinebreak makes things a bit better. This means one would have to replace the line if@righthfillficlosequoteendquoteendsnugshade} by nolinebreakif@righthfillficlosequoteendquoteendsnugshade}. This is a comment and not an edit, because I'm unsure if it's the best solution.

      – lumbric
      Mar 28 '12 at 20:28





      If there is a line break before the closing quote, it looks a bit strange. I don't have a real good suggestion, but I think placing simple a nolinebreak makes things a bit better. This means one would have to replace the line if@righthfillficlosequoteendquoteendsnugshade} by nolinebreakif@righthfillficlosequoteendquoteendsnugshade}. This is a comment and not an edit, because I'm unsure if it's the best solution.

      – lumbric
      Mar 28 '12 at 20:28













      I'm trying to use this in my thesis which is based on classicthesis but the problem is, it mess with all my fonts and change them. What am I doing wrong here? The same holds for @Herbert 's answer.

      – Pouya
      Sep 25 '13 at 15:31





      I'm trying to use this in my thesis which is based on classicthesis but the problem is, it mess with all my fonts and change them. What am I doing wrong here? The same holds for @Herbert 's answer.

      – Pouya
      Sep 25 '13 at 15:31











      4














      Had I known about this question, I would not have written cfr-dquote. However, I didn't, so I did. Here's a lightly modified version of my package for public consumption or rejection.



      The package defines a command, dquote[<dimension>]<long text><short text which is intended to be used so that <dimension> is the width desired, <long text> is the quotation and <short text> is the attribution.



      The package is based on TikZ and the appearance can be customised using the usual key-value interface. For example, I've never used this with a coloured background to the quotation, but that is easy to achieve by simply altering quote style.



      For example,



      documentclass[a4paper,british]article
      usepackage[utf8]inputenc
      usepackagegeometry,babel,csquotes
      usepackagecfr-lm
      usepackagecfr-dquote
      MakeAutoQuote‘’
      MakeAutoQuote*“”
      begindocument
      tikzset%
      dquote text font=fontfamilyLobsterTwo-LFselectfontLargeupshape,
      dquote attrib font=fontfamilyLobsterTwo-LFselectfontHugeitshape,
      dquote=
      quote style/.style=align=justify, fill=blue!50!cyan, fill opacity=.2, text opacity=1, text=blue!15!darkgray,
      marks=
      size=Huge,
      scale=4,
      color=blue!50!darkgray,
      opacity=.5,
      ,
      ,
      %
      dquote%
      ‘Come, we shall have some fun now!’ thought Alice. ‘I'm glad they've begun asking riddles --- I believe I can guess that,’ she added aloud.

      ‘Do you mean that you think you can find out the answer to it?’ said the March Hare.

      ‘Exactly so,’ said Alice.

      ‘Then you should say what you mean,’ the March Hare went on.

      ‘I do,’ Alice hastily replied; ‘at least --- at least I mean what I say --- that's the same thing, you know.’

      ‘Not the same thing a bit!’ said the Hatter. ‘Why, you might just as well say that ‘I see what I eat’ is the same thing as ‘I eat what I see’!’

      ‘You might just as well say,’ added the March Hare, ‘that ‘I like what I get’ is the same thing as ‘I get what I like’!’

      ‘You might just as well say,’ added the Dormouse, which seemed to be talking in its sleep, ‘that ‘I breathe when I sleep’ is the same thing as ‘I sleep when I breathe’!’
      Lewis Carroll

      enddocument


      produces the following output



      Alice quote



      The package consists of two files, cfr-dquote.sty and cfr-dquote.tex. In theory, the latter can be compiled alone, since it uses the standalone class, but don't be tempted to use it this way - that's just to make tweaks and debugging easier.



      Complete code:



      beginfilecontentscfr-dquote.sty
      % !TEX encoding = UTF-8 Unicode
      % cfr-dquote.sty
      NeedsTeXFormatLaTeX2e% LaTeX 2.09 can't be used (nor non-LaTeX)
      [1994/12/01]% LaTeX date must December 1994 or later
      RequirePackagesvn-prov
      ProvidesPackageSVN$Id: cfr-dquote.sty 7799 2018-07-20 01:52:15Z cfr $
      RequirePackagexcolor,pifont,standalone,xparse,tikz
      usetikzlibrarycalc,positioning,backgrounds
      IfFileExiststikzlibrarypicfix.code.texusetikzlibrarypicfix
      IfFileExiststikzlibrarycfrexternal.code.texusetikzlibrarycfrexternalusetikzlibraryexternal
      NewDocumentCommanddquotetextfonthooknormalfontlarge
      NewDocumentCommanddquoteattribfonthooknormalfontnormalsize
      AtBeginDocument%
      newlengthcfrdquoteparskipsetlengthcfrdquoteparskipparskip%
      newlengthcfrdquoteparindentsetlengthcfrdquoteparindentparindent
      % BEGIN defaults
      tikzset%
      dquote text font/.code=%
      RenewDocumentCommanddquotetextfonthook#1
      ,
      dquote attrib font/.code=%
      RenewDocumentCommanddquoteattribfonthook#1
      ,
      dquote/.code=%
      tikzset%
      /cfr-dquote/.cd,
      #1

      ,
      /cfr-dquote/quote style/.style=align=justify, color=blue!50!black,
      /cfr-dquote/quote/.style=/cfr-dquote/quote style, font=dquotetextfonthook,
      /cfr-dquote/attrib/.style=/cfr-dquote/quote style, font=dquoteattribfonthook,
      /cfr-dquote/quote mark/.style=color=cfrdquotecolor, opacity=cfrdquoteopacity, font=cfrdquotesize, scale=cfrdquotescale,
      /cfr-dquote/.cd,
      width/.store in=cfrdquotewidth,
      text/.store in=cfrdquotetext,
      attribution/.store in=cfrdquoteattrib,
      width=120mm,
      text=Does dim o gwbl yn y fan hon!,
      attribution=Neb,
      marks/.code=%
      tikzset%
      /cfr-dquote/quote marks/.cd,
      #1

      ,
      quote marks/size/.store in=cfrdquotesize,
      quote marks/scale/.store in=cfrdquotescale,
      quote marks/color/.store in=cfrdquotecolor,
      quote marks/opacity/.store in=cfrdquoteopacity,
      marks=
      size=Huge,
      scale=4,
      color=blue!50!cyan,
      opacity=.25,
      ,

      % END defaults
      % BEGIN defn dquote
      NewDocumentCommanddquote O 120mm +m m %
      tikzset%
      external/export next=false,
      /cfr-dquote/.cd,
      width=#1,
      text=setlengthparskipcfrdquoteparskipsetlengthparindentcfrdquoteparindent#2,
      attribution=#3
      %
      inputcfr-dquote%

      % END defn dquote
      endinput
      endfilecontents
      beginfilecontentscfr-dquote.tex
      % !TEX TS-program = pdflatex
      % !TEX encoding = UTF-8 Unicode
      % arara: pdflatex: synctex: true
      %BEGIN preamble
      csname standaloneignoreendcsname
      pdfminorversion=7
      PassOptionsToPackagergbxcolor
      RequirePackagesvn-prov
      ProvidesFileSVN$Id: cfr-dquote.tex 7800 2018-07-20 01:58:28Z cfr $
      documentclass[tikz,12pt]standalone
      usetikzlibrarycalc,positioning,backgrounds
      usepackagepifont,biblatex
      % END preamble

      begindocument%
      begintikzpicture[node distance=0pt]
      node (quotation) [/cfr-dquote/quote, text width=cfrdquotewidth] cfrdquotetext;
      node (attrib) [/cfr-dquote/attrib, below=of quotation, text width=cfrdquotewidth] cfrdquoteattrib;
      node (qlhs) [left=of quotation.north west, /cfr-dquote/quote mark, xshift=.25em, yshift=.25em, anchor=north east] ding123;
      node (qrhs) [right=of quotation.south east, /cfr-dquote/quote mark, xshift=-.25em, yshift=-.75em, anchor=south west] ding124;
      pgfresetboundingbox
      useasboundingbox (attrib.south -| qlhs.west) rectangle (quotation.north -| qrhs.east);
      endtikzpicture%
      enddocument
      endfilecontents


      documentclass[a4paper,british]article
      usepackage[utf8]inputenc
      usepackagegeometry,babel,csquotes
      usepackagecfr-lm
      usepackagecfr-dquote
      MakeAutoQuote‘’
      MakeAutoQuote*“”
      begindocument
      tikzset%
      dquote text font=fontfamilyLobsterTwo-LFselectfontLargeupshape,
      dquote attrib font=fontfamilyLobsterTwo-LFselectfontHugeitshape,
      dquote=
      quote style/.style=align=justify, fill=blue!50!cyan, fill opacity=.2, text opacity=1, text=blue!15!darkgray,
      marks=
      size=Huge,
      scale=4,
      color=blue!50!darkgray,
      opacity=.5,
      ,
      ,
      %
      dquote%
      ‘Come, we shall have some fun now!’ thought Alice. ‘I'm glad they've begun asking riddles --- I believe I can guess that,’ she added aloud.

      ‘Do you mean that you think you can find out the answer to it?’ said the March Hare.

      ‘Exactly so,’ said Alice.

      ‘Then you should say what you mean,’ the March Hare went on.

      ‘I do,’ Alice hastily replied; ‘at least --- at least I mean what I say --- that's the same thing, you know.’

      ‘Not the same thing a bit!’ said the Hatter. ‘Why, you might just as well say that ‘I see what I eat’ is the same thing as ‘I eat what I see’!’

      ‘You might just as well say,’ added the March Hare, ‘that ‘I like what I get’ is the same thing as ‘I get what I like’!’

      ‘You might just as well say,’ added the Dormouse, which seemed to be talking in its sleep, ‘that ‘I breathe when I sleep’ is the same thing as ‘I sleep when I breathe’!’
      Lewis Carroll

      enddocument





      share|improve this answer



























        4














        Had I known about this question, I would not have written cfr-dquote. However, I didn't, so I did. Here's a lightly modified version of my package for public consumption or rejection.



        The package defines a command, dquote[<dimension>]<long text><short text which is intended to be used so that <dimension> is the width desired, <long text> is the quotation and <short text> is the attribution.



        The package is based on TikZ and the appearance can be customised using the usual key-value interface. For example, I've never used this with a coloured background to the quotation, but that is easy to achieve by simply altering quote style.



        For example,



        documentclass[a4paper,british]article
        usepackage[utf8]inputenc
        usepackagegeometry,babel,csquotes
        usepackagecfr-lm
        usepackagecfr-dquote
        MakeAutoQuote‘’
        MakeAutoQuote*“”
        begindocument
        tikzset%
        dquote text font=fontfamilyLobsterTwo-LFselectfontLargeupshape,
        dquote attrib font=fontfamilyLobsterTwo-LFselectfontHugeitshape,
        dquote=
        quote style/.style=align=justify, fill=blue!50!cyan, fill opacity=.2, text opacity=1, text=blue!15!darkgray,
        marks=
        size=Huge,
        scale=4,
        color=blue!50!darkgray,
        opacity=.5,
        ,
        ,
        %
        dquote%
        ‘Come, we shall have some fun now!’ thought Alice. ‘I'm glad they've begun asking riddles --- I believe I can guess that,’ she added aloud.

        ‘Do you mean that you think you can find out the answer to it?’ said the March Hare.

        ‘Exactly so,’ said Alice.

        ‘Then you should say what you mean,’ the March Hare went on.

        ‘I do,’ Alice hastily replied; ‘at least --- at least I mean what I say --- that's the same thing, you know.’

        ‘Not the same thing a bit!’ said the Hatter. ‘Why, you might just as well say that ‘I see what I eat’ is the same thing as ‘I eat what I see’!’

        ‘You might just as well say,’ added the March Hare, ‘that ‘I like what I get’ is the same thing as ‘I get what I like’!’

        ‘You might just as well say,’ added the Dormouse, which seemed to be talking in its sleep, ‘that ‘I breathe when I sleep’ is the same thing as ‘I sleep when I breathe’!’
        Lewis Carroll

        enddocument


        produces the following output



        Alice quote



        The package consists of two files, cfr-dquote.sty and cfr-dquote.tex. In theory, the latter can be compiled alone, since it uses the standalone class, but don't be tempted to use it this way - that's just to make tweaks and debugging easier.



        Complete code:



        beginfilecontentscfr-dquote.sty
        % !TEX encoding = UTF-8 Unicode
        % cfr-dquote.sty
        NeedsTeXFormatLaTeX2e% LaTeX 2.09 can't be used (nor non-LaTeX)
        [1994/12/01]% LaTeX date must December 1994 or later
        RequirePackagesvn-prov
        ProvidesPackageSVN$Id: cfr-dquote.sty 7799 2018-07-20 01:52:15Z cfr $
        RequirePackagexcolor,pifont,standalone,xparse,tikz
        usetikzlibrarycalc,positioning,backgrounds
        IfFileExiststikzlibrarypicfix.code.texusetikzlibrarypicfix
        IfFileExiststikzlibrarycfrexternal.code.texusetikzlibrarycfrexternalusetikzlibraryexternal
        NewDocumentCommanddquotetextfonthooknormalfontlarge
        NewDocumentCommanddquoteattribfonthooknormalfontnormalsize
        AtBeginDocument%
        newlengthcfrdquoteparskipsetlengthcfrdquoteparskipparskip%
        newlengthcfrdquoteparindentsetlengthcfrdquoteparindentparindent
        % BEGIN defaults
        tikzset%
        dquote text font/.code=%
        RenewDocumentCommanddquotetextfonthook#1
        ,
        dquote attrib font/.code=%
        RenewDocumentCommanddquoteattribfonthook#1
        ,
        dquote/.code=%
        tikzset%
        /cfr-dquote/.cd,
        #1

        ,
        /cfr-dquote/quote style/.style=align=justify, color=blue!50!black,
        /cfr-dquote/quote/.style=/cfr-dquote/quote style, font=dquotetextfonthook,
        /cfr-dquote/attrib/.style=/cfr-dquote/quote style, font=dquoteattribfonthook,
        /cfr-dquote/quote mark/.style=color=cfrdquotecolor, opacity=cfrdquoteopacity, font=cfrdquotesize, scale=cfrdquotescale,
        /cfr-dquote/.cd,
        width/.store in=cfrdquotewidth,
        text/.store in=cfrdquotetext,
        attribution/.store in=cfrdquoteattrib,
        width=120mm,
        text=Does dim o gwbl yn y fan hon!,
        attribution=Neb,
        marks/.code=%
        tikzset%
        /cfr-dquote/quote marks/.cd,
        #1

        ,
        quote marks/size/.store in=cfrdquotesize,
        quote marks/scale/.store in=cfrdquotescale,
        quote marks/color/.store in=cfrdquotecolor,
        quote marks/opacity/.store in=cfrdquoteopacity,
        marks=
        size=Huge,
        scale=4,
        color=blue!50!cyan,
        opacity=.25,
        ,

        % END defaults
        % BEGIN defn dquote
        NewDocumentCommanddquote O 120mm +m m %
        tikzset%
        external/export next=false,
        /cfr-dquote/.cd,
        width=#1,
        text=setlengthparskipcfrdquoteparskipsetlengthparindentcfrdquoteparindent#2,
        attribution=#3
        %
        inputcfr-dquote%

        % END defn dquote
        endinput
        endfilecontents
        beginfilecontentscfr-dquote.tex
        % !TEX TS-program = pdflatex
        % !TEX encoding = UTF-8 Unicode
        % arara: pdflatex: synctex: true
        %BEGIN preamble
        csname standaloneignoreendcsname
        pdfminorversion=7
        PassOptionsToPackagergbxcolor
        RequirePackagesvn-prov
        ProvidesFileSVN$Id: cfr-dquote.tex 7800 2018-07-20 01:58:28Z cfr $
        documentclass[tikz,12pt]standalone
        usetikzlibrarycalc,positioning,backgrounds
        usepackagepifont,biblatex
        % END preamble

        begindocument%
        begintikzpicture[node distance=0pt]
        node (quotation) [/cfr-dquote/quote, text width=cfrdquotewidth] cfrdquotetext;
        node (attrib) [/cfr-dquote/attrib, below=of quotation, text width=cfrdquotewidth] cfrdquoteattrib;
        node (qlhs) [left=of quotation.north west, /cfr-dquote/quote mark, xshift=.25em, yshift=.25em, anchor=north east] ding123;
        node (qrhs) [right=of quotation.south east, /cfr-dquote/quote mark, xshift=-.25em, yshift=-.75em, anchor=south west] ding124;
        pgfresetboundingbox
        useasboundingbox (attrib.south -| qlhs.west) rectangle (quotation.north -| qrhs.east);
        endtikzpicture%
        enddocument
        endfilecontents


        documentclass[a4paper,british]article
        usepackage[utf8]inputenc
        usepackagegeometry,babel,csquotes
        usepackagecfr-lm
        usepackagecfr-dquote
        MakeAutoQuote‘’
        MakeAutoQuote*“”
        begindocument
        tikzset%
        dquote text font=fontfamilyLobsterTwo-LFselectfontLargeupshape,
        dquote attrib font=fontfamilyLobsterTwo-LFselectfontHugeitshape,
        dquote=
        quote style/.style=align=justify, fill=blue!50!cyan, fill opacity=.2, text opacity=1, text=blue!15!darkgray,
        marks=
        size=Huge,
        scale=4,
        color=blue!50!darkgray,
        opacity=.5,
        ,
        ,
        %
        dquote%
        ‘Come, we shall have some fun now!’ thought Alice. ‘I'm glad they've begun asking riddles --- I believe I can guess that,’ she added aloud.

        ‘Do you mean that you think you can find out the answer to it?’ said the March Hare.

        ‘Exactly so,’ said Alice.

        ‘Then you should say what you mean,’ the March Hare went on.

        ‘I do,’ Alice hastily replied; ‘at least --- at least I mean what I say --- that's the same thing, you know.’

        ‘Not the same thing a bit!’ said the Hatter. ‘Why, you might just as well say that ‘I see what I eat’ is the same thing as ‘I eat what I see’!’

        ‘You might just as well say,’ added the March Hare, ‘that ‘I like what I get’ is the same thing as ‘I get what I like’!’

        ‘You might just as well say,’ added the Dormouse, which seemed to be talking in its sleep, ‘that ‘I breathe when I sleep’ is the same thing as ‘I sleep when I breathe’!’
        Lewis Carroll

        enddocument





        share|improve this answer

























          4












          4








          4







          Had I known about this question, I would not have written cfr-dquote. However, I didn't, so I did. Here's a lightly modified version of my package for public consumption or rejection.



          The package defines a command, dquote[<dimension>]<long text><short text which is intended to be used so that <dimension> is the width desired, <long text> is the quotation and <short text> is the attribution.



          The package is based on TikZ and the appearance can be customised using the usual key-value interface. For example, I've never used this with a coloured background to the quotation, but that is easy to achieve by simply altering quote style.



          For example,



          documentclass[a4paper,british]article
          usepackage[utf8]inputenc
          usepackagegeometry,babel,csquotes
          usepackagecfr-lm
          usepackagecfr-dquote
          MakeAutoQuote‘’
          MakeAutoQuote*“”
          begindocument
          tikzset%
          dquote text font=fontfamilyLobsterTwo-LFselectfontLargeupshape,
          dquote attrib font=fontfamilyLobsterTwo-LFselectfontHugeitshape,
          dquote=
          quote style/.style=align=justify, fill=blue!50!cyan, fill opacity=.2, text opacity=1, text=blue!15!darkgray,
          marks=
          size=Huge,
          scale=4,
          color=blue!50!darkgray,
          opacity=.5,
          ,
          ,
          %
          dquote%
          ‘Come, we shall have some fun now!’ thought Alice. ‘I'm glad they've begun asking riddles --- I believe I can guess that,’ she added aloud.

          ‘Do you mean that you think you can find out the answer to it?’ said the March Hare.

          ‘Exactly so,’ said Alice.

          ‘Then you should say what you mean,’ the March Hare went on.

          ‘I do,’ Alice hastily replied; ‘at least --- at least I mean what I say --- that's the same thing, you know.’

          ‘Not the same thing a bit!’ said the Hatter. ‘Why, you might just as well say that ‘I see what I eat’ is the same thing as ‘I eat what I see’!’

          ‘You might just as well say,’ added the March Hare, ‘that ‘I like what I get’ is the same thing as ‘I get what I like’!’

          ‘You might just as well say,’ added the Dormouse, which seemed to be talking in its sleep, ‘that ‘I breathe when I sleep’ is the same thing as ‘I sleep when I breathe’!’
          Lewis Carroll

          enddocument


          produces the following output



          Alice quote



          The package consists of two files, cfr-dquote.sty and cfr-dquote.tex. In theory, the latter can be compiled alone, since it uses the standalone class, but don't be tempted to use it this way - that's just to make tweaks and debugging easier.



          Complete code:



          beginfilecontentscfr-dquote.sty
          % !TEX encoding = UTF-8 Unicode
          % cfr-dquote.sty
          NeedsTeXFormatLaTeX2e% LaTeX 2.09 can't be used (nor non-LaTeX)
          [1994/12/01]% LaTeX date must December 1994 or later
          RequirePackagesvn-prov
          ProvidesPackageSVN$Id: cfr-dquote.sty 7799 2018-07-20 01:52:15Z cfr $
          RequirePackagexcolor,pifont,standalone,xparse,tikz
          usetikzlibrarycalc,positioning,backgrounds
          IfFileExiststikzlibrarypicfix.code.texusetikzlibrarypicfix
          IfFileExiststikzlibrarycfrexternal.code.texusetikzlibrarycfrexternalusetikzlibraryexternal
          NewDocumentCommanddquotetextfonthooknormalfontlarge
          NewDocumentCommanddquoteattribfonthooknormalfontnormalsize
          AtBeginDocument%
          newlengthcfrdquoteparskipsetlengthcfrdquoteparskipparskip%
          newlengthcfrdquoteparindentsetlengthcfrdquoteparindentparindent
          % BEGIN defaults
          tikzset%
          dquote text font/.code=%
          RenewDocumentCommanddquotetextfonthook#1
          ,
          dquote attrib font/.code=%
          RenewDocumentCommanddquoteattribfonthook#1
          ,
          dquote/.code=%
          tikzset%
          /cfr-dquote/.cd,
          #1

          ,
          /cfr-dquote/quote style/.style=align=justify, color=blue!50!black,
          /cfr-dquote/quote/.style=/cfr-dquote/quote style, font=dquotetextfonthook,
          /cfr-dquote/attrib/.style=/cfr-dquote/quote style, font=dquoteattribfonthook,
          /cfr-dquote/quote mark/.style=color=cfrdquotecolor, opacity=cfrdquoteopacity, font=cfrdquotesize, scale=cfrdquotescale,
          /cfr-dquote/.cd,
          width/.store in=cfrdquotewidth,
          text/.store in=cfrdquotetext,
          attribution/.store in=cfrdquoteattrib,
          width=120mm,
          text=Does dim o gwbl yn y fan hon!,
          attribution=Neb,
          marks/.code=%
          tikzset%
          /cfr-dquote/quote marks/.cd,
          #1

          ,
          quote marks/size/.store in=cfrdquotesize,
          quote marks/scale/.store in=cfrdquotescale,
          quote marks/color/.store in=cfrdquotecolor,
          quote marks/opacity/.store in=cfrdquoteopacity,
          marks=
          size=Huge,
          scale=4,
          color=blue!50!cyan,
          opacity=.25,
          ,

          % END defaults
          % BEGIN defn dquote
          NewDocumentCommanddquote O 120mm +m m %
          tikzset%
          external/export next=false,
          /cfr-dquote/.cd,
          width=#1,
          text=setlengthparskipcfrdquoteparskipsetlengthparindentcfrdquoteparindent#2,
          attribution=#3
          %
          inputcfr-dquote%

          % END defn dquote
          endinput
          endfilecontents
          beginfilecontentscfr-dquote.tex
          % !TEX TS-program = pdflatex
          % !TEX encoding = UTF-8 Unicode
          % arara: pdflatex: synctex: true
          %BEGIN preamble
          csname standaloneignoreendcsname
          pdfminorversion=7
          PassOptionsToPackagergbxcolor
          RequirePackagesvn-prov
          ProvidesFileSVN$Id: cfr-dquote.tex 7800 2018-07-20 01:58:28Z cfr $
          documentclass[tikz,12pt]standalone
          usetikzlibrarycalc,positioning,backgrounds
          usepackagepifont,biblatex
          % END preamble

          begindocument%
          begintikzpicture[node distance=0pt]
          node (quotation) [/cfr-dquote/quote, text width=cfrdquotewidth] cfrdquotetext;
          node (attrib) [/cfr-dquote/attrib, below=of quotation, text width=cfrdquotewidth] cfrdquoteattrib;
          node (qlhs) [left=of quotation.north west, /cfr-dquote/quote mark, xshift=.25em, yshift=.25em, anchor=north east] ding123;
          node (qrhs) [right=of quotation.south east, /cfr-dquote/quote mark, xshift=-.25em, yshift=-.75em, anchor=south west] ding124;
          pgfresetboundingbox
          useasboundingbox (attrib.south -| qlhs.west) rectangle (quotation.north -| qrhs.east);
          endtikzpicture%
          enddocument
          endfilecontents


          documentclass[a4paper,british]article
          usepackage[utf8]inputenc
          usepackagegeometry,babel,csquotes
          usepackagecfr-lm
          usepackagecfr-dquote
          MakeAutoQuote‘’
          MakeAutoQuote*“”
          begindocument
          tikzset%
          dquote text font=fontfamilyLobsterTwo-LFselectfontLargeupshape,
          dquote attrib font=fontfamilyLobsterTwo-LFselectfontHugeitshape,
          dquote=
          quote style/.style=align=justify, fill=blue!50!cyan, fill opacity=.2, text opacity=1, text=blue!15!darkgray,
          marks=
          size=Huge,
          scale=4,
          color=blue!50!darkgray,
          opacity=.5,
          ,
          ,
          %
          dquote%
          ‘Come, we shall have some fun now!’ thought Alice. ‘I'm glad they've begun asking riddles --- I believe I can guess that,’ she added aloud.

          ‘Do you mean that you think you can find out the answer to it?’ said the March Hare.

          ‘Exactly so,’ said Alice.

          ‘Then you should say what you mean,’ the March Hare went on.

          ‘I do,’ Alice hastily replied; ‘at least --- at least I mean what I say --- that's the same thing, you know.’

          ‘Not the same thing a bit!’ said the Hatter. ‘Why, you might just as well say that ‘I see what I eat’ is the same thing as ‘I eat what I see’!’

          ‘You might just as well say,’ added the March Hare, ‘that ‘I like what I get’ is the same thing as ‘I get what I like’!’

          ‘You might just as well say,’ added the Dormouse, which seemed to be talking in its sleep, ‘that ‘I breathe when I sleep’ is the same thing as ‘I sleep when I breathe’!’
          Lewis Carroll

          enddocument





          share|improve this answer













          Had I known about this question, I would not have written cfr-dquote. However, I didn't, so I did. Here's a lightly modified version of my package for public consumption or rejection.



          The package defines a command, dquote[<dimension>]<long text><short text which is intended to be used so that <dimension> is the width desired, <long text> is the quotation and <short text> is the attribution.



          The package is based on TikZ and the appearance can be customised using the usual key-value interface. For example, I've never used this with a coloured background to the quotation, but that is easy to achieve by simply altering quote style.



          For example,



          documentclass[a4paper,british]article
          usepackage[utf8]inputenc
          usepackagegeometry,babel,csquotes
          usepackagecfr-lm
          usepackagecfr-dquote
          MakeAutoQuote‘’
          MakeAutoQuote*“”
          begindocument
          tikzset%
          dquote text font=fontfamilyLobsterTwo-LFselectfontLargeupshape,
          dquote attrib font=fontfamilyLobsterTwo-LFselectfontHugeitshape,
          dquote=
          quote style/.style=align=justify, fill=blue!50!cyan, fill opacity=.2, text opacity=1, text=blue!15!darkgray,
          marks=
          size=Huge,
          scale=4,
          color=blue!50!darkgray,
          opacity=.5,
          ,
          ,
          %
          dquote%
          ‘Come, we shall have some fun now!’ thought Alice. ‘I'm glad they've begun asking riddles --- I believe I can guess that,’ she added aloud.

          ‘Do you mean that you think you can find out the answer to it?’ said the March Hare.

          ‘Exactly so,’ said Alice.

          ‘Then you should say what you mean,’ the March Hare went on.

          ‘I do,’ Alice hastily replied; ‘at least --- at least I mean what I say --- that's the same thing, you know.’

          ‘Not the same thing a bit!’ said the Hatter. ‘Why, you might just as well say that ‘I see what I eat’ is the same thing as ‘I eat what I see’!’

          ‘You might just as well say,’ added the March Hare, ‘that ‘I like what I get’ is the same thing as ‘I get what I like’!’

          ‘You might just as well say,’ added the Dormouse, which seemed to be talking in its sleep, ‘that ‘I breathe when I sleep’ is the same thing as ‘I sleep when I breathe’!’
          Lewis Carroll

          enddocument


          produces the following output



          Alice quote



          The package consists of two files, cfr-dquote.sty and cfr-dquote.tex. In theory, the latter can be compiled alone, since it uses the standalone class, but don't be tempted to use it this way - that's just to make tweaks and debugging easier.



          Complete code:



          beginfilecontentscfr-dquote.sty
          % !TEX encoding = UTF-8 Unicode
          % cfr-dquote.sty
          NeedsTeXFormatLaTeX2e% LaTeX 2.09 can't be used (nor non-LaTeX)
          [1994/12/01]% LaTeX date must December 1994 or later
          RequirePackagesvn-prov
          ProvidesPackageSVN$Id: cfr-dquote.sty 7799 2018-07-20 01:52:15Z cfr $
          RequirePackagexcolor,pifont,standalone,xparse,tikz
          usetikzlibrarycalc,positioning,backgrounds
          IfFileExiststikzlibrarypicfix.code.texusetikzlibrarypicfix
          IfFileExiststikzlibrarycfrexternal.code.texusetikzlibrarycfrexternalusetikzlibraryexternal
          NewDocumentCommanddquotetextfonthooknormalfontlarge
          NewDocumentCommanddquoteattribfonthooknormalfontnormalsize
          AtBeginDocument%
          newlengthcfrdquoteparskipsetlengthcfrdquoteparskipparskip%
          newlengthcfrdquoteparindentsetlengthcfrdquoteparindentparindent
          % BEGIN defaults
          tikzset%
          dquote text font/.code=%
          RenewDocumentCommanddquotetextfonthook#1
          ,
          dquote attrib font/.code=%
          RenewDocumentCommanddquoteattribfonthook#1
          ,
          dquote/.code=%
          tikzset%
          /cfr-dquote/.cd,
          #1

          ,
          /cfr-dquote/quote style/.style=align=justify, color=blue!50!black,
          /cfr-dquote/quote/.style=/cfr-dquote/quote style, font=dquotetextfonthook,
          /cfr-dquote/attrib/.style=/cfr-dquote/quote style, font=dquoteattribfonthook,
          /cfr-dquote/quote mark/.style=color=cfrdquotecolor, opacity=cfrdquoteopacity, font=cfrdquotesize, scale=cfrdquotescale,
          /cfr-dquote/.cd,
          width/.store in=cfrdquotewidth,
          text/.store in=cfrdquotetext,
          attribution/.store in=cfrdquoteattrib,
          width=120mm,
          text=Does dim o gwbl yn y fan hon!,
          attribution=Neb,
          marks/.code=%
          tikzset%
          /cfr-dquote/quote marks/.cd,
          #1

          ,
          quote marks/size/.store in=cfrdquotesize,
          quote marks/scale/.store in=cfrdquotescale,
          quote marks/color/.store in=cfrdquotecolor,
          quote marks/opacity/.store in=cfrdquoteopacity,
          marks=
          size=Huge,
          scale=4,
          color=blue!50!cyan,
          opacity=.25,
          ,

          % END defaults
          % BEGIN defn dquote
          NewDocumentCommanddquote O 120mm +m m %
          tikzset%
          external/export next=false,
          /cfr-dquote/.cd,
          width=#1,
          text=setlengthparskipcfrdquoteparskipsetlengthparindentcfrdquoteparindent#2,
          attribution=#3
          %
          inputcfr-dquote%

          % END defn dquote
          endinput
          endfilecontents
          beginfilecontentscfr-dquote.tex
          % !TEX TS-program = pdflatex
          % !TEX encoding = UTF-8 Unicode
          % arara: pdflatex: synctex: true
          %BEGIN preamble
          csname standaloneignoreendcsname
          pdfminorversion=7
          PassOptionsToPackagergbxcolor
          RequirePackagesvn-prov
          ProvidesFileSVN$Id: cfr-dquote.tex 7800 2018-07-20 01:58:28Z cfr $
          documentclass[tikz,12pt]standalone
          usetikzlibrarycalc,positioning,backgrounds
          usepackagepifont,biblatex
          % END preamble

          begindocument%
          begintikzpicture[node distance=0pt]
          node (quotation) [/cfr-dquote/quote, text width=cfrdquotewidth] cfrdquotetext;
          node (attrib) [/cfr-dquote/attrib, below=of quotation, text width=cfrdquotewidth] cfrdquoteattrib;
          node (qlhs) [left=of quotation.north west, /cfr-dquote/quote mark, xshift=.25em, yshift=.25em, anchor=north east] ding123;
          node (qrhs) [right=of quotation.south east, /cfr-dquote/quote mark, xshift=-.25em, yshift=-.75em, anchor=south west] ding124;
          pgfresetboundingbox
          useasboundingbox (attrib.south -| qlhs.west) rectangle (quotation.north -| qrhs.east);
          endtikzpicture%
          enddocument
          endfilecontents


          documentclass[a4paper,british]article
          usepackage[utf8]inputenc
          usepackagegeometry,babel,csquotes
          usepackagecfr-lm
          usepackagecfr-dquote
          MakeAutoQuote‘’
          MakeAutoQuote*“”
          begindocument
          tikzset%
          dquote text font=fontfamilyLobsterTwo-LFselectfontLargeupshape,
          dquote attrib font=fontfamilyLobsterTwo-LFselectfontHugeitshape,
          dquote=
          quote style/.style=align=justify, fill=blue!50!cyan, fill opacity=.2, text opacity=1, text=blue!15!darkgray,
          marks=
          size=Huge,
          scale=4,
          color=blue!50!darkgray,
          opacity=.5,
          ,
          ,
          %
          dquote%
          ‘Come, we shall have some fun now!’ thought Alice. ‘I'm glad they've begun asking riddles --- I believe I can guess that,’ she added aloud.

          ‘Do you mean that you think you can find out the answer to it?’ said the March Hare.

          ‘Exactly so,’ said Alice.

          ‘Then you should say what you mean,’ the March Hare went on.

          ‘I do,’ Alice hastily replied; ‘at least --- at least I mean what I say --- that's the same thing, you know.’

          ‘Not the same thing a bit!’ said the Hatter. ‘Why, you might just as well say that ‘I see what I eat’ is the same thing as ‘I eat what I see’!’

          ‘You might just as well say,’ added the March Hare, ‘that ‘I like what I get’ is the same thing as ‘I get what I like’!’

          ‘You might just as well say,’ added the Dormouse, which seemed to be talking in its sleep, ‘that ‘I breathe when I sleep’ is the same thing as ‘I sleep when I breathe’!’
          Lewis Carroll

          enddocument






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jul 20 '18 at 2:28









          cfrcfr

          158k8191390




          158k8191390





















              0
















              I know that this is old, but I may as well share my simple attempt.



              Note: requires usepackagexcolor



              newcommandquotebox[1]begincenterfcolorboxwhiteblue!15!gray!15beginminipage0.9linewidthvspace10ptcenterbeginminipage0.8linewidthspaceHuge``#1hspace1.5embreaknullHugehfill''endminipagesmallbreakendminipageendcenter


              Example:



              Example image





              share








              New contributor




              Ender - Joshua Pritsker is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
              Check out our Code of Conduct.
























                0
















                I know that this is old, but I may as well share my simple attempt.



                Note: requires usepackagexcolor



                newcommandquotebox[1]begincenterfcolorboxwhiteblue!15!gray!15beginminipage0.9linewidthvspace10ptcenterbeginminipage0.8linewidthspaceHuge``#1hspace1.5embreaknullHugehfill''endminipagesmallbreakendminipageendcenter


                Example:



                Example image





                share








                New contributor




                Ender - Joshua Pritsker is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                Check out our Code of Conduct.






















                  0












                  0








                  0









                  I know that this is old, but I may as well share my simple attempt.



                  Note: requires usepackagexcolor



                  newcommandquotebox[1]begincenterfcolorboxwhiteblue!15!gray!15beginminipage0.9linewidthvspace10ptcenterbeginminipage0.8linewidthspaceHuge``#1hspace1.5embreaknullHugehfill''endminipagesmallbreakendminipageendcenter


                  Example:



                  Example image





                  share








                  New contributor




                  Ender - Joshua Pritsker is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.












                  I know that this is old, but I may as well share my simple attempt.



                  Note: requires usepackagexcolor



                  newcommandquotebox[1]begincenterfcolorboxwhiteblue!15!gray!15beginminipage0.9linewidthvspace10ptcenterbeginminipage0.8linewidthspaceHuge``#1hspace1.5embreaknullHugehfill''endminipagesmallbreakendminipageendcenter


                  Example:



                  Example image






                  share








                  New contributor




                  Ender - Joshua Pritsker is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.








                  share


                  share






                  New contributor




                  Ender - Joshua Pritsker is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.









                  answered 2 mins ago









                  Ender - Joshua PritskerEnder - Joshua Pritsker

                  1




                  1




                  New contributor




                  Ender - Joshua Pritsker is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.





                  New contributor





                  Ender - Joshua Pritsker is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.






                  Ender - Joshua Pritsker is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.



























                      draft saved

                      draft discarded
















































                      Thanks for contributing an answer to TeX - LaTeX Stack Exchange!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid


                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.

                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function ()
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f16964%2fblock-quote-with-big-quotation-marks%23new-answer', 'question_page');

                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Isabella Eugénie Boyer Biographie | Références | Menu de navigationmodifiermodifier le codeComparator to Compute the Relative Value of a U.S. Dollar Amount – 1774 to Present.

                      Lioubotyn Sommaire Géographie | Histoire | Population | Notes et références | Liens externes | Menu de navigationlubotin.kharkov.uamodifier« Recensements et estimations de la population depuis 1897 »« Office des statistiques d'Ukraine : population au 1er janvier 2010, 2011 et 2012 »« Office des statistiques d'Ukraine : population au 1er janvier 2011, 2012 et 2013 »Informations officiellesCartes topographiquesCarte routièrem

                      Mpande kaSenzangakhona Biographie | Références | Menu de navigationmodifierMpande kaSenzangakhonavoir la liste des auteursm