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)