Risposte nei forum create
-
AutoreRisposte
-
::
Potresti realizzare una piccola guida su come si imposta una
classe e un pacchetto per LaTeX. Se è ben fatta e utile gli amministratori
potrebbero decidere di pubblicarla sul sito del GuIT.Ok, mi ci butto. Appena c’è qualcosa vi passo il link.
Quello che so l’ho imparato dagli appunti di Enrico,
dalla guida clsguide e dallo studio di altre
classi e pacchetti (oltre, ovviamente, da Google e dalla documentazione di pacchetti
come xkeyval, ecc. . .)Le guide che mi hai indicato le ho stampate e rilegate appena ho iniziato a studiare programmazione in LaTeX, più i manuali di numerosi pacchetti. In realtà non ho ancora letto proprio tutto tutto, perché alcune cose sono abbastanza ostiche e da prendere a piccole dosi (la guida di Enrico, in particolare).
La mia guida vorrebbe colmare una lacuna che ho riscontrato nella documentazione esistente nelle lingue che conosco: un semplice e pratico tutorial che tratti unicamente le opzioni di pacchetto e di classe con xkeyval, scritto con un linguaggio comprensibile anche ad un debuttante (come me). In pratica, se riuscirò a capire ciò che scriverò, sarò già soddisfatto :D.
Ciao,
mi interessa risolvere un problema di “peso” di un opzione con xkeyval, che potrebbe interessarti.
Pensiamo di voler generare un oggetto tramite un comando “\build” che accetta parametri chiave valore.Vorrei ottenere questo comportamento:
dando l’opzione “localmente” al comando il parametro agisce solo per questa volta (il parametro tornerà a quello di default al termine dell’esecuzione del comando).
dando invece l’opzione “globalmente” con un comando apposito tipo \setup, ottengo che tutti i successivi oggetti saranno costruiti con il nuovo valore.
`
\buid{my data} % il parametro assume il valore di default
\build[param=value]{my data} % il nuovo valore agisce localmente
\build{my data} % ottengo quindi lo stesso oggetto di partenza
\setup{param=value}
\build{my data} % ora il valore di default è quello nuovo
`So che si tratta di un arzigogolo, ma sapendo che TeX dispone dei gruppi, la soluzione sarebbe un’ottima cosa per il codice a cui sto lavorando.
Grazie per la pazienza.
::
Esiste anche la soluzione per oggetti flottanti:`\documentclass{article}
\usepackage{booktabs}
\usepackage{graphicx}\begin{document}
Pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo.
\begin{table}
\resizebox{\linewidth}{!}{%
\noindent\begin{tabular}{cc}\toprule
N.& Nome\\\midrule
1 & primo\\
2 & secondo\\\bottomrule
\end{tabular}}% è importante non lasciare spazi dopo \end{tabular}
\end{table}Pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo.
\end{document}`Non si finisce mai d’imparare.
Bye
::E’ possibile ingrandire la dimensione della tabella??
Se inserisco la tabella “classica” e la centro la dimensione è piccola per il mio caso. mi servirebbe ingrandirla, in modo quasi da farla combaciare con la formattazione del testo.
Puoi ingrandirla con il comando \scalebox{h-scale}[v-scale]{text} del pacchetto graphicx.
`\documentclass{article}
\usepackage{graphicx}
\usepackage{booktabs}\begin{document}
\scalebox{3}{
\begin{tabular}{cc}\toprule
N.& Nome\\\midrule
1 & primo\\
2 & secondo\\\bottomrule
\end{tabular}
}\end{document}
`Tuttavia il fattore di scala deve essere vicino, molto vicino ad 1 altrimenti dal punto di vista tipografico si produce un orrore.
Esiste anche la soluzione automatica grazie ad un altro comando di graphicx: \resizebox:
`\documentclass{article}\usepackage{booktabs}
\usepackage{graphicx}\begin{document}
Pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo.
\noindent\resizebox{\textwidth}{!}{%
\begin{tabular}{cc}\toprule
N.& Nome\\\midrule
1 & primo\\
2 & secondo\\\bottomrule
\end{tabular}}Pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo pippo.
\end{document}``Bye`
::allora io ho un file principale chiamato tesi.tex che inizia cosi
\documentclass[12pt,a4paper]{book}
\usepackage{hyphenat}
\hyphenation{Manager ges-to-re}
\newcommand{\ThesisTitle}{Sistemi di telecamere intelligenti per la videosorveglianza}
\newcommand{\ThesisAuthor}{Federico Avanzini}% if you want to compile only some chapters,
% you can comment out from here the chapters that
% you do not want to compile. Remove/add lines
% depending on the number of your chapters\includeonly{
./format , %%%%%% this has always to be included
./macros , %%%%%% this has always to be included
./ch_00preface/00preface ,
./ch_one/one ,
./ch_two/two ,
./ch_three/three ,
./ch_four/four ,
./ch_five/five ,tutte le informazioni sui pacchetti inclusi ecc… sono dentro il
format.txt
che termina con il pezzo di codice che ho postato prima
lo so che è pieno di commenti inutili…ma mi hanno dato il template cosi e non penso che mi serva mettermi a cancellare tutti quei % =)
A mio parere è un brutto codice.
Copia il contenuto dei file format e macros direttamente nel tuo preambolo ed eliminali dalla lista di \includeonly.
Se devono essere caricati comunque, perché questi file devono essere coinvolti in \includeonly?
Bye
::sto utilizzando un template che mi ha dato il prof per la tesi =)
\usepackage[%
hypertex,
% dvips = true, %
colorlinks=false,%
a4paper=true,%
linktocpage=true,%
pagebackref=false,%
pageanchor=true,%
hyperindex=true,%
bookmarks=true,%
bookmarksopen=true,%
bookmarksnumbered=true,%
pdffitwindow=true,%
pdftitle={\ThesisTitle},%
pdfauthor={\ThesisAuthor},%
citecolor=blue,%
urlcolor=blue%
]%
{hyperref}hyperref viene caricato per ultimo cosi no?
Dipende ovviamente da dove si trova nel preambolo, l’istruzione \usepackage, non credi 😉 ?
Il codice che tu mostri, direi con i caratteri di commento inutili (specie l’ultimo), non dice quando, ma solo come carichi il pacchetto hyperref.Bye
::ciao a tutti!!!
e’ da poco che uso latex ed ho un piccolo problema con le \ref.
Io inserisco un’immagine e metto anche la sua label tipo
\label{foto}
quando voglio avere il riferimento a quest’immagine faccio \ref{foto} ma dopo la compilazione (ripetuta anche 2 volte), sul pdf mi trovo si il riferimento, perche se ci premo mi porta all’immagine riferita, ma non trovo per esempio 2.1 ma mi vedo ??
qualcuno ha qualche idea?
ho letto una discussione simile, ma l’errore li era che non venivano messe le \label…io invece ho sempre messo tutto riporto un esempio.
\ref{middlewareCore}
\vspace{4cm}
\begin{figure}[h]
\hspace{4cm}
\includegraphics[width=2cm]{\figpath/middlewareCore.pdf}
\label{middlewareCore}
\caption{Architettura di NMM}
\end{figure}Dalle informazioni piuttosto confuse che dai, immagino tu stia usando hyperref.
Allora prova a caricare per ultimo hyperref.Dal manuale:`This package can be used with more or less any normal LATEX document by specifying in the document preamble \usepackage{hyperref}.
Make sure it comes last of your loaded packages, to give it a fighting chance of not being
over-written, since its job is to redefine many LATEX commands.`Ciao.
Ps. ma forse la mia sfera di cristallo ha fallito. 😆
::Ciao! Anzitutto: GRAZIE!
Ho provato ma già dal primo passo, il prompt, dice:
“pdftex” non è riconosciuto come comando interno o esterno,
un programma eseguibile o un file batch.
Lo stesso output (mi pare di capire), per il resto delle azioni che mi proponi (nel prompt ho messo il percorso [es. Desktop\tesi\…] invio pdflatex test).
Cosa faccio??? Intanto sto installando Tex Live… serve?
g-r-a-z-i-e!Installare LEd senza una distribuzione è perfettamente inutile: LEd è solo un editor di testo ovvero un programma che ti permette comodamente di scrivere i file sorgente, mentre LaTeX si presenta come un programma eseguibile da console.
TeX Live è una distribuzione ovvero, è una vasta collezione di software che ti permette di lavorare nel modo TeX.Come tu non lo sappia mi sfugge, visto che nel primo messaggio dici di aver già lavorato con LaTeX. 😀
Bye e Buon lavoro!!
::Ciao a tutti!
Sono disperato: quando apro i file che ho costruito in precedenza (in una cartella in cui sono salvati anche i corrispettivi .dvi e .pdf) c’è un messaggio in una finestra che mi dice:
Si è verificato un errore in LEd.exe. L’applicazione verrà chiusa.
Potrebbe essersi verificata una perdita dei dati su cui stava lavorando.
Segnalazione del problema a Microsoft
E’ stata creta……..
¦invia segnalazione errori¦ ¦Non inviare¦
E me lo scrive per qualsiasi documento che ho creato in passato.
Allora ho creato un documento ex novo e l’ho salvato in una nuova cartella: anche se chiudo e riapro, il messaggio precedente non si presenta piu’. Se provo pero’ a fare la copia .pdf il messaggio che mi dà LEd è:
09-08-2010 10:37:54: AVVIA /b/c1/c”C:\Programmi\LEd\Batches\pdflatex.bat” “C:\Documents and Settings\…………..\prova III” “prova III” C:
“pdflatex.exe” non Š riconosciuto come comando interno o esterno,
un programma eseguibile o un file batch.
09-08-2010 10:37:54: STOP
Cosa faccio? Aiuto! Grazie mille!!!!!!Normalmente la prima cosa da fare è verificare la corretta installazione di LaTeX.
Apri quindi una finestra di console (Start->Programmi->Accessori->Prompt dei comandi)
e digita il comando:`pdftex –version`
se ti compare un output simile a questo significa che l’eseguibile è installato:
`C:\Documents and Settings\robitex>pdftex –version
pdfTeX 3.1415926-1.40.10-2.2 (Web2C 2009)
kpathsea version 5.0.0
Copyright 2009 Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
There is NO warranty. Redistribution of this software is
covered by the terms of both the pdfTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the pdfTeX source.
Primary author of pdfTeX: Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
Compiled with libpng 1.2.40; using libpng 1.2.40
Compiled with zlib 1.2.3; using zlib 1.2.3
Compiled with xpdf version 3.02pl4
`
Adesso prova a compilare da console: spostati nella directory dove si trova il file sorgente (per esempio se il file.tex di test si trova nella cartella prova sul Desktop) digita:
`cd Desktop\prova`
poi:
`pdflatex test`Ovviamente prima crea le cartelle ed il sorgente test.tex.
Se ottieni il pdf significa che il problema è in LEd (puoi sempre cambiare editor in questo caso), altrimenti potrebbe trattarsi di percorsi errati dovuti a qualche tipo di azione.
Ciao.
::
Grazie per la risposta.
Il codice fa parte delle modalità previste per l’accettazione dei valori da sistemare nelle testatine e nei piè di pagina.
Vorrei che la classe rispondesse con un Warning se viene chiesto di stampare, in una delle posizioni previste, un valore vuoto od uno contenente spazi.Passo quindi al prossimo problema da risolvere. Grazie ed a presto.
R.
::Ubuntu non è la mia distribuzione GNU/Linux di riferimento, comunque hai due possibilità [ul]
[li]installare nell’albero locale;
[li]installare nell’albero personale.
[/ul]Per installare nell’albero personale la posizione della cartella dovrebbe essere, nella tua home
`~/texmf/`mentre per l’albero locale
`/usr/share/texmf/`Una volta installato il pacchetto lancia da riga di comando
`sudo mktexlsr`
CiaoAccidenti, ho ancora qualche problema.
Ho seguito i consigli qui sopra ed ho copiato il file mathtools.sty sia nella cartella usr/share/texmf che nella cartella usr/share/texmf-texlive ed ho dato il comando che mi hai postato, che parrebbe essere andato a buon fine.
Tuttavia se compilo il mio documento, di cui ora provo a postare la versione minimale, mi viene ancora stampato che il file mathtools.sty non è stato trovato.1 \documentclass[a4paper,12pt,twoside]{article}
2
3 \usepackage{graphicx}
4 \usepackage[english]{babel}
5 \usepackage{hyperref}
6 \usepackage{mathtools}
7
8 \title{TITOLO}
9 \author{AUTORI}
10
11
12 %%%%% Dichiarazione valore assoluto %%%%
13 \DeclarePairedDelimiter{\abs}{\lvert}{\rvert} %
14 \DeclarePairedDelimiter{\norma}{\lVert}{\rVert} %
15 %%%%%%%%%%%%%%%%%%%%%%%%
16
17
18 \begin{document}
19
20 \maketitle
21
22 \end{document}Dove ho sbagliato? Che mi sia perso qualcosa nella fase di installazione e la creazione del file mathtools.sty non sia sufficiente?
Occorre dare da terminale il comando sudo texhash per rigenerare l’albero dei file altrimenti gli eseguibili non sanno dei nuovi file.
Bye.Ps. per la prossima volta consiglio comunque di installare TeX Live non dai repo ma direttamente da CTAN (oltre a vari vantaggi troverai così la comoda utility di gestione tlmgr).
::Il fatto che LaTeX sia utilizzato con cosi’ grande diffusione e’ merito anche della sua mancanza di innovazione. Il suo numero di versione tende ad una costante matematica non a caso: le cose sono cosi’ e rimarranno cosi’.
Non frantedetemi: io sono uno della filosofia bleeding edge e innovazione, ma accetto la volonta’ di avere una base stabile e affidabile.
Quando c’e’ la possibilita’ di estendere e creare tutto quello di cui si ha bisogno, e’ solo questione di capacita’ tecniche e tempo a disposizione, troppo facile dire “dovrebbero pensarci gli sviluppatori di LaTeX”.
Non c’e’ nessuno retribuito per quel lavoro.Ma qui non sono in discussione le capacità tecniche od il tempo a disposizione.
Stiamo parlando di far si che LaTeX2e od un suo compagno futuro, possa essere utilizzato da sempre più persone e in un numero di settori sempre maggiore.Immagino che tu utilizzi LaTeX e non TeX. E per quale motivo fai questa scelta?
Con TeX puoi fare tutto per definizione stessa del formato LaTeX.Sono invece d’accordo sulla stabilità del linguaggio. Le modifiche ad esso si pagano sempre. Quando da LaTeX 209 si è passati a LaTeX2e si è rischiato molto come ha raccontato lo stesso Frank Mittelbach, ed è comprensibile che il team non voglia più correrli (la responsabilità rende prudenti).
Del resto, l’innovazione è altrettanto indispensabile, dunque a mio avviso, la strada da percorrere è quella di puntare tutto sul salto di versione.
Penso quindi che il momento sia delicato ed avevo condiviso questa mia opinione nel post http://www.guit.sssup.it/phpBB2/viewtopic.php?t=7616 dal titolo “Futuro di LaTeX”.
Da un lato LaTeX3 procede lentamente basandosi in pratica solo su TeX e navigando in acque sicure, dall’altro invece, ConTeXt affronta l’oceano spinto dal vento di luatex.
La sfida di Coppa America è iniziata.
R.
::
Si è vero, booktabs non influisce sulla distanza della didascalia dalla tabella come mi era parso nelle prove fatte.Naturalmente se si disponesse di tre nuove classi standard più efficaci sarebbe già un passo avanti, ma come ottenerle?
Potrebbero essere scritte e caricate su CTAN da persone esterne al LaTeX3 Team come normale evoluzione del linguaggio LaTeX, oppure scritte in stretta collaborazione con il team.
Ma se si decidesse di affrontare un tale lavoro, penso che convenga integrarlo con LaTeX3 e non con LaTeX2e. Tra l’altro il Team dovrà allegare al LaTeX3 qualche tipo di classe standard credo.Insomma, credo sia meglio sviluppare gli elementi importanti con la nuova piattaforma, e far lì tesoro dell’esperienza di questi così tanti anni di lavoro.
Bye.
::
Ciao Lorenzo,
ho fatto alcune prove e ti riporto le mie impressioni:* Per il caso della tabella standard il guaio viene causato da booktabs, quindi se vogliamo i suoi filetti, occorre caricare caption (secondo me l’opzione position=top non influisce sulla posizione della didascalia).
* per il caso della tabella matematica, penso che sia un caso anomalo perché l’ambiente flottante table si aspetta una tabella standard. La soluzione è appunto affrontare direttamente il problema tentando di generare un ambiente flottante apposito per queste tabelle matematiche, chiamato per esempio mathtable.
Questo che hai incontrato penso sia un problema di fondo strettamente inerente al linguaggio. Molte moltissime volte, ho dovuto ricredermi sull’effetto che avrebbe avuto un comando, avendo immaginato un comportamento a volte molto diverso da quello reale di LaTeX (per esempio la mia lotta con gli spazi verticali o con i parametri di layout della pagina).
Nuovi linguaggi da mettere alla prova quello del nuovo LaTeX3 e quello di ConTeXt mark iv (se solo riuscissi ad installarlo sul mio sistema…), forse daranno nuovo impulso grazie ad una miglior sintassi.
LaTeX3 avrà un interfaccia verso TeX più coerente e, anche se non ho ancora capito come, dovrebbe ovviare ai problemi derivanti dall’ecosistema dei pacchetti (un arcipelago di dialetti).
ConTeXt, ha il vantaggio che fin dalla nascita ha fatto suo un linguaggio assai compatto e coerente, facile da utilizzare (se solo si disponesse di una documentazione migliore…), e molto flessibile.
Due filosofie diverse, una forse più orientata alla tipografia e l’altra più orientata alla produzione di documenti in ambienti tecnici ed aziendali.Speriamo che Luke Skywalker riporti equilibrio nella forza …
Roberto.Ps. Se solo disponessi di una spada laser…anche se per il momento mi godo la vittoria sulla Morte Nera come ho scritto in questo post http://www.guit.sssup.it/phpBB2/viewtopic.php?t=8376
::come faccio ad inserire immagini .eps?? grazie!!! 😕 ❓
Trasformale in pdf… 😆
Ho come il dubbio che tu non sappia che immagini in formato Postscript sono utilizzabili sono in con latex e non con pdflatex, ergo spiegato l’inizio della risposta.
Bye
PS. Leggere un po’ di documentazione è comunque il consiglio migliore.
::a me piaceva di più la prima versione pur di sostituire quei vari \hfill semplicemente con \hss; \hss dice semplicemente: “horizontal stretch and shrink”; c’è anche il corrispondente \vss per la stessa funzione in verticale.
La prima versione è forse più TeXnica 8) e preferivo la seconda solo per la sua compattezza che migliora la leggibilità del codice. Sono contento di sapere comunque, che l’idea è in generale corretta.
Direi quindi buona la prima!!!In vece non mi piace il codice che non prevede né nella prima versione, né nella seconda, la verifica che il contenuto non sia troppo grande. Forse non serve, forse è ridondante, nel senso che sta all’utente che definisce le marche \sx, \cc e \dx scegliere dei contenuti mutuamente compatibili.
Uhm, un codice di controllo che emette un warning se lo spazio non è sufficiente è una buona idea (in altre parti della classe ho faticato non poco ad inserire check sui valori introdotti).
(Tuttavia sono preoccupato di più per lo spazio verticale, visto che il report calcola automaticamente i margini che potrebbero essere anche zero!!)Sono ancora in tempo naturalmente ad inserirlo (nuovo codice segnalato con i trattini):
`
\documentclass[a4paper]{report}\def\sx{Sinistra Sinistra Sinistra}
\def\dx{Lato Destro Lato Destro Lato Destro}
\def\cc{Centro Centro Centro}\makeatletter
\def\ps@mystyle{% ——————————————
\setbox0=\hbox{\sx\cc\dx}
\ifdim\wd0>\textwidth
% ops le marche sono troppo lunghe
\GenericWarning{Header too small}{Header too small}
\fi% —————————————————–
\renewcommand{\@oddhead}{%
\hbox to \textwidth{%
\hbox to 0pt{\sx\hskip 0pt minus 1fil}%
\hss\cc\hss%
\hbox to 0pt{\hskip 0pt minus -1fil\relax\dx}}}
\renewcommand{\@oddfoot}{%
\hbox to \textwidth{%
\hbox to 0pt{\sx\hskip 0pt minus 1fil}%
\hss\cc\hss%
\hbox to 0pt{\hskip 0pt minus -1fil\relax\dx}}}
\let\@evenhead\@oddhead
\let\@evenfoot\@oddfoot
}
\makeatother
\pagestyle{mystyle}% rendo attivo lo stile\begin{document}
% filetto per verificare il centraggio di \cc
\noindent\rule{0.4pt}{10pt}\hfill\rule{0.4pt}{10pt}\hfill\rule{0.4pt}{10pt}Ciao a tutti!
\end{document}
`
Tuttavia, si può fare di meglio visto che bisognerebbe controllare che:
`0.5\wd{\cc}+\wd{\sx}<0.5\textwidth
e/o
0.5\wd{\cc}+\wd{\dx}<0.5\textwidth
`Grazie e saluti.
(ora devo andare, la famiglia chiama!!!, ma ci sentiamo presto)
-
AutoreRisposte