library(svglite)
library(tikzDevice)

filename = 'ni0.01_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 <- 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()
}
