If this guide is distributed with software that includes an end-user agreement, this guide, as well as the software described in it, is furnished under license and may be used or
copied only in accordance with the terms of such license. Except as permitted by any such license, no part of this guide may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, recording, or otherwise, without the prior written permission of Adobe Systems Incorporated. Please note that the
content in this guide is protected under copyright law even if it is not distributed with software that includes an end-user license agreement.
The content of this guide is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Adobe Systems Incorporated. Adobe Systems Incorporated assumes no responsibility or liability for any errors or inaccuracies that may appear in the informational content contained in this guide.
Please remember that existing artwork or images that you may want to include in your project may be protected under copyright law. The unauthorized incorporation of such
material into your new work could be a violation of the rights of the copyright owner. Please be sure to obtain any permission required from the copyright owner.
Any references to company names in sample templates are for demonstration purposes only and are not intended to refer to any actual organization.
Adobe, the Adobe logo, Acrobat, Distiller, Flash, FrameMaker, and PostScript are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States
and/or other countries.
Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. UNIX is a trademark in the United
States and other countries, licensed exclusively through X/Open Company, Ltd. Sun is a trademark or registered trademark of Sun Microsystems, Inc. in the United States and
other countries. Palatino is a trademark of Heidelberger Druckmaschinen AG exclusively licensed through Linotype Library GmbH, and may be registered in certain jurisdictions. All other trademarks are the property of their respective owners.
This work is licensed under the Creative Commons Attribution Non-Commercial 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/bync/3.0/us/
This product contains either BSAFE and/or TIPEM software by RSA Data Security, Inc.
This product contains color data and/or the Licensed Trademark of The Focoltone Colour System.
Portions of Adobe Acrobat include technology used under license from Autonomy, and are copyrighted.
Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, USA.
Notic e to U.S. gov ernment end user s. The so ftware a nd document ation are “Comm ercial Items,” as that te rm is de fined at 48 C.F.R. §2.101, consisting of “Commercial Computer
Software” and “Commercial Computer Software Documentation,” as such terms are used in 48 C.F.R. §12.212 or 48 C.F.R. §227.7202, as applicable. Consistent with 48 C.F.R.
§12.212 or 48 C.F.R. §§227.7202-1 through 227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software Documentation are being
licensed to U.S. Government end users (a) only as Commercial items and (b) with only those rights as are granted to all other end users pursuant to the terms and conditions
herein. Unpublished-rights reserved under the copyright laws of the United States. For U.S. Government End Users, Adobe agrees to comply with all applicable equal opportunity
laws including, if appropriate, the provisions of Executive Order 11246, as amended, Section 402 of the Vietnam Era Veterans Readjustment Assistance Act of 1974 (38 USC 4212),
and Section 503 of the Rehabilitation Act of 1973, as amended, and the regulations at 41 CFR Parts 60-1 through 60-60, 60-250, and 60-741. The affirmative action clause and
regulations contained in the preceding sentence shall be incorporated by reference.
MIF (Maker Interchange Format) is a group of ASCII statements that create an easily parsed, readable text file of all
the text, graphics, formatting, and layout constructs that Adobe® FrameMaker®
native representation of a FrameMaker document, it allows FrameMaker and other applications to exchange information while preserving graphics, document content, and format.
understands. Because MIF is an alter-
Why use MIF?
You can use MIF files to allow FrameMaker and other applications to exchange information. For example, you can
write programs to convert graphics and text into MIF and then import the MIF file into FrameMaker with the
graphics and text intact. You can also save a FrameMaker document or book file as a MIF file and then write a
program to convert the MIF file to another format. These conversion programs are called filters; filters allow you to
convert FrameMaker document files into foreign files (files in another word processing or desktop publishing
format), and foreign files into FrameMaker document files.
You can use MIF files with database publishing applications, which allow you to capture changing data from
databases and format the data into high-quality documents containing both text and graphics information. You use
the database to enter, manipulate, sort, and select data. You use FrameMaker to format the resulting data. You use
MIF files as the data interchange format between the database and FrameMaker.
You can also use MIF files to do the following:
•Share documents with earlier versions of FrameMaker
•Perform custom document processing
•Set options for online documents in View Only format
These tasks are described in “Applications of MIF” on page 47. You can use other FrameMaker to perform some of
these tasks. See “Other application tools” on page 51.
Using this manual
This manual:
•Describes the layout of MIF files.
•Provides a complete description of each MIF statement and its syntax.
•Provides examples of how to use MIF statements.
•Includes MIF statements for version 7.0 of FrameMaker
To get the most from this manual you should be familiar with FrameMaker. For information about FrameMaker and
its features, see the documentation for your product. In addition, if you are using MIF as an interchange format
between FrameMaker and another application, you should be familiar with the tools needed to create and manipulate the other application, such as a programming language or database query language.
This chapter provides basic information about working with MIF files, including opening and saving MIF files in
FrameMaker. It goes on to provide detailed information about the MIF language and its syntax.
®
.
ADOBE FRAMEMAKER 9
MIF Reference
For an introduction to writing MIF files, read , “Using MIF Statements.” You can then use the statement index,
subject index, and table of contents to locate more specific information about a particular MIF statement.
For a description of a MIF statement, use the table of contents or statement index to locate the statement.
For a description of the differences between the MIF statements for this version of FrameMaker and earlier versions,
see , “MIF Compatibility.”
Style conventions
This manual uses different fonts to represent different types of information.
•What you type is shown in
text like this.
•MIF statement names, pathnames, and filenames are also shown in
text like this.
•Placeholders (such as MIF data) are shown in
text like this
•For example, the statement description for PgfTag is shown as:
<PgfTag
•Yo u r ep la ce
This manual also uses the term FrameMaker, (as in FrameMaker document, or FrameMaker session) to refer to
FrameMaker and to refer to structured or unstructured documents.
.
tagstring
tagstring
>
with the tag of a paragraph format.
2
Overview of MIF statements
When you are learning about MIF statements, you may find it useful to understand how FrameMaker represents
documents.
How MIF statements represent documents
FrameMaker represents document components as objects. Different types of objects represent different components
in a FrameMaker document. For example, a paragraph is considered an object; a paragraph format is considered a
formatting object. The graphic objects that you create by using the Tools palette are yet another type of object.
Each object has properties that represent its characteristics. For example, a paragraph has properties that represent
its left indent, the space above it, and its default font. A rectangle has properties that represent its width, height, and
position on the page.
When FrameMaker creates a MIF file, it writes an ASCII statement for each object in the document or book. The
statement includes substatements for the object’s properties.
For example, suppose a document (with no text frame) contains a rectangle that is 2 inches wide and 1 inch high.
The rectangle is located 3 inches from the left side of the page and 1.5 inches from the top. MIF represents this
rectangle with the following statement:
<Rectangle# Type of graphic object
# Position and size: left offset, top offset,
<ShapeRect 3.0" 1.5" 2.0" 1.0">
>
# width, and height
ADOBE FRAMEMAKER 9
FrameMaker also treats each document as an object and stores document preferences as properties of the document.
For example, a document’s page size and page numbering style are document properties.
MIF Reference
FrameMaker documents have default objects
A FrameMaker document always has a certain set of default objects, formats, and preferences, even when you create
a new document. When you create a MIF file, you usually provide the objects and properties that your document
needs. However, if you don’t provide all the objects and properties required in a FrameMaker document, the MIF
interpreter fills in a set of default objects and document formats.
The MIF interpreter normally provides the following default objects:
•Predefined paragraph formats for body text, headers, and table cells
•Predefined character formats
•A right master page for single-sided documents and left and right master pages for double-sided documents
•A reference page
•Predefined table formats
•Predefined cross-reference formats
•Default pen and fill values and dash patterns for graphics
•Default colors
•Default document preferences, such as ruler settings
•Default condition tags
Although you can rely on the MIF interpreter to provide defaults, the exact properties and objects provided may
vary depending on your FrameMaker configuration. The MIF interpreter uses default objects and properties that
are specified in setup files and in templates. In UNIX® versions, these templates are
plate
. You can modify these default objects and document formats by creating your own version of ASCIITem-
plate
or NewTemplate or by modifying your setup files.
For more information about modifying the default templates and setup files, see the online manual Customizing FrameMaker for UNIX versions of FrameMaker. For the and Windows® version, see the chapter on templates in
your user manual.
ASCIITemplate and NewTem-
3
Current state and inheritance
FrameMaker has a MIF interpreter that reads and parses MIF files. When you open or import a MIF file, the interpreter reads the MIF statements and creates a FrameMaker document that contains the objects described in the MIF
file.
When the interpreter reads a MIF file, it keeps track of the current state of certain objects. If the interpreter reads an
object with properties that are not fully specified, it applies the current state to that object. When an object acquires
the current state, it inherits the properties stored in that state.
For example, if the line width is set to 1 point for a graphic object, the interpreter continues to use a 1-point line width
for graphic objects until a new value is specified in the MIF file. Similarly, if the MIF file specifies a format for a
paragraph, the interpreter uses the same format until a new format is specified in the file.
The MIF interpreter keeps track of the following document objects and properties:
•Units
•Condition tag properties
•Paragraph format properties
•Character format properties
ADOBE FRAMEMAKER 9
MIF Reference
•Page properties
•Graphic frame properties
•Text frame properties
•Fill pattern
•Pen pattern
•Line width
•Line cap
•Line style (dash or solid)
•Color
•Text line alignment and character format
Because the interpreter also provides default objects for a document, the current state of an object may be determined by a default object. For example, if a document does not provide any paragraph formats, the interpreter
applies a set of default paragraph properties to the first paragraph. Subsequent paragraphs use the same properties
unless otherwise specified.
How FrameMaker identifies MIF files
A MIF file must be identified by a MIFFile or Book statement at the beginning of the file; otherwise FrameMaker
simply reads the file as a text file. All other statements are optional; that is, a valid MIF file can contain only the
MIFFile statement. Other document objects can be added as needed; FrameMaker provides a set of default objects
if a MIF file does not supply them.
4
MIF statement syntax
The statement descriptions in this manual use the following conventions to describe syntax:
<
token data
token data
descriptions later in this manual, and
Markup statements are always delimited by angle brackets (< > ); macro statements are not. For the syntax of macro
statements, see “Macro statements” on page 56.
A token is an indivisible group of characters that identify a reserved word in a MIF statement. Tokens in MIF are
case-sensitive. A token cannot contain white space characters, such as spaces, tabs, or newlines. For example, the
following MIF statement is invalid because the token contains white space characters:
When the MIF interpreter finds white space characters that aren’t part of the text of the document (as in the example
MIF statement,
statement, the MIF interpreter ignores the white space characters between the left angle bracket (<) and the first
character of the token,
the interpreter reads and parses the data portion of the statement. If the token is not valid, the interpreter ignores all
text up to the corresponding right angle bracket (>), including any nested substatements. The interpreter then scans
the file for the next left angle bracket that marks the beginning of the next MIF statement.
All statements, as well as all data portions of a statement, are optional. If you do not provide a data portion, the MIF
interpreter assigns a default value to the statement.
>
where
token
represents one of the MIF statement names (such as Pgf) listed in the MIF statement
data
represents one or more numbers, a string, a token, or nested statements.
<Un its Uin>
< Units Uin >), it interprets the white space as token delimiters. When parsing the example
Units. After reading the token, the MIF interpreter checks its validity. If the token is valid,
ADOBE FRAMEMAKER 9
MIF Reference
Statement hierarchy
Some MIF statements can contain other statements. The contained statements are called substatements. In this
manual, substatements are usually shown indented within the containing statements as follows:
<Document
<DStartPage 1>
>
The indentation is not required in a MIF file, although it may make the file easier for you to read.
A MIF main statement appears at the top level of a file. A main statement cannot be nested within other statements.
Some substatements can only appear within certain main statements.
The statement descriptions in this manual indicate the valid locations for a substatement by including it in all of the
valid main statements. Main statements are identified in the statement description; for the correct order of main
statements, see “MIF file layout” on page 52.
MIF data items
There are several general types of data items in a MIF statement. This manual uses the following terms and symbols
to identify data items.
This term or symbolMeans
5
string
tagstring
pathname
boolean
integer
ID
dimension
degrees
percentage
metric
W H
Left quotation mark ( ` ), zero or more standard ASCII characters (in FrameMaker 9, you can also
include UTF-8 characters), and a straight quotation mark ( ' ).
Example: `ab cdef ghij'
A string that names a format tag, such as a paragraph format tag. A
unique; case is significant. A statement that refers to a
tagstring
acter set.
A string specifying a pathname (see “Device-independent pathnames” on page 7).
A value of either Yes or No. Case is significant.
Integer whose range depends on the associated statement name.
Integer that specifies a unique ID. An ID can be any positive integer between 1 and 65535, inclusive. A statement that refers to an ID must exactly match the ID.
Decimal number signifying a dimension. You can specify the units, such as 1.11", 72 pt, and
8.3 cm. If no units are specified, the default unit is used (see “Units statement” on page 54).
A decimal number signifying an angle value in degrees. You cannot specify units; any number is
interpreted as a degree value.
A decimal number signifying a percentage value. You cannot specify units; any number is interpreted as a percentage value.
A dimension specified in units that represent points, where one point is 1/72 inch (see “Math
values” on page 6). Only used in MathFullForm statements.
Pair of dimensions representing width and height. You can specify the units.
value. A
tagstring
value can include any character from the FrameMaker char-
tagstring
tagstring
must exactly match the
value must be
X Y
L T R B
L T W H
Coordinates of a point. Coordinates originate at the u pp er- le ft c or ner of t he pag e o r gr aph ic fra me.
You can specify the units.
Coordinates representing left, top, right, and bottom indents. You can specify the units.
Coordinates representing the left and top indents plus the dimensions representing th e width and
height of an object. You can specify the units.
This term or symbolMeans
ADOBE FRAMEMAKER 9
MIF Reference
6
X Y W H
keyword
<token…>
Coordinates of a point on the physical screen represented by X and Y plus dimensions describing
the width and height. Used only by the DWindowRect and DViewRect statements within the
Document statement and the BWindowRect statement within the Book statement. The
values are in pixels; you cannot specify the units.
A token value. The allowed token values are listed for each statement; you can provide only one
value.
Ellipsis points in a statement indicate required substatements or arguments. The entire expanded
statement occurs at this point.
Unit values
You can specify the unit of measurement for most dimension data items. The following table lists the units of
measurement that FrameMaker supports and their notation in MIF.
Measurement unitNotation in MIFRelationship to other units
pointpt or point1/72 inch
inch" or in 72 points
millimetermm or millimeter1 inch is 25.4 mm
centimeter
pica
didot
cicero
cm or centimeter
pc or pica
dd or didot
cc or cicero
1 inch is 2.54 cm
12 points
0.01483 inches
12 didots
Dimension data types can mix different units of measurement. For example, the statement
type is a 32-bit fixed-point number. The 16 most significant bits of a
metric
values in formatting codes. A
metric
unit represents one point (1/72
metric
value represent the
digits before the decimal; the 16 least significant bits represent the digits after the decimal. Therefore, 1 point is
expressed as hexadecimal
0x10000 or decimal 65536. The following table shows how to convert
metric
values into
equivalent measurement units.
To get this unitDivide the metric value by this number
point65536
inch4718592
millimeter185771
centimeter1857713
pica786432
didot6997
cicero839724
ADOBE FRAMEMAKER 9
MIF Reference
Character set in strings
MIF string data uses the FrameMaker character set (see the Quick Reference for your FrameMaker product). MIF
strings must begin with a left quotation mark (ASCII character code
(ASCII character code
0x27). Within a string, you can include any character in the FrameMaker character set.
However, because a MIF file can contain only standard ASCII characters and because of MIF parsing requirements,
you must represent certain characters with backslash ( \ ) sequences.
CharacterRepresentation
Tab\ t
>\>
0x60) and end with a straight quotation mark
7
'
`\Q
\\\
nonstandard ASCII\x
\q
nn
Note: The \xnn character is supported only for legacy MIF files.
All FrameMaker characters with values above the standard ASCII range (greater than
\x
nn
string by using
notation, where nn represents the hexadecimal code for the character. The hexadecimal digits
\x7f) are represented in a
must be followed by a space.
When using special characters in a variable definition, you can also use a hexadecimal notation or Unicode notation.
In the previous example, the hexadecimal notation for the paragraph symbol (¶) is \xa6. Alternatively, you can use
the \u00B6 Unicode notation to represent the same character.
The following example shows a FrameMaker document line and its representation in a MIF string.
In a FrameMaker documentIn MIF
Some `symbols': > \Ø¿!
You ca n a ls o us e th e
Char statement to include certain predefined special characters in a ParaLine statement (see
`Some \Qsymbols\q: \> \\Ø¿!'
“Char statement” on page 125).
Device-independent pathnames
Several MIF statements require pathnames as values. You should supply a device-independent pathname so that files
can easily be transported across different system types. Because of MIF parsing requirements, you must use the
following syntax to supply a pathname:
`<code\>name<code\>name<code\>name…'
where
name
is the name of a component in the file’s path and
The following table lists codes and their meanings.
code
identifies the role of the component in the path.
CodeMeaning
r
v
h
c
Root of UNIX file tree (UNIX only)
Volume or drive (Windows)
Host (Apollo only)
Component
CodeMeaning
ADOBE FRAMEMAKER 9
MIF Reference
8
u
Up one level in the file tree
When you specify a device-independent pathname in a MIF string, you must precede any right angle brackets (>)
with backslashes (\), as shown in the syntax above.
Absolute pathnames
An absolute pathname shows the location of a file beginning with the root directory, volume, or drive. The following
table specifies device-independent, absolute pathnames for the different versions of FrameMaker.
In this versionThe pathname appears as this MIF string
A relative pathname shows the location of a file relative to the current directory. In all FrameMaker versions, the
device-independent, relative pathname for the same file is:
`<c\>Filename '
Chapter 2: Using MIF Statements
MIF statements can completely describe any Adobe® FrameMaker® document, no matter how complex. As a result,
you often need many MIF statements to describe a document. To learn how to use MIF statements, it helps to begin
with some simple examples.
This chapter introduces you to MIF, beginning with a simple MIF example file with only a few lines of text.
Additional examples show how to add common document objects, such as paragraph formats, a table, and a custom
page layout, to this simple MIF file.
The examples in this chapter are also provided in online sample files. You can open these examples in FrameMaker
and experiment with them by adding additional MIF statements. Look for the sample files in the following location:
In this versionLook here
9
UNIX $FMHOME/fminit/
as usenglish
Windows The MIF directory under the samples directory
language
/Samples/MIF, where
language
is the language in use, such
Working with MIF files
A MIF file is an alternate representation of a FrameMaker document in ASCII format. MIF files are usually
generated by FrameMaker or by an application that writes out MIF statements. You can, however, create MIF files
by using a text editor or by using FrameMaker as a text editor. This section provides some general information about
working with MIF files regardless of the method you use to create them.
Opening and saving MIF files
When you save a FrameMaker document, you usually save it in Normal format, FrameMaker’s binary format for
document files. To save a document as a MIF file, choose Save As from the File menu. In the Save Document dialog
box, choose Interchange (MIF) from the Format pop-up menu. You should give the saved file the suffix
distinguish it from a file saved in binary format.
When you open or import a MIF file, FrameMaker reads the file directly, translating it into a FrameMaker
document or book. When you save the document in Normal format, FrameMaker creates a binary document file.
To prevent overwriting the original MIF file, remove the
suffix).
If you use FrameMaker to edit a MIF file, you must prevent it from interpreting MIF statements when you open the
file by holding down a modifier key and clicking Open in the Open dialog box.
In this versionUse this modifier key
.mif file suffix and replace it with a different suffix (or no
.mif to
UNIXShift
WindowsControl or Shift
Save the edited MIF file as a text file by using the Save As command and choosing Text Only from the Format popup menu. Give the saved file the suffix
to place carriage returns. For a MIF file, choose the Only between Paragraphs option.
.mif. When you save a document as Text Only, FrameMaker asks you where
ADOBE FRAMEMAKER 9
MIF Reference
In UNIX versions, FrameMaker saves a document in text format in the ISO Latin-1 character encoding. You can
change the character encoding to ASCII by changing the value of an X resource. See the description of character
encoding in the online manual Customizing FrameMaker. In the Windows version, press Esc F t c to toggle between
FrameMaker’s character encoding and ANSI for Windows.
Importing MIF files
You can use the File menu’s Import>File command to import MIF files into an existing document, but you must
make sure that the imported statements are valid at the location where you are importing them. A MIF file can
describe both text and graphics; make sure that you have selected either a place in the text flow (if you are importing
text or graphics) or an anchored frame (if you are importing graphics).
For example, to import a MIF file that describes a graphic, first create an anchored frame in a document, select the
frame, and then import the MIF file (see “Bar chart example” on page 220).
When you import or include MIF files, make sure that object IDs are unique in the final document and that references to object IDs are correct (see “Generic object statements” on page 105). The object IDs must be unique for all
objects (TextRect, TblId, Group, and AFrame use the ID for identification) in the document.
Editing MIF files
You normally use a text editor to edit a MIF file. If you use FrameMaker to enter text into a MIF file, be sure to open
the MIF file as a text file and turn off Smart Quotes. If you leave Smart Quotes on, you must use a key sequence to
type the quotation marks that enclose a MIF string (
straight quotation mark, type Control-'.
Although MIF statements are usually generated by a program, while you learn MIF or test and debug an application
that generates MIF, you may need to manually generate MIF statements. In either case, you can minimize the
number of MIF statements that your application needs to generate or that you need to type in.
The following suggestions may be helpful when you are working with MIF statements:
•Edit a MIF file generated by FrameMaker.
•You can edit a MIF file generated by FrameMaker or copy a group of statements from a MIF file into your file
and then edit the statements. An easy way to use FrameMaker to generate a MIF file is to create an empty document
by using the New command and then saving it as a MIF file.
•Te st o n e o b j ec t at a ti m e.
•While testing an object in a document or learning about the MIF statements that describe an object, work with
just that object. For example, if you work with a document that contains both tables and anchored frames, start by
creating the MIF statements that describe tables. Then add the statements that describe anchored frames.
•Use the default properties provided by FrameMaker.
•If you are not concerned with testing certain document components, let FrameMaker provide a set of default
document objects and formats.
`'). To enter a left quotation mark, type Control-`. To enter a
10
MIF file layout
FrameMaker writes the objects in a MIF document file in the following order:
This sectionContains these objects
File IDMIF file identification line (MIFFile statement)
Units Default units (
Units statement)
This sectionContains these objects
CatalogsColor
Condition
Paragraph Format
Element
Font or Character Format
Ruling
Table Format
Views
FormatsVariable
Cross-reference
ObjectsDocument
Dictionary
Anchored frames
Tab le s
Pages
Tex t flo ws
ADOBE FRAMEMAKER 9
MIF Reference
11
FrameMaker provides all of these objects, even if the object is empty. To avoid unpredictable results in a document,
you must follow this order when you create a MIF file.
Creating a simple MIF file for FrameMaker
Note: The rest of this chapter explains how to create some simple MIF files for FrameMaker by hand. These instructions
do not apply to structured documents, which require that you create elements first.
The most accurate source of information about MIF files is a MIF file generated by FrameMaker. MIF files generated
by FrameMaker can be very lengthy because FrameMaker repeats information and provides default objects and
formats for all documents. You may find it difficult to determine the minimum number of statements that are
necessary to define your document by looking at a FrameMaker-generated MIF file.
To better understand how FrameMaker reads MIF files, study the following example. This MIF file uses only four
statements to describe a document that contains one line of text:
<MIFFile 8.00># The only required statement
<Para# Begin a paragraph
<ParaLine# Begin a line within the paragraph
<String `Hello World'># The actual text of this document
># end of Paraline #End of ParaLine statement
># end of Para #End of Para statement
The MIFFile statement is required in each MIF file. It identifies the FrameMaker version and must appear on the
first line of the file. All other statements are optional; that is, FrameMaker provides a set of default objects if you
specify none.
Comments in a MIF file are preceded by a number sign (#). By convention, the substatements in a MIF statement
are indented to show their nesting level and to make the file easier to read. The MIF interpreter ignores spaces at the
beginning of a line.
ADOBE FRAMEMAKER 9
MIF Reference
This example is in the sample file hello.mif. To see how FrameMaker provides defaults for a document, open this
file in FrameMaker. Even though the MIF file does not specify any formatting, FrameMaker provides a default
Paragraph Catalog and Character Catalog. In addition, it provides a right master page, as well as many other default
properties.
Save this document as a MIF file and open the FrameMaker-generated MIF file in a text editor or in FrameMaker
as a text file. (For information on how to save and open MIF files, see “Opening and saving MIF files” on page 9.)
You’ll see that the MIF interpreter has taken the original 6-line file and generated over 1,000 lines of MIF statements
that describe all the default objects and their properties. To see the actual text of the document, go to the end of the
file.
This example demonstrates an important point about MIF files. Your MIF file can be very sparse; the MIF interpreter supplies missing information. Most documents are not this simple, however, and require some formatting.
The following sections describe how to add additional document components, such as paragraph and character
formats, a table, and custom page layouts, to this minimal MIF file.
Creating and applying paragraph formats
In a FrameMaker document, paragraphs have formatting properties that specify the appearance of the paragraph’s
text. A paragraph format includes the font family and size, indents, tab stops, the space between lines in a paragraph,
and the space before and after a paragraph. In a FrameMaker document, the end of a paragraph is denoted by a
single carriage return. You control the amount of space above and below the paragraph by modifying the
paragraph’s format, not by adding extra carriage returns.
In a FrameMaker document, you store paragraph formats in a Paragraph Catalog and assign a tag (name) to the
format. You can then apply the same format to many paragraphs by assigning the format tag to the paragraphs. You
can also format a paragraph individually, without storing the format in the Paragraph Catalog. Or, you can assign a
format from the Paragraph Catalog and then override some of the properties within a particular paragraph. Formats
that are not stored in the Paragraph Catalog are called local formats.
12
Creating a paragraph
In a MIF file, paragraphs are defined by a Para statement. A Para statement contains one or more ParaLine statements that contain the lines in a paragraph; the actual text of the line is enclosed in one or more
<Para# Begin a paragraph
<ParaLine# Begin a line within the paragraph
<String `Hello World'># The actual text of this document
># End of ParaLine statement
># End of Para statement
String statements:
The Para, ParaLine, and String statements are the only required statements to import text. You could use this
example to import a simple document into FrameMaker by placing each paragraph in a
paragraph text into a series of
break up text lines within a
String statements contained in one ParaLine statement. It doesn’t matter how you
Para statement; the MIF interpreter automatically wraps lines when it reads the MIF file.
Para statement. Break the
Some characters must be represented by backslash sequences in a MIF string. For more information, see “Character
set in strings” on page 7.
Creating a paragraph format
Within a FrameMaker document, you define a paragraph format by using the Paragraph Designer to specify the
paragraph’s properties. In a MIF file, you define a paragraph format by using the
The
Pgf statement contains a group of substatements that describe all of a paragraph’s properties. It has the
following syntax:
Pgf statement.
<Pgf
<
property value
<
property value
...
>
ADOBE FRAMEMAKER 9
>
>
MIF Reference
A Pgf statement is quite long, so learning how to relate its substatements to the paragraph’s properties may take
some practice. Usually a MIF statement name is similar to the name of the setting within a dialog box. The following
examples show the property dialog boxes from the Paragraph Designer with the related
Pgf substatements.
Suppose you have created a paragraph format for a numbered list item with Basic properties defined as follows in
the Paragraph Designer.
13
Basic properties
The following table shows the corresponding MIF statements:
In MIF fileIn Paragraph Designer
<PgfTag `Numbered'>
<PgfFIndent 0.0">
<PgfLIndent 0.25">
<PgfRIndent 0.0">
<PgfAlignment Left >
<PgfSpBefore 0.0 pt>
<PgfSpAfter 0.0 pt>
<PgfLeading 2.0 pt>
Paragraph Tag
First Indent
Left Indent
Right Indent
Alignment
Space Above ¶
Space Below ¶
Line Spacing (leading is added to font size)
In MIF fileIn Paragraph Designer
ADOBE FRAMEMAKER 9
MIF Reference
14
<PgfLineSpacing Fixed>
<PgfNumTabs 1>
<TabStop
<TSX 0.25">
<TSType Left >
<TSLeaderStr `'>
Line Spacing (fixed)
Number of tab stops
Begin definition of tab
Tab position
Tab type
Tab leader (none)
> # end of TabStop
<PgfUseNextTag No >
<PgfNextTag `'>
Turn off Next ¶ Tag feature
Next ¶ Tag name (none)
The Default Font properties are defined as follows in the Paragraph Designer.
Font properties
The following table shows the corresponding MIF statements:
In MIF fileIn Paragraph Designer
<PgfFont
<FFamily `Times'>
<FSize 12.0 pt>
Family
Size
In MIF fileIn Paragraph Designer
<FEncoding>
ADOBE FRAMEMAKER 9
MIF Reference
15
<FAngle `Regular'>
<FWeight `Regular'>
<FLanguage>
<FVar `Regular'>
<FColor `Black'>
<FDW 0.0 pt>
<FStretch 100%>
<FUnderlining NoUnderlining >
<FOverline No >
<FStrike No >
<FChangeBar No >
<FPosition FNormal >
<FCase FAsTyped >
<FPairKern Yes >
<FTsume No>
> # end of PgfFont
Angle
Weig ht
Language
Variation
Color
Spread
Stretch
Underline
Overline
Strikethrough
Change Bar
Superscript/Subscript
Capitalization
Pair Kern
Tsume (Asian systems only)
The Pagination properties are defined as follows in the Paragraph Designer.
ADOBE FRAMEMAKER 9
MIF Reference
16
Pagination properties
The following table shows the corresponding MIF statements:
In MIF fileIn Paragraph Designer
<PgfPlacement Anywhere >
<PgfWithNext No >
<PgfWithPrev No >
<PgfBlockSize 1>
<PgfPlacementStyle Normal >
<PgfRunInDefaultPunct `. '>
Start
Keep With Next Pgf
Keep With Previous Pgf
Widow/Orphan Lines
Format (paragraph placement)
Run-in Head Default Punctuation (a period followed by an em space)
The Numbering properties are defined as follows in the Paragraph Designer.
ADOBE FRAMEMAKER 9
MIF Reference
17
Numbering properties
The following table shows the corresponding MIF statements:
In MIF fileIn Paragraph Designer
<PgfAutoNum Yes >
<PgfNumFormat `<n+\>.\\t' >
<PgfNumberFont `' >
<PgfNumAtEnd No >
Turn on Autonumber
Autonumber Format (a number followed by a period and a tab)
Character Format (Default ¶ Format)
Position (Start of Paragraph)
The Advanced properties are defined as follows in the Paragraph Designer.
ADOBE FRAMEMAKER 9
MIF Reference
18
Advanced properties
The following table shows the corresponding MIF statements:
In MIF fileIn Paragraph Designer
<PgfHyphenate Yes >
<HyphenMaxLines 2>
<HyphenMinWord 5>
<HyphenMinPrefix 3>
<HyphenMinSuffix 3>
<PgfMinWordSpace 90>
<PgfOptWordSpace 100>
<PgfMaxWordSpace 110>
<PgfLetterSpace Yes >
<PgfTopSeparator `'>
<PgfBotSeparator `'>
Automatic Hyphenation (on)
Max. # Adjacent
Shortest Word
Shortest Prefix
Shortest Suffix
Minimum Word Spacing
Optimum Word Spacing
Maximum Word Spacing
Allow Automatic Letter Spacing
Frame Above ¶
Frame Below ¶
The Asian properties are defined as follows in the Paragraph Designer.
ADOBE FRAMEMAKER 9
MIF Reference
19
Asian properties
The following table shows the corresponding MIF statements:
In MIF fileIn Paragraph Designer
<PgfMinJRomanLetterSpace
<PgfOptJRomanLetterSpace
<PgfMaxJRomanLetterSpace
<PgfMinJLetterSpace
<PgfOptJLetterSpace
<PgfMaxJLetterSpace
<PgfYakumonoType
percentage
percentage
percentage
string
>
percentage
percentage
percentage
>
>
>
>
>
>
Minimum (Western/Asian Spacing)
Optimum (Western/Asian Spacing)
Maximum (Western/Asian Spacing)
Minimum (Asian Character Spacing)
Optimum (Asian Character Spacing)
Maximum (Asian Character Spacing)
Asian Punctuation
The Table Cell properties are defined as follows in the Paragraph Designer.
ADOBE FRAMEMAKER 9
MIF Reference
20
Table cell properties
The following table shows the corresponding MIF statements:
In MIF fileIn Paragraph Designer
<PgfCellAlignment Top >
<PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
<PgfCellTMarginFixed No >
<PgfCellBMarginFixed No >
<PgfCellLMarginFixed No >
<PgfCellRMarginFixed No >
Cell Vertical Alignment
Cell Margins
Top
Bottom
Left
Right
Adding a Paragraph Catalog
In a MIF file, you define a Paragraph Catalog by using a PgfCatalog statement. The Paragraph Catalog contains
one or more paragraph formats, which are defined by
<PgfCatalog
<Pgf…># A paragraph format description
<Pgf…># More paragraph formats
># end of PgfCatalog
The Pgf statement describes a complete paragraph format. For example, the sample file pgfcat.mif stores the
paragraph format 1Heading in the Paragraph Catalog:
<MIFFile 8.00># Hand generated
Pgf statements. A PgfCatalog statement looks like this:
If you open pgfcat.mif in FrameMaker, you’ll see that the Paragraph Catalog contains a single paragraph format
called 1Heading. If you supply a Paragraph Catalog, the paragraph formats in your catalog replace those in the
default catalog; they do not supplement the default formats.
If you do not supply a Paragraph Catalog in a MIF file, the MIF interpreter provides a default Paragraph Catalog
with predefined paragraph formats.
Pgf statement provides only the name of a paragraph format, the MIF interpreter supplies default values for the
If a
rest of the paragraph properties when it reads in the MIF file.
Applying a paragraph format
To apply a format from the Paragraph Catalog to a paragraph, use the PgfTag statement to include the format tag
name within the
the following statements:
<Para
<PgfTag `1Heading'>
<ParaLine
># end of ParaLine
># end of Para
To apply a format from the Paragraph Catalog and then locally override some properties, use a partial Pgf statement
within the
alignment:
<Para
<PgfTag `1Heading'>
<Pgf
># end of Pgf
<ParaLine
># end of ParaLine
># end of Para
To locally define a paragraph format, include a complete Pgf statement within the Para statement:
<Para
<Pgf
># end of Pgf
<ParaLine
Para statement. For example, to apply the previously defined format 1Heading to a paragraph, use
<String `This line has the format called 1Heading.'>
Para statement. The following MIF example applies the paragraph format 1Heading, then changes the
For a complete description of Pgf property statements, see page 61.
How paragraphs inherit properties
Paragraphs can inherit properties from other paragraphs in a MIF file. If a Pgf statement does not provide values
for each paragraph property, it acquires any property values explicitly defined in a previous
the MIF interpreter sequentially reads MIF files, it uses the most recently defined
Pgf statement that occurs before
the current statement in the file.
For example, the following MIF code applies the default format named Body to the first paragraph in a document
and locally overrides the paragraph font:
<Para
<Pgf
<PgfTag `Body'>
<PgfFont
<FWeight `Bold'>
># end of PgfFont
># end of Pgf
<ParaLine
<String `First paragraph in document.'>
># end of ParaLine
># end of Para
<Para
<ParaLine
<String `Second paragraph in document.'>
># end of ParaLine
># end of Para
The previous example is in the sample file pgffmt.mif. If you open this file in FrameMaker, you’ll find that the
second paragraph also has the new font property.
A paragraph property remains in effect until the property value is changed by a subsequent MIF statement. To
change a paragraph property to another state, supply a
Pgf statement containing the paragraph property statement
set to the new state.
Thus, in the previous example, you could change the font from Bold to Regular in a
Para statement:
<Para
<Pgf
<PgfFont
<FWeight `Regular'>
># end of PgfFont
># end of Pgf
<ParaLine
<String `Second paragraph in document.'>
># end of ParaLine
># end of Para
To summarize, paragraphs inherit formats as follows:
•Formats in the Paragraph Catalog inherit properties from the formats above them.
•Locally defined paragraph formats inherit properties from previously specified formats.
•Text lines in anchored frames inherit font properties from previously specified formats, including the last
format in the Paragraph Catalog and previous text lines.
Pgf statement. Because
Pgf statement in the second
22
ADOBE FRAMEMAKER 9
MIF Reference
Tips
The following hints may help you minimize the MIF statements for paragraph formats:
•If possible, use the formats in the default Paragraph Catalog (don’t supply a PgfCatalog statement). If you
know the names of the default paragraph formats, you can tag paragraphs with the
PgfTag statement.
•If you know that a document will use a particular template when it is imported into a FrameMaker document,
you can just tag the paragraphs in the text flow. Don’t create a new Paragraph Catalog in MIF; it’s easier to create
catalogs in FrameMaker document templates.
•If you need to provide a full Paragraph Catalog in a MIF file, you can still use FrameMaker to ease the task of
creating a catalog. Create a template in FrameMaker, save the template as a MIF file, and include the Paragraph
Catalog in your document. For instructions, see “Including template files” on page 44.
Creating and applying character formats
You can define character formats locally or store them in the Character Catalog and apply the formats to text selections. Creating and applying character formats is very similar to creating and applying paragraph formats as
described in the previous section. Because the two methods are similar, this section just summarizes how to create
and apply character formats.
In a MIF file, the Character Catalog is contained in a
named character formats in a list of
<FontCatalog
<Font...># Describes a character format
<Font...># Describes a character format
># end of FontCatalog
Font statements. A FontCatalog statement looks like this:
A Font statement specifies the properties of a character format; these are the same properties specified in the
Character Designer. The
Font statement is just like the PgfFont statement that you use to define the default font in
a paragraph format. See “PgfFont and Font statements” on page 66 for a complete description of a
To apply a predefined character format to text, use the
<MIFFile 8.00># Hand generated
<FontCatalog
<Font
<FTag `Emphasis'>
<FAngle `Italic'>
># end of Font
># end of FontCatalog
<Para
<PgfTag `Body'>
<ParaLine
<String `You can format characters within a paragraph by '>
<Font
<FTag `Emphasis'>
># end of Font
<String `applying'>
<Font
<FTag `'>
># end of Font
<String ` a character format from the character catalog.'>
># end of ParaLine
># end of Para
Remember to include a second Font statement to end the scope of the applied character format.
FontCatalog statement. The FontCatalog statement contains
Font statement.
FTag statement:
23
ADOBE FRAMEMAKER 9
Body rows
Footing row
Table 1: Coffee Inventory
CoffeeBagsStatusPrice per bag
Brazil Santos50Prompt$455.00
Celebes Kalossi29In Stock$924.00
Colombian25In Stock$474.35
$1,853.35
Heading row
Title
MIF Reference
To locally define a character format, use a complete Font statement:
<Para
<PgfTag `Body'>
<ParaLine
<String `You can also format characters by '>
<Font
<FTag `Emphasis'>
…character property statements
># end of Font
<String `applying'>
<Font
<FTag `'>
># end of Font
<String ` a locally defined character format.'>
># end of ParaLine
># end of Para
…
Like paragraph formats, character formats inherit properties from previously defined character formats. Unlike
paragraph formats, however, a character format ends at the close of a
See the sample file
charfmt.mif for examples of using character formats.
Para statement.
24
Creating and formatting tables
You can create tables in FrameMaker documents, edit them, and apply table formats to them. Tables can have
heading rows, body rows, and footing rows. Each row consists of table cells that contain the actual contents of the
table.
Tables are like paragraphs in that they have a format. A table format controls the appearance of a table, including
the number and width of columns, the types of ruling or shading in rows and columns, and the table’s position in a
text column. Table formats can be named, stored in a Table Catalog, and applied to many tables. A table format can
also be defined locally.
In a FrameMaker document, tables appear where they have been placed in the text flow. A table behaves like an
anchored frame, so a table flows with the surrounding text unless you give it a specific location. In a MIF file, the
document’s tables are collected in one place and a placeholder for each table indicates the table’s position in the text
flow.
You create a table in a MIF file as follows:
•Specify the contents of the table by using a Tbl statement. An individual table is called a table instance. All table
instances are stored in one
Tbls statement. Assign each table instance a unique ID number.
ADOBE FRAMEMAKER 9
MIF Reference
•Indicate the position of the table in the text flow by using an ATbl statement. The ATbl statement is the place-
holder, or anchor, for the table instance. It refers to the table instance’s unique ID.
•Specify the table format by using a TblFormat statement. Formats can be named and stored in the Table
Catalog, which is defined by a
TblCatalog statement, or locally defined within a table.
Creating a table instance
All table instances in a document are contained in a Tbls statement. The Tbls statement contains a list of Tbl statements, one for each table instance. A document can have only one
the table anchors in the text flow.
Tbl statement contains the actual contents of the table cells in a list of MIF substatements. Like other MIF state-
The
ments, this list can be quite long. The following is a template for a
<Tbl
<TblID…># A unique ID for the table
<TblFormat…># The table format
<TblNumColumns…># Number of columns in this table--required
<TblColumnWidth…># Column width, one for each column
<TblH# The heading; omit if no heading
<Row# One Row statement for each row
<Cell…># One statement for each cell in the row
># end of Row
<TblBody# The body of the table
<Row…># One for each row in body
># end of TblBody
<TblF# The footer; omit if no footer
<Row…># One for each row in footer
># end of TblF
># end of Tbl
The TblID statement assigns a unique ID to the table instance. The TblFormat statement provides the table format.
You ca n u se t he
TblFormat statement to apply a table format from the Table Catalog, apply a format from the
catalog and override some of its properties, or completely specify the table format locally. Because the tables in a
document often share similar characteristics, you usually store table formats in the Table Catalog. Table instances
can always override the applied format.
TblNumColumns statement specifies the number of columns in the table instance. It is required in every table.
The
The TblH, TblBody, and TblF statements contain the table heading, body, and footer rows. If a table does not have
a heading or footing, omit the statements.
Here’s an example of a simple table that uses a default format from the Table Catalog. The table has one heading
row, one body row, and no footing rows:
Tbls statement, which must occur before any of
Tbl statement:
25
CoffeePrice per Bag
Brazil Santos$455.00
You can use the following MIF statements to create this simple table:
<MIFFile 8.00>
<Tbls
<Tbl
<TblID 1># ID for this table
<TblTag `Format A'># Applies format from Table Catalog
<TblNumColumns 2># Number of columns in this table
<TblColumnWidth 2.0"># Width of first column
<TblColumnWidth 1.5"># Width of second column
Loading...
+ 274 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.