Markers, variables and cross-reference formats
This page puts together information about the nature of markers, variables and cross refrences which can not be found in the Adobe documentation. I did much experimenting to find this information.
Marker types
System variables
User variables
Cross reference formats
References
Marker types
Marker type | Allowed building blocks | Notes | |
---|---|---|---|
Name | ID | ||
Author | 5 | Any text | 1, 2 |
Comment | 3 | ||
Conditional Text | 10 | ||
Cross-Ref | 9 | ||
Equation | 7 | ||
Glossary | 6 | ||
Glossary Term | 18 | ||
Header/Footer $1 … $8 | 0,1,11…16 | Display the contents of the corresponding variables <$marker1> … <$marker8> |
1, 3 |
HotSpot | 19 | Any text | 1, 2 |
HTML Macro | 17 | ||
Hypertext | 8 | Text starting with a keyword and contiuing with a particular syntax. | 1 |
Index | 2 | : (separate levels) ; (separates entries) [ ] (indicate sort order) text_element<$startrange> <$endrange> <$nopage> <$singlepage> <character_format_name> </> |
1 |
NoPageBreak | 22 | <NoSplit\> |
5, 6 |
PageBreak | 22 | Topic Title | File name | 5, 6 |
Subject | 4 | Any text | 1 |
TopicAlias | 21 | Topic_alias_or_ID | 5, 6 |
User defined | 20 | Any text | 1, 6 |
Notes:
- The whole contents of a marker is limited to 2023 (single-byte) characters. For characters such as ‡ multiple bytes are used (UTF-8 coding).
- The building block
</>
is identical to the building block<Default ¶ Font>
. This short forms exists since FM-8. Header/Footer $n
markers are placed on the body page and define the corresponding system variable ($markern
) which in turn is used in the system variableRunning H/F m
on a master page. The system variable$markern
is active until it gets a new setting in anotherHeader/Footer $n
marker.- You can enter a tab character in marker text by typing either
\t
or the hexadecimal code\x08
. However, if you generate a list of markers, only tabs entered as hexadecimal codes appear. If you generate an index of markers, only tabs entered as\t
appear [FM-14 help]. - Since FM-12 there are marker types which are not handled the traditional way (Insert > Marker), but by Insert > Publish Marker:
Page Break Marker, No Page Break Marker, CSH Marker
=TopicAlias
(Context Sensitive Help) andIndex Marker
. They become effective only during publishing to HTML5 or MS HTML Help. The marker ID's have changed from FM-12 to FM-13 (2015)! - The ID's > 19 depend on the time of the creation/insertion: In the test here the sequence was
user_1
(20),TopicAlias
(21),PageBreak
(22),NoPageBreak
(22),user_2
(23).
System variables
You can not rename or create (with a new name) system variables. Of course you can also not delete them from the catalogue.
System variable | Default defintion in FM-en | Allowed groupes of building blocks |
---|---|---|
Book Page Count | <$totalpagesinabook> |
user, special, pagenum, paranum, docinfo, time |
Chapter Number | <$chapnum> |
user, pagenum, paranum, docinfo, time |
Chapter Title Name | <$chaptertitlename> |
user, pagenum, paranum, docinfo, time | yyy yyy
Creation Date (Long) | <$daynum> <$monthname> <$year> |
user, time |
Creation Date (Short) | <$daynum>/<$monthnum>/<$shortyear> |
user, time |
Current Date (Long) | <$daynum> <$monthname> <$year> |
user, time |
Current Date (Short) | <$daynum>/<$monthnum>/<$shortyear> |
user, time |
Current Page # | <$curpagenum> |
user, pagenum, paranum, docinfo, time |
FM User Directory | <$FMuserdir> |
user, pagenum, paranum, docinfo, time |
Filename (Long) | <$fullfilename> |
user, file, time |
Filename (Short) | <$filename> |
file, time |
Modification Date (Long) | <$daynum> <$monthname> <$year> <$hour>:<$minute00> <$ampm> |
user, time |
Modification Date (Short) | <$daynum>/<$monthnum>/<$shortyear> |
user, time |
Page Count | <$lastpagenum> |
user, special, pagenum, paranum, docinfo, time |
Running H/F 1 Running H/F 2 Running H/F 3 Running H/F 4 Running H/F 5 … 12 Running H/F 13 … 18 |
<$paratext[Title]> |
user, marker, paratxt, paranum, paratag, time |
Section Number | <$sectionnum> |
user, paranum, time, pagenum, docinfo |
Sub Section Number | <$subsectionnum> |
user, paranum, time, pagenum, docinfo |
Table Continuation | (Continued) |
user, time |
Table Sheet | (Sheet <$tblsheetnum> of <$tblsheetcount>) |
user, tblsheet,time |
Volume Number | <$volnum> |
user, pagenum, paranum, docinfo, time |
Notes:
- A particular system variable can only be built by the allowed building blocks. For example, the system variable
Table Sheet
can only be built by building blocks from the groupsuser
,tblsheet
andtime
. This ends up in the building blocksany costant text
(at various places),<$tblsheetnum>, <$tblsheetcount>, <$second>, <$second00>, …, <$imperialyearspecialkanjinumeric>
. Of course in reality only a selection of these possibilities is used: The standard system variableTable Sheet
is defined as(<$tblsheetnum> of <$tblsheetcount>)
. The constant text herein is( of )
. - The building block
</>
is identical to the building block<Default ¶ Font>
. This short forms exists since FM-8. Running H/F 5 … 12
introduced in FM-7;Running H/F 13 … 18
introduced FM-11.- All system variables are valid on Master pages. All but
Current Page #
andRunning H/F 1 … 18
are also valid on Body pages or Reference pages. - FM-17 (2022) introuced the book variable Book Page Count - available only if document is defined within a book.
Groups of building blocks
Group name | Building blocks start with < and end with > |
---|---|
user | Any text outside the building blocks, <character_format_name>, </> |
docinfo | <$volnum>, <$chapnum>, <$sectionnum>, <$subsectionnum>, <$chaptertitlename>, <$FMuserdir> |
file | <$filename>, <$fullfilename> |
marker | <$marker1>, <$marker2>, <$marker3>, <$marker4>, <$marker5>, <$marker6>, <$marker7>, <$marker8> |
pagenum | <$curpagenum>, <$lastpagenum> |
paranum | <$paranum[paratag]>, <$paranumonly[paratag]> |
paratag | <$paratag[paratag]>, <$condtag[hitag, ..., lotag, nomatch]> |
paratxt | <$paratext[paratag]> |
special | <$lastpagenum> , <$totalpagesinabook> |
tblsheet | <$tblsheetnum>, <$tblsheetcount> |
time | <$second>, <$second00>, <$minute>, <$minute00>, <$hour>, <$hour01>, <$hour24>, <$ampm>, <$AMPM>, |
Notes:
- The building block
</>
is identical to the building block<Default ¶ Font>
. This short forms exists since FM-8. Running H/F 3, Running H/F 4
and …Running H/F 13 … 18
are the only variables which can use theHeader/Footer $1 … $8
Marker building blocks.
User variables
Building blocks for user variables can only be:
Group name | Building blocks. They start with < and end with > |
---|---|
user | Any text outside the building blocks, <character_format_name>, </> |
Notes:
- You can not create a user variable with the same name as a system variable.
- You can not use the building blocks of system variables - they will not be 'evaluated'.
- The building block
</>
is identical to the building block<Default ¶ Font>
. This short forms exists since FM-8.
Cross reference formats
Group name | Building blocks start with < and end with > |
---|---|
user | Any text outside the building blocks, <character_format_name>, </> <$pagenum>, <$paratext>, <$paratag>, <$paranum>, <$paranumonly>, <$fullfilename>, <$filename>, <$volnum>, <$chapnum>, <$sectionnum>, <$subsectionnum>, <$chaptertitlename>, <$pagenum[paratag]>, <$paratext[paratag]>, <$paratag[paratag]>, <$paranum[paratag]>, <$paranumonly[paratag]> |
The follwowing are unique to the cross-reference building blocks (do not exist for system variables):
<$pagenum>, <$paratext>, <$paratag>, <$paranum>, <$paranumonly>, <$paranumonly[paratag]>
Reference
[1] S. O'Keefe and S. A. Loring, FrameMaker 7: The complete reference. New York, NY: McGraw-Hill, 2002.
[2] M. Sullivan and S. O'Keefe, Publishing fundamentals: Unstructured FrameMaker 11. Research Triangle Park, N.C: Scriptorium Press, 2013.
[3] Experiments, tests and research.