/Source/thitracnghiem/QuanLyThi/bin/Debug/MathType/Translators/AMS LaTeX.tdl
http://thitracnghiem.googlecode.com/ · Unknown · 363 lines · 311 code · 52 blank · 0 comment · 0 complexity · ee067a26cc7a7d05fef3dc1180106864 MD5 · raw file
- MathType Output Translator 1.0: "TeX -- AMS-LaTeX", "AMS-LaTeX translator v1.00 by Design Science, Inc."
-
- // Copyright (c) 1998-2003 by Design Science, Inc.
- // License: You are allowed to create your own translators based on the contents of this file
- // solely for use with MathType. It is recommended that you change the filename, title, and description
- // in the first line of this file so as to reflect your modifications and the change of author and purpose.
- // Design Science, Inc. is not responsible for any damages caused by the use of this file or derived works.
-
- // $Header: /MathType/Translators/AMS LaTeX.tdl 11 8/19/03 1:43p Jackd $
-
- // include TeXBase.tdl for common control sequences, etc.
-
- include "TeX (base).tdl";
-
- // include TeXChars.tdl for character defintions common to all dialects of TeX
-
- include "TeX (chars).tdl";
-
- // include some AMS translations
-
- include "TeX (AMS base).tdl";
-
- // =====================================================
- // Basic Translation Strings
- // =====================================================
-
- eqn = "<StdStartCmt><EqnDataCmt>\[@n#@n\]@n<StdEndCmt>"; // \[ <eqn> \] -- display equation translation
-
- // =====================================================
- // Default Translation Strings
- // =====================================================
-
- deffunc = "\operatorname{#} "; // default function translation
- defchar = error "@nNo translation available for <FullDesc>. @nPlease add a translation for @"<Cmd>@" in the file 'AMS LaTeX.tdl'."; // default character translation
- deftmpl = error "@nNo translation available for <Desc>. @nPlease add a translation for @"<Cmd>@" in the file 'AMS LaTeX.tdl.'"; // default template translation
- defemb = error "@nNo translation available for <Desc>. @nPlease add a translation for @"<Cmd>@" in the file 'AMS LaTeX.tdl.'"; // default embellishment translation
-
- run/text = "{\text{#}}"; // run of Text style characters
- run/vector = "{\mathbf{#}}"; // run of Vector style characters
-
- // =====================================================
- // Piles
- // =====================================================
-
- // Pile translation (default, embedded)
- pile = "\begin{gathered}@n # \\ @n # \\ @n\end{gathered} "; // default
- pile/l = "\begin{gathered}@n # \hfill \\@n # \hfill \\ @n\end{gathered} "; // left justified
- pile/c = "\begin{gathered}@n # \\ @n # \\ @n\end{gathered} "; // centered
- pile/r = "\begin{gathered}@n \hfill # \\@n \hfill # \\ @n\end{gathered} "; // right justified
- pile/al = "\begin{aligned}@n # \\ @n # \\ @n\end{aligned} "; // aligned at alignment mark
-
- // Top level pile translation
- pile/t = "\begin{gathered}@n # \\ @n # \\ @n\end{gathered} "; // default
- pile/t/l = "\begin{gathered}@n # \hfill \\@n # \hfill \\ @n\end{gathered} "; // left justified
- pile/t/c = "\begin{gathered}@n # \\ @n # \\ @n\end{gathered} "; // centered
- pile/t/r = "\begin{gathered}@n \hfill # \\@n \hfill # \\ @n\end{gathered} "; // right justified
- pile/t/al = "\begin{aligned}@n # \\ @n # \\ @n\end{aligned} "; // aligned at alignment mark
-
- // 2-line limit pile translation (as in limit of summation)
- pile/lim/2 = "\substack{ #1 \\ #2 } "; // default
- pile/lim/2/l = "\begin{subarray}{l} @n #1 \\ @n #2 @n\end{subarray} "; // left justified
- pile/lim/2/c = "\substack{ #1 \\ #2 } "; // centered
- pile/lim/2/r = "\begin{subarray} @n \hfill #1 \\ @n \hfill #2 @n\end{subarray} "; // right justified
-
- // 3-line limit pile translation (as in limit of summation)
- pile/lim/3 = "\substack{ #1 \\ #2 \\ #3 } "; // default
- pile/lim/3/l = "\begin{subarray}{l} @n #1 \\ @n #2 \\ @n #3 @n\end{subarray} "; // left justified
- pile/lim/3/c = "\substack{ #1 \\ #2 \\ #3 } "; // centered
- pile/lim/3/r = "\begin{subarray} @n \hfill #1 \\ @n \hfill #2 \\ @n \hfill #3 @n\end{subarray} "; // right justified
-
- // =====================================================
- // Matrices and Matrix Elements
- // =====================================================
-
- // Matrix translation (not allowing for partition lines, but better spacing)
- // matrix = "\begin{matrix}@n#@n \end{matrix} ";
-
- // Matrix translation (allowing for partition lines, but worse spacing)
- matrix = "\begin{array}{*{20}c}@n#@n \end{array} ";
-
- // Matrix row translation
- matrow = " # \\@n";
-
-
- // =====================================================
- // Partition Lines for Matrices & Tables
- // =====================================================
-
- // Horizontal matrix partition lines (solid, dashed, dotted)
- // Only solid lines are supported in TeX
- hline = "\hline@n"; // Solid
- hline/dash = "\hline@n"; // Dashed
- hline/dot = "\hline@n"; // Dotted
-
- // Vertical matrix partition lines (solid, dashed, dotted)
- // Only solid lines are supported in TeX
- vline = "\vline & "; // Solid
- vline/dash = "\vline & "; // Dashed
- vline/dot = "\vline & "; // Dotted
-
- // =====================================================
- // Strike-through templates
- // =====================================================
- // strike/m = "?" // Mid-line strike-through
- // strike = "?" // Strike-through
- // strike/up = "?" // Strike-through (bottom-left to upper-right)
- // strike/dn = "?" // Strike-through (top-left to bottom-right)
-
- // =====================================================
- // Roots and Long Division
- // =====================================================
-
- root/nth = "\sqrt[#2]{#1}"; // higher root
-
- // =====================================================
- // Arrows with Slots Above and Below
- // =====================================================
-
- arrow = "\xrightarrow{#1}"; // right arrow, box on top
- arrow/l = "\xleftarrow{#1}"; // left arrow, box on top
- arrow/lr = "\overset #1 \longleftrightarrow "; // both arrow, box on top
- arrow/b = "\xrightarrow[#2]{}"; // right arrow, box on bottom
- arrow/l/b = "\xleftarrow[#2]{}"; // left arrow, box on bottom
- arrow/lr/b = "\underset #2 \longleftrightarrow "; // both arrow, box on bottom
-
- arrow/tb = "\xrightarrow[#2]{#1}"; // Right arrow with upper & lower text slots
- arrow/l/tb = "\xleftarrow[#2]{#1}"; // Left arrow with upper & lower text slots
- arrow/lr/tb = "\underset{#2}{\overset{#1}{\longleftrightarrow}}"; // Double-headed arrow with upper & lower text slots
-
- arrow/2 = "\overset #1 \leftrightarrows "; // Double arrow with upper text slot
- arrow/2/b = "\underset #2 \leftrightarrows "; // Double arrow with lower text slot
- arrow/2/tb = "\underset{#2}{\overset{#1}{\longleftrightarrow}}"; // Double arrow with upper & lower text slots
- // arrow/2/los = "?" // Large over small arrow with upper text slot
- // arrow/2/los/b = "?" // Large over small arrow with lower text slot
- // arrow/2/los/tb = "?" // Large over small arrow with upper & lower text slots
- // arrow/2/sol = "?" // Small over large arrow with upper text slot
- // arrow/2/sol/b = "?" // Small over large arrow with lower text slot
- // arrow/2/sol/tb = "?" // Small over large arrow with upper & lower text slots
- // arrow/2/h = "?" // Harpoons with upper text slot
- // arrow/2/h/b = "?" // Harpoons with lower text slot
- // arrow/2/h/tb = "?" // Harpoons with upper & lower text slots
- // arrow/2/h/los = "?" // Large over small harpoon with upper text slot
- // arrow/2/h/los/b = "?" // Large over small harpoon with lower text slot
- // arrow/2/h/los/tb = "?" // Large over small harpoon with upper & lower text slots
- // arrow/2/h/sol = "?" // Small over large harpoon with upper text slot
- // arrow/2/h/sol/b = "?" // Small over large harpoon with lower text slot
- // arrow/2/h/sol/tb = "?" // Small over large harpoon with upper & lower text slots
-
- // =====================================================
- // Hats, Tildes, Smiles & Frowns (wide ones, over several characters)
- // =====================================================
-
- // arc = "?" // Arc
- // jstat = "?" // Joint status
- // vec/h = "?" // Right harpoon over-bar
- // vec/u/h = "?" // Right harpoon under-bar
-
- // =====================================================
- // Embellishment Translations
- // =====================================================
-
- edot/3 = "\dddot #"; // three dot over
- edot/4 = "\ddddot #"; // four dots over
- edot/u = "\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle\cdot}$}}{#} "; // one dot under
- edot/u/2 = "\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle\cdot\cdot}$}}{#} "; // two dots under
- edot/u/3 = "\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle\cdots}$}}{#} "; // three dot under
- edot/u/4 = "\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle\cdot\cdot\cdot\cdot}$}}{#} "; // four dots under
- etilde/u = "\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle\thicksim}$}}{#} "; // tilde under
- evec/l = "\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\leftarrow}$}}{#} "; // Left arrow above
- evec/lr = "\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\leftrightarrow}$}} {#} "; // Left-right arrow above
- evec/h = "\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\rightharpoonup}$}} {#} "; // Right harpoon above
- evec/h/l = "\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\leftharpoonup}$}} {#} "; // Left harpoon above
- evec/u = "\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle\rightarrow}$}}{#} "; // Right arrow above
- evec/u/l = "\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle\leftarrow}$}}{#} "; // Left arrow above
- evec/u/lr = "\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle\leftrightarrow}$}} {#} "; // Left-right arrow above
- evec/u/h = "\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle\rightharpoonup}$}} {#} "; // Right harpoon above
- evec/u/h/l = "\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle\leftharpoonup}$}} {#} "; // Left harpoon above
- eubar = "\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{#} "; // Under bar
- earc = "\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{#} "; // Frown above
- earc/s = "\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{#} "; // Smile above
- earc/u = "\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle\frown}$}}{#} "; // Frown below
- earc/u/s = "\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle\smile}$}}{#} "; // Smile below
-
-
- // =====================================================
- // Script, Fraktur, Blackboard Bold, etc.
- // =====================================================
-
- char/0x2102 = "\mathbb{C}"; // Blackboard-bold capital C
- char/0x210B = "\mathcal{H}"; // Script capital H
- char/0x210C = "\mathfrak{H}"; // Fraktur capital H
- char/0x210D = "\mathbb{H}"; // Blackboard-bold capital H
- char/0x2110 = "\mathcal{I}"; // Script capital I
- char/0x2112 = "\mathcal{L}"; // Script capital L
- char/0x2115 = "\mathbb{N}"; // Blackboard-bold capital N
- char/0x2119 = "\mathbb{P}"; // Blackboard-bold capital P
- char/0x211A = "\mathbb{Q}"; // Blackboard-bold capital Q
- char/0x211B = "\mathcal{R}"; // Script capital R
- char/0x211D = "\mathbb{R}"; // Blackboard-bold capital R
- char/0x2124 = "\mathbb{Z}"; // Blackboard-bold capital Z
- char/0x2128 = "\mathfrak{X}"; // Fraktur capital X
- char/0x212C = "\mathcal{B}"; // Script capital B
- char/0x212D = "\mathfrak{C}"; // Fraktur capital C
- char/0x2130 = "\mathcal{E}"; // Script capital E
- char/0x2131 = "\mathcal{F}"; // Script capital F
- char/0x2133 = "\mathcal{M}"; // Script capital M
-
-
- // =====================================================
- // Other More Exotic Character Translations
- // =====================================================
-
- char/0x221B = "\sqrt[3]{\mathstrut} "; // Cube root
- char/0x221C = "\sqrt[4]{\mathstrut} "; // Fourth root
- //char/0x2237 = " "; // Proportion
- //char/0x2239 = " "; // Excess
- //char/0x223A = " "; // Geometric proportion
- //char/0x223B = " "; // Homothetic
- //char/0x223E = " "; // Inverted lazy s
- //char/0x223F = " "; // Sine wave
- //char/0x224B = " "; // Triple tilde
- char/0x2258 = " \overset{\lower1em\hbox{$\scriptstyle\frown$}}{=} "; // Corresponds to
- char/0x2259 = " \overset{\wedge}{=}"; // Estimates
- char/0x225A = " \overset{\vee}{=}"; // Equiangular to
- char/0x225B = " \overset{\lower1em\hbox{$\scriptstyle\star$}}{=} "; // Star equals
- char/0x225D = " \overset{\text{def}}{=}"; // Equal to by definition
- char/0x225E = " \overset{\wedge}{=}"; // Measured by
- char/0x225F = " \overset{?}{=}"; // Questioned equal to
- //char/0x2263 = " "; // Strictly equivalent to
- //char/0x228C = " "; // Multiset
- //char/0x228D = " "; // Multiset multiplication
- //char/0x229C = " "; // Circled equals
- //char/0x22AB = " "; // Double vertical bar double right turnstile
- //char/0x22B0 = " "; // Precedes under relation
- //char/0x22B1 = " "; // Succeeds under relation
- //char/0x22B6 = " "; // Original of
- //char/0x22B7 = " "; // Image of
- //char/0x22B9 = " "; // Hermitian conjugate matrix
- //char/0x22BE = " "; // Right angle with arc
- //char/0x22BF = " "; // Right triangle
-
- // =====================================================
- // Fraktur (black) letters
- // =====================================================
-
- char/0xF000 = "\mathfrak{A}"; // Fraktur capital A
- char/0xF001 = "\mathfrak{B}"; // Fraktur capital B
- char/0xF002 = "\mathfrak{C}"; // Fraktur capital C
- char/0xF003 = "\mathfrak{D}"; // Fraktur capital D
- char/0xF004 = "\mathfrak{E}"; // Fraktur capital E
- char/0xF005 = "\mathfrak{F}"; // Fraktur capital F
- char/0xF006 = "\mathfrak{G}"; // Fraktur capital G
- char/0xF007 = "\mathfrak{H}"; // Fraktur capital H
- char/0xF008 = "\mathfrak{I}"; // Fraktur capital I
- char/0xF009 = "\mathfrak{J}"; // Fraktur capital J
- char/0xF00A = "\mathfrak{K}"; // Fraktur capital K
- char/0xF00B = "\mathfrak{L}"; // Fraktur capital L
- char/0xF00C = "\mathfrak{M}"; // Fraktur capital M
- char/0xF00D = "\mathfrak{N}"; // Fraktur capital N
- char/0xF00E = "\mathfrak{O}"; // Fraktur capital O
- char/0xF00F = "\mathfrak{P}"; // Fraktur capital P
- char/0xF010 = "\mathfrak{Q}"; // Fraktur capital Q
- char/0xF011 = "\mathfrak{R}"; // Fraktur capital R
- char/0xF012 = "\mathfrak{S}"; // Fraktur capital S
- char/0xF013 = "\mathfrak{T}"; // Fraktur capital T
- char/0xF014 = "\mathfrak{U}"; // Fraktur capital U
- char/0xF015 = "\mathfrak{V}"; // Fraktur capital V
- char/0xF016 = "\mathfrak{W}"; // Fraktur capital W
- char/0xF017 = "\mathfrak{X}"; // Fraktur capital X
- char/0xF018 = "\mathfrak{Y}"; // Fraktur capital Y
- char/0xF019 = "\mathfrak{Z}"; // Fraktur capital Z
- char/0xF01A = "\mathfrak{a}"; // Fraktur small a
- char/0xF01B = "\mathfrak{b}"; // Fraktur small b
- char/0xF01C = "\mathfrak{c}"; // Fraktur small c
- char/0xF01D = "\mathfrak{d}"; // Fraktur small d
- char/0xF01E = "\mathfrak{e}"; // Fraktur small e
- char/0xF01F = "\mathfrak{f}"; // Fraktur small f
- char/0xF020 = "\mathfrak{g}"; // Fraktur small g
- char/0xF021 = "\mathfrak{h}"; // Fraktur small h
- char/0xF022 = "\mathfrak{i}"; // Fraktur small i
- char/0xF023 = "\mathfrak{j}"; // Fraktur small j
- char/0xF024 = "\mathfrak{k}"; // Fraktur small k
- char/0xF025 = "\mathfrak{l}"; // Fraktur small l
- char/0xF026 = "\mathfrak{m}"; // Fraktur small m
- char/0xF027 = "\mathfrak{n}"; // Fraktur small n
- char/0xF028 = "\mathfrak{o}"; // Fraktur small o
- char/0xF029 = "\mathfrak{p}"; // Fraktur small p
- char/0xF02A = "\mathfrak{q}"; // Fraktur small q
- char/0xF02B = "\mathfrak{r}"; // Fraktur small r
- char/0xF02C = "\mathfrak{s}"; // Fraktur small s
- char/0xF02D = "\mathfrak{t}"; // Fraktur small t
- char/0xF02E = "\mathfrak{u}"; // Fraktur small u
- char/0xF02F = "\mathfrak{v}"; // Fraktur small v
- char/0xF030 = "\mathfrak{w}"; // Fraktur small w
- char/0xF031 = "\mathfrak{x}"; // Fraktur small x
- char/0xF032 = "\mathfrak{y}"; // Fraktur small y
- char/0xF033 = "\mathfrak{z}"; // Fraktur small z
-
- // =====================================================
- // Double-struck (Blackboard bold) characters
- // =====================================================
-
- char/0xF080 = "\mathbb{A}"; // Blackboard-bold capital A
- char/0xF081 = "\mathbb{B}"; // Blackboard-bold capital B
- char/0xF082 = "\mathbb{C}"; // Blackboard-bold capital C
- char/0xF083 = "\mathbb{D}"; // Blackboard-bold capital D
- char/0xF084 = "\mathbb{E}"; // Blackboard-bold capital E
- char/0xF085 = "\mathbb{F}"; // Blackboard-bold capital F
- char/0xF086 = "\mathbb{G}"; // Blackboard-bold capital G
- char/0xF087 = "\mathbb{H}"; // Blackboard-bold capital H
- char/0xF088 = "\mathbb{I}"; // Blackboard-bold capital I
- char/0xF089 = "\mathbb{J}"; // Blackboard-bold capital J
- char/0xF08A = "\mathbb{K}"; // Blackboard-bold capital K
- char/0xF08B = "\mathbb{L}"; // Blackboard-bold capital L
- char/0xF08C = "\mathbb{M}"; // Blackboard-bold capital M
- char/0xF08D = "\mathbb{N}"; // Blackboard-bold capital N
- char/0xF08E = "\mathbb{O}"; // Blackboard-bold capital O
- char/0xF08F = "\mathbb{P}"; // Blackboard-bold capital P
- char/0xF090 = "\mathbb{Q}"; // Blackboard-bold capital Q
- char/0xF091 = "\mathbb{R}"; // Blackboard-bold capital R
- char/0xF092 = "\mathbb{S}"; // Blackboard-bold capital S
- char/0xF093 = "\mathbb{T}"; // Blackboard-bold capital T
- char/0xF094 = "\mathbb{U}"; // Blackboard-bold capital U
- char/0xF095 = "\mathbb{V}"; // Blackboard-bold capital V
- char/0xF096 = "\mathbb{W}"; // Blackboard-bold capital W
- char/0xF097 = "\mathbb{X}"; // Blackboard-bold capital X
- char/0xF098 = "\mathbb{Y}"; // Blackboard-bold capital Y
- char/0xF099 = "\mathbb{Z}"; // Blackboard-bold capital Z
- char/0xF0A4 = "\Bbbk "; // Blackboard-bold small k
-
- // =====================================================
- // Script (calligraphic) characters
- // =====================================================
-
- char/0xF100 = "\mathcal{A}"; // Script capital A
- char/0xF101 = "\mathcal{B}"; // Script capital B
- char/0xF102 = "\mathcal{C}"; // Script capital C
- char/0xF103 = "\mathcal{D}"; // Script capital D
- char/0xF104 = "\mathcal{E}"; // Script capital E
- char/0xF105 = "\mathcal{F}"; // Script capital F
- char/0xF106 = "\mathcal{G}"; // Script capital G
- char/0xF107 = "\mathcal{H}"; // Script capital H
- char/0xF108 = "\mathcal{I}"; // Script capital I
- char/0xF109 = "\mathcal{J}"; // Script capital J
- char/0xF10A = "\mathcal{K}"; // Script capital K
- char/0xF10B = "\mathcal{L}"; // Script capital L
- char/0xF10C = "\mathcal{M}"; // Script capital M
- char/0xF10D = "\mathcal{N}"; // Script capital N
- char/0xF10E = "\mathcal{O}"; // Script capital O
- char/0xF10F = "\mathcal{P}"; // Script capital P
- char/0xF110 = "\mathcal{Q}"; // Script capital Q
- char/0xF111 = "\mathcal{R}"; // Script capital R
- char/0xF112 = "\mathcal{S}"; // Script capital S
- char/0xF113 = "\mathcal{T}"; // Script capital T
- char/0xF114 = "\mathcal{U}"; // Script capital U
- char/0xF115 = "\mathcal{V}"; // Script capital V
- char/0xF116 = "\mathcal{W}"; // Script capital W
- char/0xF117 = "\mathcal{X}"; // Script capital X
- char/0xF118 = "\mathcal{Y}"; // Script capital Y
- char/0xF119 = "\mathcal{Z}"; // Script capital Z