How to use this offline latex to bitmap generator?
-
Set up the project as @gregcockroft described on his original readme below.
-
run this command on the AndroidMath project:
./gradlew mathdisplaylib:assemble
-
Copy the result .aar file from:
../AndroidMath/mathdisplaylib/build/outputs/aar
-
To:
../YourAndroidProject/app/libs
-
Add this on build.gradlew
implementation(name: "mathdisplaylib-debug", ext: "aar")
-
Initialize the mathdisplaylib on (preferably) Application level onCreate():
MTFontManager.setContext(context);
-
Call the offline latex bitmap generator from anywhere on the project
MTMathGenerator.createBitmap("latex str")
- Rendering of LaTeX Math inside of an Android View
- No dependency on WebView
- Easy to use.
git clone https://github.com/gregcockroft/AndroidMath.git
cd AndroidMath
./gradlew installDebug
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
- 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}"
}
Look at MTMathView This is the central access class.
- 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.
AndroidMath is available under the MIT license. See the LICENSE file for more info.
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