# Če spreminim encoding v drug jezik (zaradi danskih znakov) je potrebno zakomentirati # gsub(pattern='!encoding_r!', tolower(gsub("-","",localeToCharset(locale=Sys.getlocale("LC_CTYPE")))), x=tex.glava) # ali pa nastaviti Sys.setlocale na slovenski encoding Sys.setlocale(category = "LC_ALL", locale = "slovenian") ##Generiranje PDF library(foreign) # Import csv or sav data library(stringi) # Zajem podatkov iz ankete podatki <- read.csv2("modules/mod_MFDPS/temp/mfdps.csv",sep=";", header=T, fill=T, stringsAsFactors=FALSE,encoding='UTF-8') if (podatki[1,1]=="Ustreznost") {podatki <- podatki[2:nrow(podatki),]} # Nepotrebne vrednosti v bazi junk.komentar <- c(NA,"-1","-2","-3","-4","-5","-97","-98","-99","-","/","\\",".","","-1: Ni odgovoril","-2: Preskok (if)","-3: Prekinjeno") ### SAMO ZA TERTIRANJE ### # Uporabimo za testiranje, ker delamo za posameznika v datoteki pa imamo dva, najprej izberemo prvo vrstico. podatki <- podatki[1,] #### # Znebimo se nepotrebnih vrednosti for (i in 1:length(podatki)) { if (podatki[i] %in% junk.komentar) { podatki[i] <- " " } } # ŠTUDIJSKO LETO (spremnljivka SL) if(podatki$SL!=" ") { stud.leto <- podatki$SL if (stud.leto==1) { stud.leto <- "2016/2017" } else if (stud.leto==2){ stud.leto <- "2017/2018" } else if (stud.leto==3){ stud.leto <- "2018/2019" } else if (stud.leto==4){ stud.leto <- "2019/2020" } else if (stud.leto==5){ stud.leto <- "2020/2021" } } else {stud.leto <- ""} # Zapišemo vrednosti spremenljivk ankete 1KA # 1KA ankete ######################## # Stran 1 vprašanje KUKT (DRUGA TABELA V PDF POROČILU) ######################## predavanja <- podatki$KUKTa_1 vaje <- podatki$KUKTb_1 druge.oblike.studija <- podatki$KUKTc_1 samostjno.delo <- podatki$KUKTd_1 ure.dela <- podatki$KUKTe_1 ects <- podatki$KUKTf_1 ############################ # Stran 2 vprašanje PODROČJE (PRVA TABELA V PDF POROČILU) ############################ # Predmet predmet.ime <- podatki$ime # Šifra predmeta sifra.predmeta <- podatki$Koda # Nosilec predmeta nosilec <- podatki$drugo # Vrsta predmeta vrsta.predmeta <- podatki$telefon # Jezik predmeta jezik <- podatki[ grepl("Jezik" , colnames( podatki ) ) ] # Jezik vaj if (jezik[1]==1 & jezik[2]==1) { jezik.vaje <- "Slovenski / Slovene, Angleški / English" } else if (jezik[1]==1 & jezik[2]==0) { jezik.vaje <- "Slovenski / Slovene" } else if (jezik[2]==1 & jezik[1]==0) {jezik.vaje <- "Angleški / English" } else {jezik.vaje <- " "} # Jezik predavanj if (jezik[3]==1 & jezik[4]==1) { jezik.predavanja <- "Slovenski / Slovene, Angleški / English" } else if (jezik[3]==1 & jezik[4]==0) { jezik.predavanja <- "Slovenski / Slovene" } else if (jezik[4]==1 & jezik[3]==0) {jezik.predavanja <- "Angleški / English" } else {jezik.predavanja <- " "} # Študijsko področje studijsko.podrocje <- podatki$priimek # PRIMARNO Študijsko področje podrocje <- as.numeric(podatki$PODROCJE) if (!is.na(podrocje)) { if (podrocje==1) { podrocje <- "Management (poslovodenje in upravljanje - Klasius 345) / Management (Management and administration – Klasius 345)" } else if (podrocje==2) { podrocje <- "Poslovne vede (Klasius 34) / Business and administration (Klasius 34)" } else if (podrocje==3) {podrocje <- "Ekonomija (Klasius 314) / Economics (klasius 314)" } else if (podrocje==4) {podrocje <- "Pravne vede (Klasius - 380) / Law (Klasius 380)" } else if (podrocje==5) {podrocje <- "Druge družbene vede (sociologija, psihologija, politologija ipd. - Klasius 312, 311, 313) / Other Social and behavioural science (Sociology, Psychology, Political science etc. – Klasius 312, 311, 313)" } else if (podrocje==6) {podrocje <- "Matematika, metodologija, statistika in informatika (Klasius 46 in 48) / Mathematics, Methodology, Statistics and Informatics (Klasius 46 and 48)" } else if (podrocje==7) {podrocje <- "Tuj jezik stroke (Klasius 222) / Foreign languages (Klasius 222)" } } else {podrocje <- " "} # Letnik letnik <- podatki$naziv # Pogoji za vključitev pogoji <- podatki$POGOJI ############################ # Stran 3 vprašanje VSEBINE (TRETJA TABELA V PDF POROČILU) ############################ # SLO vsebina.slo <- podatki$VSEBINAa # Ločimo skupni string spremenljivk na več vektorev, zato, da jih bomo lahko v latex tabelah zapisali v novo vrstico vsebina.slo <- unlist(strsplit(vsebina.slo, " ")) # Kjer je dvojni presledek, loči string if (any(sapply(regmatches(vsebina.slo, gregexpr("[A-Z]", vsebina.slo, perl=TRUE)), length) > 25)) { vsebina.slo <- gsub('(.{1,40})(\\s|$)', '\\1\\\\\\\\',vsebina.slo) }else {vsebina.slo <- gsub('(.{1,52})(\\s|$)', '\\1\\\\\\\\',vsebina.slo)} # Izberemo zadnji možni odgovor na koncu katerega ne želimo dati breaka oz \\\\ #vpr.konec.slo <- vsebina.slo[length(vsebina.slo)] #vsebina.slo <- c(paste0(vsebina.slo[-length(vsebina.slo)], ' \\\\ '),vpr.konec.slo) # Na koncu vsakega stringa dodaj \\, ki v latex-predstavlja newlinw vsebina.slo <- paste(vsebina.slo, collapse = ' ') # concatenate the values into string and make space # ANG vsebina.ang <- podatki$VSEBINAb vsebina.ang <- unlist(strsplit(vsebina.ang, " ")) if (any(sapply(regmatches(vsebina.ang, gregexpr("[A-Z]", vsebina.ang, perl=TRUE)), length) > 25)) { vsebina.ang <- gsub('(.{1,40})(\\s|$)', '\\1\\\\\\\\',vsebina.ang) }else {vsebina.ang <- gsub('(.{1,52})(\\s|$)', '\\1\\\\\\\\',vsebina.ang)} # Izberemo zadnji možni odgovor na koncu katerega ne želimo dati breaka oz \\\\ #vpr.konec.ang <- vsebina.ang[length(vsebina.ang)] #vsebina.ang <- c(paste0(vsebina.ang[-length(vsebina.ang)], ' \\\\ '),vpr.konec.ang) vsebina.ang <- paste(vsebina.ang, collapse = ' ') vsebina.ang <- gsub('_', '\\_', vsebina.ang, fixed=T) # pravilni izpis podčrtaja v pdf izpisu "_" vsebina.ang <- gsub('&', '\\&', vsebina.ang, fixed=T) # pravilni izpis in v pdg izpisu "&" vsebina.ang <- gsub('%', '\\%', vsebina.ang, fixed=T) # pravilni izpis deleža v pdg izpisu "%" ############################ # Stran 4 vprašanje SPL (ČETRTA TABELA V PDF POROČILU) ############################ # Splošne kompetence SLO SPL1 <- c("\\textbf{SPL1}: Delo s podatki in informacijami;") SPL2 <- c("\\textbf{SPL2}: Osnovne računalniške spretnosti;") SPL3 <- c("\\textbf{SPL3}: Medosebne, socialne spretnosti;") SPL4 <- c("\\textbf{SPL4}: Sodelovalno, timsko delo, delo v skupini;") SPL5 <- c("\\textbf{SPL5}: Voditeljstvo, vodenje ljudi;") SPL6 <- c("\\textbf{SPL6}: Etičnost;") SPL7 <- c("\\textbf{SPL7}: Raznolikost in multikulturnost;") SPL8 <- c("\\textbf{SPL8}: Spretnosti kritičnega mišljenja;") SPL9 <- c("\\textbf{SPL9}: Ustvarjanje novih zamisli (ustvarjalnost);") SPL10 <- c("\\textbf{SPL20}: Iniciativnost ter podjetnost;") SPL11 <- c("\\textbf{SPL11}: Spretnosti organiziranja in načrtovanja (npr. lastnega dela, dela drugih);") SPL12 <- c("\\textbf{SPL12}: Spretnosti verbalne komunikacije (npr. retorika, predstavitvene veščine);") SPL13 <- c("\\textbf{SPL13}: Spretnosti pisne komunikacije;") SPL14 <- c("\\textbf{SPL14}: Sporazumevanje v tujem jeziku.") # Splošne kompetence ANG SPL1.ang <- c("\\textbf{SPL1}: Work with data and information;") SPL2.ang <- c("\\textbf{SPL2}: Basic computer skills;") SPL3.ang <- c("\\textbf{SPL3}: Interpersonal, social skills;") SPL4.ang <- c("\\textbf{SPL4}: Cooperation, team work, group work;") SPL5.ang <- c("\\textbf{SPL5}: Leadership skills;") SPL6.ang <- c("\\textbf{SPL6}: Ethics;") SPL7.ang <- c("\\textbf{SPL7}: Diversity and multi-cultural skills;") SPL8.ang <- c("\\textbf{SPL8}: Critical thinking;") SPL9.ang <- c("\\textbf{SPL9}: Creativity;") SPL10.ang <- c("\\textbf{SPL20}: Initiative and entrepereneurial skills;") SPL11.ang <- c("\\textbf{SPL11}: Organising and planning skills (e.g. own work, work of others);") SPL12.ang <- c("\\textbf{SPL12}: Verbal communication skills (e.g. rhetorics, presentation skills);") SPL13.ang <- c("\\textbf{SPL13}: Written communication skills;") SPL14.ang <- c("\\textbf{SPL14}: Communication in foreign language.") # Jih zapišemo v bazo če so if (podatki$SPLa==1) { podatki$SPLa <- SPL1 podatki$SPa.angl <- SPL1.ang} if (podatki$SPLb==1) { podatki$SPLb <- SPL2 podatki$SPb.angl <- SPL2.ang} if (podatki$SPLc==1) { podatki$SPLc <- SPL3 podatki$SPc.angl <- SPL3.ang} if (podatki$SPLd==1) { podatki$SPLd <- SPL4 podatki$SPd.angl <- SPL4.ang } if (podatki$SPLe==1) { podatki$SPLe <- SPL5 podatki$SPe.angl <- SPL5.ang } if (podatki$SPLf==1) { podatki$SPLf <- SPL6 podatki$SPf.angl <- SPL6.ang } if (podatki$SPLg==1) { podatki$SPLg <- SPL7 podatki$SPg.angl <- SPL7.ang } if (podatki$SPLh==1) { podatki$SPLh <- SPL8 podatki$SPh.angl <- SPL8.ang } if (podatki$SPLi==1) { podatki$SPLi <- SPL9 podatki$SPi.angl <- SPL9.ang } if (podatki$SPLj==1) { podatki$SPLj <- SPL10 podatki$SPj.angl <- SPL10.ang } if (podatki$SPLk==1) { podatki$SPLk <- SPL11 podatki$SPk.angl <- SPL11.ang } if (podatki$SPLl==1) { podatki$SPLl <- SPL12 podatki$SPl.angl <- SPL12.ang } if (podatki$SPLm==1) { podatki$SPLm <- SPL13 podatki$SPm.angl <- SPL13.ang } if (podatki$SPLn==1) { podatki$SPLn <- SPL14 podatki$SPn.angl <- SPL14.ang } kompetence.slo <- podatki[ grepl("SPL" , colnames( podatki ) ) ] kompetence.slo <- gsub("(?% unlist() %>% str_trim(side = c("both")) # Trimming potential spaces at the strings sides #literatura <- c(paste0(literatura, ' \\\\ ')) literatura <- gsub('(.{1,170})(\\s|$)', '\\1\\\\\\\\', literatura) literatura <- gsub('_', '\\_', literatura, fixed=T) # pravilni izpis podčrtaja v pdf izpisu "_" literatura <- gsub('&', '\\&', literatura, fixed=T) # pravilni izpis in v pdg izpisu "&" literatura <- gsub('%', '\\%', literatura, fixed=T) # pravilni izpis deleža v pdg izpisu "%" literatura <- paste(literatura, collapse = ' ') ############################ # Stran 27 vprašanje REFERENCE (DEVETA TABELA V PDF POROČILU) ############################ # The first line adds the "~" character at the right break point reference <- str_split(gsub("([1-9]\\.[]*[A-Z])","~\\1",podatki$REFER), "~") %>% unlist() %>% str_trim(side = c("both")) # Trimming potential spaces at the strings sides reference <- c(paste0(reference, ' \\\\ ')) reference <- gsub('(.{1,200})(\\s|$)', '\\1\\\\\\\\', reference) reference <- gsub('_', '\\_', reference, fixed=T) # pravilni izpis podčrtaja v pdf izpisu "_" reference <- gsub('&', '\\&', reference, fixed=T) # pravilni izpis in v pdg izpisu "&" reference <- gsub('%', '\\%', reference, fixed=T) # pravilni izpis deleža v pdg izpisu "%" reference <- paste(reference, collapse = ' ') ################################### # TABELE IN PODATKi V TEX. DATOTEKI ################################### podatkovni.okvir <- scan("modules/mod_MFDPS/latexkosi/tabele.tex", character(0), sep="\n", quiet=TRUE,encoding='UTF-8') # Tabela 1 v poročilu podatkovni.okvir <- gsub(pattern="!podrocje!", replacement=podrocje, x=podatkovni.okvir) podatkovni.okvir <- gsub(pattern="!studijsko.podrocje!", replacement=studijsko.podrocje, x=podatkovni.okvir) podatkovni.okvir <- gsub(pattern="!sifra.predmeta!", replacement=sifra.predmeta, x=podatkovni.okvir) podatkovni.okvir <- gsub(pattern="!predmet.ime!", replacement=predmet.ime, x=podatkovni.okvir) podatkovni.okvir <- gsub(pattern="!nosilec!", replacement=podatki$drugo, x=podatkovni.okvir) podatkovni.okvir <- gsub(pattern="!vrsta.predmeta!", replacement=podatki$telefon, x=podatkovni.okvir) podatkovni.okvir <- gsub(pattern="!jezik.vaje!", replacement=jezik.vaje, x=podatkovni.okvir) podatkovni.okvir <- gsub(pattern="!jezik.predavanja!", replacement=jezik.predavanja, x=podatkovni.okvir) podatkovni.okvir <- gsub(pattern="!letnik!", replacement=podatki$naziv, x=podatkovni.okvir) podatkovni.okvir <- gsub(pattern="!pogoji!", replacement=pogoji, x=podatkovni.okvir) # Tabela 2 v poročilu podatkovni.okvir <- gsub(pattern="!predavanja!", replacement=predavanja, x=podatkovni.okvir) podatkovni.okvir <- gsub(pattern="!vaje!", replacement=vaje, x=podatkovni.okvir) podatkovni.okvir <- gsub(pattern="!druge.oblike.studija!", replacement=druge.oblike.studija, x=podatkovni.okvir) podatkovni.okvir <- gsub(pattern="!samostjno.delo!", replacement=samostjno.delo, x=podatkovni.okvir) podatkovni.okvir <- gsub(pattern="!ure.dela!", replacement=ure.dela, x=podatkovni.okvir) podatkovni.okvir <- gsub(pattern="!ects!", replacement=ects, x=podatkovni.okvir) # Tabela 3 v poročilu podatkovni.okvir <- gsub(pattern="!vsebina.slo!", replacement=vsebina.slo, x=podatkovni.okvir, fixed=T) # fixed=T: zato, da v latex tabeli dobimo za vsak string novo vrstico podatkovni.okvir <- gsub(pattern="!vsebina.ang!", replacement=vsebina.ang, x=podatkovni.okvir, fixed=T) # Tabela 4 v poročilu podatkovni.okvir <- gsub(pattern="!kompetence!", replacement=SPL.kompetence.slo, x=podatkovni.okvir, fixed=T) # ANGLEŠA RAZLIČICA? podatkovni.okvir <- gsub(pattern="!kompetence.ang!", replacement=SPL.kompetence.ang, x=podatkovni.okvir, fixed=T) # Tabela 5 v poročilu podatkovni.okvir <- gsub(pattern="!SPECIF.kompetence.slo!", replacement=SPECIF.kompetence.slo, x=podatkovni.okvir, fixed=T) podatkovni.okvir <- gsub(pattern="!SPECIF.kompetence.ang!", replacement=SPECIF.kompetence.ang, x=podatkovni.okvir, fixed=T) # Tabela 6 v poročilu podatkovni.okvir <- gsub(pattern="!merljivi.izidi.slo!", replacement=merljivi.izidi.slo, x=podatkovni.okvir, fixed=T) podatkovni.okvir <- gsub(pattern="!merljivi.izidi.ang!", replacement=merljivi.izidi.ang, x=podatkovni.okvir, fixed=T) # Tabela 7 v poročilu # Oblike dela podatkovni.okvir <- gsub(pattern="!oblike.dela.slo!", replacement=oblike.dela.slo, x=podatkovni.okvir, fixed=T) podatkovni.okvir <- gsub(pattern="!oblike.dela.ang!", replacement=oblike.dela.ang, x=podatkovni.okvir, fixed=T) # Metode dela podatkovni.okvir <- gsub(pattern="!metode.dela.slo!", replacement=metode.dela.slo, x=podatkovni.okvir, fixed=T) podatkovni.okvir <- gsub(pattern="!metode.dela.ang!", replacement=metode.dela.ang, x=podatkovni.okvir, fixed=T) # Tabela 8 v poročilu podatkovni.okvir <- gsub(pattern="!sprotno.ustno!", replacement=sprotno.ustno, x=podatkovni.okvir, fixed=T) podatkovni.okvir <- gsub(pattern="!sprotno.pisno!", replacement=sprotno.pisno, x=podatkovni.okvir, fixed=T) podatkovni.okvir <- gsub(pattern="!daljsi.pisni.izdelek!", replacement=daljsi.pisni.izdelek, x=podatkovni.okvir, fixed=T) podatkovni.okvir <- gsub(pattern="!javni.nastop!", replacement=javni.nastop, x=podatkovni.okvir, fixed=T) podatkovni.okvir <- gsub(pattern="!pisni.izpit!", replacement=pisni.izpit, x=podatkovni.okvir, fixed=T) podatkovni.okvir <- gsub(pattern="!ustni.izpit!", replacement=ustni.izpit, x=podatkovni.okvir, fixed=T) podatkovni.okvir <- gsub(pattern="!udelezba.sodelovanje!", replacement=udelezba.sodelovanje, x=podatkovni.okvir, fixed=T) # Lestvica ocenjevanja podatkovni.okvir <- gsub(pattern="!lestvica!", replacement=lestvica, x=podatkovni.okvir, fixed=T) # Tabela 9 v poročilu podatkovni.okvir <- gsub(pattern="!literatura!", replacement=literatura, x=podatkovni.okvir, fixed=T) # Tabela 10 v poročilu podatkovni.okvir <- gsub(pattern="!reference!", replacement=reference, x=podatkovni.okvir, fixed=T) # Pravilen Izpis šumnikov, vezajev, narekovajev itd... podatkovni.okvir <- gsub('©', 'Š', podatkovni.okvir, fixed=T) podatkovni.okvir <- gsub('ą', 'š', podatkovni.okvir,fixed=T) podatkovni.okvir <- gsub('®', 'Ž', podatkovni.okvir,fixed=T) podatkovni.okvir <- gsub('\u017E', 'ž', podatkovni.okvir,fixed=T) podatkovni.okvir <- gsub('\u2013', '-', podatkovni.okvir,fixed=T) podatkovni.okvir <- gsub('\u2019', '’', podatkovni.okvir,fixed=T) podatkovni.okvir <- gsub('\u2026', '…', podatkovni.okvir,fixed=T) podatkovni.okvir <- gsub('\u00BB', '»', podatkovni.okvir,fixed=T) podatkovni.okvir <- gsub('\u00AB', '«', podatkovni.okvir,fixed=T) podatkovni.okvir <- gsub("''", "'", podatkovni.okvir,fixed=T) podatkovni.okvir <- gsub("\uF0A0", "•", podatkovni.okvir,fixed=T) podatkovni.okvir <- gsub("\u2022", "•", podatkovni.okvir,fixed=T) podatkovni.okvir <- gsub("\u02BC", "'", podatkovni.okvir,fixed=T) podatkovni.okvir <- gsub("\u02BB", "‘", podatkovni.okvir,fixed=T) podatkovni.okvir <- gsub("\u2018", "'", podatkovni.okvir,fixed=T) podatkovni.okvir <- gsub("\u201C", "“", podatkovni.okvir,fixed=T) podatkovni.okvir <- gsub("\u201D", "”", podatkovni.okvir,fixed=T) podatkovni.okvir <- gsub("'", "'", podatkovni.okvir,fixed=T) #Sys.setlocale("LC_ALL", "Czech") ################# # GENERIRANJE PDF ################# tex.glava <- scan("modules/mod_MFDPS/latexkosi/glava-mfdps.tex", character(0), sep="\n", quiet=TRUE,encoding='UTF-8') tex.glava <- gsub(pattern="!leto!", replacement=stud.leto, x=tex.glava) tex.noga <- scan("modules/mod_MFDPS/latexkosi/z-noga.tex", character(0), sep="\n", quiet=TRUE,encoding='UTF-8') Rdirektorij <- getwd() tex.izbor <- c(tex.glava, podatkovni.okvir, tex.noga) #tex.izbor <- gsub('©', '\\v{s}', tex.izbor, fixed=T) #tex.izbor <- gsub('š', '\v{s}', tex.izbor, fixed=T) #tex.izbor <- gsub('Š', '\v{S}', tex.izbor, fixed=T) #tex.izbor <- gsub('ą', 'š', tex.izbor,fixed=T) setwd(paste(Rdirektorij, "modules/mod_MFDPS/results", sep="/")) cat(tex.izbor, file=paste0("MFDPS.tex"), sep="\n") tools::texi2pdf(file=paste0("MFDPS.tex"), quiet=TRUE, clean=TRUE) setwd(Rdirektorij)