- Questo topic ha 7 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 20 anni, 6 mesi fa da .
-
Topic
-
Saluti a tutti.
E’ da poco che uso LaTeX e lo trovo uno strumento estremamente interessante.
Mi sono imbattuto in un problema non banale (spero) e, per la prima volta, credo di essere riuscito a giungere da solo ad una soluzione soddisfacente: ora vorrei un vostro giudizio perché non si smette mai di imparare… 😀Il problema: ho un voluminoso testo contenente immagini e qualche altro dettaglio a colori (qualche parola nel testo, testatine, titoli…) e vorrei stamparlo. A questo punto vengono i guai. Le soluzioni possibili:
-stampare tutto con una stampante a getto di inchiostro. Enorme spreco del prezioso inchiostro nero.
-stampare tutto con una stampante laser. Mancherebbero i colori…
-stampare tutto con una stampante laser a colori. Oggetto troppo costoso e non alla portata di tutte le tasche.
-far stampare da un servizio di stampa commerciale. Hanno prezzi esorbitanti per le pagine a colori, anche di un ordine di grandezza superiori a quelli delle pagine monocromatiche, già troppo alti….Ho ritenuto quindi che fosse necessario trovare il modo di “separare” un documento in due file: uno contenente il solo testo nero, da stampare con la stampante laser; uno contenente immagini e parole colorate, da stampare con la mia ottima stampante a getto di inchiostro.
Qui di seguito il codice che ho usato:
`
\usepackage{ifthen}
\usepackage{color}
\usepackage{graphicx}
\usepackage{verbatim}
`
I pacchetti utilizzati.
`
\definecolor{coloretesto}{rgb}{0,0,0}
\definecolor{coloreuser1}{rgb}{1,0,0}
\definecolor{coloreuser2}{rgb}{0,1,0}
\definecolor{coloreuser3}{rgb}{0,0,1}
%…
`
Qui sono definiti tutti i colori utilizzati nel documento. E’ un modo, ritengo, flessibile per modifiche successive nonché necessario al mio scopo… 😳
`
\newcommand{\myincludegraphics}[1]{\includegraphics{#1}}
`
Definisco un nuovo comando, da modificare poi, per inserire le figure poichè non so bene come agisce \renewcommand… 😳
`
%\begin{comment} % togliere il commento qui per ottenere tutto il documento
\newboolean{onlyblack}
\setboolean{onlyblack}{false} % mettere “true” o “false” se si vuole stampare il nero o il colore rispettivamente
`
Qui inserisco una variabile booleana modificando la quale nel sorgente si controlla se stampare il nero oppure il colore.
`
\ifthenelse{\boolean{onlyblack}}%{\definecolor{coloreuser1}{rgb}{1,1,1}%
\definecolor{coloreuser2}{rgb}{1,1,1}%
\definecolor{coloreuser3}{rgb}{1,1,1}%
\renewcommand{\myincludegraphics}[1]{\phantom{\includegraphics{#1}}}}{\definecolor{coloretesto}{rgb}{1,1,1}}
%\end{comment} % togliere il commento qui per ottenere tutto il documento
`
Qui il codice verifica il valore dato alla variabile booleana di cui sopra e ridefinisce i colori utilizzati dall’utente dando loro i valori del bianco.
Inoltre, per far “sparire” le immagini ma conservare lo spazio loro necessario ho ridefinito il commando \myincludegraphics utilizzando il comando \phantom. Qui in particolare vi chiedo se può essere considerata una procedura corretta.
`
\begin{document}
\color{coloretesto}Una frase scritta in nero, un'immagine colorata.
\begin{figure}
\begin{center}
\myincludegraphics{immagine.jpg}
\end{center}
\end{figure}Una \textcolor{coloreuser1}{parola} di un \textcolor{coloreuser2}{colore} ed una \textcolor{coloreuser3}{seconda} dell'altro\ldots
\end{document}
`Infine, se si vuole ottenere il documento originale è sufficiente togliere i commenti dalle righe \begin{comment} e \end{comment}, fornite dal pacchetto verbatim.
L’unico fatto seccante è quello di aver definito un nuovo comando invece di aver ridefinito \includegraphics, rendendo di fatto necessario modificare il sorgente di documenti già scritti, ma ho preferito non inoltrarmi in territori TeXani che ancora non conosco… 😀
LuCa
- Devi essere connesso per rispondere a questo topic.