Merge branch 'main' of git.phc.dm.unipi.it:phc/dm-scripts
This commit is contained in:
@@ -71,3 +71,37 @@ 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
|
||||
```
|
||||
|
||||
- `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 <file.tex>
|
||||
```
|
||||
|
||||
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 <input.tex> <output.md>
|
||||
```
|
||||
|
||||
Qui un esempio di utilizzo: [Argomenti di G2](https://git.phc.dm.unipi.it/lukefleed/domande-orali/src/branch/master/geoemtria-2)
|
||||
|
||||
Executable
+20
@@ -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!"
|
||||
|
||||
@@ -40,11 +40,11 @@ Opzioni disponibili:
|
||||
|
||||
Ad esempio:
|
||||
|
||||
$(basename "$0") ~/GAAL.pdf
|
||||
$(basename "$0") -u n.cognome ~/GAAL.pdf
|
||||
|
||||
$(basename "$0") alg2.pdf commRingTheory.pdf
|
||||
$(basename "$0") -u n.cognome alg2.pdf commRingTheory.pdf
|
||||
|
||||
$(basename "$0") --cli '-o sides=two-sided-short-edge' MR-impaginato.pdf
|
||||
$(basename "$0") -u n.cognome --cli '-o sides=two-sided-short-edge' MR-impaginato.pdf
|
||||
|
||||
N.B.: L'opzione --cli usa le opzioni necessarie per poter stampare un file
|
||||
creato con lo script "impagina", per rilegare le dispense a libretto in A5.
|
||||
|
||||
Executable
+14
@@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
echo "Usage: $0 <input_tex_file>"
|
||||
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"
|
||||
|
||||
+2
-2
@@ -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 -L $URL > $APP
|
||||
curl -L $URL -o $APP
|
||||
chmod +x $APP
|
||||
./$APP --appimage-extract
|
||||
mv squashfs-root $HOME/$NAME
|
||||
|
||||
@@ -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"
|
||||
Reference in New Issue
Block a user