On Tue, 12 Nov 2002, Edwin Leuven wrote:

> > > I can preview newfile9 but not newfile10. Does anyone know what is wrong
> > > here?
> >
> > \usepackage{pifont}
> > (for \ding{118}) is missing in the preamble.
> ah!
>
> > XForms' dialog inserts it.
>
> no it doesn't. these bullets are usually not saved as strings. at the moment
> qt saves them as strings. if we want do so we need to make sure that the
> necessary packages are added/removed to/from the preamble.
>
> packages are handled in buffer.C:
>
> // the bullet shapes are buffer level not paragraph level
> // so they are tested here
> for (int i = 0; i < 4; ++i) {
>         if (params.user_defined_bullets[i] != ITEMIZE_DEFAULTS[i]) {
>              int const font = params.user_defined_bullets[i].getFont();
>                 if (font == 0) {
>                         int const c = params
>                                     .user_defined_bullets[i]
>                                     .getCharacter();
>                         if (c == 16
>                                    || c == 17
>                                    || c == 25
>                                    || c == 26
>                                    || c == 31) {
>                                            features.require("latexsym");
>                         }
>                 } else if (font == 1) {
>                                 features.require("amssymb");
>                 } else if ((font >= 2 && font <= 5)) {
>                         features.require("pifont");
>                 }
>         }
> }
>
>
> <sigh>

Indeed there are 216 bullets and while the majority of these are
either dingbats from the pifont package or available by default from
latex there are a number of other symbols that were collected from
different packages.  The closest I could get to a reasonable lowest
common denominator was 36 and that meant putting two sets of symbols
together: the "standard" ones from either text or math and the handful
from the latexsym package.

Package checking has to be done somewhere, somehow.  Maybe an
additional parameter or three could be placed in params to say whether
pifont, amssymb, latexsym needs to be included -- now that we have
controllers the above code could be moved there and modified to suit a
better scheme.  It would probably be better to have the controller
name the packages required so that validate() just iterates over a
string.

Either way, just hoping that a string naming which bullet a user wants
isn't going to work unless you complicate the input handling by doing
the checking there.

Allan. (ARRae)

Reply via email to