<?xml version="1.0" encoding="UTF-8"?>


<!--***********************************************************
 * 
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 ***********************************************************-->


	
<helpdocument version="1.0">
<meta>
<topic id="textsharedoptionen01090000xml" indexer="include" status="PUBLISH">
<title id="tit" xml-lang="en-US">Formula</title>
<filename>/text/shared/optionen/01090000.xhp</filename>
</topic>
<history>
<created date="2003-10-31T00:00:00">Sun Microsystems, Inc.</created>
<lastedited date="2004-06-14T15:01:28">converted from old format - fpe</lastedited>
</history>
</meta>
<body>
<bookmark xml-lang="en-US" branch="hid/.uno:SmEditOptions" id="bm_id1104917" localize="false"/><!-- HID added by script -->
<bookmark xml-lang="en-US" branch="hid/.uno:SmEditOptions" id="bm_id3155338" localize="false"/>
<paragraph role="heading" id="hd_id3150040" xml-lang="en-US" level="1" l10n="U" oldref="1">%PRODUCTNAME Math Options</paragraph>
<paragraph role="paragraph" id="par_id3166460" xml-lang="en-US" l10n="CHG" oldref="2"><variable id="druckentext"><ahelp hid=".uno:SmEditOptions">Defines the print format and print options for all new formula documents. These options apply when you print a formula directly from <item type="productname">%PRODUCTNAME</item> Math.</ahelp>
</variable> You can also call the dialog by clicking the <emph>Options</emph> button in the <emph>Print</emph> dialog. The settings you define in the <emph><switchinline select="sys"><caseinline select="MAC">%PRODUCTNAME - Preferences</caseinline><defaultinline>Tools - Options</defaultinline></switchinline></emph> dialog will be permanent settings, whereas the settings in the Print dialog are only valid for the current document.</paragraph>
<section id="howtoget">
  <embed href="text/shared/00/00000406.xhp#etsodr"/>
</section>
<paragraph role="heading" id="hd_id3154143" xml-lang="en-US" level="2" l10n="U" oldref="3"><link href="text/shared/optionen/01090100.xhp" name="Options">Options</link></paragraph>
<embed href="text/shared/optionen/01090100.xhp#einst"/>
<embed href="text/shared/00/00000001.xhp#zurueck"/>
</body>
</helpdocument>
