aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/org/pacien/pandoc/filter/plantuml/Latex.kt
blob: 48ce087821168d19c95dc679ffa58f97d2cf5ee9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package org.pacien.pandoc.filter.plantuml

fun Sequence<String>.toLatex() = Latex(this)

class Latex(private val body: Sequence<String>) {
  fun raw() = body.filterNot(String::isEmpty).joinToString("\n")

  private fun surround(prefix: String, suffix: String) =
    Latex(sequenceOf(prefix) + body + sequenceOf(suffix))

  fun resizeBox(width: String, height: String) = surround("\\resizebox{$width}{$height}{", "}")
  fun centering() = surround("\\centering", "")
  fun label(label: String) = surround("", "\\label{$label}")
  fun caption(caption: String) = surround("", "\\caption{$caption}")
  fun figure() = surround("\\begin{figure}[h]", "\\end{figure}")
}