Skip to content

Latest commit

 

History

History
655 lines (523 loc) · 16.3 KB

File metadata and controls

655 lines (523 loc) · 16.3 KB

Introduction

<style>{` .svg-settings { position: absolute !important; height: 1px; width: 1px; overflow: hidden; clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ clip: rect(1px, 1px, 1px, 1px); } #features-section { display: flex; gap: 1rem; align-items: start; flex-flow: row; flex-wrap: wrap; justify-content: space-evenly; margin-bottom: 1rem; } #features-section p { color: var(--neutral-500); font-weight: 600; line-height: 1; font-size: 1rem; } #features-section p strong { color: var(--neutral-0); } #features-section > div { padding: 2rem; border: 1px solid var(--border-color); border-radius: 16px; background: var(--content-background); color: var(--text-color); } @media only screen and (max-width: 767px) { #features-section > div { padding: 16px; } } #use-cases-section { display: flex; flex-flow: row; flex-wrap: wrap; gap: 1rem; justify-content: space-evenly; } div.use-case { display: flex; flex-flow: column; flex-wrap: wrap; align-items: center; margin: 0; padding: 1rem; width: calc(50% - 2rem); max-width: 410px; height: fit-content; border: 1px solid var(--border-color); border-radius: 16px; background: var(--content-background); color: var(--text-color); } div.use-case div { display: flex; flex-flow: column; flex-wrap: wrap; align-items: center; text-align: center; } div.use-case .icon { font-size: 6rem; margin-right: 2rem; margin-left: 1rem; min-width: 120px; width: .875em; } div.use-case h3 { font-size: 2rem; line-height: 1; margin-bottom: 2rem; margin-top: 1rem; } div.use-case h3 .hash-link, div.use-case h3:hover .hash-link { display: none; } div.use-case p { font-size: 1rem; color: var(--body-color); font-weight: 600; line-height: 1.1; } div.use-case > div > p { color: var(--neutral-500); } .fill-purple path { fill: url(#purple-gradient); } .fill-orange path { fill: url(#orange-gradient); } .fill-blue path { fill: url(#blue-gradient); } .fill-yellow path { fill: url(#yellow-gradient); } .fill-green path { fill: url(#green-gradient); } .use-case div { margin: 0; } .use-case .icon { display: flex; align-self: center; justify-self: center; margin: auto; } #features-section p.link { width: 100%; border-radius: 8px; padding: 0; margin-bottom: 2em; /* box-shadow: var(--callout-shadow); background: var(--callout-background); border: 1px solid var(--callout-border-color); */ } #features-section p.link a { font-weight: 600; color: var(--primary-color); } h1 { display: none; } h1.zoom { display: flex; flex-flow: column; justify-content: center; text-align: center; font-size: 8rem; letter-spacing: -0.04em; line-height: .8; font-weight: 700; text-fill-color: transparent; -webkit-text-fill-color: transparent; -moz-text-fill-color: transparent; background-clip: text; -webkit-background-clip: text; -moz-background-clip: text; background-image: linear-gradient(0deg, #b95a52, #2c5072); padding-top: 10rem; padding-bottom: 8rem; margin-left: 0; margin-right: 0; margin-left: -2rem; margin-right: -2rem; margin-top: -2rem; animation: zoom-in-zoom-out 1.2s ease 1; } h1 span.first-part { font-size:140px; } h1 span.second-part { margin-top: 12px; margin-bottom: 12px; font-size: 75px; font-weight: 200; letter-spacing: -6px; /* animation-delay: .2s; */ /* animation: zoom-in-zoom-out 1s ease infinite; */ /* animation: 0.2s zoom-in-zoom-out 1s ease infinite;; */ } h1 span.third-part { font-size: 120px; letter-spacing: -8px; /* animation-delay: .4s; */ /* animation: 0.5s zoom-in-zoom-out 1s ease; */ } @keyframes zoom-in-zoom-out { 0% { transform: scale(0, 0); } 50% { transform: scale(1.2, 1.2); } 100% { transform: scale(1, 1); } } h1::selection, h1 span::selection { -webkit-text-fill-color: #000; background: #abd; background-clip:inherit; -webkit-background-clip: inherit; -moz-background-clip: inherit; } div.intro-copy { display: flex; flex-flow: column; align-items: center; padding-top: 2rem; margin-inline: 0; margin-bottom: 1rem; border: 1px solid var(--border-color); border-radius: 16px; background: var(--content-background); color: var(--text-color); } div.intro-copy p { color: var(--text-color); margin: 0; font-size: 3rem; font-weight: 700; line-height: 1; letter-spacing: 0.006em; } div.intro-copy p.p1 { font-size: 4rem; line-height: .8; letter-spacing: -0.03em; } div.intro-copy p.p2 { margin-top: 1rem; font-size: clamp(18px, 6vw, 2rem); line-height: .8; } div.intro-copy p.p3 { font-size: clamp(18px, 4vw, 1rem); color: var(--neutral-500); font-weight: 600; padding-inline: 1em; } div.intro-copy hr { width: 50%; margin: 1rem 0; border: none; border-top: 1px solid var(--border-color); } div.intro-copy div { display: block; width: 100%; padding-inline: 10%; } @media only screen and (max-width: 767px) { div.intro-copy div { padding-inline: 8px; } } div.intro-copy kbd { font-family: var(--monospace-font); background: transparent; color: var(--primary-color); font-size: clamp(24px, 12vw, 1em); line-height: 1; border: none; box-shadow: none; } h2 { font-size: 2rem; line-height: 1; letter-spacing: -0.03em; } p { margin: 0 0 1em; font-weight: 600; font-size: 1.5rem; line-height: 1.1em; letter-spacing: 0.006em; color: #999; } /* We add #features-section so that this rule does not apply to the global menu button in the header */ #features-section button { appearance: none; border: none; background: var(--primary-color); color: white; padding: 8px 16px 8px 16px; border-radius: 36px; font-weight: 600; margin-bottom: 1rem; } #features-section button:hover { background: var(--primary-color-dark); transition: background-color 0.3s ease-in-out; } [data-theme="dark"] #features-section section button:hover { background: var(--primary-color-light); } #features-section button:active { background: var(--primary-color-dark); scale: 1.05; transition: background-color 0.3s ease-in-out; } [data-theme="dark"] #features-section button:active { background: var(--primary-color-light); } .copy strong { color: #000; } div.figure { display: flex; align-items: center; justify-content: center; overflow: hidden; background: var(--neutral-900); border: 1px solid var(--neutral-700); border-radius: 8px; } @media (prefers-color-scheme: dark) { p { color: #bbb } .copy strong { color: #fff; } } @media only screen and (max-width: 767px) { #main { padding-left:0; padding-right: 0; } .page .page__inner-wrap { padding-left:0; padding-right: 0; } picture.full-width, img.full-width { width: 100%; padding-left:0; padding-right: 0; margin-left:0; margin-right:0; } h1 { font-size: 3rem; } h1 span.first-part { font-size: clamp(2rem, 8vmin, 4.5rem); letter-spacing: -2px; } h1 span.second-part { font-size: clamp(1rem, 3vmin, 3rem); letter-spacing: 0; } h1 span.third-part { font-size: 4rem; letter-spacing: -2px; } p.intro-copy { font-size: 2rem; } #features-section { flex-flow: column; } #use-cases-section { flex-flow: column; gap: 0; } div.use-case { display: flex; flex-flow: column; width: 100%; min-width: 100%; margin-bottom: 1rem; } div.use-case .icon { margin-top: 1rem; margin-bottom: 1rem; } } `}</style> # Mathfield

<math-field>

The Math Editor for the Web


A flexible, powerful, and accessible way to write math on the web.


```live :::style math-field { border: 1px solid var(--neutral-400); background: var(--neutral-200); border-radius: 8px; padding: 8px; } @media (pointer: coarse) { math-field { border-radius: 16px; font-size: 1.25rem; border: 1px solid var(--neutral-100); background: var(--neutral-700); --primary-color: white; color: white; padding: 16px; box-shadow: inset 4px 4px 16px rgb(0 0 0 / 10%), inset 2px 2px 8px rgb(0 0 0 / 60%);
      --smart-fence-color: white;
      --caret-color: var(--blue-400);
      --selection-background-color: var(--blue-300);
      --contains-highlight-background-color: var(--blue-900);
    }
    math-field:focus {
      outline: 4px solid rgb(255 255 255 / 25%);
    }
    math-field::part(virtual-keyboard-toggle), math-field::part(menu-toggle) {
      color: white;
    }
}

:::html

Start typing math below:

x=\frac{-b\pm\sqrt{b^2-4ac}}{2a} ```

Why MathField?

Built on LaTeX

The gold standard, for beautiful math typesetting.

Mathfields support 800 LaTeX commands.

Math Virtual Keyboards

Fully customizable and makes math input easy on desktop and mobile.

Open Source & Extensible

MathField is an open source project available on GitHub. Contributions are welcome.

Individuals and commercial partners are encouraged to support financially the project.

What Can You Do with MathField?

  ### E-Learning Made Engaging

  Enable interactive math quizzes, exercises, and problem-solving tools that check answers in real-time
  
  <ReadMore path="/tutorials/simple-quiz/">
  Read this step-by-step tutorial to build a **simple quiz** <Icon name="chevron-right-bold" />
  </ReadMore>

  <ReadMore path="/mathfield/guides/fill-in-the-blank/" >
  Learn more about authoring **fill-in-the-blank** questions <Icon name="chevron-right-bold" />
  </ReadMore>
</div>
### Scientific Computing & Research

Render complex formulas and let users symbolically manipulate equations.


<ReadMore path="/compute-engine/guides/symbolic-computing/" >
Use mathfields with the <strong>Compute Engine</strong><Icon name="chevron-right-bold" />
</ReadMore>

### Interactive Online Calculators

<p>Build real-time calculators that evaluate math expressions dynamically</p>

<ReadMore path="/compute-engine/guides/numeric-evaluation/" >
Use the <strong>Compute Engine</strong> to evaluate the user's input<Icon name="chevron-right-bold" />
</ReadMore>  

### Beautiful Math Documentation

Embed math seamlessly in **blogs**, **wikis**, and **papers**, ensuring clarity and readability