Metadata-Version: 2.1
Name: texpy
Version: 1.0.3
Summary: Funzioni utili per lab3
Home-page: https://github.com/Francesco215/menzalib
Author: ['Lorenzo Cavuoti', 'Francesco Sacco']
Author-email: francesco215@live.it
License: UNKNOWN
Description: # TexPy
        
        ## Descrizione rapida della libreria  
        
        Questa libreria e' stata creata da studenti del corso di Laboratorio 3 dell'universita' di Pisa per velocizzare la stesura delle relazioni, contiene funzioni che potrebbero risultare utili pure a corsi come Laboratorio 1 e 2  
        In particolare queste funzioni permettono di stampare una tabella in LaTeX senza dover riscrivere tutti i dati tra $ ed &
        
        Ad esempio creiamo una tabella con misure ed errori:
        
        ```python
        
        import texpy as tp
        import numpy as np
        x = np.linspace(1, 2, 10) # Genero dei dati
        y = 5*x
        dx, dy = x*0.01, y*0.01 # Suppongo che l'errore sia l'1% della misura
        misure = [x, y] # Creo la matrice con i valori
        errori_misure = [dx, dy] # Creo la matrice con gli errori
        tab = tp.ne(misure, errori_misure) # Crea una matrice del tipo misura +- errore come spiegato sotto
        tp.mat(tab) # Stampa la matrice, ovvero la tabella in latex
        ```
        
        Output:
        
        ```latex
        
        Copia tutto quello che c'e' tra le linee
        
        --------------------------
        \begin{tabular}{cc}
        	\hline
        	% Qua mettici il titolo, ricordati di mettere le \\ alla fine % 
        	\hline
        	$1.00 \pm 0.01$ & $5.00 \pm 0.05$ \\
        	$1.11 \pm 0.01$ & $5.56 \pm 0.06$ \\
        	$1.22 \pm 0.01$ & $6.11 \pm 0.06$ \\
        	$1.33 \pm 0.01$ & $6.67 \pm 0.07$ \\
        	$1.44 \pm 0.01$ & $7.22 \pm 0.07$ \\
        	$1.56 \pm 0.02$ & $7.78 \pm 0.08$ \\
        	$1.67 \pm 0.02$ & $8.33 \pm 0.08$ \\
        	$1.78 \pm 0.02$ & $8.89 \pm 0.09$ \\
        	$1.89 \pm 0.02$ & $9.44 \pm 0.09$ \\
        	$2.00 \pm 0.02$ & $(1.00 \pm 0.01) \times 10^{1}$ \\
        	\hline
        \end{tabular}
        
        --------------------------
        ```
        
        ### Installazione
        
        Scrivere su terminale `pip install texpy`  
        
        ## Descrizione dettagliata delle funzioni
        
        Tutte le funzioni sono vettorizzate, ovvero possono prendere in input numeri, vettori, matrici, tensori ecc... e li trattano secondo le regole di numpy, per maggiori informazioni: [numpy broadcasting](https://www.numpy.org/devdocs/user/theory.broadcasting.html)  
        In pratica puoi dare anche array alle funzioni e queste fanno quello che ci aspetta
        
        ### Notazione scientifica con errore
        
        `ne(x, dx, unit=None)` Ritorna una stringa in latex con il valore x e l'errore ovvero "x \pm dx"
        Parametri:
        
        - x: valore della misura
        - dx: errore della misura
        - unit: Opzionale, serve per impostare l'unitÃ  di misura di x
        
        ```python
        # Es: misuro x=45.890 +- 135
        >>> import texpy as tp
        >>> tp.ne(45890,135)
        '$(4.59 \\pm 0.01) \\times 10^{4}$'
        
        >>> tp.ne(67.5, 1.6, unit="kg") # Il parametro unit imposta l'unitÃ  in chili
        '$68 \\pm 2$kg'
        
        >>> tp.ne(65000, 300, "V") # Se l'ordine di grandezza di x risulta multiplo di 3 la funzione
        '$65.0 \\pm 0.3$kV'        # aggiunge automaticamente il prefisso del SI adatto: 65000 V = 65 kV
        ```
        
        ### Tabella per latex
        
        `mat(Matrice, titolo=None, file=None)` Stampa su terminale una matrice fatta di stringhe in formato latex
        
        - Matrice: matrice fatta di stringhe contenente i valori da stampare
        - titolo: Opzionale, il titolo della tabella
        - file: Opzionale, file in cui la matrice viene stampata (ATTENZIONE SOVRASCRIVE IL FILE!)
        
        ```python
        # Esempio:
        >>> import texpy as tp
        >>> M = [['guardati', 'l\'attacco'],
                ['dei', 'giganti']]
        >>> tp.mat(M, 'titolo & a caso')
        ```
        
        Output:
        
        ```latex
        Copia tutto quello che c'Ã¨ tra le linee
         --------------------------
         \begin{tabular}{cc}
         \hline
        	titolo & a caso\\ 
         \hline
        	guardati & l'attacco \\
        	dei & giganti \\
         \hline
         \end{tabular}
        --------------------------
        ```
        
        Se avessi scritto `tp.mat(M, 'titolo & a caso', file="myfile.txt")` l'output sopra sarebbe stato scritto nel file `myfile.txt`
        
        ### Notazione scientifica con valore ed errore separati
        
        `nes(x, dx=None, unit=None)` Ritorna due stringe, una col valore e l'altro con l'errore fatte in modo che abbiano
        lo stesso ordine di grandezza, in pratica Ã¨ come la prima funzione ma valore ed errore sono in due stringhe diverse
        
        - x: valore della misura
        - dx: Opzionale, errore della misura
        - unit: Opzionale, serve per impostare l'unitÃ  di misura di x
        
        ```python
        # Es: misuro x = 45.890 +- 135
        >>> tp.nes(45897,135)
        (array('$4.59 \\times 10^{4}$', dtype='<U20'),
         array('$0.01 \\times 10^{4}$', dtype='<U20'))
        
        # Es: voglio solo il valore di x = 45.890
        >>> tp.nes(45890)
        array('$4.59 \\times 10^{4}$', dtype='<U20')
        
        >>> tp.ne(6750, 16, unit="g") # Il parametro unit imposta l'unitÃ  di misura
        (array('$6.75$kg', dtype='<U8'), array('$0.02$kg', dtype='<U8'))
        ```
        
        ### Notazione scientifica
        
        `ns(n, nrif=None, nult=None, unit=None)` Funzione della notazione scientifica di un singolo numero con un numero di riferimento nrif scritto in latex.
        I parametri sono:
        
        - n: numero da portare in notazione scientifica
        - nrif: Opzionale, serve a specificare l'ordine di grandezza del numero prima della virgola, ovvero dove mettere la virgola, se non specificato assume il valore di n
        - nult: Opzionale, serve a specificare l'ordine di grandezza della cifra meno significativa, ovvero serve a dire quante cifre scrivere dopo la virgola  
        - unit: Serve a impostare l'unitÃ  di misura di n
        
        Nota: Viene preso l'ordine di grandezza di nrif e nult
        
        ```python
        # Es: Porto in notazione scientifica 45.890
        >>> import texpy as tp
        >>> tp.ns(45890)
        '$4.59 \\times 10^{4}$'
        
        # Es: Porto in notazione scientifica 45.890 con l'ordine di grandezza di 135
        >>> tp.ns(45890, 135)
        '$459 \\times 10^{2}$'
        
        # Es: Porto in notazione scientifica 45.890 con l'ordine di grandezza di 135 e
        # scrivo i numeri dopo la virgola fino all'ordine di grandezza di 3
        >>> tp.ns(45890, 135, 3)
        '$459.90 \\times 10^{2}$'
        
        >>> tp.ns(45890, 135, 3, "F") # Il parametro unit imposta l'unitÃ  di misura
        '$45890$F'
        >>> tp.ns(45890, 1000, 3, "F") # la funzione automaticamente converte 45.890 * 10^3 F = 45.890 kF  
        '$45.890$kF'
        ```
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
