Warning, /education/kalgebra/doc/index.docbook is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" ?> 0002 <!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [ 0003 <!ENTITY commands SYSTEM "commands.docbook"> 0004 0005 <!ENTITY MathML "<acronym>MathML</acronym>"> 0006 <!ENTITY % addindex "IGNORE"> 0007 <!ENTITY % English "INCLUDE"> 0008 ]> 0009 0010 <book id="kalgebra" lang="&language;"> 0011 0012 <bookinfo> 0013 <title>The &kalgebra; Handbook</title> 0014 0015 <authorgroup> 0016 <author> 0017 <firstname>Aleix</firstname> 0018 <surname>Pol</surname> 0019 <affiliation> 0020 <address>&Aleix.Pol.mail;</address> 0021 </affiliation> 0022 </author> 0023 <!-- TRANS:ROLES_OF_TRANSLATORS --> 0024 </authorgroup> 0025 0026 <copyright> 0027 <year>2007</year> 0028 <holder>&Aleix.Pol;</holder> 0029 </copyright> 0030 0031 <legalnotice>&FDLNotice;</legalnotice> 0032 0033 0034 <date>2020-12-17</date> 0035 <releaseinfo>Applications 20.12</releaseinfo> 0036 0037 <abstract> 0038 <para> 0039 &kalgebra; is an application that can replace your graphing calculator. 0040 It has numerical, logical, symbolic, and analysis features that let you calculate 0041 mathematical expressions on the calculator and graphically plot the results 0042 in 2D or 3D. &kalgebra; is rooted in the Mathematical Markup Language 0043 (&MathML;); however, one does not need to know &MathML; to use &kalgebra;. 0044 </para> 0045 </abstract> 0046 0047 <keywordset> 0048 <keyword>KDE</keyword> 0049 <keyword>kdeedu</keyword> 0050 <keyword>graph</keyword> 0051 <keyword>mathematics</keyword> 0052 <keyword>2D</keyword> 0053 <keyword>3D</keyword> 0054 <keyword>MathML</keyword> 0055 </keywordset> 0056 0057 </bookinfo> 0058 0059 <chapter id="introduction"> 0060 <title>Introduction</title> 0061 0062 <para> 0063 &kalgebra; has numerous features that allow the user to perform all sorts 0064 of mathematical operations and show graphically. At one time, this 0065 program was &MathML; oriented. Now it can be used by anyone with a little 0066 mathematical knowledge to solve simple and advanced problems alike. 0067 </para> 0068 <!--FIXME Ask Burkhard where to put tutorials and if it is worth efforts to do. Example from UB page: https://swiftscythe.blogspot.de/2011/02/how-to-work-with-complex-numbers-in.html--> 0069 <para> 0070 It includes such features as: 0071 </para> 0072 0073 0074 <itemizedlist> 0075 <listitem><para> 0076 A calculator for quick and easy evaluation of math 0077 functions. 0078 </para></listitem> 0079 <listitem><para> 0080 Scripting capability for advanced series of calculations. 0081 </para></listitem> 0082 <listitem><para> 0083 Language capabilities including function definition and syntax autocompletion. 0084 </para></listitem> 0085 <listitem><para> 0086 Calculus functions including symbolic differentiation, vector calculus, 0087 and list manipulation. 0088 </para></listitem> 0089 <listitem><para> 0090 Function plotting with live cursor for graphical root finding and other 0091 types of analysis. 0092 </para></listitem> 0093 <listitem><para> 0094 3D plotting for useful visualization of 3D functions. 0095 </para></listitem> 0096 <listitem><para> 0097 A built-in operator dictionary for quick reference to the many available 0098 functions. 0099 </para></listitem> 0100 </itemizedlist> 0101 0102 <para> 0103 Below is a screenshot of the &kalgebra; application in action: 0104 </para> 0105 0106 <screenshot> 0107 <screeninfo>Here's a screenshot of &kalgebra; main window</screeninfo> 0108 <mediaobject> 0109 <imageobject> 0110 <imagedata fileref="kalgebra-main-window.png" format="PNG"/> 0111 </imageobject> 0112 <textobject> 0113 <phrase>&kalgebra; main window</phrase> 0114 </textobject> 0115 </mediaobject> 0116 </screenshot> 0117 0118 <para> 0119 When the user begins a &kalgebra; session, they are presented with a 0120 single window consisting of a <guilabel>Calculator</guilabel> tab, 0121 a <guilabel>2D Graph</guilabel> tab, 0122 a <guilabel>3D Graph</guilabel> tab and a 0123 <guilabel>Dictionary</guilabel> tab. Within each tab, you will find an 0124 input field to enter your functions or calculations, and a display field 0125 which shows the results. 0126 </para> 0127 0128 <para>At any time the user may manage their session with the main menu 0129 <guilabel>Session</guilabel> options:</para> 0130 0131 <variablelist> 0132 0133 <varlistentry> 0134 <term><menuchoice> 0135 <shortcut><keycombo action="simul">&Ctrl; 0136 <keycap>N</keycap></keycombo></shortcut> 0137 <guimenu>Session</guimenu><guimenuitem>New</guimenuitem> 0138 </menuchoice></term> 0139 <listitem><para>Opens a new &kalgebra; window.</para></listitem> 0140 </varlistentry> 0141 0142 <varlistentry> 0143 <term><menuchoice> 0144 <shortcut><keycombo action="simul">&Ctrl;&Shift; 0145 <keycap>F</keycap></keycombo></shortcut> 0146 <guimenu>Session</guimenu><guimenuitem>Full Screen Mode</guimenuitem> 0147 </menuchoice></term> 0148 <listitem><para>Toogle full screen mode for &kalgebra; window. The full 0149 screen mode can also be switched on and off using <inlinemediaobject> 0150 <imageobject> <imagedata fileref="view-fullscreen.png" format="PNG"/> 0151 </imageobject> </inlinemediaobject> button at the top right part of 0152 &kalgebra; window.</para></listitem> 0153 </varlistentry> 0154 0155 <varlistentry> 0156 <term><menuchoice> 0157 <shortcut><keycombo action="simul">&Ctrl; 0158 <keycap>Q</keycap></keycombo></shortcut> 0159 <guimenu>Session</guimenu><guimenuitem>Quit</guimenuitem> 0160 </menuchoice></term> 0161 <listitem><para>Shuts the program down.</para></listitem> 0162 </varlistentry> 0163 0164 </variablelist> 0165 0166 </chapter> 0167 0168 <chapter id="syntax"> 0169 <title>Syntax</title> 0170 <para> 0171 &kalgebra; uses an intuitive algebraic syntax for entering user functions, 0172 similar to that used on most modern graphing calculators. This section 0173 lists the fundamental built-in operators available in &kalgebra;. The 0174 author of &kalgebra; modeled this syntax after 0175 <ulink url="http://maxima.sourceforge.net/">Maxima</ulink> and 0176 <ulink url="https://www.maplesoft.com/products/maple/">Maple</ulink> for users 0177 that may be familiar with these programs. 0178 </para> 0179 0180 <para> 0181 For users that are interested in the inner workings of &kalgebra;, user 0182 entered expressions are converted to &MathML; on the backend. A rudimentary 0183 understanding of the capabilities supported by &MathML; will go a long way 0184 toward revealing the inner capabilities of &kalgebra;. 0185 </para> 0186 0187 <para>Here is a list of the available operators we have by now:</para> 0188 <itemizedlist> 0189 <listitem><para><literal>+ - * / </literal>: Addition, subtraction, multiplication and 0190 division.</para> </listitem> 0191 <listitem><para><literal>^, ** </literal>: Power, you can use them both. Also it is possible to use 0192 the unicode <literal>²</literal> characters. Powers are one way to make roots too, you can do it 0193 like: <literal>a**(1/b)</literal></para></listitem> 0194 <listitem><para><literal>-> </literal>: lambda. It is the way to specify one or more free 0195 variables that will be bound in a function. For example, in the expression, 0196 <userinput>length:=(x,y)->(x*x+y*y)^0.5</userinput>, the lambda operator is used to denote 0197 that <literal>x</literal> and <literal>y</literal> will be bound when the length function is used. 0198 </para></listitem> 0199 <listitem><para><literal>x=a..b </literal>: This is used when we need to delimit a range 0200 (bounded variable+uplimit+downlimit). This means that <literal>x</literal> goes from <literal>a</literal> 0201 to <literal>b</literal>.</para></listitem> 0202 <listitem><para><literal>() </literal>: It is used to specify a higher priority.</para></listitem> 0203 <listitem><para><literal>abc(params) </literal>: Functions. When the parser finds a function, it checks 0204 if <literal>abc</literal> is an operator. If it is, it will be treated as an operator, if it is 0205 not, it will be treated as a user function.</para></listitem> 0206 <listitem><para><literal>:= </literal>: Definition. It is used to define a variable value. You can 0207 do things like <userinput>x:=3</userinput>, <userinput>x:=y</userinput> being <literal>y</literal> defined 0208 or not or <userinput>perimeter:=r->2*pi*r</userinput>. 0209 </para></listitem> 0210 <listitem><para><literal>? </literal>: Piecewise condition definition. Piecewise is the way we can define 0211 conditional operations in &kalgebra;. Put another way, this is a way of 0212 specifying an if, elseif, else condition. If we introduce the condition before the '<literal>?</literal>' it will 0213 use this condition only if it is true, if it finds a '<literal>?</literal>' without any condition, it will 0214 enter in the last instance. 0215 Example: <userinput>piecewise { x=0 ? 0, x=1 ? x+1, ? x**2 }</userinput> 0216 </para></listitem> 0217 <listitem><para><literal>{ } </literal>: &MathML; container. It can be used to define a container. Mainly 0218 useful for working with piecewise. 0219 </para></listitem> 0220 <listitem><para><literal>= > >= < <= </literal>: Value comparators for equal, 0221 greater, greater or equal, less and less or equal respectively.</para></listitem> 0222 </itemizedlist> 0223 0224 <para>Now you could ask me, why should the user mind about &MathML;? That’s easy. 0225 With this, we can operate with functions like <function>cos()</function>, <function>sin()</function>, any other 0226 trigonometrical functions, <function>sum()</function> or <function>product()</function>. It does not matter what kind it is. 0227 We can use <function>plus()</function>, <function>times()</function> and everything which has its operator. Boolean 0228 functions are implemented as well, so we can do something like <function>or(1,0,0,0,0)</function>.</para> 0229 0230 </chapter> 0231 0232 <chapter id="using-calculator"> 0233 <title>Using the Calculator</title> 0234 <para>&kalgebra;'s calculator is useful as a calculator on steroids. The 0235 user may enter expressions for evaluation in <guimenu>Calculate</guimenu> 0236 or <guimenu>Evaluate</guimenu> mode, depending on the <guimenu>Calculator</guimenu> 0237 menu selection. 0238 </para> 0239 <para> 0240 In evaluation mode &kalgebra; simplifies the expression even if it sees an undefined variable. 0241 When in calculation mode &kalgebra;, calculates everything and if it finds an undefined 0242 variable shows an error. 0243 </para> 0244 <para> 0245 In addition to displaying the user entered equations and results in the 0246 Calculator display, all variables that are declared are displayed in a 0247 persistent frame to the right. By double clicking on a variable you will see a 0248 dialog that lets you change their values (just a way to trick the log). 0249 </para> 0250 0251 <para> 0252 The <quote><varname>ans</varname></quote> variable is special, every time you enter an expression, the 0253 <quote><varname>ans</varname></quote> variable value will be changed to the last result. 0254 </para> 0255 0256 <para>The following are example functions that can be entered in 0257 the input field of the calculator window:</para> 0258 <itemizedlist> 0259 <listitem><para><userinput>sin(pi)</userinput></para></listitem> 0260 <listitem><para><userinput>k:=33</userinput></para></listitem> 0261 <listitem><para><userinput>sum(k*x : x=0..10)</userinput></para></listitem> 0262 <listitem><para><userinput>f:=p->p*k</userinput></para></listitem> 0263 <listitem><para><userinput>f(pi)</userinput></para></listitem> 0264 </itemizedlist> 0265 0266 <para> 0267 The following shows a screenshot of the calculator window after entering 0268 the above example expressions: 0269 </para> 0270 <screenshot> 0271 <screeninfo>Screenshot of &kalgebra; calculator window with example expressions</screeninfo> 0272 <mediaobject> 0273 <imageobject> 0274 <imagedata fileref="kalgebra-console-window.png" format="PNG"/> 0275 </imageobject> 0276 <textobject> 0277 <phrase>&kalgebra; calculator window</phrase> 0278 </textobject> 0279 </mediaobject> 0280 </screenshot> 0281 0282 0283 <para>A user can control the execution of a series of calculations 0284 using the <guimenu>Calculator</guimenu> menu options:</para> 0285 0286 <variablelist> 0287 0288 <varlistentry> 0289 <term><menuchoice> 0290 <shortcut><keycombo action="simul">&Ctrl; 0291 <keycap>L</keycap></keycombo></shortcut> 0292 <guimenu>Calculator</guimenu><guimenuitem>Load Script...</guimenuitem> 0293 </menuchoice></term> 0294 <listitem><para>Executes the instructions in a file sequentially. 0295 Useful if you want to define some libraries or resume some previous work.</para></listitem> 0296 </varlistentry> 0297 0298 <varlistentry> 0299 <term><menuchoice> 0300 <guimenu>Calculator</guimenu><guisubmenu>Recent Scripts</guisubmenu> 0301 </menuchoice></term> 0302 <listitem><para>Displays a submenu that will allow you to choose the recently executed scripts.</para></listitem> 0303 </varlistentry> 0304 0305 <varlistentry> 0306 <term><menuchoice> 0307 <shortcut><keycombo action="simul">&Ctrl; 0308 <keycap>G</keycap></keycombo></shortcut> 0309 <guimenu>Calculator</guimenu><guimenuitem>Save Script...</guimenuitem> 0310 </menuchoice></term> 0311 <listitem><para>Saves the instructions you have typed since the session began to be able to reuse. Generates text files so it should be easy to fix 0312 using any text editor, like &kate;.</para></listitem> 0313 </varlistentry> 0314 0315 <varlistentry> 0316 <term><menuchoice> 0317 <shortcut><keycombo action="simul">&Ctrl; 0318 <keycap>S</keycap></keycombo></shortcut> 0319 <guimenu>Calculator</guimenu><guimenuitem>Export Log...</guimenuitem> 0320 </menuchoice></term> 0321 <listitem><para>Saves the log with all results into an &HTML; file to be able to print or publish.</para></listitem> 0322 </varlistentry> 0323 0324 <varlistentry> 0325 <term><menuchoice> 0326 <shortcut><keycap>F3</keycap></shortcut> 0327 <guimenu>Calculator</guimenu><guimenuitem>Insert ans...</guimenuitem> 0328 </menuchoice></term> 0329 <listitem><para>Insert the <quote><varname>ans</varname></quote> variable and makes it easier to reuse older values.</para></listitem> 0330 </varlistentry> 0331 0332 <varlistentry> 0333 <term><menuchoice> 0334 <guimenu>Calculator</guimenu><guimenuitem>Calculate</guimenuitem> 0335 </menuchoice></term> 0336 <listitem><para>A radio button to set the <guilabel>Execution Mode</guilabel> to calculation.</para></listitem> 0337 </varlistentry> 0338 0339 <varlistentry> 0340 <term><menuchoice> 0341 <guimenu>Calculator</guimenu><guimenuitem>Evaluate</guimenuitem> 0342 </menuchoice></term> 0343 <listitem><para>A radio button to set the <guilabel>Execution Mode</guilabel> to evaluation.</para></listitem> 0344 </varlistentry> 0345 0346 </variablelist> 0347 </chapter> 0348 0349 <chapter id="two-D-graphs"> 0350 <title>2D Graphs</title> 0351 <para>To add a new 2D graph on &kalgebra;, select the <guilabel>2D 0352 Graph</guilabel> tab and click the <guilabel>Add</guilabel> tab to add 0353 a new function. Your focus will go to an input text box where you can 0354 type your function.</para> 0355 0356 <sect1 id="two-D-syntax"> 0357 <title>Syntax</title> 0358 <para>If you want to use a typical <function>f(x)</function> function it is not 0359 necessary to specify it, but if you want a <function>f(y)</function> or a polar 0360 function, you will have to add <literal>y-></literal> and <literal>q-></literal> 0361 as the bounded variables.</para> 0362 0363 <para>Examples:</para> 0364 <itemizedlist> 0365 <listitem><para><userinput>sin(x)</userinput></para></listitem> 0366 <listitem><para><userinput>x²</userinput></para></listitem> 0367 <listitem><para><userinput>y->sin(y)</userinput></para></listitem> 0368 <listitem><para><userinput>q->3*sin(7*q)</userinput></para></listitem> 0369 <listitem><para><userinput>t->vector{sin t, t**2}</userinput></para></listitem> 0370 </itemizedlist> 0371 <para>If you have entered the function click on the <guibutton>OK</guibutton> button to display the graph in the main window.</para> 0372 0373 </sect1> 0374 0375 <sect1 id="two-D-features"> 0376 <title>Features</title> 0377 <para>You can set several graphs on the same view. Just use the <guilabel>Add</guilabel> button when 0378 you are in List mode. You can set each graph its own color.</para> 0379 0380 <para>The view can be zoomed and moved with the mouse. Using the wheel 0381 you can zoom in and out. You can also select an area with the &LMB; and this 0382 area will be zoomed in. Move the view with the keyboard arrow keys.</para> 0383 0384 <note> 0385 <para>The viewport of 2D graphs can be explicitly defined using the <guilabel>Viewport</guilabel> tab on a <guilabel>2D Graph</guilabel> tab.</para> 0386 </note> 0387 0388 <para>In the <guilabel>List</guilabel> tab at the bottom right part, you can open an <guilabel>Editing</guilabel> tab to edit or remove a function with double-click and check or uncheck the check box next to the function name to show or hide it.</para> 0389 <para>In the <guimenu>2D Graph</guimenu> menu you find these options:</para> 0390 <itemizedlist> 0391 <listitem><para><guimenuitem>Grid</guimenuitem>: Show or hide the grid</para></listitem> 0392 <listitem><para><guimenuitem>Keep Aspect Ratio</guimenuitem>: Keep the aspect ratio while zooming</para></listitem> 0393 <listitem><para><guimenuitem>Save</guimenuitem>: Save (<keycombo action="simul">&Ctrl; 0394 <keycap>S</keycap></keycombo>) the graph as image file</para></listitem> 0395 <listitem><para><guimenuitem>Zoom in/out</guimenuitem>: Zoom in (<keycombo action="simul">&Ctrl; 0396 <keycap>+</keycap></keycombo>) and zoom out (<keycombo action="simul">&Ctrl; 0397 <keycap>-</keycap></keycombo>)</para></listitem> 0398 <listitem><para><guimenuitem>Actual Size</guimenuitem>: Reset the view to the original zoom</para></listitem> 0399 <listitem><para><guilabel>Resolution</guilabel>: Followed by a list of radio buttons to select a resolution for the graphs</para></listitem> 0400 </itemizedlist> 0401 0402 <para> 0403 Below is a screenshot of a user who's cursor is at the rightmost root 0404 of the function, <function>sin(1/x)</function>. The user who graphed 0405 it used very fine resolution to make this graph (as it oscillates at 0406 higher and higher frequency near the origin). There is also a live 0407 cursor feature where whenever you move your cursor over a spot, it 0408 shows you the <literal>x</literal> and <literal>y</literal> values in 0409 the bottom left corner of the screen. A live <quote>tangent line</quote> 0410 is plotted on the function at the live cursor location. 0411 </para> 0412 0413 <screenshot> 0414 <screeninfo>Here's a screenshot of &kalgebra; 2D Graph window</screeninfo> 0415 <mediaobject> 0416 <imageobject> 0417 <imagedata fileref="kalgebra-2dgraph-window.png" format="PNG"/> 0418 </imageobject> 0419 <textobject> 0420 <phrase>&kalgebra; 2D Graph window</phrase> 0421 </textobject> 0422 </mediaobject> 0423 </screenshot> 0424 0425 0426 </sect1> 0427 0428 </chapter> 0429 0430 <chapter id="three-D-graphs"> 0431 <title>3D Graphs</title> 0432 0433 <para>To draw a 3D graph with &kalgebra; select the <guilabel>3D Graph</guilabel> tab 0434 and you will see an input field at the bottom where you will type your function. 0435 <literal>Z</literal> cannot be defined yet. For the moment &kalgebra; only supports 0436 3D graphs explicitly dependent only on the <literal>x</literal> and <literal>y</literal>, 0437 such as <userinput>(x,y)->x*y</userinput>, where <userinput>z=x*y</userinput>. 0438 </para> 0439 0440 <para>Examples:</para> 0441 <itemizedlist> 0442 <listitem><para><userinput>(x,y)->sin(x)*sin(y)</userinput></para></listitem> 0443 <listitem><para><userinput>(x,y)->x/y</userinput></para></listitem> 0444 </itemizedlist> 0445 0446 <para>The view can be zoomed and moved with the mouse. Using the wheel 0447 you can zoom in and out. Hold the &LMB; and move the mouse to rotate the graph.</para> 0448 0449 <para>The &Left; and &Right; arrow keys rotate the graph around the <literal>z</literal> axis, the &Up; and &Down; arrow keys rotate around the horizontal axis of the view. Press <keycap>W</keycap> to zoom in the plot and <keycap>S</keycap> to zoom it out.</para> 0450 0451 <para>In the <guimenu>3D Graph</guimenu> menu you find these options:</para> 0452 <itemizedlist> 0453 <!-- not in master for 4.11 0454 <listitem><para>Enable or disable transparency in the 3D Graph menu</para></listitem> 0455 --> 0456 <listitem><para><guimenuitem>Save</guimenuitem>: Save (<keycombo action="simul">&Ctrl; 0457 <keycap>S</keycap></keycombo>) the graph as image file or supported document</para></listitem> 0458 <listitem><para><guimenuitem>Reset View</guimenuitem>: Reset the view to the original zoom in the <guimenu>3D Graph</guimenu> menu</para></listitem> 0459 <listitem><para>You can draw the graphs with <guimenuitem>Dots</guimenuitem>, <guimenuitem>Lines</guimenuitem> or <guimenuitem>Solid</guimenuitem> styles in the <guimenu>3D Graph</guimenu> menu</para></listitem> 0460 </itemizedlist> 0461 0462 <para> 0463 Below is a screenshot of the so-called <quote>sombrero</quote> function. This particular 0464 graph is shown using the 3D graph line-style. 0465 </para> 0466 0467 <screenshot> 0468 <screeninfo>Here's a screenshot of &kalgebra; 3D Graph window</screeninfo> 0469 <mediaobject> 0470 <imageobject> 0471 <imagedata fileref="kalgebra-3dgraph-window.png" format="PNG"/> 0472 </imageobject> 0473 <textobject> 0474 <phrase>&kalgebra; 3D Graph window</phrase> 0475 </textobject> 0476 </mediaobject> 0477 </screenshot> 0478 0479 </chapter> 0480 0481 <chapter id="dictionary"> 0482 <title>Dictionary</title> 0483 0484 <para> 0485 The dictionary provides a list of all &kalgebra; built in functions. It can be 0486 used to find the definition of an operation and its input parameters. It's a useful 0487 place to go to find the many capabilities of &kalgebra;. 0488 </para> 0489 0490 <para> 0491 Below is a screenshot of the &kalgebra; dictionary lookup of the cosine function. 0492 </para> 0493 0494 <screenshot> 0495 <screeninfo>Here's a screenshot of the &kalgebra; dictionary window</screeninfo> 0496 <mediaobject> 0497 <imageobject> 0498 <imagedata fileref="kalgebra-dictionary-window.png" format="PNG"/> 0499 </imageobject> 0500 <textobject> 0501 <phrase>&kalgebra; dictionary window</phrase> 0502 </textobject> 0503 </mediaobject> 0504 </screenshot> 0505 0506 0507 </chapter> 0508 0509 &commands; 0510 0511 <chapter id="credits"> 0512 <title>Credits and License</title> 0513 0514 <itemizedlist> 0515 <listitem><para>Program copyright 2005-2009 &Aleix.Pol;</para> 0516 </listitem> 0517 </itemizedlist> 0518 0519 <para> 0520 Documentation copyright 2007 &Aleix.Pol; &Aleix.Pol.mail; 0521 </para> 0522 0523 <!-- TRANS:CREDIT_FOR_TRANSLATORS --> 0524 &underFDL; <!-- FDL: do not remove --> 0525 &underGPL; <!-- GPL License --> 0526 0527 </chapter> 0528 0529 &documentation.index; 0530 </book> 0531 0532 <!-- 0533 Local Variables: 0534 mode: sgml 0535 sgml-minimize-attributes:nil 0536 sgml-general-insert-case:lower 0537 sgml-indent-step:0 0538 sgml-indent-data:nil 0539 End: 0540 -->