![](https://secure.gravatar.com/avatar/e07e15a8be3c4c1723f5a0397bc17424.jpg?s=120&d=mm&r=g)
On 8/13/2018 12:04, Wolfgang Schuster wrote:
Hi Rik,
what do you want to achieve and why do you need a buffer for it?
Wolfgang
Fair question. I have a document with many (400+) block quotations. Each consists of a text extract, which may be prose or poetry, and additional optional components (alternate versions or transliterations, translations, attribution). The optional components are distinguished typographically – enlarged square brackets around alternate versions, enlarged parentheses around translations, leading en-dash and hanging indent for attributions. Each component is in a buffer. The structure looks like: \startBlockQuotation[label=abc,authors={...},precis={short extract},translators={...},tprecis={{short extract},{short extract}}...] \startExtract[language=agr,align=yes,font=abc,tolerance=...,...] text of extract \stopExtract \startTransliteration[language=en,align=yes,font=abc,...] text of transliteration \stopTransliteration \startTranslation[...] text of translation \stopTranslation \startAttribution[tolerance=,...] attribution of quotation \stopAttribution \stopBlockQuotation and the code to handle it generates author index entries, a quotation precis index, and so on from the attributes of the envelope, and typesets each component based on the provided settings or defaults, placing the appropriate decorations around those components that call for them. The components are nestable, so one extract may contain another, and components can be used separately without the envelope (\startBlockQuotation or \startEpigraph) as well. (I have written it this way to ease the move to an XML-based format for storing the quotations. I realize I am combining presentation elements, like label, tolerance, and precis, and content elements, like language, and some that may be either, like align and font, in the attributes, but will deal with that later.) I prefer to leave blank lines around blocks of text and around macro commands, so: \startparagraph some text \stopparagraph but when this is done with, for example, \startAttribution, and no optional arguments are provided, I run into the problem I have described. I realize that I can simply not include the blank line after \startAttribution. I would prefer, however, to see consistent parallel structures without having to distinguish them at the time it is written. Perhaps I am being too picky, but that is what I am attempting. At this point, the \setupparagraphintro hack handles my needs, so I will proceed with that. -- Rik