Patches item #3587533, was opened at 2012-11-15 07:22
Message generated for change (Comment added) made by kirr79
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=422032&aid=3587533&group_id=38414
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Kirill Smelkov (kirr79)
Assigned to: Nobody/Anonymous (nobody)
Summary: latex2e: Handle classes for bullet lists
Initial Comment:
latex2e: Handle classes for bullet lists
For example authors could customize documents as follows:
.. class:: compact
- item 1
- item 2
- item 3
and expect the writer to apply the class. This works for html writer,
but not yet for latex2e/xetex and that's why this patch is here.
Usual rules for customizing rendering for classed elements is done - for
class `compact`, if stylesheet provides an environment named
DUitemizecompact, it will be used, otherwise the default itemize.
Personally, for compact lists I use
\newenvironment{DUitemizecompact}{%
\begingroup%
\small%
\begin{itemize}%
\itemsep=0pt\parskip=0pt%
}{%
\end{itemize}%
\endgroup%
}
which make text a bit smaller and tightens inter-line gaps.
NOTES:
* There is no \provideenvironment in LaTeX, so plain \newenviroment is used.
* The implementation of DUitemize environment is a bit cumbersome.
That's because it is not possible to pass arguments to
end<something> when defining environments and because my TeX foo is
probably not high enough. (help appreciated)
* I've patched the code to emit \begin{DUitemize} only when classes
attrubute is present - only to minimize changes to tests, for the
patch not being huge with low signal/noise ratio.
----------------------------------------------------------------------
>Comment By: Kirill Smelkov (kirr79)
Date: 2012-11-20 08:45
Message:
Uploaded cleaned up patch and demo.
----------------------------------------------------------------------
Comment By: Kirill Smelkov (kirr79)
Date: 2012-11-15 08:41
Message:
Simplified TeX preamble:
PreambleCmds.itemize = r"""
% bullet list
\newenvironment{DUitemize}[1][class-arg]{%
% store #1 for end
\begingroup%
\def\DUitemizearg{#1}%
%
\ifcsname DUitemize#1\endcsname%
%\begin{DUitemize#1}% XXX why this does not work?
\begin{DUitemize\DUitemizearg}%
\else%
\begin{itemize}%
\fi%
}{%
\ifcsname endDUitemize\DUitemizearg\endcsname%
\end{DUitemize\DUitemizearg}%
\else%
\end{itemize}%
\fi%
\endgroup%
}%
"""
----------------------------------------------------------------------
Comment By: Kirill Smelkov (kirr79)
Date: 2012-11-15 07:24
Message:
NOTE: The TeX part of the patch (DUitemize environmet) probably needs
polish, but if otherwise in general this approach is correct, I'd like to
add more class handling to latex2e backend - for example to field lists and
other environments.
Thanks beforehand for your reply,
Kirill
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=422032&aid=3587533&group_id=38414
|