From d8f480b83d0a2bdd10512eed9f9fe8a5623b79e5 Mon Sep 17 00:00:00 2001 From: Luca Lombardo Date: Sat, 13 Jan 2024 16:02:08 +0100 Subject: [PATCH 1/5] removeproofs script --- README.md | 20 ++++++++++++++++---- removeproofs | 14 ++++++++++++++ 2 files changed, 30 insertions(+), 4 deletions(-) create mode 100755 removeproofs diff --git a/README.md b/README.md index d343966..027d800 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ Questa repository contiene i seguenti script: ```bash shell $ curl -LO "https://git.phc.dm.unipi.it/phc/dm-scripts/raw/branch/main/install-llm-web-interface" $ chmod +x install-llm-web-interface - + # La prima volta che lo si esegue, bisogna installare i pacchetti necessari $ ./install-llm-web-interface @@ -27,14 +27,14 @@ Questa repository contiene i seguenti script: ``` Nel frattempo, è possibile usare LLM in locale aprendo il browser all'indirizzo `http://localhost:8080` oppure se si sta usando ssh aprendo un tunnel con - + ```bash shell $ ssh -L 8080:localhost:8080 @a3-dott8.cs.dm.unipi.it ``` e poi aprendo il browser all'indirizzo `http://localhost:8080`. - Una volta nell'interfaccia web si può scaricare un modello di LLM (ad esempio ) andando nella tab "Models" ed inserendo l'ID da huggingface (e.g. `TheBloke/Orca-2-7B-GGUF` ed il nome del singolo file `orca-2-7b.Q5_K_M.gguf`), poi premere "Refresh" e poi "Load" nella lista dei modelli per selezionarlo (conviene tenere sotto'occhio il terminare per vedere quando ha finito di scaricare il modello). Una volta caricato il modello, si può andare in "Chat" per usarlo. + Una volta nell'interfaccia web si può scaricare un modello di LLM (ad esempio ) andando nella tab "Models" ed inserendo l'ID da huggingface (e.g. `TheBloke/Orca-2-7B-GGUF` ed il nome del singolo file `orca-2-7b.Q5_K_M.gguf`), poi premere "Refresh" e poi "Load" nella lista dei modelli per selezionarlo (conviene tenere sotto'occhio il terminare per vedere quando ha finito di scaricare il modello). Una volta caricato il modello, si può andare in "Chat" per usarlo. - `printa4` — [@BachoSeven](https://git.phc.dm.unipi.it/BachoSeven) @@ -55,7 +55,7 @@ Questa repository contiene i seguenti script: - diversi tipi di paper size (A4 di default, per poter mandare in stampa senza dover mettere "fit-to-page") - aggiunta di un bordo interno (a sinistra per le pagine dispari, a destra per le pagine pari) per la rilegatura - pipe da stdin / a stdout - + Dipendenze: `PyPDF2` - `pokepixel` — [@Fran314](https://git.phc.dm.unipi.it/Fran314) @@ -71,3 +71,15 @@ Questa repository contiene i seguenti script: - `pdfcompress` — [@aziis98](https://git.phc.dm.unipi.it/aziis98) (script preso in prestito [da questa repo](https://git.phc.dm.unipi.it/aziis98/chatgpt-scripts/src/branch/main/bin/pdfcompress2)) Comprime un PDF vettorizzato (ad esempio note scritte su un iPad) utilizzando poppler (file di ~100MB diventa tranquillamente di ~10MB) + +- `removeproofs` — [@lukefleed](https://git.phc.dm.unipi.it/lukefleed) + + Rimuove le dimostrazioni da un file `.tex`, utile per creare piccoli cheat sheet da portare agli esami dove è consentito portare materiale di studio. + + Utilizzo: + + ```bash + removeproofs + ``` + + Questo script è stato utilizzato per creare dei riassunti di Geometria 2 da delle dispense più complete: [G2-cheat-sheet](https://github.com/lukefleed/G2-cheat-sheet) diff --git a/removeproofs b/removeproofs new file mode 100755 index 0000000..06c810b --- /dev/null +++ b/removeproofs @@ -0,0 +1,14 @@ +#!/bin/bash + +if [ $# -ne 1 ]; then + echo "Usage: $0 " + exit 1 +fi + +input_file=$1 +output_file="${input_file%.tex}_without_proofs.tex" + +awk '/\\begin{proof}/, /\\end{proof}/ {next} 1' "$input_file" > "$output_file" + +echo "Lines between \\begin{proof} and \\end{proof} have been removed. Output saved to: $output_file" + From 2731ce32d3c766ac200dc2f610351a7c3d855be5 Mon Sep 17 00:00:00 2001 From: Luca Lombardo Date: Mon, 22 Jan 2024 16:02:15 +0100 Subject: [PATCH 2/5] pptx_to_pdf script --- README.md | 18 ++++++++++++++---- pptx_to_pdf | 20 ++++++++++++++++++++ 2 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 pptx_to_pdf diff --git a/README.md b/README.md index d343966..af0bbce 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ Questa repository contiene i seguenti script: ```bash shell $ curl -LO "https://git.phc.dm.unipi.it/phc/dm-scripts/raw/branch/main/install-llm-web-interface" $ chmod +x install-llm-web-interface - + # La prima volta che lo si esegue, bisogna installare i pacchetti necessari $ ./install-llm-web-interface @@ -27,14 +27,14 @@ Questa repository contiene i seguenti script: ``` Nel frattempo, è possibile usare LLM in locale aprendo il browser all'indirizzo `http://localhost:8080` oppure se si sta usando ssh aprendo un tunnel con - + ```bash shell $ ssh -L 8080:localhost:8080 @a3-dott8.cs.dm.unipi.it ``` e poi aprendo il browser all'indirizzo `http://localhost:8080`. - Una volta nell'interfaccia web si può scaricare un modello di LLM (ad esempio ) andando nella tab "Models" ed inserendo l'ID da huggingface (e.g. `TheBloke/Orca-2-7B-GGUF` ed il nome del singolo file `orca-2-7b.Q5_K_M.gguf`), poi premere "Refresh" e poi "Load" nella lista dei modelli per selezionarlo (conviene tenere sotto'occhio il terminare per vedere quando ha finito di scaricare il modello). Una volta caricato il modello, si può andare in "Chat" per usarlo. + Una volta nell'interfaccia web si può scaricare un modello di LLM (ad esempio ) andando nella tab "Models" ed inserendo l'ID da huggingface (e.g. `TheBloke/Orca-2-7B-GGUF` ed il nome del singolo file `orca-2-7b.Q5_K_M.gguf`), poi premere "Refresh" e poi "Load" nella lista dei modelli per selezionarlo (conviene tenere sotto'occhio il terminare per vedere quando ha finito di scaricare il modello). Una volta caricato il modello, si può andare in "Chat" per usarlo. - `printa4` — [@BachoSeven](https://git.phc.dm.unipi.it/BachoSeven) @@ -55,7 +55,7 @@ Questa repository contiene i seguenti script: - diversi tipi di paper size (A4 di default, per poter mandare in stampa senza dover mettere "fit-to-page") - aggiunta di un bordo interno (a sinistra per le pagine dispari, a destra per le pagine pari) per la rilegatura - pipe da stdin / a stdout - + Dipendenze: `PyPDF2` - `pokepixel` — [@Fran314](https://git.phc.dm.unipi.it/Fran314) @@ -71,3 +71,13 @@ Questa repository contiene i seguenti script: - `pdfcompress` — [@aziis98](https://git.phc.dm.unipi.it/aziis98) (script preso in prestito [da questa repo](https://git.phc.dm.unipi.it/aziis98/chatgpt-scripts/src/branch/main/bin/pdfcompress2)) Comprime un PDF vettorizzato (ad esempio note scritte su un iPad) utilizzando poppler (file di ~100MB diventa tranquillamente di ~10MB) + +- `pptx_to_pdf` — [@lukefleed](https://git.phc.dm.unipi.it/lukefleed) + + Permette di convertire tutti i file .pptx dentro una cartella in file .pdf. Per utilizzarlo, basta eseguire lo script da terminale nella cartella dove sono presenti i file `.pptx` + + I nuovi file `.pdf `verranno salvati nella cartella `pdf` (che verrà creata automaticamente se non esiste già). Per poter eseguire lo script, è necessario avere installati i seguenti pacchetti (ubuntu): + + ```bash + sudo apt install libreoffice default-jre libreoffice-java-common + ``` diff --git a/pptx_to_pdf b/pptx_to_pdf new file mode 100644 index 0000000..cd3153f --- /dev/null +++ b/pptx_to_pdf @@ -0,0 +1,20 @@ +#!/bin/bash + +# Create the pdf folder if it doesn't exist +mkdir -p pdf + +# Iterate through all .pptx files in the current folder +for file in *.pptx; do + if [ -f "$file" ]; then + # Extract the base name (without extension) of the file + base_name=$(basename "$file" .pptx) + + # Convert the .pptx file to .pdf and save it in the pdf folder + libreoffice --headless --convert-to pdf --outdir pdf "$file" + + echo "Converted $file to pdf/$base_name.pdf" + fi +done + +echo "Conversion complete!" + From 9c7faa0006835654700f2824de5c82631e900e71 Mon Sep 17 00:00:00 2001 From: Luca Lombardo Date: Thu, 22 Feb 2024 18:49:57 +0100 Subject: [PATCH 3/5] reso eseguibile pptx_to_pdf --- pptx_to_pdf | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 pptx_to_pdf diff --git a/pptx_to_pdf b/pptx_to_pdf old mode 100644 new mode 100755 From 11e3ce8dcdb433f78b6353b76e9419ef2e81f635 Mon Sep 17 00:00:00 2001 From: Luca Lombardo Date: Thu, 22 Feb 2024 18:54:37 +0100 Subject: [PATCH 4/5] aggiunto nuovo script tex_to_md --- README.md | 12 ++++++++++++ tex_to_md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100755 tex_to_md diff --git a/README.md b/README.md index 04270cc..74590ee 100644 --- a/README.md +++ b/README.md @@ -93,3 +93,15 @@ Questa repository contiene i seguenti script: ``` Questo script è stato utilizzato per creare dei riassunti di Geometria 2 da delle dispense più complete: [G2-cheat-sheet](https://github.com/lukefleed/G2-cheat-sheet) + +- `tex_to_md` — [@lukefleed](https://git.phc.dm.unipi.it/lukefleed) + + Script che prende in input un file `.tex` da in output un file `.md` contenente un elenco puntato di tutte le definizioni, teoremi e proposizioni presenti nel file `.tex`. Utile per creare un riassunto degli argomenti di un corso da utilizzare per preparare l'orale. + + Utilizzo: + + ```bash + tex_to_md + ``` + + Qui un esempio di utilizzo: [Argomenti di G2](https://git.phc.dm.unipi.it/lukefleed/domande-orali/src/branch/master/geoemtria-2) diff --git a/tex_to_md b/tex_to_md new file mode 100755 index 0000000..724e2ac --- /dev/null +++ b/tex_to_md @@ -0,0 +1,47 @@ +#!/bin/bash + +if [ $# -ne 2 ]; then + echo "Usage: $0 input.tex output.md" + exit 1 +fi + +input_file="$1" +output_file="$2" + +# Funzione per convertire le sezioni +convert_section() { + local level=$1 + local name=$2 + echo -e "$(printf '#%.0s' $(seq 1 $level)) $name\n" >> "$output_file" +} + +# Funzione per convertire definizioni, teoremi e proposizioni +convert_definition_or_theorem_or_proposition() { + local type=$1 + local name=$2 + if [[ $type == "teorema" || $type == "proposizione" ]]; then + echo "* [ ] [**$type**] $name" >> "$output_file" + else + echo "* [ ] [$type] $name" >> "$output_file" + fi +} + +# Inizializza il file di output +> "$output_file" + +# Leggi il file .tex e converti le sezioni, definizioni, teoremi e proposizioni +while IFS= read -r line; do + if [[ $line =~ \\section\{(.+)} ]]; then + convert_section 1 "${BASH_REMATCH[1]}" + elif [[ $line =~ \\subsection\{(.+)} ]]; then + convert_section 2 "${BASH_REMATCH[1]}" + elif [[ $line =~ \\subsubsection\{(.+)} ]]; then + convert_section 3 "${BASH_REMATCH[1]}" + elif [[ $line =~ \\begin\{definition\}\[(.+)\] ]]; then + convert_definition_or_theorem_or_proposition "definizione" "${BASH_REMATCH[1]}" + elif [[ $line =~ \\begin\{theorem\}\[(.+)\](\{.+})? ]]; then + convert_definition_or_theorem_or_proposition "teorema" "${BASH_REMATCH[1]}" + elif [[ $line =~ \\begin\{proposition\}\[(.+)\] ]]; then + convert_definition_or_theorem_or_proposition "proposizione" "${BASH_REMATCH[1]}" + fi +done < "$input_file" From 58e2abfdca116a11e4607a8eb8dfebecdc818698 Mon Sep 17 00:00:00 2001 From: Francesco Minnocci Date: Sat, 24 Feb 2024 17:24:56 +0000 Subject: [PATCH 5/5] Update 'steam-install' --- steam-install | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/steam-install b/steam-install index 652397e..fc6e170 100755 --- a/steam-install +++ b/steam-install @@ -5,7 +5,7 @@ set -xeo pipefail # Variables APP=Steam-x86_64.AppImage NAME=steam -URL="https://github.com/ivan-hc/Steam-appimage/releases/download/continuous/Steam-202401100234-x86_64.AppImage" +URL="https://github.com/ivan-hc/Steam-appimage/releases/download/continuous/Steam-202402170551-x86_64.AppImage" LOCAL_BIN_DIR=$HOME/.local/bin DESKTOP_DIR=$HOME/.local/share/applications @@ -17,7 +17,7 @@ fi # Install Steam AppImage cd /tmp -curl -LO $URL +curl -L $URL -o $APP chmod +x $APP ./$APP --appimage-extract mv squashfs-root $HOME/$NAME