From: Guenter M. <mi...@us...> - 2017-02-05 19:02:00
|
On 2017-02-05, Alan G. Isaac wrote: > On 2/5/2017 3:40 AM, Guenter Milde wrote: >> Formatting block quotes will "spill over" to epigraphs by default. >> *This is intended*, as an epigraph is a special quote. > As you say: *by default*. > But my question is: > how can the *user* readily decouple them? > In HTML+CSS this is trivial. > My question is: > how can this be made trivial with LaTeX output? It cannot be made trivial, unfortunately. > The problem is the different model in LaTeX: > environments cannot truly be arbitrarily classed. Nothing can be arbitrarily classed in LaTeX. And "epigraph" is just one example. A user could set any class value to any object -- is it unfeasable to have special environments and functions prepared for all of them. > I assume we agree that epigraphs are often > indented differently in a document than > regular block quotes. For example, in a book > I am now reading, the epigraphs have no indentation. > Your proposal (if I understand it) is that LaTeX > users somehow try to style the environment content > rather than the environment. Your example was:: > \newcommand{\DUclassepigraph}{\em} Yes. > I do not see how a user can discard the surrounding > quote environment with this approach (e.g., to > achieve the formatting in the book mentioned above). In most cases, there is no need to "swap" the complete environment. E.g. changing margins (your above example) is relatively simple also "from inside" an environment. > Again, if this were done with environments, the use > could just use ``\renewenvironment``. Would such > an approach create implementation difficulties? The idea is to keep the LaTeX source as simple as possible while still allowing customization. With :: \begin{something} \DUclass{classvalue} content \end{something} the redefintions by \DUclassclassvalue are confined to the environment without further effort. Alternatively, one could use an additional wrapper :: { \DUclass{classvalue} \begin{something} content \end{something} } or a 2-arg class macro: \DUclass{classvalue}{% \begin{something} content \end{something}% } This would allow a complete redefinition of the environments in the \DUclass function at the cost of additional nesting. Günter |