Archivio

Archivio per la categoria ‘LaTeX’

Libro di poesie con LaTeX

16 luglio 2011 Alberto Nessun commento

Chi di voi non ha pensato scrivere un libretto di poesie? se ci avete pensato ecco a voi un modo per farlo in modo semplice con LaTeX. Vi posto il codice sorgente del preambolo del file con i commenti:

%definisco la classe del documento
\documentclass[11pt]{book}
 
%predispongo il foglio per la stampa in formato a5
\usepackage[a5paper]{geometry}
 
%includo i pacchetti per la lingua
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
 
%includo il pacchetto specifico per scrivere le poesie
\usepackage{verse}
 
%includo i pacchetti per la grafica come l'inserimento di immagini e testo colorato
\usepackage{graphicx,xcolor,subfig}
%in questa cartella metterò tutte le immagini che devo includere nel file
\graphicspath{{immagini/}}
 
%permette di togliere la numerazione alle pagine (volendo potete anche toglierlo)
\makeatletter
\let\ps@plain\ps@empty
\ps@empty
\makeatother 
 
%definisco il comando che mi permette di mettere le informazioni sulla poesia come 
%la data in cui è stata scritta e il luogo
\newcommand{\attrib}[1]{\nopagebreak{\raggedleft\footnotesize #1\par}}
 
% definisco l'ambiente che si preoccuperà di gestire la poesia
\newcommand{\poesia}[3]{\vspace*{\fill}%
\poemtitle{#1}%
\begin{verse}%
#2%
\end{verse}%
\attrib{#3}
\vspace*{\fill}\clearpage
}

a questo punto posso creare mettere del testo nel documento:

\begin{document}
 
\clearpage
%predispongo la pagina per la copertina
\begin{titlepage}
 
\begin{figure}[htbp]
      \centering
      \includegraphics[scale=.3]{copertina} % qui ci va il nome del fle della copertina
      %il valore scale=0.3 è da modificare a seconda della dimensione dell'immagine
\end{figure}
 
\begin{center}
\begin{LARGE}
\textsc{\textbf{Titolo}}
\end{LARGE}
 
\begin{flushleft}
\vspace*{1 cm}\hspace{3.0 cm}\LARGE Autore\\
\end{flushleft}
 
\end{center}
\end{titlepage}
 
%pagina in cui mettere ringraziamenti, motivazioni, etc
\section*{Intro}
\newpage
 
%il titolo della poesia deve avere tutte le caratteristiche del titolo delle sezioni
\renewcommand{\poemtoc}{section}
 
%utilizzo l'ambiente poesia che ho creato prima
\poesia{Titolo}
{Primo verso prima strofa\\
secondo verso prima strofa\\
terzo verso prima strofa
 
primo verso seconda strofa\\
secondo verso seconda strofa\\
terzo verso seconda strofa\\
}{Luogo, data}
 
\end{document}

In questo modo ogni poesia verrà messa su una pagina singola e sarà centrata in verticale… e ora non dite che scrivere documenti con LaTeX è difficile.

Ciao Alberto

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Categorie:LaTeX, Notizie Tag: , ,

Color Theme for Emacs

26 gennaio 2010 Alberto Nessun commento

Grazie a un interessante thread sulla mailing list del Lug di Bergamo mi sono riavvicinato a Emacs, per chi di voi non sapesse di cosa sto parlando consiglio di andare qui e qui. Emacs è molto più di un semplice editor, direi che è un mondo, con infinite personalizzazioni e potenzialità. Da parte ho creato un piccolo color-theme che evidenzia i comandi del linguaggio LaTeX. Per utilizzarlo dovete installare il pacchetto Color-theme di emacs, sulla mia Archlinux si può fare con il comando:

sudo pacman -S emacs-color-theme

fatto questo si deve andare a modificare il file .emacs presente nella vostra /home aggiugendo le seguenti righe in testa al file

(require 'color-theme)
(load-file "~/path/color-theme-kato.el")
(color-theme-kato)

al posto di ~/path/color-theme-kato.el dovete mettere il path del vostro color-theme-kato.el… ed ecco il file color-theme-kato.el:

(defun color-theme-kato ()
"Color theme by Kato, created 2010-01-21."
(interactive)
(color-theme-install
'(color-theme-kato
((background-color . "black")
(background-mode . dark)
(border-color . "black")
(cursor-color . "black")
(foreground-color . "LightGray")
(mouse-color . "black"))
((blank-space-face . blank-space-face)
(blank-tab-face . blank-tab-face)
(list-matching-lines-face . bold)
(view-highlight-face . highlight))
(default ((t (nil))))
(blank-space-face ((t (:background "LightGray"))))
(blank-tab-face ((t (:background "green" :foreground "black"))))
(bold ((t (:bold t))))
(bold-italic ((t (:italic t :bold t))))
;; (font-lock-builtin-face ((t (:italic t :bold t :foreground "LightSteelBlue"))))
(font-lock-comment-face ((t (:italic t :foreground "yellow"))))
(font-lock-constant-face ((t (:foreground "green"))))
(font-lock-function-name-face ((t (:italic t :bold t :foreground "Blue"))))
(font-lock-keyword-face ((t (:foreground "red"))))
(font-lock-preprocessor-face ((t (:italic t :foreground "HotPink"))))
(font-lock-string-face ((t (:foreground "green"))))
;; (font-lock-reference-face ((t (:italic t :bold t :foreground "LightSteelBlue"))))
;; (font-lock-type-face ((t (:italic t :foreground "LightSlateBlue"))))
(font-lock-variable-name-face ((t (:foreground "blue"))))
(font-lock-warning-face ((t (:bold t :foreground "blue"))))

;; Comandi specifici per LaTeX
(font-latex-math-face ((t (:foreground "green"))))
(font-latex-italic-face ((t (:foreground "orange"))))
(font-latex-bold-face ((t (:foreground "orange"))))
(font-latex-string-face ((t (:foreground "orange"))))
(font-latex-verbatim-face ((t (:foreground "orange"))))
;;

(highlight ((t (:background "yellow" :foreground "red"))))
(isearch ((t (:background "dim gray" :foreground "aquamarine"))))
(ispell-face ((t (:bold t :background "#3454b4" :foreground "yellow"))))
(italic ((t (:italic t))))
(menu ((t (:background "#304020" :foreground "navajo white"))))
(modeline ((t (:background "#304020" :foreground "navajo white"))))
(modeline-buffer-id ((t (:background "navajo white" :foreground "dim gray"))))
(modeline-mousable ((t (:background "light goldenrod" :foreground "dim gray"))))
(modeline-mousable-minor-mode ((t (:background "dim gray" :foreground "light goldenrod"))))
(region ((t (:background "dim gray" :foreground "aquamarine"))))
(secondary-selection ((t (:background "darkslateblue" :foreground "light goldenrod"))))
(show-paren-match-face ((t (:background "turquoise" :foreground "black"))))
(show-paren-mismatch-face ((t (:background "purple" :foreground "white"))))
(underline ((t (:underline t))))
(zmacs-region ((t (:background "dim gray" :foreground "aquamarine")))))))

I hope you like it ;-)

Ciao Alberto

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Categorie:LaTeX, Notizie Tag:

Abilitare sintassi LaTeX su Mediawiki

29 novembre 2009 Alberto Nessun commento

Ciao a tutti, chi di voi non ha mai avuto sul proprio spazio web un motore wiki? chi di voi ha mai voluto abilitare la sintassi LaTeX su questo spazio?

Forse quasi nessuno… in ogni caso volevo scrivere qui i passi che si devono fare per abilitare la sintassi LaTeX in un motore wiki. Questo abilitazione vi consente di inserire direttamente nella pagina delle formule scritte nel linguaggio LaTeX, noto ai matematici, per scrivere delle formule con la giusta formattazione. LaTeX è, di fatto, lo standard de facto per la scrittura di articoli scientifici di matematica, fisica, informatica, etc.
Questa la configurazione server/wiki su cui è stato testato:

  • Server su servizio di hosting gratuito (altervista)
  • MediaWiki 1.15.1 (motore opensource con il quale viene fatta girare Wikipedia)

Nel mio caso dato che il server non è gestito direttamente da me, io posso solo uplodare file e installare applicativi per il web (drupal, joomla, wordpress, MediaWiki, dokuwiki…) non mi è consentito di installare il compilatore LaTeX, quindi per poter fare il rendering delle formule è necessario appoggiarsi su un servizio esterno che faccia il rendering per me e poi mi mandi il risultato. Sul sito di MediaWiki ho trovato questo tutorial: LaTeX on a shared host, che come si legge

It is possible to run LaTeX under a shared host. It might not be beautiful, but it works. If you wish to do this, be aware that this is not an official hack.

In effetti le formule non sono bellissime da vedere ma almeno ho delle formule scritte come si comanda. Come si legge nella pagina io sono nel caso

If you don’t have CGI support, use a public mimeTeX server

I passi da fare sono i seguenti

  • Andare sul server e prendere il file $WikiPath/includes/Math.php, dove $WikiPath è il path della vostra installazione. Alla fine del file c’è questa funzione php:

    public static function renderMath( $tex, $params=array() ) {
    global $wgUser;
    $math = new MathRenderer( $tex, $params );
    $math->setOutputMode( $wgUser->getOption('math'));
    return $math->render();
    }

    a questa funzione si deve aggiungere il percorso del servizio che farà il rendering delle formule per voi e che poi vi manderà il risultato. I percorsi che potete inserire sono:

    http://www.forkosh.dreamhost.com/mimetex.cgi

    http://www.forkosh.dreamhost.com/mathtex.cgi


    la riga da aggiungere è la seguente:

    return '< img class="tex" src="percorso_che_volete?' . rawurlencode($tex) . '" alt="LaTeX: ' . htmlspecialchars($tex) . '">';

    al posto di percorso_che_volete dovete mettere uno dei due, la funzione quindi diventerà:

    public static function renderMath( $tex, $params=array() ) {
    return '< img class="tex" src="percorso_che_volete?' . rawurlencode($tex) . '" alt="LaTeX: ' . htmlspecialchars($tex) . '">';
    global $wgUser;
    $math = new MathRenderer( $tex, $params );
    $math->setOutputMode( $wgUser->getOption('math'));
    return $math->render();
    }

    nella riga che ho aggiunto si deve togliere lo spazio tra return '< e img class="tex", che ho dovuto mettere altrimenti mi veniva restituita una formula, ricordatevi di tenere il ? dopo l'url

    Quando avete fatto le modifiche prendete il file e rimettetelo sul server sovrascrivendo quello precedente

  • Prendete il file $WikiPath/LocalSettings.php e abilitate la sintassi LaTeX andando a cercare la righe

    ## If you have the appropriate support software installed
    ## you can enable inline LaTeX equations:
    $wgUseTeX = false;

    cambiandole in

    ## If you have the appropriate support software installed
    ## you can enable inline LaTeX equations:
    $wgUseTeX = true;

    anche in questo caso prendete il file, rimettelo sul server sovrascrivendo quello vecchio.
  • A questo punto potete introdurre le forumle LaTeX scrivendo nel codice della pagina

    < latex>
    formula
    < /latex>

    Anche in questo caso dovete togliere lo spazio tra < e latex (anche per il tag di chiusura) che ho dovuto mettere altrimenti non avreste visto il tag.

Spero che questo possa tornare utile a qualcuno.

Ciao Alberto

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Categorie:LaTeX, Notizie Tag: