A client asked me to provide him with a map that has multi-line labels. Here’s a picture of what he wants.![]()
Unfortunately, Arcview 3.x doesn’t natively offer labels that span multiple lines. Here are the solutions I’ve come up with for Arcview 3.2, from the simple to the complex.
Type in the labels
This is the simplest solution.
- Click the Text Tool
- Type in the label, putting in line breaks as desired
The trouble with this solution is that if you have a lot of labels, you have to do a lot of typing. If the label values change periodically, you have to retype the labels. There is a strong possibility of typos creeping in. This would work if you have only a few items to label.
Manually split the automatic labels
- Set up a label field with the complete multi-line string as one field (e.g. SF-02 15 N / 27 P)
- Theme / Auto-label using your label string
- Click on each label and hit enter where you want line breaks
As with the typing solution, this requires that you click on each label. You don’t need to worry about retyping things which cuts down on typos. This would work if you have a dozen or so items to label (depending on your patience for repetitive work).
Use Best Placement to simulate multi-line labels
This would work for up labels with up to 3 lines
- Theme / Properties / Text labels / Position of Text – Top Center
- Theme / Auto-label using your first label string
- Theme / Properties / Text labels / Position of Text – Center
- Theme / Auto-label using your second label string
- Theme / Properties / Text labels / Position of Text – Bottom Center
- Theme / Auto-label using your third label string
This can work nicely if your features are fairly uniform in size and shape. Otherwise you’re likely to wind up with overlapping labels. The big advantage here is that it’s all automatic so this would work for themes with many features. Also, each of the three labels is a separate item and will have to be positioned separately.
Automatically split lines
This is the most complex solution I have.
- Set up a label field with the complete multi-line string as one field. Use a sequence of characters that will not appear in your labels to mark line breaks. (e.g. SF-02 ##$$15 N / 27 P)
- In Arcview, Theme / Auto-label using your label string
- Save and exit Arcview
- Open the .apr file with a text editor
- Search and replace your sequence of line break characters (e.g. ##$$) with \n.
- Re-open the file in Arcview and you should now have lovely multi-line labels.
This will almost certainly require manually moving labels to their correct positions. It will allow labels with any number of lines and will work for any number and shape of features. The downside is that every label will have to be re-examined every time the theme is relabeled.
From what I’ve read, later versions of Arcview do allow for multi-line labels, so if you’re using one of those, skip all this and use the built-in features.