- Questo topic ha 11 risposte, 5 partecipanti ed è stato aggiornato l'ultima volta 16 anni, 7 mesi fa da
gamberetto.
-
CreatoreTopic
-
1 Febbraio 2010 alle 15:41 #41561::
Ciao a tutti!In LaTeX c’è modo di ottenere quello che in C si ottiene con #define #ifdef #ifndef ecc?
In particolare sto lavorando sulla mia tesi di laurea e devo produrre due versioni del PDF, una per la consultazione ed una per la stampa, cambiando alcuni parametri come l’interlinea ed altre piccole cose.
-
CreatoreTopic
-
AutoreRisposte
-
-
1 Febbraio 2010 alle 15:58 #41562::
Ciao a tutti!
In LaTeX c’è modo di ottenere quello che in C si ottiene con #define #ifdef #ifndef ecc?
In particolare sto lavorando sulla mia tesi di laurea e devo produrre due versioni del PDF, una per la consultazione ed una per la stampa, cambiando alcuni parametri come l’interlinea ed altre piccole cose.
Dipende da molti fattori: per esempio come pensi di cambiare l’interlinea (ma sei proprio obbligato?); da come compili (da un front-end come Kile o TeXnic Center oppure da linea di comando); da quali siano le “piccole cose”.
Ciao
Enrico
-
1 Febbraio 2010 alle 16:21 #41563::
Le piccole cose sono:-
la rilegatura, che nel PDF da consultare non ha senso
-
%\usepackage[nottoc]{tocbibind} nella stampa e %\usepackage{tocbibind} nel PDF da consultare
-
eventualmente twoside nella stampa e oneside nel PDF da consultare
Questo è il mio file principale
`% Tesi di Davide Bellettini 00002174888% Classe del documento
\documentclass[12pt,a4paper,twoside,openright,titlepage,fleqn,italian]{book} % stampa
%\documentclass[12pt,a4paper,oneside,openright,titlepage,fleqn,italian]{book} % PDF\usepackage[utf8]{inputenc} % Codifica utf-8
\usepackage{listings} % Per formattare il corce sorgente
\usepackage[italian]{babel} % Sillabazione in italiano
\usepackage[colorlinks=false,
unicode=true,
plainpages=false,
pdfpagelabels]{hyperref} % Collegamenti ipertestuali
\usepackage{fancyhdr} % Per mettere dei margini decenti
%\usepackage[nottoc]{tocbibind} % Per fare apparire la biografia nell'indice (stampa)
\usepackage{tocbibind} % Per fare apparire la biografia e l'indice nell'indice (PDF)
\usepackage{graphicx} % Inclusione di immagini
%\usepackage{longtable} % non ricordo il perché di questo modulo
\usepackage{amsfonts} % serve per alcuni simboli, tra cui il segno di spunta\lstloadlanguages{PHP,XML} % solo sorgenti in PHP ed XML
\renewcommand{\thesection}{\arabic{section}}
\addtolength{\voffset}{-0,5cm}
\addtolength{\textheight}{1cm}
\setlength{\parindent}{0pt} % elimina il rientro di paragrafo%TeX utilizza una regola tipografica del passato, ormai condannata generalmente, secondo cui è necessario aumentare lo
%spazio che divide la fine di un periodo dall'inizio del successivo. Si pone rimedio a questa anomalia utilizzando
%l'istruzione \frenchspacing. (http://wwwcdf.pd.infn.it/AppuntiLinux/a2539.htm)
\frenchspacing\linespread{1.25} % interlinea
%\addtolength{\voffset}{-1,5cm} %stampa
%\addtolength{\textheight}{-1,5cm} %stampa
%\addtolength{\textwidth}{-1,5cm} %stampa
%inverto i margini per la rilegatura
%\linespread{1} %stampa\usepackage{fancyhdr}
\pagestyle{fancy}%
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}%
\renewcommand{\sectionmark}[1]{\markright{\thechapter .\thesection\ #1}}%
\renewcommand{\subsectionmark}[1]{\markright{\thechapter .\thesubsection\ #1}}%
\fancyhf{} %Clears all header and footer fields, in preparation.
\lhead{\rightmark}%
\chead{}%
\rhead{\bfseries\thepage}%
\renewcommand{\headrulewidth}{0.4pt}%
\renewcommand{\footrulewidth}{0pt}%
\setlength{\headheight}{15pt}%
\fancypagestyle{plain}{\fancyhead{}\renewcommand{\headrulewidth}{0pt}}%\fancyhead[LE,RO]{\textbf{\thepage}} %Displays the page number in bold in the header,
%to the left on even pages and to the right on odd pages.
\fancyhead[RE]{\nouppercase{\leftmark}} %Displays the upper-level (section) information –
%as determined above – in non-upper case in the header, to the left on odd pages.
\fancyhead[LO]{\nouppercase{\rightmark}} %Displays the lower-level (chapter) information – as
%determined above – in the header, to the left on odd pages.\usepackage{frontesp} % frontespizio unibo
% modificare frontesp.sty al variare del numero di correlatori% per modificare proprietà allinizio e fine degli envirorments, come lo spacing prima degli elenchi puntati
\usepackage{atbeginend}\AfterBegin{itemize}{\addtolength{\parskip}{-9pt}}
\AfterBegin{description}{\addtolength{\itemsep}{-9pt}}
\AfterBegin{enumerate}{\addtolength{\itemsep}{-9pt}}
\AfterBegin{verbatim}{\parskip{0.5}}% sillabazione di parole straniere e sigle
\hyphenation{ck-Web-Ser-vice-Plug-in}
\hyphenation{PHP-Do-cu-men-tor}
\hyphenation{sfDoc-trine-Guard}
\hyphenation{sf-Guard}% Layout Pagina
\makeindex
\begin{document}
\title{Framework di supporto allo sviluppo di applicazioni Web} % titolo della tesi
\author{Davide Bellettini} % candidato
\date{}
\titolocorso{Ingegneria Informatica} % corso di laurea
\nomemateria{Reti di Calcolatori L-A} % materia
\degreeyear{2008/2009} % Anno Accademico di Laurea
\session{III} % Sessione di Laurea
\principaladviser{Chiar.mo Prof. Antonio Corradi} % Relatore principale% non funziona modificare frontesp.sty al variare del numero di correlatori
\firstreader {Ing. Alessio Ferretti} % primo correlatore
\secondreader {Ing. Luca Ghedini} % secondo correlatore\maketitle % Frontespizio
\thispagestyle{empty}
\textcolor{white}{.}\\
\pagebreak\dedica{A tutti coloro che in questi anni\\ mi hanno supportato e sopportato.}
\makededica\addtolength{\oddsidemargin}{+1,3cm} %inversione destra/sinistra tradizionale
\addtolength{\evensidemargin}{-1,3cm} %inversione destra/sinistra tradizionale\clearpage{\pagestyle{empty}\cleardoublepage}
\addtocounter{tocdepth}{+1} % Mette anche le \subsubsection nell'indice\tableofcontents % Indice
\newpage% includo i file dei capitoli
\input{Capitoli/Introduzione}
\input{Capitoli/AppWeb}
\input{Capitoli/ConfrontoMVC}
\input{Capitoli/ConfrontoDB}
\input{Capitoli/Symfony}
\input{Capitoli/Sistema}
\input{Capitoli/Conclusioni}
\input{Capitoli/Ringraziamenti}\bibliographystyle{alpha} % Id alfanumerici per le citazioni bibliografiche
\bibliography{bibliografia} % inclusione bibliografia\end{document}
`Che è stato creato a partire da questa tesi https://www.universibo.unibo.it/index.php?do=FileShowInfo&id_file=3014&id_canale=31
sto cercando di capire il significato di ogni opzione ma alcune mi sono ancora oscure
-
-
1 Febbraio 2010 alle 16:23 #41564
-
1 Febbraio 2010 alle 16:40 #41565::
Potresti definire una nuova variabile booleana ed usarla per passare tra due diversi pezzi di codice.
Qualcosa tipo:
`\usepackage{ifthen}
\newboolean{stampa}
\setboolean{stampa}{true} % mettere “true” o “false” se vuoi la versione da stampare o da visualizzare a schermo\ifthenelse{\boolean{stampa}}
{}
{}` 🙂
LuCa
-
1 Febbraio 2010 alle 16:51 #41566::
Le piccole cose sono:
-
la rilegatura, che nel PDF da consultare non ha senso
-
%\usepackage[nottoc]{tocbibind} nella stampa e %\usepackage{tocbibind} nel PDF da consultare
-
eventualmente twoside nella stampa e oneside nel PDF da consultare
Sicuramente la soluzione a questo problema è in generale interessante, per eventuali altre applicazioni. Per il tuo caso, però, per queste piccole cose, non è assolutamente necessaria e forse anche dannosa. Innanzitutto a mio avviso ci deve essere un’unica versione della tesi. E poi che male ti fa, nella versione a monitor, la bibliografia nell’indice?
Per quanto riguarda oneside e twoside, si tratta solo di togliere e aggiungere un commento quando serve. È così complesso da richiedere un automatismo?Ciao
Ivan
-
-
1 Febbraio 2010 alle 17:51 #41567::
Le piccole cose sono:
-
la rilegatura, che nel PDF da consultare non ha senso
-
%\usepackage[nottoc]{tocbibind} nella stampa e %\usepackage{tocbibind} nel PDF da consultare
-
eventualmente twoside nella stampa e oneside nel PDF da consultare
Questo è il mio file principale
Il cambiamento del margine per la rilegatura non ha molto senso nemmeno nella stampa; chissà perché tutti si preoccupano tanto. Ma ognuno può avere le proprie idee. 🙂
L’opzione nottoc serve per evitare che l’indice vada nell’indice stesso. Non ho mai capito perché non sia di default per il pacchetto, visto che l’indice non va nell’indice.
Posso capire oneside o twoside; anche se sono dell’opinione di Ivan che la tesi è quella e non un altro testo. Il consiglio su crearsi un condizionale è ottimo. Il problema è come passare l’opzione “oneside” nel caso si faccia questa scelta. Ti consiglio comunque di usare geometry per impostare le dimensioni e puoi usare la strategia con il condizionale:
`\ifthenelse{\boolean{stampa}}
{\geometry{…}}% Per la stampa
{\geometry{…}}% Per la tesi on-line`L’inizio del documento sarà
`\newif\ifstampa
%\stampatrue
\ifstampa
\documentclass[12pt,a4paper,twoside,openright,titlepage,fleqn,italian]{book} % stampa
\else
\documentclass[12pt,a4paper,oneside,openright,titlepage,fleqn,italian]{book} % consultazione
\fi
\usepackage{ifthenelse}`
e poi potrai usare la strategia con \ifthenelse quando ti pare. Quando vuoi la stampa togli il % davanti a \stampatrue.Riguardo al codice che hai presentato, oltre al consiglio su geometry, ti prego di ricontrollare la parte relativa a fancyhdr, che è confusa e fa un paio di volte le stesse cose. Quanto a
`\thispagestyle{empty}
\textcolor{white}{.}\\
\pagebreak `
per avere una pagina vuota, non credi che sarebbe più semplice \cleardoublepage dopo aver caricato il pacchetto “emptypage”?Ciao
Enrico
-
-
2 Febbraio 2010 alle 11:12 #41568::
Grazie a tutti per le risposte, sto cercando di capire le cose una per una, a cominciare da questa:Quanto a
`\thispagestyle{empty}
\textcolor{white}{.}\\
\pagebreak `
per avere una pagina vuota, non credi che sarebbe più semplice \cleardoublepage dopo aver caricato il pacchetto “emptypage”?Ciao
EnricoTemo che emptypage non sia installato, oppure lo devo scaricare a parte?
-
2 Febbraio 2010 alle 11:37 #41569::
Grazie a tutti per le risposte, sto cercando di capire le cose una per una, a cominciare da questa:
Quanto a
`\thispagestyle{empty}
\textcolor{white}{.}\\
\pagebreak `
per avere una pagina vuota, non credi che sarebbe più semplice \cleardoublepage dopo aver caricato il pacchetto “emptypage”?Ciao
EnricoTemo che emptypage non sia installato, oppure lo devo scaricare a parte?
Puoi mettere questo nel preambolo:
`\def\cleardoublepage{%
\clearpage
\if@twoside
\ifodd\c@page
% do nothing
\else
\emptypage@emptypage
\fi
\fi
}
\def\emptypage@emptypage{%
\hbox{}
\thispagestyle{empty}
\newpage
\if@twocolumn
\hbox{}
\newpage
\fi
}
\makeatother`
Non avrai più bisogno dei trucchi con \thispagestyle{empty} prima dei capitoli e \cleardoublepage lascia eventualmente una pagina completamente bianca.Che distribuzione e sistema operativo usi?
Ciao
Enrico
-
2 Febbraio 2010 alle 11:46 #41570
-
2 Febbraio 2010 alle 12:10 #41571::
Che distribuzione e sistema operativo usi?
Ciao
EnricoUbuntu 9.04 a 64 bit in università
Ubuntu 9.10 a 32 bit sul portatile
Ubuntu 9.10 a 64 bit sul mio fissoLo sospettavo; il problema è che Ubuntu usa la TeX Live 2007. Speriamo che la prossima versione abbia la 2009 (che è in “squeeze”, attualmente; quindi penso che qualche eroico sperimentatore possa provare a installarla anche sulla 9.10).
Ciao
Enrico
-
2 Febbraio 2010 alle 18:41 #41572::
https://launchpad.net/~aelmahmoudy/+archive/tl2009Qui puoi trovare le informazioni per aggiungere texlive 2009 a ubuntu. Io l’ho provato e mi pare funzioni.
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.