AndroidMath

Introduction: Render beautiful LaTeX Math Equations in an Android View
More: Author   ReportBugs   
Tags:

  • [x] Rendering of LaTeX Math inside of an Android View
  • [x] No dependency on WebView
  • [x] Easy to use.

Installation from the command line

git clone https://github.com/gregcockroft/AndroidMath.git

cd AndroidMath
./gradlew installDebug

Installation for Android Studio

Clone this project, run CDep. CDep pulls in the freetype dependency.

git clone https://github.com/gregcockroft/AndroidMath.git
cd AndroidMath/mathdisplaylib
./cdep

Open the project in Android Studio

Using library in your app

This is using jitpack.io Add below lines to root's build.gradle

    allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }

Add below lines to apps's build.gradle

dependencies {
            implementation 'com.github.gregcockroft:AndroidMath:ALPHA'
    }
<ConstraintLayout ...>

    <TextView
        android:id="@+id/description"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello Math!"
        app:layout_constraintBottom_toTopOf="@+id/mathview"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <com.agog.mathdisplay.MTMathView
        android:id="@+id/mathview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="56dp"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@id/description" />


</ConstraintLayout>
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(activity_main)

        mathview.latex = "x = \\frac{-b \\pm \\sqrt{b^2-4ac}}{2a}"
    }

API

Look at MTMathView This is the central access class.

Credits:

  • iosMath This project is a Kotlin port for Android of the iosMath project
  • Freetype is used for rendering glyphs and font metrics.
  • Freetype jni was copied as a starting point to access the native freetype library.

For people looking for things beyond just rendering math, there are two related projects:

  • MathEditor: A WYSIWYG editor for math equations on iOS.
  • MathSolver: A library for solving math equations.

License

AndroidMath is available under the MIT license. See the LICENSE file for more info.

Fonts

This distribution contains the following fonts. These fonts are licensed as follows:

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools