library(svglite)
library(tikzDevice)

filename = '0.02_lif'
scale <- 200

args = commandArgs(trailingOnly=TRUE)

table <- read.table(paste0('dades/', filename, '.txt'), sep="\t", dec=',', header=FALSE, col.names=c('Theta', 'I'))

# Plot the data
plotall <- function() {
  par(mar=c(4,4,0.5,0.5))
  plot(table$Theta, table$I, type="l", xlab="$\\theta$ (º)", ylab="$I$ (\\#/s)", ylim=c(0, 9000))

  # Add arrows and text labels to the peaks
  i <- 154
  arrows(table$Theta[i], table$I[i] + scale*(3 + 2), table$Theta[i], table$I[i] + scale*0.2, length = 0.05, code = 1, col = "#F03A47")
  text(table$Theta[i], table$I[i] + scale*(5.2 + 2), '$\\mathbf{K}_{\\beta}$', col = "#F03A47", cex = 0.75)

  i <- 177
  arrows(table$Theta[i], table$I[i] + scale*(3 + 2), table$Theta[i], table$I[i] + scale*0.2, length = 0.05, code = 1, col = "#F03A47")
  text(table$Theta[i], table$I[i] + scale*(5.2 + 2), '$\\mathbf{K}_{\\alpha 2}$', col = "#F03A47", cex = 0.75)

  i <- 390
  arrows(table$Theta[i], table$I[i] + scale*(3 + 2), table$Theta[i], table$I[i] + scale*0.2, length = 0.05, code = 1, col = "#F03A47")
  text(table$Theta[i], table$I[i] + scale*(5.2 + 2), '$\\mathbf{K}_{\\beta}$', col = "#F03A47", cex = 0.75)

  i <- 452
  arrows(table$Theta[i], table$I[i] + scale*(3 + 2), table$Theta[i], table$I[i] + scale*0.2, length = 0.05, code = 1, col = "#F03A47")
  text(table$Theta[i], table$I[i] + scale*(5.2 + 2), '$\\mathbf{K}_{\\alpha 1}$', col = "#F03A47", cex = 0.75)
}

svg(paste0('output/', filename, '.svg'), width = 4*0.82, height = 3*0.82)
plotall()
dev.off()

if (length(args) < 1 || args[1] != "preview") {
  tikz(paste0('output/', filename, '.tex'), width = 4*0.82, height = 3*0.82)
  plotall()
  dev.off()
}
