Risposte nei forum create
-
AutoreRisposte
-
9 Ottobre 2008 alle 13:41 in risposta a: Lettrine non mi genera un capolettera più alto di due righe. #27356::
Il problema sta nel previewer dvi di LEd. Quando compilo con pdfLaTeX, il capolettera è stupendamente alto quattro righe, previa chiamata di type1ec, come da te indicato.
Ciao Tommaso, ti invito a leggere con attenzione il paragrafo 5.2 a pagina 38 dell’”Arte”, sintesi di un intenso scambio di mail fra il prof. Beccari e me (scambio che mi dispiace non sia di pubblico dominio). In particolare, (banalizzando) c’è scritto che i font CM-Super richiedono il formato PDF. Questo fatto mi era sfuggito, quando ho pubblicato la prima versione della guida.
In effetti, per tutti quelli come me che usano Mac e che ignorano il DVI la vita è di gran lunga più semplice… 😉
Io uso il Mac e non ignoro affatto il DVI. 😀 Il codice
`\documentclass[a4paper]{book}
\usepackage[italian]{babel}
\usepackage[latin1]{inputenc}
\usepackage{type1ec}
\usepackage[T1]{fontenc}
\usepackage{makeidx}
\usepackage{lettrine}
\usepackage{microtype}\makeatletter
\renewcommand*{\cleardoublepage}{%
\clearpage
\if@twoside
\ifodd\c@page
\else
\null\thispagestyle{empty}\newpage
\if@twocolumn
\null\newpage
\fi
\fi
\fi
}
\makeatother\hyphenation{parole da sillabare}
\begin{document}
\pagestyle{myheadings}
\markboth{\textsc{indice}}{indice}
\frontmatter
\tableofcontents
\mainmatter
\part{Inferno}
\chapter*{Canto primo}
\addcontentsline{toc}{chapter}{Canto primo}
\markboth{\textsc{inferno}}{canto primo}
{\small {\itshape Qui scrivo il riassunto del capitolo}}
\lettrine[lines=4]{G}{iunto alla metà del cammino} parola parola parola parola parola parola
parola parola parola parola parola parola parola parola parola parola parola parola
parola parola parola parola parola parola parola parola parola parola parola parola
parola parola parola parola parola parola parola parola parola parola parola parola
parola parola parola parola parola parola parola parola parola parola parola parola
parola parola parola parola parola parola parola parola parola parola parola parola\end{document}`
produce un documento che xdvi visualizza perfettamente, usando i CM-Super, come si può dedurre dall’esame del file ps2pk.map: il font usato per la grande G è “ecrm3583 scaled 1665”, e la riga rilevante di ps2pk.map è
`ecrm3583 SFRM3583 “T1Encoding ReEncodeFont”::Grazie mille Enrico.
Purtroppo ho ancora dei problemi.
Prendiamo questo codice:`
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{sapthesis}[2009/01/01 Sapienza University of Rome Ph.D. thesis class]\DeclareOption{draft}{\typeout{sapthesis option 'draft' used} \PassOptionsToClass{\CurrentOption}{book}}
\DeclareOption{10pt}{\typeout{sapthesis option '10pt' used} \PassOptionsToClass{10pt}{book}}
\DeclareOption{11pt}{\typeout{sapthesis option '11pt' used} \PassOptionsToClass{11pt}{book}}
\DeclareOption{12pt}{\typeout{sapthesis option '12pt' used} \PassOptionsToClass{12pt}{book}}
\DeclareOption*{\PassOptionsToPackage{layaureo}{\CurrentOption}}
\ExecuteOptions{11pt}
\ProcessOptions\relax
\LoadClass[a4paper]{book}\RequirePackage{layaureo}
`Quando richiamo la classe, le opzioni draft e 12pt funzionano, l’opzione 10pt viene ignorata (viene stampato il messaggio nel log ma viene comunque usato il corpo a 11pt).
Se aggiungo alle opzioni della classe binding=1cm, anche questa opzione, inizialmente sconosciuta e che dovrebbe essere passata a layaureo, in realtà viene ignorata.Posso aggirare il problema del 10pt, usando comandi come:
`
\newcommand{\@fontsize}{}
…
\DeclareOption{10pt}{\typeout{sapthesis option '10pt' used} \renewcommand{\@fontsize}{10pt}}
…
`Però mi piacerebbe capire se c’è qualcosa di sbagliato in quello che ho scritto o in generale come usare i comandi “standard”.
Il problema dell’opzione 10pt è molto sottile. La classe book esegue il comando
`\ExecuteOptions{letterpaper,10pt,twoside,onecolumn,final,openright}`
La tua esegue sempre le opzioni 11pt e a4paper, che passa a book.cls; se dai nel tuo documento l’opzione 10pt hai l’esecuzione delle opzioniletterpaper
10pt
twoside
onecolumn
final
openright
11pt
a4paper
10ptma l’ultima è già stata data e quindi non ha effetto. Occorre qualche trucco molto più complesso per avere come default 11pt e però poter scegliere anche il corpo 10. Provo a pensarci.
Sulle opzioni da passare a layaureo per ora passo.
Ciao
Enrico
::In primis mi scuso per aver postato male senza leggere le netiquette. Ringrazio egreg9 e lorenzo.pantieri per avermi risposto (grande lorenzo – ti do del tu – ottima guida!).
Per questo riguarda l’argomento disacalico non mi sembra che il suo commento produca un file pdf diverso (ma magari sono io che non ci faccio caso o è una casualità).
Se specifico il path con il “/” funziona!!! Ottimo! 8)
hyperref lo specifico come ultimo pacchetto (non come ultimo elemento del preambolo) però mi dà sempre quel warning che non capisco! 🙁
Sul forum è usanza darsi del tu. ll problema del messaggio di avviso è che hai un ambiente titlepage. Si dovrebbe risolvere dando \pagenumbering{alph} prima di \begin{titlepage}.
Ciao
Enrico
::grazie funziona perfettamente
però avrei un altro problemino…
Come si fa a sbarrare una lettera qualsiasi e più in generale un simbolo con una linea diagonale???
L’effetto che vorrei creare dovrebbe essere simile a quando si semplificano i termini di un equazioneNon farlo, è un’abitudine che andrebbe tolta fin dalla più tenera età. Se però proprio vuoi fare del male a te e a chi ti legge, usa il pacchetto cancel.
Ciao
Enrico
8 Ottobre 2008 alle 19:52 in risposta a: Formattazione di una tabella secondo i desideri dell’utente #27425::Ma perché i \multicolumn{1} dove stai usando la specifica di colonna già data?
Ciao
EnricoPerché altrimenti la larghezza della colonna non viene mantenuta: vedi la mia tabella (sopra, in versione ‘fancy’) e quella da te proposta.

A proposito: sapresti dirmi perché le righe non sono allineate?
Do una risposta riguardo all’ultima faccenda: di tabelle così orribili, sinceramente, non intendo occuparmi. If you are upset about this, you shouldn’t be (TeXbook, p. 238). Sbagli a posizionare lo specificatore in \multicolumn; i caratteri | vanno specificati nella colonna precedente (eccetto l’eventuale specificatore | all’inizio). Quindi per la prima colonna va bene \multicolumn{1}{|c|}, per le altre va \multicolumn{1}{c|}
Ciao
Enrico
::due cose…
1) credo di aver colto l’acrobazia… 8)
2) sicuramente il rapporto tra i messaggi da noi postati (~25) non è un indice onesto del rapporto tra le nostre abilità TeXniche… 😉Adesso però, dopo aver approfittato del maggior tempo in treno gentilmente concessomi da Trenitalia :evil:, ti do una soluzione lievemente più semplice:
`\renewcommand\lstinputlisting{%
\begingroup\shorthandoff{“}\lst@setcatcodes\lst@inputlisting}`
Ciao
Enrico
::Sono senza parole…
Grazie Enrico.LuCa
…accidenti, ho raggiunto e superato i 137 messaggi senza accorgermene… 😀 😀
Questo è il mio numero 3540 ❗
Vediamo adesso di capire dove sta il problema. Il modulo dell’italiano di babel dichiara attivo il carattere “, perché serve per alcune scorciatoie. Purtroppo questo va in conflitto con la specifica di nomi tra doppi apici. Alcuni pacchetti, per esempio graphicx, controllano la faccenda, purtroppo listings non lo fa.
Perciò la prima riga del codice proposto salva il significato di \lstinputlisting in un altro comando, ne avremo bisogno dopo. A questo punto dobbiamo usare il comando \shorthandoff{“} di babel per togliere il significato speciale di “; lo faremo in un gruppo, in modo che alla chiusura tutto torni allo stato precedente.
Ridefiisco dunque \lstinputlisting aprendo un gruppo e dando quel comando. Poi uso il trucco di mettere da parte un token da far eseguire dopo la successiva assegnazione che comincia subito dopo: \def\next. TeX adesso si trova davanti \def\next{“percorso”} che è un’assegnazione con tutti i crismi e, cosa importante, ” non ha significati speciali. Perciò TeX esegue la definizione ed espande il token messo da parte che, a sua volta, esegue l’originale \lstinputlistings prendendo come argomento \next (o meglio la sua espansione; funziona, avevo prima pensato di mettere un paio di \expandafter che non si sono rivelati necessari). Poi si chiude il gruppo cominciato prima.
Et voilà.
Ciao
Enrico
::Ho il problema di dover inserire nel mio documento dei file sorgente Fortran.
Purtroppo devo trattare dei path che comprendono spazi nei nomi di file e directory.Il seguente codice compila, indipendentemente dal contenuto del file “file.txt”
`\documentclass{minimal}
\usepackage{listings}
\begin{document}
\lstinputlisting{“/home/bistek/pro va/file.txt”}
\end{document}`Il seguente codice invece non compila.
`\documentclass{minimal}
\usepackage[italian]{babel}
\usepackage{listings}
\begin{document}
\lstinputlisting{“/home/bistek/pro va/file.txt”}
\end{document}`
Ho semplicemente caricato anche il pacchetto babel…RIsulta l’errore:
`
…
…
! Incomplete \iffalse; all text was ignored after line 5.
\fi
<*> nomefile.tex`Inutile dire che non so più dove cercare e/o sbattere la testa. 😕
Il file è salvato in utf-8, Ubuntu… 🙄Il modo più semplice è di non usare nomi di directory con spazi. 💡
Se proprio devi, scrivi questo dopo aver caricato listings:
`\let\originallstinputlisting\lstinputlisting
\renewcommand\lstinputlisting{%
\begingroup\shorthandoff{“}%
\afterassignment\repairlstinputlisting
\def\next}
\newcommand\repairlstinputlisting{\originallstinputlisting{\next}\endgroup}`
Ciao
Enrico
::Salve a tutti, scusate se la domanda è un pò ingenua, ma ho cercato dappertutto e non trovo la soluzione:
ho inserito nella tesi una parte di codice (verbatim) che però con l’interlinea del documento (1.5) viene troppo allungata in verticale.
E’ possibile ridurre l’interlinea SOLO per le sezioni di codice verbatim?
\begin{verbatim}
\end{verbatim}Scrivi la seguente magia nel preambolo:
`\makeatletter
\g@addto@macro\@verbatim{\linespread{1}\selectfont}
\makeatother`
Se vuoi che il font sia più piccolo, sostituisci \selectfont con \small.Ciao
Enrico
::Innanzitutto grazie della risposta.
Spesso, nonostante non sia un grande esperto, mi trovo ad aiutare i miei colleghi nell’uso di LaTeX. Molti passano le giornate a rifinire il layout…
Mi è così venuta l’idea di fare una classe, abbastanza chiusa, per le tesi di dottorato in Fisica della Sapienza, sulla falsariga di quelle già esistenti per altre università.
L’idea è stata accettata… ora però mi devo dar da fare!Vorrei limitarmi ad una classe, chiamata sapthesis e basata sulla book, che carichi i latin modern con la codifica T1, cambi il layout di pagina con fancyhdr, usi layaureo per allargare la colonna del testo e dia l’opzione per un margine di rilegatura ed infine che generi un frontespizio.
Le uniche opzioni possibili per la classe sarebbero a4paper(default), 11pt (default), 10pt, 12pt, draft, twoside (default), oneside, binding=…
Questo è quello che sto scrivendo…
`
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{sapthesis}[2009/01/01 Sapienza University of Rome Ph.D. thesis class]% dichiaro e processo le opzioni
\DeclareOption{a4paper}{\typeout{sapthesis option 'a4paper' used} \PassOptionsToClass{a4paper}{book}}
\DeclareOption{draft}{\typeout{sapthesis option 'draft' used} \PassOptionsToClass{draft}{book}}
\DeclareOption{oneside}{\typeout{sapthesis option 'oneside' used} \PassOptionsToClass{oneside}{book}}
\DeclareOption{twoside}{\typeout{sapthesis option 'twoside' used} \PassOptionsToClass{twoside}{book}}
\DeclareOption{10pt}{\typeout{sapthesis option '10pt' used} \PassOptionsToClass{10pt}{book}}
\DeclareOption{11pt}{\typeout{sapthesis option '11pt' used} \PassOptionsToClass{11pt}{book}}
\DeclareOption{12pt}{\typeout{sapthesis option '12pt' used} \PassOptionsToClass{12pt}{book}}
\DeclareOption*{\ClassError{sapthesis}{Unknow option}{The option '\CurrentOption' is unknown}}
\ExecuteOptions{a4paper,11pt,twoside}
\ProcessOptions\relax
\LoadClass{book}% carico i pacchetti
\RequirePackage[T1]{fontenc}
\RequirePackage{lmodern}
\RequirePackage{textcomp}% fanyhdr, frontespizio, ecc…
`Quello che vorrei aggiungere al precedente codice è richiamare layaureo passandogli il margine per la rilegatura dalle opzioni della classe, ad esempio:
`
\documentclass[draft, binding=1cm]{sapthesis}
`Cambia \DeclareOption* con
`\DeclareOption*{\PassOptionsToPackage{layaureo}{\CurrentOption}}`
altrimenti è piuttosto complicato.Ciao
Enrico
8 Ottobre 2008 alle 15:41 in risposta a: Formattazione di una tabella secondo i desideri dell’utente #27423::Ho fatto alcune modifiche ed ho ottenuto (più o meno) quello che desidero:
`\setlength{\tabcolsep}{2pt}%
\begin{xtabular}{|m{63pt}|m{26pt}|m{26pt}|}
\hline
%%% Intestazione tabella
\multicolumn{1}{|c|}{\rule[-1.5em]{0pt}{4em}\centerlistitem{\textbf{i}}} &
\multicolumn{1}{c|}{\rule[-1.5em]{0pt}{4em}\centerlistitem{\textbf{M\(\mathsf{_{n2}}\)} \\ \textbf{[Nm]}}} &
\multicolumn{1}{c|}{\rule[-1.5em]{0pt}{4em}\centerlistitem{\textbf{M\(\mathsf{_{a2}}\)} \\ \textbf{[Nm]}}} \\
\hline
%%% Fine intestazione tabella
\multicolumn{1}{|m{63pt}}{\rule[-1ex]{0pt}{2em}TIPO 1} &
\multicolumn{1}{|m{26pt}}{\centering\rule[-1ex]{0pt}{2em}10} &
\multicolumn{1}{|m{26pt}|}{\centering\rule[-1ex]{0pt}{2em}16} \\
\hline
\multicolumn{1}{|m{63pt}}{\rule[-1ex]{0pt}{2em}TIPO 2} &
\multicolumn{1}{|m{26pt}}{\centering\rule[-1ex]{0pt}{2em}12} &
\multicolumn{1}{|m{26pt}|}{\centering\rule[-1ex]{0pt}{2em}20} \\
\hline
\multicolumn{1}{|m{63pt}}{\rule[-1ex]{0pt}{2em}TIPO 3} &
\multicolumn{1}{|m{26pt}}{\centering\rule[-1ex]{0pt}{2em}12} &
\multicolumn{1}{|m{26pt}|}{\centering\rule[-1ex]{0pt}{2em}20} \\
\hline
\end{xtabular}`Adesso vediamo se riesco ad innestare il tutto nel ‘tritatutto’ che ho messo in piedi…
Ma perché i \multicolumn{1} dove stai usando la specifica di colonna già data?
Ciao
Enrico
::Scusate,
devo stampare stasera e non ho molto tempo di far ricerche, però ci ho provato.Il mio problema è che quando vado a capo il capoverso risulta shiftato di qualche centimetro verso il basso. Questo succede anche nelle section, dopo il titolo. Qualcuno può darmi una mano?Il documento che compilo è questo:
`\documentclass[a4paper,11pt,twoside,english,openright]{book}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{geometry}
\geometry{verbose,letterpaper,tmargin=2cm,bmargin=2cm,lmargin=2.5cm}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\setlength{\parskip}{\medskipamount}
\usepackage{float}
\usepackage{textcomp}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{setspace}
\usepackage{fancyhdr,color,lipsum}
\usepackage{url}\makeatletter
\providecommand{\tabularnewline}{\\}
\usepackage{gensymb}\newcommand{\lyxdot}{.}
\makeatother
\usepackage[english]{babel}
\pagestyle{fancy}
\fancyheadoffset[RO,LE]{3pt}
\fancyhead[RO,LE]{\thepage}
\fancyhead[LO]{\rightmark}
\fancyhead[RE]{\lefttmark}\renewcommand\headrule{{
\hrule height 2pt
width\headwidth
\vspace{1pt}
\hrule height 1pt
width\headwidth
\vspace{-4pt}}}\begin{document}
\thispagestyle{empty}
\vspace{10cm}
\begin{flushright}
\null\vspace{\stretch{2} } \null
\textit{A……}\\
\vspace{\stretch{1} }
\end{flushright}
\thispagestyle{empty}\dominitoc
\begin{spacing}{0.8}
\tableofcontents
\end{spacing}\mainmatter
\setcounter{page}{0}\thispagestyle{empty}\input{intro.tex}
\setcounter{page}{0}\thispagestyle{empty}
\thispagestyle{empty}\input{ch1.tex}
\input{ch2.tex}
\input{Ch3.tex}
\input{Ch4.tex}
\input{conclusions.tex}\backmatter
\newpage
\thispagestyle{empty}
\null
\newpage\addcontentsline{toc}{chapter}{Bibliography}
\bibliographystyle{plain}
\bibliography{mastertesi}
\nocite{*}\end{document}`
Sezione del forum sbagliata. Togli la parte segnata in rosso.
Ciao
Enrico
::Ciao e grazie per l’attivazione!!! Sono alle prime armi con LaTex e mi sto cimentando con l’ottima guida LaTex per l’impaziente per avere un’infarinatura generale del tutto.
Ecco proprio per questo avrei alcune domande in proposito.
-
[^]Nella guida viene specificato di dichiarare nel preambolo
`
\captionsetup[table]{position=top}
`
però non mi è ben chiaro a cosa serve. Serve per uniformare l’allinemento delle didascalie delle tabelle (e per le figure!?) !? Ho provato a commentarlo ma l’output non mi sembra variare. (lavoro sulla seguente tabella)`\begin{table}[tb]
\caption{Esempio di tabella}
\label{tab:idTabella}
\centering
\begin{tabular}{ll}
\toprule
\multicolumn{2}{l}%
{\textbf{Musei}} \\
\midrule
Louvre & Parigi \\
Prado & Madrid \\
MoMA & New York \\
\bottomrule
\end{tabular}
\end{table}`Se non lo specifichi viene diverso. Te l’assicuro.
- [^] si consiglia di specificare il path delle figure per non doverlo specificare. Io sto lavorando in un path %tesi% e ho le figure in %tesi%/figure. Nel preambolo scrivo
`\graphicspath{figure}`ma niente! Non me le riconosce
`\graphicspath{{figure/}}`
Nota le graffe in più e anche la barra.Per la terza domanda cerca nel forum, prima di rifarla in un altro filone.
Ciao
Enrico
8 Ottobre 2008 alle 8:31 in risposta a: Modificare ClassicThesis con il pacchetto ArsClassica #25880::Così, almeno, il codice identico rimane in un posto solo. Niente \makeatletter e \makeatother! Dai, fa’ vedere che hai letto con attenzione il mio messaggio!
L’ho letto con attenzione, credimi. (Purtroppo quei \makeatletter e \makeatother li usa anche Miede, nel codice di classicthesis-ldpkg). Adesso provo a toglierli tutti e a compilare, ma qualcosa mi dice che non filerà tutto liscio…
E a me succede il contrario, come la mettiamo? Che Miède abbia pasticciato con le versioni di classicthesis?
Io ho la versione 2008/10/01, che alle righe 47-60 definisce i condizionali con @ davanti. Con tlmgr si possono aggiornare automaticamente i pacchetti della TeX Live (e di MacTeX, che è la stessa cosa) e quindi è possibile che la tua versione sia rimasta indietro.
Possibilissimo (lavoro con MacTeX 2007). Adesso aggiorno e verifico.
Grazie mille (per ora…)!
Confermo. Miède ha modificato il nome dei condizionali, ho trovato una versione di classicthesis del 2007 dove erano senza @.
Quanto ai \makeatother e \makeatletter, il fatto che Miède li usi non dovrebbe essere un buon motivo per commettere lo stesso errore. Anzi, sarebbe forse il caso di dirgli di toglierli dal suo classicthesis-ldpkg.sty. Una rapida occhiata mi dice che danni non dovrebbero venirne fuori.
Ciao
Enrico
-
AutoreRisposte
