<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE math
  PUBLIC "-//W3C//DTD MathML 2.0//EN"
         "http://www.w3.org/Math/DTD/mathml2/mathml2.dtd"
>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Style_Type" content="text/css" />

<link href="../html.d/help.css" rel="stylesheet" type="text/css" />

<title>
Matematiske udtryk (formler) i quizzer
</title>

</head>
<body>

<div id="cornerlogo">
<table align="right">
<tr>
<td> <img src="../html.d/logo.gif" alt="QuizComposer" align="top" height="68" />
</td>
<td>
<div style="font-size: 6mm; font-weight:700; font-family: Sans-Serif, Arial">QuizComposer&#x00a9;</div>
<small>
<i>&#x00a9;2001- Olaf Kayser &amp; Gunnar Mohr<br />
</i>
Contact: <a href="mailto:admin@quizcomposer.dk">admin[&#x0061;&#x0074;]quizcomposer[&#x0064;&#x006f;&#x0074;]dk</a><br />
Main site: <a href="http://www.quizcomposer.dk" align="right">www.quizcomposer.dk</a>
</small>
</td>
</tr>
</table>
</div>
<pre>





</pre>

<div class="heading">
<a name="mathematics"><h3>Matematiske udtryk (formler) i MathML</h3></a>
</div>
<table rules="cols">
<tr>
<td valign="top">
<span style="font-size:large">Emner:</span>
<small>
<p>
<a href="#expression"><b>Udtryk</b></a></p><p>
<a href="#texvariants"><b>To TeX-varianter, to oversættere</b></a></p><p>
<a href="#chargroup"><b>Tegngrupper</b></a></p><p>
<a href="#name"><b>Navne</b></a></p><p>
<a href="#number"><b>Tal</b></a></p><p>
<a href="#symbol"><b>Symboler</b></a></p><p>
<a href="#fixtexword"><b>Faste TeX-ord</b></a></p><p>
<a href="#codfile"><b>Tabel med TeX-ord</b></a></p><p>
<a href="#owntable"><b>Egen tabel</b></a></p><p>
<a href="#mathmlcode"><b>MathML-kode</b></a></p><p>
<a href="#blanks"><b>Blanktegn</b></a></p><p>
<a href="#supersub"><b>Potens og index</b></a></p><p>
<a href="#mathexamples"><b>Eksempler på matematiske udtryk</b></a></p><p>
<a href="#directmathml"><b>Matematiske udtryk skrevet direkte i MathML</b></a></p>
</small>
</td>
<td>
Denne side kan kun vises fuldt korrekt med matematiske formler af
en browser, der kan vise formler kodet i MathML, fx
<a href="http://www.mozilla.org/projects/mathml">Mozilla Firefox</a>.
<p>
<div class="heading">
<a name="expression"><b>Udtryk</b></a>
</div>
Matematiske udtryk kan skrives direkte i MathML
som beskrevet
<a href="#directmathml">nedenfor</a>.
</p>
<p>
Matematiske udtryk kan også skrives i en form lånt fra TeX (LaTeX),
og da indesluttet mellem dollartegn,
fx for cirklens ligning:<br />
$ cos ^ 2 x + sin ^ 2 x = 1 $<br />
Hvert <b>udtryk skal slutte på samme linie</b> som det starter.
Denne regel er blandt andet indført for at
sikre mod forvirring grundet glemte $-tegn.
Udtrykkene skrevet i TeX oversættes til MathML.
MathML-udtrykkene kan som sædvanlig ses i kildekoden
for de quizzer, der produceres.
Bemærk at quizfiler med MathML har endelsen .xml og at de følger
standarden
<a href="http://www.w3.org/XML">XML</a>,
som kræver streng overholdelse af alle syntaktiske regler.
</p>
<p>
<div class="heading">
<a name="texvariants"><b>To TeX-varianter, to oversættere</b></a>
</div>
På enhver server med QuizComposer installeres om muligt TeX
til MathML oversætteren for TeX-varianten ITeX nævnt på denne
<a href="http://www.mozilla.org/projects/mathml">Mozilla/MathML-side</a>.
Bemærk på samme side muligheden for at at se eksempler på
formelgenerering, også af egne eksempler.
Formler mellem et par dollartegn (et dollartegn før og et efter)
søges oversættes med denne oversætter, når den er installeret.
</p>
<p>
På servere hvor ITeX-oversætteren ikke har kunnet installeres,
oversættes formler mellem enkelte dollartegn
med en i QuizComposer indbygget oversætter, her benævnt QCTeX.
Dennes muligheder er beskrevet i de efterfølgende afsnit.
Hvis udtrykket $ \QC $ oversættes til ordet QuizComposer,
er ITeX-oversætteren ikke installeret, hvorfor QCTeX
benyttes på alle udtryk mellem $-tegn.
</p>
<p>
Med ITeX-oversætteren er indbygget flere muligheder for at skrive
matematiske formler end med den i QuizComposer indbyggede oversætter.
For eksempel kan der skrives tabeller ("\array"), jævnfør vejledningen
for ITeX.
Iøvrigt er det specielt for tabeller værd at bemærke muligheden for
i QuizComposer i et spørgsmålsfelt at angive fortsættelse af en linie
med tegnet \ allersidst på linien (ved tabeller efter mellemrum efter \\).
</p>
<p>
En fordel ved QCTeX-oversætteren kan være muligheden for at
tilnytte en oversættertabel fra TeX-kommandoer til MathML-strenge,
som beskrevet <a href="#codfile">nedenfor</a>.
Ved i stedet for et enkelt dollartegn at skrive en trippel ($$$)
foran en formel angiver du, at QCTeX skal benyttes på formlen.
</p>
<p>
Resten af denne vejledning beskriver de formler, som kan oversættes med QCTeX.
</p>
<p>
<div class="heading">
<a name="chargroup"><b>Tegngrupper</b></a>
</div>
Et udtryk består af tegngrupper adskilte af blanktegn.
Der er 5 kategorier af tegngrupper, nemlig navne, tal og symboler
samt såkaldte TeX-ord og MathML-mærker. 
TeX-ord begynder med tegnet \.
MathML-mærker begynder med &lt; og slutter med &gt;.
</p>
<p>
<div class="heading">
<a name="name"><b>Navne</b></a>
</div>
begynder med et bogstav.
Et navn med kun eet bogstav vil blive vist i kursiv.
Ellers vises navne i normal skriftform (Roman).
Bemærk at navne på funktioner, som i TeX skrives med et \-tegn foran,
fx \log, her skrives uden dette \-tegn.
</p>
<p>
<div class="heading">
<a name="number"><b>Tal</b></a>
</div>
skrives med cifre, punktum og eventuelt minustegn foran.
</p>
<p>
<div class="heading">
<a name="symbol"><b>Symboler</b></a>
</div>
kan skrives enten direkte, fx / for division, med
\TeX-ord eller MathML-mærker eller et &amp;-symbol,
som beskrevet i det følgende.
</p>
<p>
<div class="heading">
<a name="fixtexword"><b>Faste TeX-ord</b></a>
</div>
Som nævnt begynder TeX-ord med tegnet \.
De følgende 6 ord har en særlig betydning:<br />
\sqrt angiver kvadratrod af det efterfølgende argument,<br />
\root angiver n'te-roden af det efterfølgende argument,
med n som det næste argument igen,<br />
\frac angiver en brøk af de følgende 2 argumenter i udtrykket
(tæller og nævner),<br />
\munder angiver at det efterfølgende argument skal have det næste argument
igen anbragt under sig (som man ofte bruger det ved summation),<br />
\mover angiver tilsvarende "overskrift",<br />
\munderover angiver tilsvarende "under-" og "overskrift".<br />
</p>
<p>
<div class="heading">
<a name="codfile"><b>Tabel med TeX-ord</b></a>
</div>
Alle andre TeX-ord slås op i en
<a href="../html.d/mathmlcodes.mat">indbygget tabel</a> knyttet
til oversætteren.
Hvis Tex-ordet findes i starten af en linie erstattes det i udtrykket
med resten af tabellinien (som forventes at være MathML-kode).
Fx vil \infty vise tegnet for uendelig, jævnfør tabellen.
Hvis TeX-ordet ikke findes i tabellen
erstattes \-tegnet med tegnet &amp; og der tilføjes
semikolon (;) bagerst.
Herved dannes (forhåbentlig) et såkaldt
<a href="http://www.w3.org/TR/2000/WD-MathML2-20000328/chapter6.html#chars:isoent">
"MathML Character Name"</a>, der præsenterer sig som et matematisk symbol.
Fx vil \alpha vise et græsk alfa.
</p>
<p>
<div class="heading">
<a name="owntable"><b>Egen tabel</b></a>
</div>
Den indbyggede
<a href="../html.d/mathmlcodes.mat">tabel</a>
indeholder de fleste af TeXs symboler inden for
matematik, men savner du noget kan du <b>selv definere en tabel</b>
ved hjælp af denne <a href="rqcod2_dk.htm">formular</a>.
<br />
Iøvrigt kan du skrive "MathML Character Names" direkte
startende med et &amp;-tegn og sluttende med et semikolon (;).
</p>
<p>
Tabellen illustrerer formen af MathML-kode.
Denne skrives normalt med
start- og slutmærker, hvoraf de simpleste startmærker
er &lt;mi&gt; for "identifiers", &lt;mn&gt; for tal og &lt;mo&gt;
for operatorer.
De sidste dækker stort set alle øvrige "symboler",
herunder også parenteser.<br />
Runde (()) og kantede parenteser ([]) kan du skrive direkte.
De vil blive vist som de står,
dog skal du bemærke at de bliver "strakte" vertikalt
til at omslutte deres indhold, fx brøker og tabeller.<br />
Derimod har krøllede parenteser ({})en speciel betydning, nemlig (som
i TeX) til at afgrænse argumenter til ovennævnte specielle TeX-ord.
Fx vil udtrykket $ \sqrt{a^2+b^{-2}} $ vise kvadratroden af
summen af a i anden potens og b i minus anden potens.
</p>
<p>
<div class="heading">
<a name="mathmlcode"><b>MathML-kode</b></a>
</div>
MathML-mærker oversættes ikke.
Med MathML-mærker skriver du direkte
MathML-kode, fx startmærket &lt;mi&gt;.
I princippet skal du huske at anbringe et slutmærke for hvert startmærke.
Men hvis der mangler et eller flere slutmærker
for de startmærker, du har sat, vil slutmærker blive
generereret, så MathMLs krav til parentesstruktur er overholdt.<br />
I de slutmærker du selv skriver kan du tilføje "options".
Dog må du ikke bruge anførselstegn, men kun apostroffer (').
(Dette krav vil formentlig blive ophævet en gang i fremtiden).
</p>
<p>
<div class="heading">
<a name="blanks"><b>Blanktegn</b></a>
</div>
Når du skriver et matematisk udtryk, skal du være opmærksom på,
hvordan udtrykket ved hjælp af blanktegn adskilles i tegngrupper.
Oversætteren genererer MathML-kode af hver enkelt tegngruppe
for sig.
Udover de blanktegn,
som du selv har anbragt (fx mellem et funktionsnavn som <i>sin</i> og et
argument som <i>x</i>) sætter oversætteren blanktegn som følger:<br />
Foran følgende 4 tegn: - \ &amp; &lt;<br />
Efter følgende 4 tegn: = ; , :<br />
Omkring følgende tegn(grupper): _ + ^ ( { [ ) } ] &lt;&gt; &gt;= &lt;=<br />
Efter minustegn (-) medmindre dette følges af et ciffer eller punktum.<br />
Foran lighedstegn (=) medmindre dette følger et &lt; eller &gt;<br />
Efter større end (&gt;) medmindre dette følges af =<br />
Foran skråstreg (/) medmindre dette følger et &lt;<br />
Efter skråstreg (/) medmindre dette følges af et &gt;<br />
</p>
<p>
<div class="heading">
<a name="supersub"><b>Potens og index</b></a>
</div>
Bemærk iøvrigt at symbolerne ^ for potens eller index foroven og _ for
indeks forneden behandles anderledes end øvrige symboler
skrevet direkte, fx + og /.
Af _ og ^ genereres MathML-koder
med startmærker &lt;msub&gt;, &lt;msup&gt; eller &lt;msubsup&gt; efterfulgt
af "basis" (det som indiceres) samt et index eller to indices.
Se <a href="#mathexamples">eksemplerne</a> nedenfor.
</p>
</td>
</tr>
</table>

<p>
<div class="heading">
<a name="mathexamples"><b>Eksempler på matematiske udtryk</b></a><br />
</div>
For at se de matematiske formler skal du have denne side præsenteret
med en browser, der kan vise sådanne formler, fx
<a href="http://www.mozilla.org/projects/mathml">Mozilla Firefox</a>.
</p>
<p>
$ a sin^2 x + cos^-2 x = 1.5 $
&#x00a0; &#x00a0; &#x00a0; &#x00a0; vises som
&#x00a0; &#x00a0; &#x00a0; &#x00a0;
<math xmlns='http://www.w3.org/1998/Math/MathML'>
<mrow>
  <mi>a</mi>
  <msup>
    <mi>sin</mi>
    <mn>2</mn>
  </msup>
  <mi>x</mi>
  <mo>+</mo>
  <msup>
    <mi>cos</mi>
    <mn>-2</mn>
  </msup>
  <mi>x</mi>
  <mo>=</mo>
  <mn>1.5</mn>
</mrow>
</math>
</p>
<p>
$ \frac {-b \pm \sqrt { b^2 - 4 a c }}{2 a} $
&#x00a0; &#x00a0; &#x00a0; &#x00a0; vises som
&#x00a0; &#x00a0; &#x00a0; &#x00a0;
<math xmlns='http://www.w3.org/1998/Math/MathML'>
<mrow>
  <mfrac>
    <mrow>
      <mo>-</mo>
      <mi>b</mi>
      <mo>&#xb1;</mo>
      <msqrt>
        <mrow>
          <msup>
            <mi>b</mi>
            <mn>2</mn>
          </msup>
          <mo>-</mo>
          <mn>4</mn>
          <mi>a</mi>
          <mi>c</mi>
        </mrow>
      </msqrt>
    </mrow>
    <mrow>
      <mn>2</mn>
      <mi>a</mi>
    </mrow>
  </mfrac>
</mrow>
</math>
</p>
<p>
$ \frac { \sqrt { 4 + \sqrt { 12 + 13 } } } { \root 64 3 } $
&#x00a0; &#x00a0; &#x00a0; &#x00a0; vises som
&#x00a0; &#x00a0; &#x00a0; &#x00a0;
<math xmlns='http://www.w3.org/1998/Math/MathML'>
<mrow>
  <mfrac>
    <mrow>
      <msqrt>
        <mrow>
          <mn>4</mn>
          <mo>+</mo>
          <msqrt>
            <mrow>
              <mn>12</mn>
              <mo>+</mo>
              <mn>13</mn>
            </mrow>
          </msqrt>
        </mrow>
      </msqrt>
    </mrow>
    <mrow>
      <mroot>
        <mn>64</mn>
        <mn>3</mn>
      </mroot>
    </mrow>
  </mfrac>
</mrow>
</math>
</p>
<p>
$ \int _ 0 ^ \pi f(x)dx = \munderover \sum {i=1} {i=n} y _ j ^ m $
&#x00a0; &#x00a0; &#x00a0; &#x00a0; vises som
&#x00a0; &#x00a0; &#x00a0; &#x00a0;
<math xmlns='http://www.w3.org/1998/Math/MathML'>
<mrow>
  <msubsup>
    <mi>&#x222b;</mi>
    <mn>0</mn>
    <mi>&#x3c0;</mi>
  </msubsup>
  <mi>f</mi>
  <mrow>
    <mo>(</mo>
    <mi>x</mi>
    <mo>)</mo>
  </mrow>
  <mi>dx</mi>
  <mo>=</mo>
  <munderover>
    <mi>&#x2211;</mi>
    <mrow>
      <mi>i</mi>
      <mo>=</mo>
      <mn>1</mn>
    </mrow>
    <mrow>
      <mi>i</mi>
      <mo>=</mo>
      <mi>n</mi>
    </mrow>
  </munderover>
  <msubsup>
    <mi>y</mi>
    <mi>j</mi>
    <mi>m</mi>
  </msubsup>
</mrow>
</math>
</p>
<p>
$ \frac {d ln x^4 } { d x} $
&#x00a0; &#x00a0; &#x00a0; &#x00a0; vises som
&#x00a0; &#x00a0; &#x00a0; &#x00a0;
<math xmlns='http://www.w3.org/1998/Math/MathML'>
<mrow>
  <mfrac>
    <mrow>
      <mi>d</mi>
      <mi>ln</mi>
      <msup>
        <mi>x</mi>
        <mn>4</mn>
      </msup>
    </mrow>
    <mrow>
      <mi>d</mi>
      <mi>x</mi>
    </mrow>
  </mfrac>
</mrow>
</math>

</p>
<p>
<div class="heading">
<a name="directmathml"><b>Matematiske udtryk skrevet direkte i MathML</b></a>
</div>
I definitionsformularens felter kan du skrive MathML kode.
Fx vil<br />
&lt;math xmlns='&amp;mathml;'&gt;
&lt;mi&gt;sin&lt;/mi&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;math&gt;
<br />
vise<br />sin(x).<br />
Men MathML er unægtelig ret "ordrigt".
</p>
<p>
En mulighed er at bruge en MathML-composer til at generere MathML-koden.
<a href="http://www.w3.org/Amaya">Amaya</a>
er er en kombineret browser og composer/editor,
en såkaldt WYSIWYG-composer (What You See Is What You Get),
hvor du bygger en formel op grafisk ved at pege og klikke.
Amaya kan vise MathML-koden i et separat vindue.
Derfra kan du kopiere koden ind i definitionsformularens felter.
Mozilla/MathML-projektet gælder også en Composer
for editering af MathML-sider,
se <a href="http://www.mozilla.org/projects/mathml">projektets hjemmeside</a>.
</p>
</body>
</html>
<!-- Copyright: Olaf Kayser 2002-7 (Open Source/Gnu General Public License) -->

