I'm wrapping my map up in Illustrator. I want to create a line that has the same geometry of my river and I want to label it: "Klamath River". The thing is, I don't want to label it once, I want to create a pre-defined interval between those labels to cover the whole extension of the river. Is there a way to do it dynamically, instead of inserting spaces?
Use a Pattern Brush.
Type your label and Convert to Outlines (brushes can't contain type). Drag your outlined type to the Brushes panel and choose Pattern Brush from the New Brush dialog.
The text itself isn't editable (creating a new brush is quick enough though) but you can easily change the size, spacing etc. at any time by double clicking the brush in the Brushes panel and updating the brush options:
Using the Appearance panel you can add multiple strokes so you can apply your brush to your existing river path without needing to duplicate the paths. Just make sure your label stroke is on top of any others:
I'd use the "Distribute" function to evenly spread individual, multiple, letter-spaced copies of the "Klamath River" along a path following the centre-line of the river.
- Create the path of the river legend on a new layer.
- Enter "Klamath River" along path
- Copy it multiple times.
- Select all instances of the name.
- Click "Distribute"
Repetitive river names separated by extended wordspaces several lengths apart will probably be more readable than the same word letter-spaced far apart enough to fill a given space, especially if the text is not horizontal.