Adobe MIF Reference Frame Maker 2017 Fm Mifref
User Manual: adobe FrameMaker - 2017 - MIF Reference Free User Guide for Adobe FrameMaker Software, Manual
Open the PDF directly: View PDF .
Page Count: 309
Download | ![]() |
Open PDF In Browser | View PDF |
ADOBE® FRAMEMAKER® (2017 release) MIF REFERENCE © 2017 Adobe Systems Incorporated and its licensors. All rights reserved. MIF Reference Online Manual 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, Illustrator, PageMaker, Photoshop, PostScript, Reader, Garamond, Kozuka Mincho, Kozuka Gothic, MinionPro, and MyriadPro are trademarks of Adobe Systems Incorporated. Microsoft, Windows, and Windows Vista are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Solaris is a trademark or registered trademark of Sun Microsystems, Inc. in the United States and other countries. UNIX is a trademark in the United States and other countries, licensed exclusively through X/Open Company, Ltd. SVG is a trademark of the World Wide Web Consortium; marks of the W3C are registered and held by its host institutions MIT, INRIA, and Keio. All other trademarks are the property of their respective owners. This product contains either BISAFE and/or TIPEM software by RSA Data Security, Inc. This product contains color data and/or the Licensed Trademark of The Focoltone Colour System. PANTONE® Colors displayed in the software application or in the user documentation may not match PANTONEidentified standards. Consult current PANTONE Color Publications for accurate color. PANTONE® and other Pantone, Inc. trademarks are property of Pantone, Inc. © Pantone, Inc. 2003. Pantone, Inc. is the copyright owner of color data and/or software which are licensed to Adobe Systems Incorporated to distribute for use only in combination with Adobe Illustrator. PANTONE Color Data and/or Software shall not be copied onto another disk or into memory unless as part of the execution of Adobe Illustrator software. Software is produced under Dainippon Ink and Chemicals Inc.'s copyrights of color-data-base derived from Sample Books. This product contains ImageStream® Graphics and Presentation Filters Copyright ©1991-1996 Inso Corporation and/or Outside In® Viewer Technology ©1992-1996 Inso Corporation. All Rights Reserved. This product includes software developed by the Apache Software Foundation (http://www.apache.org/). Certain Spelling portions of this product is based on Proximity Linguistic Technology. ©Copyright 1990 MerriamWebster Inc. ©Copyright 1990 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 2003 Franklin Electronic Publishers Inc.©Copyright 2003 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. Legal Supplement ©Copyright 1990/1994 Merriam-Webster Inc./Franklin Electronic Publishers Inc. ©Copyright 1994 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1990/ 1994 Merriam- Webster Inc./Franklin Electronic Publishers Inc. ©Copyright 1997All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA ©Copyright 1990 MerriamWebster Inc. ©Copyright 1993 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 2004 Franklin Electronic Publishers Inc. ©Copyright 2004 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1991 Dr. Lluis de Yzaguirre I Maura ©Copyright 1991 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1990 Munksgaard International Publishers Ltd. ©Copyright 1990 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1990 Van Dale Lexicografie bv ©Copyright 1990 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1995 Van Dale Lexicografie bv ©Copyright 1996 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1990 IDE a.s. ©Copyright 1990 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1992 Hachette/Franklin Electronic Publishers Inc. ©Copyright 2004 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1991 Text & Satz Datentechnik ©Copyright 1991 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 2004 Bertelsmann Lexikon Verlag ©Copyright 2004 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 2004 MorphoLogic Inc. ©Copyright 2004 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1990 William Collins Sons & Co. Ltd. ©Copyright 1990 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1993-95 Russicon Company Ltd. ©Copyright 1995 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 2004 IDE a.s. ©Copyright 2004 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. The Hyphenation portion of this product is based on Proximity Linguistic Technology. ©Copyright 2003 Franklin Electronic Publishers Inc.©Copyright 2003 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1984 William Collins Sons & Co. Ltd. ©Copyright 1988 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1990 Munksgaard International Publishers Ltd. ©Copyright 1990 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1997 Van Dale Lexicografie bv ©Copyright 1997 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1984 Editions Fernand Nathan ©Copyright 1989 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1983 S Fischer Verlag ©Copyright 1997 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1989 Zanichelli ©Copyright 1989 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1989 IDE a.s. ©Copyright 1989 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1990 Espasa-Calpe ©Copyright 1990 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. ©Copyright 1989 C.A. Stromberg AB. ©Copyright 1989 All rights reserved. Proximity Technology A Division of Franklin Electronic Publishers, Inc. Burlington, New Jersey USA. 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. Notice to U.S. government end users. The software and documentation are “Commercial Items,” as that term is defined 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. 5 Contents Chapter 1: Introduction Why use MIF? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Using this manual ......................................................................... 1 Style conventions ......................................................................... 2 Overview of MIF statements MIF statement syntax ............................................................... 2 ..................................................................... 4 Chapter 2: Using MIF Statements Working with MIF files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Creating a simple MIF file for FrameMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Creating and applying character formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Creating and formatting tables Specifying page layout Creating markers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Creating cross-references Creating variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Creating conditional text Creating filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Including template files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Setting View Only document options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Applications of MIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Debugging MIF files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Other application tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Where to go from here . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Chapter 3: MIF Document Statements MIF file layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 MIFFile statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Macro statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Track edited text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Conditional text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Boolean expressions Filter By Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Paragraph formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Character formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Object styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Line numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Cross-references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Global document properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 6 Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Mini TOC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Graphic objects and graphic frames Text flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Text insets (text imported by reference) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Chapter 4: MIF Book File Statements MIF book file overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 MIF book file identification line Book statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Chapter 5: MIF Statements for Structured Documents and Books Structural element definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Attribute definitions Format rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Format change lists Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 Banner text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Filter By Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 XML data for structured documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Preference settings for structured documents Text in structured documents Structured book statements MIF Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Chapter 6: MIF Equation Statements MathML statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Document statement Math statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 MathFullForm statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Chapter 7: MIF Asian Text Processing Statements Asian Character Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Combined Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Kumihan Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 Rubi text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 Chapter 8: Examples Text example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Bar chart example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Pie chart example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Custom dashed lines Table examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Database publishing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Chapter 9: MIF Messages General form for MIF messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 7 List of MIF messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Chapter 10: MIF Compatibility Changes between version 12.0 and 2015 release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 Changes between version 11.0 and 12.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 Changes between version 9.0 and 10.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 MIF syntax changes in FrameMaker 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Changes between version 6.0 and 7.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Changes between version 5.5 and 6.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Changes between version 5 and 5.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Changes between versions 4 and 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 Changes between versions 3 and 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 Chapter 11: Facet Formats for Graphics Facets for imported graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 Basic facet format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 Graphic insets (UNIX versions) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 General rules for reading and writing facets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 Chapter 12: EPSI Facet Format Specification of an EPSI facet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 Example of an EPSI facet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 Chapter 13: FrameImage Facet Format Specification of a FrameImage facet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Specification of FrameImage data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Differences between monochrome and color Sample unencoded FrameImage facet Sample encoded FrameImage facet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 Chapter 14: FrameVector Facet Format Specification of a FrameVector facet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 Specification of FrameVector data Sample FrameVector facet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 1 Chapter 1: Introduction 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® understands. Because MIF is an alternative representation of a FrameMaker document, it allows FrameMaker and other applications to exchange information while preserving graphics, document content, and format. 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 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 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 2 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:• You replace tagstring with the tag of a paragraph format. 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. 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: > # Type of graphic object # Position and size: left offset, top offset, # width, and height ADOBE FRAMEMAKER 3 MIF Reference 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. 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 ASCIITemplate and NewTemplate. You can modify these default objects and document formats by creating your own version of ASCIITemplate 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. 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 4 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. MIF statement syntax The statement descriptions in this manual use the following conventions to describe syntax: token data where token represents one of the MIF statement names (such as Pgf) listed in the MIF statement descriptions later in this manual, and data represents one or more numbers, a string, a token, or nested statements. Markup statements are always delimited by angle brackets (<>); macro statements are not. For the syntax of macro statements, see “Macro statements” on page 55. 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, < Units Uin >), it interprets the white space as token delimiters. When parsing the example statement, the MIF interpreter ignores the white space characters between the left angle bracket (<) and the first character of the token, Units. After reading the token, the MIF interpreter checks its validity. If the token is valid, 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. ADOBE FRAMEMAKER 5 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: > 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 symbol Means string Left quotation mark ( ` ), zero or more standard ASCII characters (you can also include UTF-8 characters), and a straight quotation mark ( ' ). Example: `ab cdef ghij' tagstring A string that names a format tag, such as a paragraph format tag. A tagstring value must be unique; case is significant. A statement that refers to a tagstring must exactly match the tagstring value. A tagstring value can include any character from the FrameMaker character set. pathname A string specifying a pathname (see “Device-independent pathnames” on page 7). boolean A value of either Yes or No. Case is significant. integer Integer whose range depends on the associated statement name. ID 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. dimension 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. degrees A decimal number signifying an angle value in degrees. You cannot specify units; any number is interpreted as a degree value. percentage A decimal number signifying a percentage value. You cannot specify units; any number is interpreted as a percentage value. metric 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. W H Pair of dimensions representing width and height. You can specify the units. X Y Coordinates of a point. Coordinates originate at the upper-left corner of the page or graphic frame. You can specify the units. L T R B Coordinates representing left, top, right, and bottom indents. You can specify the units. L T W H Coordinates representing the left and top indents plus the dimensions representing the width and height of an object. You can specify the units. ADOBE FRAMEMAKER 6 MIF Reference This term or symbol Means X Y W H 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. keyword 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 unit Notation in MIF Relationship to other units point pt or point 1/72 inch inch " or in 72 points millimeter mm or millimeter 1 inch is 25.4 mm centimeter cm or centimeter 1 inch is 2.54 cm pica pc or pica 12 points didot dd or didot 0.01483 inches cicero cc or cicero 12 didots Dimension data types can mix different units of measurement. For example, the statement can be written as either of the following: Math values The MathFullForm statement uses metric values in formatting codes. A metric unit represents one point (1/72 inch). The metric type is a 32-bit fixed-point number. The 16 most significant bits of a 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 unit Divide the metric value by this number point 65536 inch 4718592 millimeter 185771 centimeter 1857713 pica 786432 didot 6997 cicero 839724 ADOBE FRAMEMAKER 7 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 0x60) and end with a straight quotation mark (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. Character Representation Tab \t > \> ' \q ` \Q \ \\ nonstandard ASCII \xnn Note: The \xnn character is supported only for legacy MIF files. All FrameMaker characters with values above the standard ASCII range (greater than \x7f) are represented in a string by using \xnn notation, where nn represents the hexadecimal code for the character. The hexadecimal digits 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 document In MIF Some `symbols': > \Ø¿! `Some \Qsymbols\q: \> \\Ø¿!' You can also use the Char statement to include certain predefined special characters in a ParaLine statement (see “Char statement” on page 133). 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: ` name
name
name…' where name is the name of a component in the file’s path and code identifies the role of the component in the path. The following table lists codes and their meanings. Code Meaning r Root of UNIX file tree (UNIX only) v Volume or drive (Windows) h Host (Apollo only) c Component ADOBE FRAMEMAKER 8 MIF Reference Code Meaning 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 version The pathname appears as this MIF string UNIX `
MyDirectory MySubdirectory Filename' Windows ` c: mydir subdir filename' Relative pathnames 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: ` Filename' 9 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 version Look here UNIX $FMHOME/fminit/language/Samples/MIF, where language is the language in use, such as usenglish Windows The MIF directory under the samples directory 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 .mif to 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 .mif file suffix and replace it with a different suffix (or no 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 version Use this modifier key UNIX Shift Windows Control 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 .mif. When you save a document as Text Only, FrameMaker asks you where to place carriage returns. For a MIF file, choose the Only between Paragraphs option. ADOBE FRAMEMAKER 10 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 231). 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 111). 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 (`'). To enter a left quotation mark, type Control-`. To enter a 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. • • Test one object at a time. • • Use the default properties provided 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. 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. If you are not concerned with testing certain document components, let FrameMaker provide a set of default document objects and formats. MIF file layout FrameMaker writes the objects in a MIF document file in the following order: This section Contains these objects File ID MIF file identification line (MIFFile statement) Units Default units (Units statement) ADOBE FRAMEMAKER 11 MIF Reference This section Contains these objects Catalogs Color Condition Paragraph Format Element Font or Character Format Ruling Table Format Views Formats Variable Cross-reference Objects Document Dictionary Anchored frames Tables Pages Text flows 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: # The only required statement # 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 12 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, the space before and after a paragraph, and the direction of the text. The text direction can be either left to right for languages like English and German, or right to left for languages like Arabic and Hebrew. 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. 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 String statements: # The actual text of this document > # End of ParaLine statement > # End of Para statement 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 Para statement. Break the paragraph text into a series of String statements contained in one ParaLine statement. It doesn’t matter how you break up text lines within a Para statement; the MIF interpreter automatically wraps lines when it reads the MIF file. 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 Pgf statement. ADOBE FRAMEMAKER 13 MIF Reference The Pgf statement contains a group of substatements that describe all of a paragraph’s properties. It has the following syntax: ... > 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. Basic properties The following table shows the corresponding MIF statements: In MIF file In Paragraph Designer Paragraph Tag First Indent Left Indent Right Indent Alignment 0.0 pt> Space Below ¶ Line Spacing (leading is added to font size) ADOBE FRAMEMAKER 14 MIF Reference In MIF file In Paragraph Designer Line Spacing (fixed) Number of tab stops Tab position Tab type Tab leader (none) > # end of TabStop 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 file In Paragraph Designer Family Size Angle ADOBE FRAMEMAKER 15 MIF Reference In MIF file In Paragraph Designer Weight Language Variation Color Spread Stretch Underline Overline Strikethrough Change Bar Superscript/Subscript Capitalization Pair Kern Tsume (Asian systems only) > # end of PgfFont The Pagination properties are defined as follows in the Paragraph Designer. Pagination properties ADOBE FRAMEMAKER 16 MIF Reference The following table shows the corresponding MIF statements: In MIF file In Paragraph Designer Start Keep With Next Pgf Keep With Previous Pgf Widow/Orphan Lines Format (paragraph placement) The Numbering properties are defined as follows in the Paragraph Designer. Numbering properties The following table shows the corresponding MIF statements: In MIF file In Paragraph Designer Turn on Autonumber .\\t' > Autonumber Format (a number followed by a period and a tab) Character Format (Default ¶ Format) Position (Start of Paragraph) ADOBE FRAMEMAKER 17 MIF Reference The Advanced properties are defined as follows in the Paragraph Designer. Advanced properties The following table shows the corresponding MIF statements: In MIF file In Paragraph Designer Automatic Hyphenation (on) Shortest Word 5> Shortest Prefix Shortest Suffix Minimum Word Spacing Optimum Word Spacing Maximum Word Spacing Allow Automatic Letter Spacing Frame Above ¶ Frame Below ¶ ADOBE FRAMEMAKER 18 MIF Reference The Asian properties are defined as follows in the Paragraph Designer. Asian properties The following table shows the corresponding MIF statements: In MIF file In Paragraph Designer 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 ADOBE FRAMEMAKER 19 MIF Reference The Table Cell properties are defined as follows in the Paragraph Designer. Table cell properties The following table shows the corresponding MIF statements: In MIF file In Paragraph Designer Cell Vertical Alignment Cell Margins Top Bottom Left Right ADOBE FRAMEMAKER 20 MIF Reference The Direction properties are defined as follows in the Paragraph Designer. Direction properties The following table shows the corresponding MIF statements: In MIF file In Paragraph Designer Direction of the paragraph text > # end of Pgf 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 Pgf statements. A PgfCatalog statement looks like this: > # A paragraph format description # 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: ... # Hand generated ADOBE FRAMEMAKER 21 MIF Reference > > # end of Pgf # end of PgfCatalog 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. If a Pgf statement provides only the name of a paragraph format, the MIF interpreter supplies default values for the 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 Para statement. For example, to apply the previously defined format 1Heading to a paragraph, use the following statements: > # 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 Para statement. The following MIF example applies the paragraph format 1Heading, then changes the alignment: > # end of Pgf > # end of ParaLine > # end of Para To locally define a paragraph format, include a complete Pgf statement within the Para statement: ... > # end of Pgf > # end of ParaLine > # end of Para For a complete description of Pgf property statements, see page 61. ADOBE FRAMEMAKER 22 MIF Reference 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 Pgf statement. Because 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: > # end of PgfFont > # end of Pgf > # end of ParaLine > # end of Para > # 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 Pgf statement in the second Para statement: > # end of PgfFont > # end of Pgf > # 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. 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. ADOBE FRAMEMAKER 23 MIF Reference • 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 FontCatalog statement. The FontCatalog statement contains named character formats in a list of Font statements. A FontCatalog statement looks like this: > # Describes a character format # Describes a character format # end of FontCatalog 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 Font statement. To apply a predefined character format to text, use the FTag statement: # Hand generated > # end of Font > # end of FontCatalog > # end of Font > # end of Font > # end of ParaLine > # end of Para Remember to include a second Font statement to end the scope of the applied character format. To locally define a character format, use a complete Font statement: …character property statements… > > > # end of Font > # end of Font # 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 Para statement. See the sample file charfmt.mif for examples of using character formats. 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. Table 1: Coffee Inventory Title Coffee Bags Status Price per bag Brazil Santos 50 Prompt $455.00 Celebes Kalossi 29 In Stock $924.00 Colombian 25 In Stock $474.35 $1,853.35 Heading row Body rows Footing row 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. • Indicate the position of the table in the text flow by using an ATbl statement. The ATbl statement is the placeholder, 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. ADOBE FRAMEMAKER 25 MIF Reference 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 Tbls statement, which must occur before any of the table anchors in the text flow. The Tbl statement contains the actual contents of the table cells in a list of MIF substatements. Like other MIF statements, this list can be quite long. The following is a template for a Tbl statement: > > > > # # # # # # # # # # # # # # # A unique ID for the table The table format Number of columns in this table--required Column width, one for each column The heading; omit if no heading One Row statement for each row One statement for each cell in the row end of Row The body of the table One for each row in body end of TblBody The footer; omit if no footer 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 can use the 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. The TblNumColumns statement specifies the number of columns in the table instance. It is required in every table. 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: Coffee Price per Bag Brazil Santos $455.00 You can use the following MIF statements to create this simple table: # ID for this table # Applies format from Table Catalog # Number of columns in this table # Width of first column # Width of second column # Applies format from Paragraph Catalog # Text in this cell > > > > > # # # # end of end of end of Second Para CellContent Cell cell in row > | > > # end of Para > # end of CellContent > # end of Cell > # end of Row > # end of TblH > > # end of Para > # end of CellContent > # end of Cell | > > # end of Para > # end of CellContent > # end of Cell > # end of Row > # end of TblBody # end of Tbl # end of Tbls A table cell is a text column that contains an untagged text flow not connected to any other flows. You can put any kind of text or graphics in a table cell. The cell automatically grows vertically to accommodate the inserted text or graphic; however, the width of the column remains fixed. Adding a table anchor To indicate the position of a table in the text flow, you must add an ATbl statement. The ATbl statement refers to the unique ID specified by the TblID statement in the table instance. For example, to insert the table defined in the previous example, you would add the following statements to the minimal MIF file: # Matches table ID in Tbl statement > # end of ParaLine > # end of Para ADOBE FRAMEMAKER 27 MIF Reference This example is in the sample file table.mif. If you open this file in FrameMaker, you’ll see that the anchor symbol for the table appears at the end of the sentence. To place the table anchor between two words in the sentence, use the following statements: > > # end of ParaLine # end of Para Note that the ATbl statement appears outside the String statement. A ParaLine statement usually consists of String statements that contain text interspersed with statements for table anchors, frame anchors, markers, and cross-references. About ID numbers The table ID used by the ATbl statement must exactly match the ID given by the TblID statement. If it does not, the MIF interpreter ignores the ATbl statement and the table instance does not appear in the document. You cannot use multiple ATbl statements that refer to the same table ID. An ID can be any positive integer from 1 to 65535, inclusive. The only other statements that require an ID are AFrame statements, linked TextRect statements, and Group statements. For more information about these statements, see “Graphic objects and graphic frames” on page 110. Rotated cells Coffee Price A table can have rotated cells and straddle cells. The following table includes rotated cells in the heading row: Brazil Santos $455.00 In a MIF file, a cell that is rotated simply includes a CellAngle statement that specifies the angle of rotation: | > # end of Cell Cells can only be rotated by 90, 180, or 270 degrees. Cells are rotated clockwise. Straddle cells The contents of a straddle cell cross cell borders as if there were a single cell. You can straddle cells horizontally or vertically. The following table includes a heading row that straddles two columns: Brazilian Coffee Coffee Price per Bag Brazil Santos $455.00 ADOBE FRAMEMAKER 28 MIF Reference The MIF code for the straddle cell includes a CellColumns statement that specifies the number of columns that the cell crosses. The contents of the straddle cell appear in the first of the straddle columns; the subsequent Cell statements for the row must appear even if they are empty. # Number of straddle columns.
> > # end of Para > # end of CellContent > # end of Cell | > # end of Para > # end of CellContent > # end of Cell > # end of Row If the cell straddles rows, the substatement is CellRows. Creating a table format A table format includes the following properties: • • The properties specified by the Table Designer • • • The number and widths of columns These include the row and column ruling and shading styles, the position of text within cell margins, the table’s placement within the text column, and the table title position. The paragraph format of the first paragraph in the title (if there is one) The paragraph format of the topmost paragraph in the heading, body, and footing cell of each column For example, you could change the format of the previous table to include shaded rows and a different ruling style: Coffee Price per Bag Brazil Santos $455.00 Celebes Kalossi $924.00 Colombian $474.35 The following MIF statements define this table format: # Every table must have at least one TblColumn # statement. # Columns are numbered from 0. # Width of first column. ADOBE FRAMEMAKER 29 MIF Reference > > # end of TblColumn # Second column. # Width of second column. > # end of TblColumn # These are exactly like paragraph # format properties. # No fill for heading row. # Use 10% gray fill for main body rows. # Shade by row, not by column. # Shade every other row. # No fill for alternate rows. # Color for alternate rows. # Use thin left outside rule. # Use thin bottom outside rule. # Use thin right outside rule. # Use medium top outside rule. # Use thin rules between columns. # Use thin rules between rows. # No rules between heading rows. # Use medium rule after heading row. # Place title above table. # paragraph in title. > # end of TblTitlePgf1 # Gap between title and table. # Initial number of rows and # columns for new tables with # this format. # end of TblFormat The TblColumn statement numbers each column and sets its width. A table can have more columns than TblColumn statements; if a column does not have a specified format, the MIF interpreter uses the format of the most recently defined column. Note: A table instance must have at least one TblColumn statement. A table can use a format from the Table Catalog that includes a TblColumn statement or it can include a local TblFormat statement that supplies the TblColumn statement. Adding a Table Catalog You can store table formats in a Table Catalog by using a TblCatalog statement. A document can have only one TblCatalog statement, which must occur before the Tbls statement. ADOBE FRAMEMAKER 30 MIF Reference The TblCatalog statement contains one TblFormat statement for each format, as shown in the following template: > # end of TblCatalog As with the Paragraph Catalog, if your MIF file does not provide a Table Catalog, the MIF interpreter supplies a default catalog and formats. If you do provide a Table Catalog, your defined table formats supersede those in the default Table Catalog. You can add a minimal table format to the catalog by simply supplying a table format tag name. The MIF interpreter supplies a set of default values to the table’s properties when it reads in the MIF file. The ruling styles in a table format are defined in a separate catalog called the Ruling Catalog. You can define your own Ruling Catalog with the RulingCatalog statement. Whether you use the default ruling styles or create your own, substatements that refer to ruling styles, such as the TblLRuling statement, must use the name of a ruling style from the Ruling Catalog. See “RulingCatalog statement” on page 82. Applying a table format You can apply a table format from the Table Catalog or you can define a table format locally. To apply a table format from the Table Catalog, use the TblTag statement within the Tbl statement: > > # Tag of format in Table Catalog # end of TblBody # end of Tbl # end of Tbls To locally define a table format, use a complete TblFormat statement: # Every table must have one TblColumn statement. > …table property statements… > > > # end of TblColumn # end of TblFormat # end of Tbl # end of Tbls Creating default paragraph formats for new tables You can use the TblFormat and TblColumn statements to define default paragraph formats for the columns in new tables. These default formats do not affect tables that are defined within the MIF file; they only affect tables that the user inserts after the MIF file has been opened in FrameMaker. Your filter or application should provide these defaults only for documents that might be edited later. For example, the following MIF code assigns a paragraph format named Description to body cells in new tables that are given the format called Coffee Table: ADOBE FRAMEMAKER 31 MIF Reference > # end of TblColumnBody > # end of TblColumn > # end of TblFormat Tables inherit properties differently Tables inherit formatting properties somewhat differently than other document components. A table without an applied table format does not inherit one from a previously defined table. Instead, it gets a set of default properties from the MIF interpreter. Thus, if you apply a named format to a table, a following table will not inherit that format. Paragraphs in table cells still inherit properties from previously defined paragraph formats. If you give a table cell a certain paragraph style, all subsequent cells inherit the same property unless it is explicitly reset. Table cells can inherit paragraph properties from any previously specified paragraph format, including other tables, paragraphs, or even the Paragraph Format catalog. Tips To avoid problems when creating tables: • • • Give each table a unique ID number. Make sure that each Tbl statement has only one corresponding ATbl statement, and that each ATbl statement has a corresponding Tbl statement. Make sure that each ATbl statement matches the ID of its corresponding table instance. Specifying page layout FrameMaker documents have two kinds of pages that determine the position and appearance of text in the document: body pages and master pages. Body pages contain the text and graphics that form the content of the document. Master pages control the layout of body pages. Each body page is associated with one master page, which specifies the number, size, and placement of the page’s text frames and the page background, such as headers, footers, and graphics. Untagged background text frame On body pages, you type in a column of a tagged text frame. Tagged template text frame Untagged background text frame Master page Body page ADOBE FRAMEMAKER 32 MIF Reference Text frames define the layout of the document’s text on a page. A text frame can arrange text in one or more columns. In MIF, a text frame is represented by a TextRect statement. The dimensions of the text frame and the number of columns in the text frame are specified by substatements under the TextRect statement. A text flow describes the text contained in one or more text frames. In MIF, a text flow is represented by a TextFlow statement. The actual text of the document is specified by substatements under the TextFlow statement. If the text flow has the autoconnect property (if the text flow uses the MIF statement ), the text flow runs through a series of text frames; when you fill up one text frame, text continues into the next text frame. Most documents have only one text flow, although you can create many separate flows. FrameMaker provides a default right master page for single-sided documents and default right and left master pages for double-sided documents. A MIF file can either use the default page layout or provide a custom layout. Using the default layout If you don’t need to control the page layout of a document, you can use the default page layout by putting all of the document’s text into a TextFlow statement. When reading the file, the MIF interpreter creates default master pages and body pages. The MIF file creates a single-column text frame for the body pages to contain the document’s text. The MIF interpreter associates the text flow with this text frame. The following example is in the sample file defpage.mif: # Hand generated # Make this a tagged text flow. # Automatically connect text frames. > # end of ParaLine > # end of Para > # end of TextFlow # End of MIFFile A text flow must be tagged, and it must include ; otherwise, when the user adds text to the document, FrameMaker won’t create additional pages and text frames to hold the added text. Creating a simple page layout If you want some control of the page layout but do not want to create master pages, you can use the Document substatements DPageSize, DMargins, and DColumns to specify the page size, margins, and number of columns in the text frame in the document. The MIF interpreter uses this information to create master pages and body pages. These statements correspond to the Normal Page Layout options. The following example is in the sample file columlay.mif: > > > # end of ParaLine # end of Para # end of TextFlow # End of MIFFile Creating a single-sided custom layout If the document that you’re importing needs a custom master page, you must specify a custom page layout. For example, a document might need a master page for background graphics. To create a custom layout for a single-sided document, you do the following: • • • • Create a right master page. Create a single, empty body page. Create an empty, tagged text flow that is linked to the master page. Create a tagged text flow that is linked to the body page and contains all the document’s text. The MIF code shown in this section is also in the sample file snglpage.mif. To create the master page To create a master page layout, use the Page statement to create the page and use the TextRect statement to create the text frame. To specify the number of text columns in the text frame, use the TRNumColumns statement. By default, if the text frame’s specification does not include this statement, the text frame has only one column. This example sets up a right master page with a text frame containing one text column: >