Snippet LaTeX
Questo post sarà modificato spesso, serve a conservare snippet che voglio trovare subito, quando mi servono. Suggerimenti ben accetti.
(come è ben chiaro, questa pagina non viene aggiornata da tanto tempo. questo perché dopo un po’ ti rendi conto che i modelli non servono.)
Script utili
Trasformare un tsv in una tabella
#!/usr/bin/env python3
# tab.py --
# usage: ./tab.py [table.tsv]
# Accepts input on stdin or filename on argv, gives output on stdout.
import sys
try:
f=open(sys.argv[1], 'r')
except FileNotFoundError:
print("File not found: `{}'".format(sys.argv[1]),
file=sys.stderr)
exit(1) # anything != 0 means error.
except IndexError:
f=sys.stdin
import pandas as pd
pd.read_table(f).to_latex(header=False, buf=sys.stdout)
# NB: Questa cosa è molto elastica, se leggi la documentazione.
# http://pandas.pydata.org/pandas-docs/stable/io.html
# http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_latex.html
Vecchie edizioni
Script parecchio artigianale che serve soltanto a fare un trova e sostituisci.
#! /usr/bin/env python3
import sys
# Se viene dato un argomento, apri quel file. Altrimenti,
# aspetta su stdin. In ogni caso, l'output va su sys.stdout;
# per salvare su file, redirezione dell'output:
#
# $ ./tabellatore.py tabella.tsv > tabella.txt
try:
f = open(sys.argv[1], 'r')
except:
f = sys.stdin
for line in f:
print(line.replace("\t", "&\t").replace("\n", "\\\\\n"),
file=sys.stdout, end='')
# Notare particolarmente bene una cosa:
# assicurarsi che i file siano tabificati.
# oppure migliorare la cosa per handlare anche serie di spazi.
miglioramenti che si potrebbero apportarvi:
si potrebbe riscrivere in linguaggi più performanti;- si potrebbero fargli raggruppare le tabulazioni consecutive;
si potrebbe far leggere da STDIN riga per riga invece che dal disco tutto insieme, così da renderlo un filtro ed ottimizzare l’uso della memoria;- si potrebbe scrivere sotto forma di pacchetto LaTeX in modo da evitare conversioni esterne;
- …
Se hai come migliorarlo o hai implementato uno dei punti sopra, scrivi.
Lla vecchia implementazione in php:
#! /usr/bin/php
<?php
// tabellatore.php
// prende in input un file di colonne separate da tabulazioni
// crea una tabella LaTeX a partire dal file servito.
$valori=file_get_contents($argv[1]);
$valori=str_replace(array("\t", "\n"), array("\t& ", "\t\\\\\n"), $valori);
echo $valori;
?>
Un documento “vuoto”
\documentclass[11pt,a4paper]{article}
\usepackage[italian]{babel} \usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{microtype}
\usepackage[hidelinks]{hyperref}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\author{Pinco Pallino \and Paolino Paperino}
\title{Una relazione qualsiasi.}
\date{\today}
\begin{document}
\maketitle
\begin{abstract} % Abstract.
\end{abstract}
%\tableofcontents \listoffigures \listoftables %
% questa riga finirà commentata prima di subito, se vuoi usare
% l'abstract descrivendo il lavoro. % commentata per intero o anche a
% pezzi. eventualmente, figures e tables si spostano in coda.
\end{document}
Parti
Un’immagine.
\begin{figure}[htpb]
\centering\includegraphics[width=0.9\textwidth]{filename}
\caption{\label{fig:}}
\end{figure}
Un’immagine ruotata sul lato lungo della pagina.
\begin{sidewaysfigure}[p] % needs "rotating"
\centering\includegraphics[height=0.9\textheight]{filename}
\caption{ \label{fig:}}
\end{sidewaysfigure}