Let’s start hacking some XML with a simple project: setting the default table text size. This article assumes you have read the introduction and have a suitable text editor installed. Mac users should also read XML Hacking: Editing in OS X.
When you insert a new table in PowerPoint, the default table text size is 18 points. Using XML hacking, we can set this to whatever point size the designer prefers. You can also set the text to appear in all caps. Following the previous post’s instructions, add .zip to the file ending and unzip the file. Look for the ppt folder and open it:
In the ppt folder is another folder called slideMasters. If your sample presentation is typical, it has only one Slide Master, so you won’t be surprised to find that typically slideMasters contains only one file, called slideMaster1.xml. Open this file in your text editor and reformat the XML to make it readable (XML Tools>Pretty Print in NotePad++, or Markup>Tidy>Reflow in BBEdit). Scroll down to near the end, looking for a tag called <p:otherStyle>. This is the section that formats default text in miscellaneous objects, like tables:
Default Table Text Levels
Within the otherStyle section, the 4th line starts with <a:lvl1pPr. Then the 14th line begins with <a:lvl2pPr. Each of these 10-line sections formats a different text level, with the 4th line starting the first and the 14th beginning the second level. A handy, if terse, reference to all the parameters is shown here. Not all of these are actually used in the context of a table. As one example, there are a:spcBef and a:spcAft for setting space before and after, but this is ignored by PowerPoint in a table. PowerPoint pays attention to the font size, the left margin, line spacing, alignment and whether it’s all-caps, small caps, bold and/or italic.
The font size is set by this line: <a:defRPr sz="1800" kern="1200">. sz=1800 is the font size in hundredths of a point, so 1800 gives us the default 18-point size. Since this is the first level that might well be used for table headings, you could set it to something like 1450 to get a 14.5 point result.
Since this first level can be used for headings, let’s make it all-caps while we’re at it. Edit the line to read <a:defRPr sz="1450" kern="1200" cap="all">. Done! (Please note, this can be used for headings, but the user must still use the Home>Increase List Level command to set the actual level of text for each section of the table. In PowerPoint 2016 for Mac, the command is called Indent More.)
Now proceed to the second level and set its point size. Something like <a:defRPr sz="1200" kern="1200">
Other useful attributes for <a:defRPr> include cap="small" for small caps, b="1" for bold and i="1" for italics. In addition, spc="400" adds enough tracking to make 10pt text have about 1 character width between each pair. This latter parameter can be positive for wider spacing or negative to crunch text together.
Scroll down a little further: you’ll notice that there are 9 levels, though in a table you’ll probably only use the first 2 or 3. In typical Microsoft style, each level is indented further than the preceding one. Compare level 1 with level 2:
<a:lvl1pPr marL="0"
<a:lvl2pPr marL="457200"
marL is the left margin. The units of measurement here are EMUs: English Metric Units. This is an invented measurement system that allows easy conversion between English and Metric. suffice it to say that 457200 EMUs is 1/2". When I modify this section, I set all 9 levels to marL="0". I also set all lower levels to the same point size as the lowest designed level, level 2 in our example. That way, if a user keeps changing to a lower text level, the formatting remains the same.
Text alignment can also be set using the algn parameter. The useful settings are l (left), r (right), ctr (centered), just (justified), and dist (text is widespaced to evenly fill cell width). Of course, if you’re setting these, marL should be set to 0. The simplest way to experiment with these parameters is to set the styles in the main text placeholder of the Slide Master (the larger slide at the top of the slide master list). Then unzip the presentation, open ppt/slideMasters/slideMaster1.xml and examine the <p:bodyStyle> section. The <p:otherStyle> section uses exactly the same syntax, so if you need bullets or unusual spacing in a table, you can set up <p:otherStyle> to do it.
Here’s what the final file should look like, with the changes highlighted:
What You Can’t Do
Each level definition includes references for Latin (a:latin), East Asian (a:ea) and Complex Script (a:cs) fonts. In similar Style parts like bodyStyle, you can replace +mn-lt with the name of a font so set that level in a non-theme font. But in the otherStyle part, PowerPoint completely ignores these entries, so much so that you can delete the three lines and PowerPoint will open the file without raising an XML error. This indicates that the program doesn’t even try to read those values. You also can’t specify different colors for different text levels in this XML part.
Fortunately, you can set fonts and colors for parts of the table in the custom table style, a completely different XML part from the otherStyle section of the slide master. For more about table styles, please see the articles linked to below.
This gets asked a lot, but the answer is no: you cannot set vertical cell/row alignment or cell margins in default taxt table text or a table style. It would have been possible given the OOXML spec, Microsoft just didn’t bother.
Preview the Effects
When you’re finished editing, save and close the file. In a folder window where you can see all the unzipped files, select the folders _rels, docProps and ppt, plus [Content_Types].xml:
Zip them into a file that ends with the same file ending as the original presentation, usually .pptx. Open in PowerPoint, insert a table and test your new default font sizes. Please note, assigning these styles makes them available to the whole table, but to access them you still need to use Increase List Level, same as in an ordinary text placeholder. Unfortunately, there’s no way to automatically assign <a:lvl1pPr> to table headings and <a:lvl2pPr> to the body of the table, which would be cool and helpful.
In the otherStyle section, you can also set linespacing, space before and after, tabs and several other text attributes. Some of these have little effect in a table. In a Word table, adding space before or after has a similar effect as changing the top or bottom cell margin. Not so in PowerPoint. Space before and after in a PowerPoint table has no effect on the cell height. For complete coverage of all parameters you can set in the otherStyle section, please read my articles about setting Textbox Styles: XML Hacking: Text Box Styles and XML Hacking: Styled Text Boxes Complete. The syntax is exactly the same.
With the introduction of Office 2007, Microsoft changed the basic file format that underlies Word, PowerPoint and Excel. Instead of the proprietary and mostly undocumented format that ruled from Office 97 to Office 2003, Microsoft made a smart decision and switched to XML. This is tagged text, similar in structure and concept to HTML code with which you may already be familiar.
XML opens up a world of possibilities for automated document construction, but that’s a topic for another day. The everyday relevance for you and I is that if a Word or PowerPoint file isn’t doing what you need it to do and there are no tools in the program for the job, we can now dive in a edit the file ourselves. If you’re a point-and-click user, this is probably not thrilling. But if you’re a hacker at heart, a midnight coder or just a curious tinkerer, you can do some cool stuff.
The main tool you’re going to need is a text editor. While you can get away for a while with Notepad or TextEdit, those simple text editors don’t quite have the tools that get the job done efficiently. On Mac, I use BBEdit and on Windows I reach for Notepad++. BBEdit is reasonably-priced shareware and Notepad++ is freeware. They have a similar style of operation, so if you’re a cross-platform hacker it’s easy to switch between them. Notepad++ uses a plugin system, so you can add tools. For this job, you’re definitely going to want the free XML plugin. To install that, choose Plugins>Plugins Admin, scroll down the list to XML Tools, select it and click on Next. While you’re installing, aAnother very useful NotePad++ plugin is Compare.
The macOS requires somewhat more care with handling expanded Office files, or they won’t open after being rezipped. Please see this article for the best procedure on a Mac. The rest of this article mentions Windows methods, but the XML file structure is the same on both platforms.
Word, Excel and PowerPoint files in the new format are actually simple Zip files with a different file ending. Getting into them couldn’t be easier: if you’re using Windows, add .zip to the end of the file (a copy of the file, if it’s anything important). You’ll get a warning from your OS, but you know what you’re doing! Now unzip it. Out pop several folders of XML, plus a top-level file or two.
Select one of the files and open it in your text editor. All the files have been linearized to minimize file size. This is where your XML tools come into play. In Notepad++, choose Plugins>XML Tools>Pretty Print (XML Only – with line breaks). Now you have a nicely indented, easy-to-read page to edit. When you’re done, it’s not necessary to re-linearize. Word, PowerPoint or Excel will do that for you later.
For people using Window’s built-in zip utility, there is an easy mistake to watch out for. By default, unzipping a file in Windows creates a new folder named for the file being expanded. If, when you’re re-assembling the file, you include this top-level folder, PowerPoint will raise an error about unreadable content in the presentation. To avoid this, first open the folder that Windows created. Select the _rels, docProps and ppt folders, plus the [Content_Types].xml file, then create a zip file from them.
As an alternative to unzipping/rezipping files in Windows, download the free 7-Zip utility. After installing, set your text editor as the 7-Zip editor. Then right-click on the Office file you want to edit and choose 7-Zip>Open Archive. A window opens showing the OOXML folders and files. Find the file you want to edit, right-click and choose Edit. Edit only 1 file at a time in 7-Zip, closing your text editor and updating the file each time. Otherwise, some or your changes may be lost.
XML hacking is useful for Excel or Word when you want to add additional color themes, lock graphics, or when you need to rescue a corrupt document. But it really shines with PowerPoint, allowing you to create custom table formats, extra custom colors that don’t fit into a theme, setting the default text size for tables and text boxes, and more. This technique separates the PowerPoint pros from the wannabes.
In my next post, I’ll get into the specifics of some cool XML hacking Office tricks. In the mean time, check out text editors and XML tools so you’re ready to hack!
Specifying fonts for electronic documents creates more hassle for clients and users than designing for print or web. This is because desktop applications need to have the font installed on each computer creating the documents. The cost can be high and installation by the client’s I.T. department is usually required. But these are technical hurdles that can be overcome if the client buys into a perceived necessity to have a different look than the competition.
There are 2 inter-related problems that crop up next: font families and cross-platform use. Font families are grouping of fonts that are linked so the user can switch between regular, italic and bold variants by clicking on attribute buttons. This is different from standard usage in the design world, where single fonts predominate. Designers are used to switching to a bold or italic look by picking a different font from the font menu, rather than by clicking on a bold or italic button. I’ve previously discussed font family issues here.
Same font, same document, different platform. The small-foundry font displays and prints with tighter linespacing on a Mac (at right).
Today I’m focussing on the awful things that can happen when font families are specced for use with both Windows and Mac OS X. Surprisingly, it is not easy or simple to create families that work well on both platforms. The most popular software used by independent font designers doesn’t do this correctly, though we have filed numerous bug reports with the company. The net result is that if you spec a font from a small foundry that is going to be used on both Mac and Windows, it’s very likely not going to work. It’s not universal, there are some very skilled individual font jockeys who have the knowledge and skill to do it right. But you’re only going to find out the hard way, by buying the font and trying to use it.
Let me clarify, these fonts will work fine on either Windows or Mac. We can set up a template to make it work for either platform. You only see the anomalies when you move a document from one platform to the other.
Brandwares can provide fonts for your client’s project. Our service includes speccing the correct family groupings and supporting installation and troubleshooting. This includes working with the foundry to create correct families for cross-platform fonts.
I also encourage designers to ask your client the Mac/Windows question sooner rather than later. Call the foundry and ask if they can test on both platforms. I’ve known type designers who only own a Mac and don’t have any way of testing on Windows. When files are going to be used on both, speccing fonts from a large foundry is a good solution. They use different software and we have never seen a bad Mac/Windows family from one of the big companies. But the most practical solution is to stick with the wide variety of fonts that come free with Microsoft Office. They are high-quality faces, already installed and FREE! Your client appreciates a bargain, too!
Testing Light and Regular font families from a small foundry. Windows on the left, OS X on the right. Yes, they’re supposed to be the same. No, they’re not.
Finally, the transition of 2 companies into 1 is complete. We began planning the merger more than a year ago. We started with rebranding WordLab to match Brandwares. With the completion of the process, all WordLab content has been folded into the Brandwares site. The aspect that has required the most detailed planning has been managing the SEO for both sites. Our goal was to ensure the summing of as much link juice as possible. I think we pulled it off. We’re getting more total hits now with one site than the 2 previous sites received separately.
Brandwares for Complete Workflows
Brandwares’ strengths have been in web development, especially math-intensive intranet applications for financial institutions. The angle that WordLab brings is a strong focus on desktop applications like Microsoft Office and Adobe Acrobat. Combined, our new company can create and support complete workflows. These provide strongly branded information from every major software group in a company. This unified approach gives our customers both higher office productivity and stronger brand identity in every communication. I look forward to helping your company achieve exactly those goals.
Recently one of our clients asked us to bring some InDesign templates up to their corporate specs. Part of this was inserting a set of GREP styles into the styles already contained in the documents. GREP styles are great ways to automatically apply formatting to particular text whenever it is entered, removing the obligation from the user to remember what phrases are non-breaking or italicized. Unfortunately, if you have to add GREPs to many existing style, the process is repetitive, slow and error-prone. The solution is InDesign JavaScript.
InDesign JavaScript to the Rescue!
The solution is a script. InDesign has good support for JavaScript, which works for both Windows and OSX versions of InDesign. The down-side to InDesign scripting is that there is not as much knowledge out there on the web, at least when you compare it to JavaScript for HTML. So, in the spirit of increasing human-kind’s knowledge base, here is a script for copying GREP styles. The original code came from a script found on the Adobe Community forums. Then we added the ability to work with styles that are in style groups, up to 2 levels deep. Enjoy!
//This utility will copy GREP styles into styles that are nested in up to two levels of groups i.e. Main Style Group>Headings Group>Heading 1
//Copy the text below to a text editor like NotePad or TextEdit, then save as a file with a “.js” ending.
//Copy it into the Scripts Panel folder inside the Scripts folder inside the InDesign application folder.
//Create a style at the lowest level of the Paragraph Styles i.e. NOT in a style group.
//Put all the GREP styles you wich to copy into this style.
//Type the style name between quotes in the line below. Then run the script and select the styles to which you want to copy the GREP styles.
var source = 'GREPSourceStyle';
var theDoc = app.activeDocument;
var pStyles = theDoc.allParagraphStyles;
var pStyleStringList = [];
fillpStyleStringList();
var getpStyleIndexinpStyles = selectpStyle(pStyleStringList);
var selectedpStylesByName = getSelectedpStyleNames(getpStyleIndexinpStyles);
l = selectedpStylesByName.length;
while(l--){setGrepStyle([selectedpStylesByName[l][0]],[selectedpStylesByName[l][1]],[selectedpStylesByName[l][2]])}
function fillpStyleStringList(){
for(i = 0 ; i < pStyles.length; i++){
if(pStyles[i].parent.parent.toString() === '[object ParagraphStyleGroup]'){
pStyleStringList.push('Group: ' + pStyles[i].parent.parent.name + ', Subgroup: ' + pStyles[i].parent.name + ', Name: ' + pStyles[i].name);
}else if(pStyles[i].parent.toString() === '[object ParagraphStyleGroup]'){
pStyleStringList.push('Subgroup: ' + pStyles[i].parent.name + ', Name: ' + pStyles[i].name);
}else{
pStyleStringList.push('Name: ' + pStyles[i].name);
}
}
}
function selectpStyle (array){
var myWindow = new Window ("dialog", "Please select your target paragraph styles.");
var myInputGroup = myWindow.add ("group");
var select = myInputGroup.add ("listbox", [0, 0, 300, 300], array, {scrolling: true, multiselect: true});
var myButtonGroup = myWindow.add ("group");
myButtonGroup.add ("button", undefined, "OK");
myButtonGroup.add ("button", undefined, "Cancel");
if (myWindow.show() == 1){
var mySelection = select.selection;
var tmpList = [];
for(g = 0; g < mySelection.length; g++){
tmpList.push(mySelection[g].index);
}
return tmpList;
myWindow.close();
}else{
exit();
}
}
function getSelectedpStyleNames(getpStylesIndexinpStyles){
var currentTargetpStyleName;
var SelectedNameArray = new Array();
for(j = 0; j < getpStylesIndexinpStyles.length; j++){
var tempArray = new Array(2);
currentTargetpStyleName = pStyles[getpStyleIndexinpStyles[j]].name;
currentTargetpStyleSubgroup = pStyles[getpStyleIndexinpStyles[j]].parent.name;
currentTargetpStyleGroup = pStyles[getpStyleIndexinpStyles[j]].parent.parent.name;
tempArray[0] = currentTargetpStyleGroup;
tempArray[1] = currentTargetpStyleSubgroup;
tempArray[2] = currentTargetpStyleName;
SelectedNameArray[j] = tempArray;
}
return SelectedNameArray;
}
function setGrepStyle(targetGroup, targetSubgroup, targetName){
var target
error = "";
basepStyle = theDoc.paragraphStyles.item(source);
if (!basepStyle.isValid) error = 'Source style does not exist';
if(targetGroup != "" && targetGroup != theDoc.name && targetGroup != app.name){
var temptarget = theDoc.paragraphStyleGroups.itemByName(targetGroup.toString());
target = temptarget.paragraphStyleGroups.itemByName(targetSubgroup.toString()).paragraphStyles.itemByName(targetName.toString());
}else if(targetSubgroup != "" && targetSubgroup != theDoc.name && targetSubgroup != app.name){
target = theDoc.paragraphStyleGroups.itemByName(targetSubgroup.toString()).paragraphStyles.itemByName(targetName.toString());
}else{
target = theDoc.paragraphStyles.itemByName(targetName.toString());
}
if (!target.isValid) error += 'rTarget style does not exist';
if (error != ""){alert (error); exit()}
gs = basepStyle.nestedGrepStyles;
for (i = 0; i < gs.length; i++){
target.nestedGrepStyles.add (gs[i].properties);
}
}
Corporate users in marketing and sales departments frequently need to produce complex documents. Proposals and RFQ/RFPs fit into this category. Modular documents make it easier to produce these files, but Microsoft Word is is not modular by nature.
Users need to add and remove sections of the document to increase the relevance to the potential buyer. If you’ve used Microsoft Word for more than a few minutes, you’ve noticed that its documents are not modular in the least. Each section in a document is dependent on information from other sections. Even the trained Word users find it difficult to remove a Word section or set of pages without trashing the whole file.
The wrong path: Trying to use PowerPoint for Modular Documents
For some clients, this leads them down the wrong road. They notice that PowerPoint has great page modularity. You can remove slides, move them around and add new ones without having any effect on the existing ones. So they request that their proposal template be formatted in PowerPoint. Genius brainwave? NOT!
PowerPoint is missing so many long-document functions that this is a terrible solution. What you gain in modularity, you more than lose in productivity. PowerPoint is missing typestyles, automatic tables of contents, page margins, end notes, table styles, cross-referencing, bookmarks and much more. Users can get around all of these by spending more time manually formatting, but isn’t that what the client was trying to avoid in the first place?
There are 2 alternatives for modular documents. Both are better than the PowerPoint “solution”. One is Microsoft Publisher, and the other is good old Word, used in a slightly different way.
Microsoft Publisher for Modular Documents
First, I’ll cover Publisher, because it’s less well known and deserves to be used more. Microsoft Publisher is included with many versions of Office, so it’s likely your client already has it installed. It follows many Microsoft conventions, so the learning curve is not too steep. Publisher is a full-fledged desktop publisher program with an interface similar to Adobe PageMaker, if you’ve been around that long.
Unlike Word, Publisher uses CMYK and Pantone colors, does color separations, has measurements to 1/1000″ and, most germane to our discussion, has Master Pages! This latter feature makes it easy to create a modular document. All pages are completely independent of one another. No section or page breaks to foul up formatting. No pictures anchored to text that move around. The main catch with Publisher is that people don’t know it’s there, so they have to do some learning.
2024 Update: Microsoft has announced that they’re retiring Microsoft Publisher. After October 2026, Publisher will no longer be included with Microsoft 365. This is unfortunate, as Publisher can do things that Word cannot.
There is another way that’s still better than PowerPoint for proposals. Word!
Using Word for Modular Documents
Word is useable for modular documents as long as you know about Master Documents. A Master Document is like a super file that links a number of Word documents. Simply put, you create separate Word files for each section of your long document. Then you use a Master Document to link them for printing. The sub-documents can be edited, moved and deleted with ease. Your client gets flexibility in document structure and only has to learn one new thing!
Word has had this feature for a long time, but it got a bad reputation. This was because users would assemble Master Documents and then try to maintain the large assembly as one entity. Almost inevitably, corruption of the Master Document would ensue and users would have to start over. So what’s changed?
Over the years, Word has gotten more stable. The Master Document feature doesn’t get corrupted as easily. But the deepest secret is that you create a Master Document to print the files, then you throw it away! Trying to preserve it by editing it is what creates the problems, so don’t try to preserve it. A Master Document is a temporary device used only at output time. Remember that and you will never have a problem.
We can help your client with Master Documents. We write tutorials that cover every step of creation, assembly, printing and follow-up. We also write macros that create instant Master Documents from a folder full of sequenced Word files. This is much easier than toiling away with manual formatting in PowerPoint. Give us a call to solve your modular document challenges, or email me at production@brandwares.com.
As I write this, our clients have a mix of Office versions deployed. Some corporations are still using Office 2003, while many others have taken the Office 2007-2010 plunge and been “Ribbonized”. The most difficult are the companies that have a mix of both. This platform mix is most challenging when PowerPoint is the target program. This is because of the different way masters and layouts are used.
PowerPoint has 2 layout mechanisms: the master and the layout. Masters are customizable pages that contain graphics and text that are in common to all slides. Layouts are arrangements of text and graphic placeholders that are superimposed on the master to make the final slides. PowerPoint 2003 opened up new possibilities for presentation design by adding multiple masters. Instead of just 1 master each for slides and titles, you could now create different masters for different purposes. This made it much easier to create a presentation with varying sections and special-purpose slide designs.
Masters and Layouts in PowerPoint 2003
In PowerPoint 2003, you access the masters using the View>Master>Slide Master command. Masters display in a sidebar, where you can create rename, duplicate and create masters. You can create a slide master or a slide/title master pair, but a title master cannot exist on its own. The primary difference between a slide and a title master is that the slide master has a multi-level text placeholder, while a title master has a subtitle placeholder with only one level of text.
There are 2 problems in PowerPoint 2003, though. First, Microsoft’s user interface design for accessing these masters is counter-intuitive and hard to use. And second, slide layouts are still closed to customization. This lack of customization means that multiple master slides are often necessary to create all the slide designs that may be needed.
Masters and Layouts in PowerPoint 2007/2010/2013/2016
When Office 2007 came out, the program that was most improved was PowerPoint. In addition to long-missed features like tracking/kerning and a more discoverable user interface, Microsoft had finally made slide layouts customizable.
To access masters and layouts in PowerPoint 2007-2010, click on the View tab of the Ribbon. Then click on Slide Master in the Presentation Views group. The master is the larger thumbnail at the top. The layouts are the 11 automatically generated slides below it. Not all of these are useful. The layouts you will probably reuse are the Title Slide, Title and Content and Section Header layouts, immediately under the master. The Title Only and Blank layouts at positions 6 and 7 are also widely used.
The shift in emphasis from masters in PPT03 to layouts in PPT07 means that creating a presentation template for PowerPoint 2003 is very different from later versions. In PPT03, all customization has to be packed into the masters. In PPT07, masters become much less relevant, with most customizations built into the layouts. Multiple master slides are only necessary to use a different Color Theme, since each Master and its Layouts can only use one color theme at a time. This is a change from 2003, where each slide could have a different Color Scheme applied.
As far as support goes, a PowerPoint 2003 presentation with multiple masters will almost always require an extra tutorial. This must explain masters, layouts and their application, because Microsoft’s interface is so bad. PowerPoint 2007 usually needs only a sample presentation that shows how the different layouts are used.
Content from a typical tutorial slide. Multiple Master presentations in PowerPoint 2003 need this information to make them useable.
The scenario that will having you tearing out your hair is the “blended family of Office versions” client who has both Office 2003 and 2007 users. These clients often believe Microsoft’s hype about 100% cross-compatibility between Office versions. PowerPoint is not totally compatible. Masters, slide layouts, charting and color palettes are all different. Behind the scenes, Microsoft has implemented eye-rolling kludges to simulate compatibility. Let me repeat: PowerPoint is not totally compatible!
In fact, the only program where we will not upgrade an older 2003 file to a newer version is PowerPoint. Instead, we rebuild it. If you’re creating a presentation that uses palette-switching to create sections with different color schemes, there is no other possible workflow. It’s the only way to guarantee it’s going to work correctly for the long term.
The best scenario is when the client is using PowerPoint 2007 or better. Compared to earlier versions, the new PowerPoint is a delight to work with and finally offers the capabilities that designers have been assuming were there all along.
Love it or hate it, but Microsoft has made decisions on how you should work with office software. Working within their limitations, your users can have productive careers and get things done. Ignore the limits and you are sentencing your users to hours of formatting hell. A prime example is Office charts
Office charts should have 6 colors maximum. The is a rule made by Microsoft. The exception to this rule is charts in Excel 2003 and earlier, which can have a maximum of 56 colors (see my previous posts for the details on Excel 2003). The following applies to Microsoft Word, but it’s more often a problem in PowerPoint.
If you design charts with more than 6 colors, you are forcing your users to either:
copy, paste and reformat a sample chart into the one they want, or
manually enter the colors for the series above 6 from a reference table of RGB values.
Neither of these could be considered a PowerPoint “Standard Operating Procedures”. Both workarounds are slow and error-prone.
Office Charts in Office 2003 for Windows or 2004 for Mac
PowerPoint 2003 Some color palette slots are used for as many as 3 functions. This makes it tricky to design a color sequence that works for all purposes.
PowerPoint only has code in place to automatically assign 6 palette colors to charts. In PowerPoint 2007 and higher, these are 6 distinct colors that are only used for charts and object fills. In PowerPoint 2003 and earlier, the chart colors are taken from the 8-color palette that is used for other elements as well. This has consequences you have not considered. Here’s how it works:
PowerPoint 2003 and earlier have color palettes with 8 colors maximum. In order, the colors are used for Backgrounds, Text and lines, Shadows, Title text, Fills, Accent, Accent and Hyperlink and finally Accent and followed hyperlink. Applying the recommended color position to a presentation element will mean that that element can be automatically updated if the palette is changed. This is a handy way to create color-coded sections in a presentation.
However, the same colors are used for Office charts. The colors are assigned in this order: Chart Color #1 is always taken from the Fill position. CC#2 is Accent, CC#3 is Accent and hyperlink, CC#4 is Accent and followed hyperlink, CC#5 is Shadows and CC#6 is Title text. Therefore, if you have designed a series of chart colors that is different from the code colors used the the presentation, you must give your users one of two headaches:
User headache number 1: You assign the color palette positions to create an automatically-filled chart, then manually assign all other presentation elements with RGB colors. This means new charts look swell, but color-coded sections cannot be easily updated. In fact, the colors of the entire presentation are must be updated manually element by element. Slow!
User headache number 2: You assign the color palette positions to the correct elements i.e., Title text is filled from the Title text palette position. New charts come in with goofy colors and each series must be manually reassigned from RGB values.
For PowerPoint 2003 and earlier, Microsoft has decided you only need 8 colors for everything. Designing with more colors does not make it a better design. It just makes it harder to use.
Office Charts in Office 2007/2010/2013/2016 for Windows or 2008/2011/2016 for Mac
For PowerPoint 2007 and later, Microsoft has decided you only need 12 colors for the presentation. Fortunately, now there is separation between color functions, with 2 colors for backgrounds, 2 for text, 6 for charts and fills and 2 specifically for hyperlinks. But you still only get 6 automatic chart colors. And in Office charts as in so many Office features, if it isn’t automatic, it’s a time-waster. So the advice still holds that speccing more colors is really imposing lower productivity on your users.
Charts apply this sequence in a predictable way. In a standard column chart, the leftmost column is color #1, with each extra column getting the next color in the sequence. Stacked columns display color #1 as the bottom layer and pie charts apply color #1 to the first pie segment, and by default this pie segment has its left border at 0 degrees, pointing straight up. If you design the presentation with this in mind, implementation is easy for the user.
In Office 2007 and later, there is one potential workaround that gives users access to 10 additional colors. It’s the Custom Color XML hack. This hack adds colors to the color picker in Windows and in Office 2016 for Mac. These colors cannot fill charts automatically and they will not show in the Office 2008 or 2011 for Mac color picker. However, it’s still a less cumbersome workaround than the 2 kludges I mentioned at the start of this article.
Are these limitation fair? No. Are Microsoft’s choices well considered? Not really. Are you going to change the way PowerPoint works by ignoring its limitations? Sadly, the answer is also no.
My recommendation is to incorporate a little Zen into your attitude, accept that PowerPoint (particularly the 2003 and earlier versions) is a deeply flawed and limited program. Then go and create some great Office chart designs with 6 colors or less that are easy to use.
Users create charts in Excel and import them to Word and PowerPoint. Reports frequently require charts. Put these together and you’ll see that when a client asks for a report template, you should also be giving them a compatible Excel template for the report charts they will need.
These charting templates do not have to be complex. Defining a default font and color palette is usually sufficient. The actual steps differ between Excel 2003 and Excel 2007/2010/2013/2016, so make sure you ask your client what version they are using.
The first step with any program is to design the color palette. Excel uses the colors in the order they are entered. In a bar chart, the colors are used left to right as each data series is added. Pie and doughnut charts always start with left edge of the first segment at the 12 o’clock position and proceed clockwise from there. Go with the flow and enter palette colors in the order you want them to appear by default. There is only 1 palette sequence active, so all report charts in your design should use the same color order, or you’ll drive your users crazy.
Report Charts in Excel 2003
The numbers show the order used in Excel 2003 charts.
If your client is using Excel 2003 or earlier, open a spreadsheet in that version, use the Tools>Options command and choose the Color tab. For each color in the “Chart fills” row, start at the left, click on a color, then click on the Modify button. Choose the Custom tab and enter the RGB values. Click on OK, then choose the next Color fill patch to the right and repeat.
Occasionally Office 2003 clients will insist on more than 6 chart colors. In that case, keep filling palette spaces with custom colors using the order shown in the illustration. This will give you up to 56 custom data series that will automatically be filled correctly. Be forewarned, when your client upgrades to a later version of Office, they will, in effect, be back to 6 chart colors. Later versions of Excel do not allow this extended palette.
As a final step, choose Format>Style, ensure the Normal style is selected and click on the Modify button. On the Font tab, set the font to the desired typeface, size and weight to match the Word templates into which these will be inserted. OK out and save the file as a template with an “.xlt” file ending. You’re done!
Report Charts in Excel 2007/2010/2013/2016
Circled: the 6 colors that will automatically color Excel 2007-2016 charts.
For clients on Excel 2007 or later, the palette system works differently, and not for the better. Users have lost the capability to set 56 chart colors, now you can only preset 6! The Office 2007/10/13/16 Theme Color dialog displays slots for 6 Accent Colors. Set these with RGB values in the sequence they are t appear in the report charts. If report charts use more than 6 colors, Excel’s default behavior is to color the additional series with automatically generated tints of these 6. To get more custom colors, users must enter them manually. In real life, they’re probably not going to do this. First they have to turn off the automatic series fill, then they have to look up the colors they are supposed to use (where is that tutorial again?), then they have to enter the RGB values. It’s just not a realistic workflow for end users on a deadline.
One alternative is to create a sample chart with manually filled extra data series. This looks good for a client sign-off, but in actual production, the user has to find the sample chart, copy and paste it to their presentation and then change the chart type and data to match what they are trying to show. Again, most users are unlikely to go to this trouble, especially if time is tight.
Finally, if you’re up to a little XML hacking, you can add up to 10 custom colors to the Windows color picker by using my tutorial XML Hacking: Custom Colors. While these colors are not used automatically in chart fills, it’s a simpler process to fill a series by clicking on a custom color than looking up an RGB value.
If possible, it may be best to try talking your client out of using more than 6 colors for charts. The lower expectations will make everyone happier and the end-users would thank you, if they knew who you were.
To wrap up this template, click on the Page Layout tab of the Ribbon, look for the Themes group and click on the down-pointing arrowhead beside Fonts. Click on Create new theme fonts… at the bottom of the list. Set the fonts for both Heading and Body and click on OK. Save the file as an Excel Template with an “.xltx” ending and distribute with the report templates.
An alternative workflow is to save the themes from the Word or PowerPoint file that accompanies the Excel template, then apply those themes to the Excel worksheet. Or course, you still have to apply the same thought process in arranging the colors to create charts that automatically have the right color sequence. It helps that charts created directly in Word or PowerPoint follow the same logic and color order.
Report Charts in Excel 2008, 2011 or 2016 for Mac
In Mac versions of Office, you’ll have to create the Color Theme in PowerPoint, then import it to Excel. Unfortunately, while you can use the Custom Color XML hack to add custom colors to a color theme, you can’t preview them in Office 2008 or 2011.
For the font theme, you can use my tutorial XML Hacking: Font Themes and apply the resulting theme to your Excel template.
The Invisible Characters are Word formatting entities, hidden by default. Master them to rule Word. Ignore them and you are just another Word user stumbling in the darkness.
Last week’s post covered how to display these invisible characters. If you’re not sure what the heck we’re talking about here, go back and read that post first.
Page and Column Break Invisible Characters
Chief among the invisible characters are the Breaks. Microsoft used to group all the breaks together in Word for Windows and still does on the Mac, even though their actual functions are very different. Let’s begin with the “safe” breaks, the ones that won’t wreck your document. These are the Page and Column Breaks, invisible characters #1 and 2.
The Page Break creates a new page immediately after it.
A Page Break is a special character that tells Word to start a new page. That’s all it does, it’s very straight-forward to use. Entering or deleting a Page Break will never screw up your document. This is the best way to create a new page.
Do not ever create a new page by typing a series of carriage returns. NEVER! EVER! The space taken by a series of carriage returns is a function of the specific font installed on your computer. Change fonts or move the file to a new computer and the carriage return space can easily change. The result is that your next page copy creeps on to the preceding page, or the new page starts with a blank line at the top. Not good. Just insert a Page Break and be done with it.
The Column Break starts a new column. In the last column on a page, it starts a new page.
Invisible character #2 is the Column Break. This is similar to the Page Break, but it creates a break to the next column and when you’re in the last column, a break to the next page. Inserting a Column Break in a 1-column layout has the same effect as inserting a Page Break.
Section Break Invisible Characters
Then we get into the Section Breaks. These are a different animal than the Page and Column Breaks and can wreck your formatting if not used with care. Section Breaks hold information for the preceding section such as margins, page layout and header & footer formatting. Deleting a Section Break forces the section that it ended to take on the formatting of the section after it. The Section Break at the end of the amalgamated sections is now in charge.
The Continuous Section Break creates a new section without creating a new page.
The most useful of the Section Breaks is the Continuous Section Break (invisible character #3). This creates a new section without creating a new page. A Continuous Break will automatically balance columns in the section it ends. It’s indispensable in fillable forms, since it marks the boundary between free-text and locked areas of the form. When you need to create an area with a different number of columns, reach for the Continuous Break.
This creates both a new section and new page immediately after it.
Invisible #4 is the Next Page Section Break. It’s also the most dangerous, because some users assume it’s equivalent to a simple Page Break. They insert them everywhere they want a new page and end up with dozens or hundreds of sections in their document. Then they wonder why their footers are messed up! Next Page Section Breaks should not be common. Use them to insert a landscape page in the middle of a portrait document, to create new chapters or other regular distinctive section formatting, or to format a different last page. Other than that, you probably shouldn’t be using them.
The Even and Odd Page Section Breaks create a new page and section with the corresponding header or footer type.
Then we have the Even and Odd Page Section Breaks (invisible characters #5 and 6). Once every 10 years you need these. They are used in conjunction with even and odd page headers/footers and don’t do much else. Their only function is to force an even or odd page header or footer where one would not naturally occur.
Paragraph and Anchor Invisible Characters
Now we move on to other invisible characters that have a more local scope: they only affect a small area of your documents. The most important of these is Invisible #7, the Paragraph Mark. Its function is analogous to the section breaks: the Paragraph Mark contains the formatting for the preceding paragraph. Delete it and the Paragraph Mark from the following paragraph takes over.
The Paragraph Mark holds the paragraph formatting for the paragraph it ends.
Paragraph Marks contain the default character formatting for the paragraph, plus all paragraph formatting such as indentation, line spacing, tabs, bullets and numbering
Paragraph Marks also serve as the character to which graphics, frames and text boxes are anchored. That brings us to invisible character #8, the Anchor. In Word, every item is either in the text string, or is anchored to the text string. The default anchoring is for the graphic to be positioned relative to the paragraph to which it is anchored. This makes for a very fluid document: when text is edited, the anchored pictures move around to stay close to their Anchors.
The Anchor shows to which paragraph mark a graphic or text box is anchored.
You can change the positioning to be absolute, so the graphic stays in the same position regardless of where the anchor is on the page. This does not eliminate the anchor! If the text moves to another page, the anchored graphic moves with it. It is not possible in Word to place a graphic on page 5 and have it stay there. It is always anchored to text and when the text moves, the graphic moves too.
By the same token, if the paragraph mark to which the graphic is anchored is deleted, the graphic will also be deleted!. This is why it’s so important to make those invisible characters visible. You really can’t see what you’re doing otherwise.
Bonus: the Bookmark Invisible Character
The square grey brackets show bookmarked text. Each Bookmark is named, to facilitate referencing it.
Today’s bonus invisible character is the Bookmark. Technically, this isn’t a character, it’s a range (an arbitrary subsection of a document similar to a selection). Bookmarks enable you to automatically relay information from one part of a document to another. One example is a document title that you also want to appear in the footer of each subsequent page. Select the title, insert a bookmark. Then, in the footer, insert a REF field. This field links back to the bookmark and always keeps the footer correctly updated. An easy fix that looks like magic to your clients. But you have to be able to see the bookmark!
Free Control Control Add-in for Word for Mac
Subscribe to the Best Practices blog and get a free copy of our new Control Control add-in. This is the easiest way to create the same modern form controls that are in Word for Windows. Enter your real email and hit Subscribe in the right-hand column of this page. You’ll receive the add-in and installation instructions within 3 days.