AndroidMath
Introduction: Render beautiful LaTeX Math Equations in an Android View
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
- HelloAndroidMath For a complete simple project
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.
Related Projects
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:
- Latin Modern Math: GUST Font License
- Tex Gyre Termes: GUST Font License
- XITS Math: Open Font License