Dynamic text is an important part of authoring a successful map series and allows important information on the page layout to change dynamically as you go from one page to another. This information includes text for page titles, page numbers, labels for neighboring pages (a neighboring page is one that is geographically adjacent to the current page), and other index layer attributes.
You can access map series dynamic text elements on the Insert tab in the Text group.
The name of each page is taken from this field. As map series iterates through the features in the index layer, and each page is defined, the attribute value for the chosen name field is used as the page name.
Corresponds to the current value of the attribute field set as the Name Field on the Map Series dialog box.
|<dyn type="page" property="name"/>|
Page Number and Page with count
A map series allows you to define a page number. The page number can be based on field values of the index layer. These values can be alphanumeric. You can also use dynamic text to display the total count of pages with the page, or index, number for the current page—for example, Page 3 of 10.
This dynamic text element, if applicable, corresponds to the current value of the attribute field set as the Page Number. Otherwise, the pages are numbered in increments of one, starting with the value set as First Page.
|Page <dyn type="page" property="number"/>|
Page with count
Uses the page number of the current page along with the total number of pages. For example, you may have 10 map series pages where the starting page number is set to 3. The result for this tag for the first page would be Page 1 of 10.
|Page <dyn type="page" property="index"/> of <dyn type="page" property="count"/>|
Page with count may not work well if you're using a page number field that includes gaps in the sequence.
Often, you'll want to include dynamic text to show attribute values for a particular page. All the attribute values of the map series index layer are available for dynamic display. For example, if you have an attribute on the index layer named POPULATION, you can create a dynamic text tag using the field name to dynamically display the POPULATION values for each page in the layout. To display attributes for layers other than the index layer, or to show statistics, use table dynamic text.
Corresponds to the current value of a selected attribute of the index layer for the given map series page. This includes fields joined to the index layer. The default behavior, domainlookup="true"/>, is to use coded value descriptions if they're available. If you don't want to use coded value descriptions, change domainlookup="true"/> to domainlookup="false"/>.
|<dyn type="page" property="attribute" field="<Field Name>" domainlookup="true"/>|
If the dynamic text you're adding to your layout is too long and you want to enter a line break, you can do this by editing the attribute field in the table using Shift+Enter.
Use dynamic text to create neighbor labels
The following table shows dynamic text examples for neighbor labels:
See Page name, Page number, and Page count above.
A neighbor label with a value. These tags are constructed as <dyn type="page" property="Field_Name">, where Field Name is the name of the attribute field holding the name value of the adjacent, or neighboring, page in a particular direction.
|<dyn type="page" property="PageName_E"/>|
A neighbor label with static text included in the text element along with the dynamic tag. The label has a value.
The preStr and postStr tag attributes allow you to specify text to add to the start or end of a parsed dynamic tag. These only appear when the corresponding dynamic tag has a value.
|<dyn type="page" property="PageName_S" preStr="The neighbor south is " postStr="."/>|
A neighbor label with no static text. The label has no value.
|<dyn type="page" property="PageName_W"/>|
A neighbor label with no value. There is a dynamic text attribute to use static text in cases where there is no value.
The emptyStr tag attribute allows you to specify text to display if the dynamic tag has no value ([empty]).
|<dyn type="page" property="PageName_NW" emptyStr="No neighbor"/>|
Add dynamic text for neighbor labels
The following steps assume that you already have the necessary fields and values as part of your map series index layer to create the labels. If not, you can use the Calculate Adjacent Fields geoprocessing tool to create and populate fields to label neighboring pages. If you're creating a strip map and use the Strip Map Index Features geoprocessing tool to create the index layer, the layer has precalculated fields for left-right and top-bottom labels.
- On the Insert tab, in the Text group, click the Dynamic Text drop-down menu and click Attribute.
- Select the dynamic text element and drag it to where you want it on the layout.
For example, the label for neighboring pages to the north of the current page should be placed at the center top of the layout page. This assumes that the map rotation is constant and is zero.
- Double-click the text element.
The text can also be changed in the Format Text pane.
You can change the value for the property tag to the field name for the page value you want to use. For example, if the field name for the page to the north is "PageName_N", you would type "PageName_N" as the property value. The dynamic text element would look like this: <dyn type="page" property="PageName_N"/>.
- Repeat this for additional neighbor labels.