Making Lists in Scribus
You might as well know from the start: Making bulleted or numbered lists in Scribus isn't as easy as in the average word processor. In fact, compared to LibreOffice, Scribus as installed is downright primitive in the way it handles lists. You can pull a script off the Internet to automate to an extent, but chances are you'll have to tweak it before it does exactly what you want.
Creating a list manually is straightforward, but tedious. You want numbers? Insert them one at a time, and repeat whenever you need to renumber. You want bullet points? Go to Insert -> Character -> Bullet, or, if you want a character other than a plain bullet, to Insert -> Glyph -> Hide/Show Enhanced Palette, and copy and paste as necessary. Then, in both cases press Tab and start typing.
In both cases, you should create a list paragraph style to control the indentations in the list. Go to Edit -> Styles -> New -> Paragraph Style -> Tabulators and Indentation, and adjust the First Line Indent and Left Indent fields, using both positive and negative numbers, until you have the spacing you want. Usually, you want a negative indent for the first line, so that the number or bullet is indented from the margin, and a positive number for the left indent. The trickiest part is adjusting the left indent so that the subsequent lines align with the first -- a matter of trial and error that varies with the font.

Introducing Bullet.py
You can remove much of the drudgery of manual list creation by using José Antonio Meira da Rocha's Bullet.py script available on the Scribus site. Scroll down the page to the script, and copy and paste it to a text file, saving it with a .py extension, since it's a Python script.
Before installing it, you will almost certainly want to make some changes. For one thing, the script references the Dingbat and Wingding fonts for creating bullets, which your GNU/Linux installation is unlikely to have. More importantly, the Unicode glyph the script refers to is a checkbox with a shadow, which is almost certainly not what you want for a bullet.
Search for the variable bulletedListCharFont and replace it with a font on your system, such as the Symbol font used by LibreOffice. Similarly, search for the variable bullet string, and replace the default glyph with t
he one of your choice. You can browse the available glyphs by highlighting a selection in Insert ->Glyph -> Hide/Show Enhanced Palette dialog, and adding the last four characters of its code to the script. After some experimentation, you may want to replace the default 0 in the variable bulletedListCharSize as well.
I also recommend searching for the indent field and altering the default value of 22 points. That's nearly a third of an inch, which is far more than you are likely to need unless you are deliberately mimicing the look of a typewriter's output.
If you want a selection of bullets, you can make several copies of the script, each suitably named so you can find it quickly.
After you have finished your hacking, log in as root and transfer it to /usr/share/scribus/scripts. You might also want to save a copy of the script elsewhere, since the script's page warns that updates might remove it from the scripts directory.
Using the Bullet.py Script
To use the script, either select the paragraphs you want in the script, or else place the mouse cursor anywhere within a text frame to add all its paragraphs to the list. Then run the script by selecting it from Script -> Scribus Scripts.
Calling the script opens a small dialog window with an input screen on the bottom. Select * (asterisk) to add a bulleted list, a starting number, or an upper or lower case letter, optionally followed by a character such as a period or parenthesis, and press the OK button to create the list.

Reapplying the script with a different input will update the text frame. Alternatively, inputting a forward slash (/) will remove any bullets, numbers, or letters.
Selecting any of the list options that the script offers will create a corresponding paragraph style if one does not already exist in the document. Just as with manual list creation, you can adjust the indentations in this style to your liking.
Once you have tweaked everything to your liking, save the current document as a template, and you will never have to worry about making these adjustments again.
Limitations of the script
I consider Bullet.py a basic necessity for any regular user of Scribus. However, it is not a complete solution for anyone used to the convenience of creating a list in a word processor.
For one thing, the script doesn't support Roman numerals, although from a quick scan of the script, you could probably add the support relatively easy by using existing sections of the script as an example, even if your knowledge of Python is as limited as mine. I mean to explore the possibility, but haven't got around to it yet.
For another, the script still leaves you with no way of automatically updating ordered lists if you decide to insert a new list item between existing ones. Instead, you have to select the list and run the script again.
Nor is there any support for a list within a list, although you could create a paragraph style with the extra indentation for the second level list.
Yet, despite thse shortcomings, Bullet.py is considerably better than nothing. Still, if anyone gets around to improving it before I do, let me know, and I'll mention your improvements after I try them.
--
Bruce Byfield (nanday)
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Designing Electronics with Linux | May 22, 2013 |
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
- New Products
- Linux Systems Administrator
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- Web & UI Developer (JavaScript & j Query)
- Designing Electronics with Linux
- Dynamic DNS—an Object Lesson in Problem Solving
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development



7 hours 49 min ago
18 hours 30 min ago
1 day 16 min ago
1 day 33 min ago
1 day 2 hours ago
1 day 4 hours ago
1 day 11 hours ago
1 day 11 hours ago
1 day 13 hours ago
1 day 19 hours ago