Risposte nei forum create
-
AutoreRisposte
-
::
Cosa significa che hai citazioni nell’elenco delle immagini? Che le hai nelle didascalie e di conseguenza ricadono anche nell’elenco delle immagini? Se così fosse, io non trovo errori:`% arara: pdflatex
% arara: bibtex
% arara: pdflatex
\documentclass{book}
\usepackage[backend=bibtex]{biblatex}
\bibliography{refs}
\usepackage{hyperref}
\begin{document}
\listoffigures\chapter{primo}
\begin{figure}
\caption{vero \cite{KandR} }
\end{figure}
Hello %\cite{KandR}
\printbibliography
\end{document}`
Prova a compilare questo e poi a togliere il commento da [tt]Hello %\cite…[/tt]
Fran
::
Ho approfittato di questo topic per rispolverare un po’ di LaTeX3. Propongo una soluzione che funziona (per quanto ho potuto sperimentare). Necessita di due compilazioni perché usa hyperref e non il pacchetto bookmark per creare i segnalibri. Spero che le spiegazioni nel codice siano abbastanza chiare.
Se qualcuno volesse dare consigli sulla struttura del codice, sarei felice.
Riporto file .te x e .ist.Fran
.tex:`\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[italian]{babel}
\usepackage{xparse}
\usepackage{expl3}\ExplSyntaxOn
% creo una \seq avendo cura di accertarmi che sia vuota.
%In questa sequenza inserirò tutti i segnalibri
% man mano che verranno creati
\NewDocumentCommand{\createlists}{}{
\seq_clear_new:N \g_indexbkm_seq
% creo una \tl che conterrà il testo dei segnalibri
\tl_gclear_new:N \g_bkmtext_tl
% e una \tl che conterrà il testo dell'ultimo segnalibro creato
\tl_gclear_new:N \g_lastused_bkm_tl
}
% creo la funzione che inserisce i segnalibri nell'indice
\cs_new:Npn \create_bkm:n #1 { % l'unico argomento è l'argomento di \indexgroup (vedere il file .ist)
% estraggo da \lista_bkm il testo che il segnalibro deve mostrare,
% in funzione della lettera (cioè se ho la lettera B il segnalibro deve essere A-C).
% Inserisco questo testo nella tl \g_bkmtext_tl
\prop_get:NnN \lista_bkm {#1} \g_bkmtext_tl
% poi vedo qual è l'ultimo elemento di \g_indexbkm_seq,
% cioè l'ultimo segnalibro inserito e lo associo a \g_lastused_bkm_tl
\seq_get_right:NN \g_indexbkm_seq \g_lastused_bkm_tl
% se \g_lastused_bkm_tl e \g_bkmtext_tl sono uguali vuol dire
% che ho già inserito il segnalibro, altrimenti inserisco il segnalibro con \pdfbookmark
\tl_if_eq:NNTF \g_bkmtext_tl \g_lastused_bkm_tl {\scan_stop:} {
\pdfbookmark[1]{\tl_use:N \g_bkmtext_tl}{name-\g_bkmtext_tl}}
% inserisco il segnalibro appena creato nella \g_indexbkm_seq
\seq_put_right:Nx \g_indexbkm_seq { \g_bkmtext_tl }
}
% qui sotto la prop list con lettere e segnalibri associati.
\prop_new:N \lista_bkm
\prop_put:Nnn \lista_bkm {Numbers}{Numbers}
\prop_put:Nnn \lista_bkm {Numeri}{Numeri}
\prop_put:Nnn \lista_bkm {Symbols}{Symbols}
\prop_put:Nnn \lista_bkm {Simboli}{Simboli}
%%%%% la gestione di queste prime 4 voci è da ottimizzare%%%%
\prop_put:Nnn \lista_bkm {A}{A-C}
\prop_put:Nnn \lista_bkm {B}{A-C}
\prop_put:Nnn \lista_bkm {C}{A-C}
\prop_put:Nnn \lista_bkm {D}{D-F}
\prop_put:Nnn \lista_bkm {E}{D-F}
\prop_put:Nnn \lista_bkm {F}{D-F}
\prop_put:Nnn \lista_bkm {G}{G-I}
\prop_put:Nnn \lista_bkm {H}{G-I}
\prop_put:Nnn \lista_bkm {I}{G-I}
\prop_put:Nnn \lista_bkm {J}{J-L}
\prop_put:Nnn \lista_bkm {K}{J-L}
\prop_put:Nnn \lista_bkm {L}{J-L}
\prop_put:Nnn \lista_bkm {M}{M-O}
\prop_put:Nnn \lista_bkm {N}{M-O}
\prop_put:Nnn \lista_bkm {O}{M-O}
\prop_put:Nnn \lista_bkm {P}{P-R}
\prop_put:Nnn \lista_bkm {Q}{P-R}
\prop_put:Nnn \lista_bkm {R}{P-R}
\prop_put:Nnn \lista_bkm {S}{S-U}
\prop_put:Nnn \lista_bkm {T}{S-U}
\prop_put:Nnn \lista_bkm {U}{S-U}
\prop_put:Nnn \lista_bkm {V}{V-X}
\prop_put:Nnn \lista_bkm {W}{V-X}
\prop_put:Nnn \lista_bkm {X}{V-X}
\prop_put:Nnn \lista_bkm {Y}{Y-Z}
\prop_put:Nnn \lista_bkm {Z}{Y-Z}
% la funzione richiamata in stile.ist
\NewDocumentCommand{\insertmybookmark}{m}{%
\create_bkm:n {#1}
}
\ExplSyntaxOff\usepackage{imakeidx}
\makeindex[options= -s stile.ist]
\usepackage{hyperref}\begin{document}
Ciao
\index{Albatros}
\index{Burgundi}
\index{Èremo}
\index{Saltimbanco}
\index{Seppia}
\index{Toro}
\printindex
\end{document}` stile.ist:`% stile.ist
preamble ”
\\begin{theindex}
\\createlists
\\providecommand*\\indexgroup[1]{\\indexspace
\\item \\textbf{#1}\\insertmybookmark{#1}\\nopagebreak}
”postamble “\n\n\\end{theindex}\n”
group_skip ” %\n \\indexspace\n %\n”
headings_flag 1
heading_prefix ” %\n \\indexgroup{”
heading_suffix “}\n %\n”numhead_positive “Numbers”;
numhead_negative “Numbers”;
symhead_positive “Symbols”;
symhead_negative “Symbols”;`Edit: tolto dal codice un messaggio di errore che mi serviva per il debug.
::tonegas” post=79407In molte guide latex questo è fatto usando fotenote dentro al titolo ma non c’è una maniera più pulita?
Se ti riferisci alle guide dei pacchetti, queste sono solitamente create a partire dai file .dtx (Documented TeX). Prova a guardare come sono strutturati: essi prevedono una riga in cui si inseriscono i dati del pacchetto (o della classe) in questione:`\ProvidesFile{nomepacchetto.dtx}%
%
%\NeedsTeXFormat{LaTeX2e}[2005/12/01]
%\ProvidesPackage{nomepacchetto}% %<*driver>`
%<*package>
[AAA/MM/GG versioneXX Package description]
%
Avrai così a disposizione dei comandi come [tt]\fileversion[/tt] e [tt]\filedate[/tt] che stampano quello che tu hai scritto nella riga sopra (in questo caso “versioneXX” e “AAA/MM/GG”).
Non so se è quello che ti serve. Se quello che ti interessa è solo trovare un posto per il numero della versione all’interno del frontespizio, potresti modificare la definizione di \@maketitle, in modo che la metta fra titolo e autore (o dove vuoi tu).`\documentclass[11pt]{article}
\usepackage{etoolbox}
\usepackage[italian]{babel}\title{Il mio titolo}
\author{Giovanni Giovannini}
\newcommand{\versionefile}{v\,1.0.0.0.5a}
\makeatletter
\patchcmd{\@maketitle}{{\LARGE \@title \par}}{{\LARGE \@title \par}\versionefile\par}{}{}
\makeatother\begin{document}
\maketitle
Ciao
\end{document}`
Fran
::
Con xindy una cosa del genere funziona (Non per fare i gruppi A-C, solo per inserire un segnalibro per ogni lettera!)`\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{imakeidx}
\newcommand*{\lettergroupDefault}[1]{}
\newcommand*\lettergroup[1]{
\par\textbf{#1}\par
\pdfbookmark[1]{#1}{name-#1}
\nopagebreak
}
\makeindex[program=xindy]
\usepackage{hyperref}\begin{document}
Ciao
\index{Albatros}
\index{Èremo}
\index{Saltimbanco}\printindex
\end{document}`
Ma con due compilazioni… (perché?)
Fran
::
http://www.guitex.org/home/index.php?option=com_kunena&func=view&catid=5&id=69152&Itemid=71&lang=it
Vedi se quella discussione ti aiuta.
Fran
::
Ciao e benvenuto.
Non conosco toptesi e non so a che possa servire il file .cfg.
Il tuo esempio però si compila benissimo con un’installazione aggiornata di TeXlive. Tu cosa usi? Come viene consigliato in un numero indicibile di post, installa la versione completa di TeXlive2012, eviterai un sacco di brutte sorprese.
E, se fossi agli inizi con LaTeX, da’ un’occhiata a “L’Arte di scrivere con LaTeX”.
Fran
::
Come ti dicevo, la prima cosa da provare è usare i comandi per modificare il corpo del testo. (\small, footnotesize,…)
Per modificare l’intera tabella potresti scrivere:
`\begin{table}
\small
\begin{tabular}
…
\end{table}
\end{tabular}`
Oppure potresti provare a lavorare sulle parti che fanno sì che la tabella sia così larga, cioè le scritte “Codazzi, gherardi…” e rimpicciolire solo quelle.
O ancora affidarti a \resizebox scrivendo:`\documentclass[a4paper]{book}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{multirow}
\begin{document}
\resizebox{\textwidth}{!}{%
\begin{tabular}{*{12}{c}}
\toprule
\multirow{2}*[-0.3em]{Classi d'et\`a}&\multicolumn{2}{c}{Ragioneria (1)}&\multicolumn{2}{c}{Codazzi (2)}&\multicolumn{2}{c}{Gherardi (3)}&\multicolumn{2}{c}{Garibaldi (4)}&\multicolumn{2}{c}{Baracca (5)}&\multirow{2}*[-0.3em]{Somma}\\
\cmidrule{2-11}
& F & M & F & M & F & M & F & M & F & M \\
%&Femmine&Maschi&Femmine&Maschi&Femmine&Maschi&Femmine&Maschi&Femmine&Maschi\\
\midrule
18–29 & 232 & 224 & 100 & 102 & 211 & 199 & 142 & 151 & 168 & 180 & 1709 \\
30–44 & 524 & 495 & 229 & 238 & 377 & 412 & 297 & 324 & 295 & 334 & 3525 \\
45–59 & 539 & 540 & 307 & 281 & 509 & 481 & 328 & 345 & 398 & 354 & 4082 \\
60–79 & 719 & 505 & 313 & 289 & 703 & 528 & 487 & 400 & 486 & 425 & 4855 \\
\midrule
Somma & 2014 & 1764 & 949 & 910 & 1800 & 1620 & 1254 & 1220 & 1347 & 1293 & 14171 \\
\bottomrule
\end{tabular}}
\end{document}`Oppure ruoti la tabella, ma sarebbe preferibile evitare.
Fran
::
L’antipatia di Enrico verso \multirow è nota! 🙂 Ma in effetti qui è inutile.
Te ne lascio comunque un esempio d’uso. In questo caso sarebbe necessario inserire una correzione manuale della posizione verticale del testo.
Fran
`\documentclass[a4paper]{book}
\usepackage{booktabs}
\usepackage{multirow}
\begin{document}
\begin{tabular}{*{12}{c}}
\toprule
\multirow{2}*[-0.3em]{Classi d'et\`a}&\multicolumn{2}{c}{Ragioneria (1)}&\multicolumn{2}{c}{Codazzi (2)}&\multicolumn{2}{c}{Gherardi (3)}&\multicolumn{2}{c}{Garibaldi (4)}&\multicolumn{2}{c}{Baracca (5)}&\multirow{2}*[-0.3em]{Somma}\\
\cmidrule{2-11}
& F & M & F & M & F & M & F & M & F & M \\
%&Femmine&Maschi&Femmine&Maschi&Femmine&Maschi&Femmine&Maschi&Femmine&Maschi\\
\midrule
18–29 & 232 & 224 & 100 & 102 & 211 & 199 & 142 & 151 & 168 & 180 & 1709 \\
30–44 & 524 & 495 & 229 & 238 & 377 & 412 & 297 & 324 & 295 & 334 & 3525 \\
45–59 & 539 & 540 & 307 & 281 & 509 & 481 & 328 & 345 & 398 & 354 & 4082 \\
60–79 & 719 & 505 & 313 & 289 & 703 & 528 & 487 & 400 & 486 & 425 & 4855 \\
\midrule
Somma & 2014 & 1764 & 949 & 910 & 1800 & 1620 & 1254 & 1220 & 1347 & 1293 & 14171 \\\bottomrule
\end{tabular}
\end{document}`
::
Benvenuto!
La tabella non è particolarmente complicata, e ci sei quasi! Se cerchi meglio nell’Arte di scrivere conLaTeX come funziona \multirow sei a cavallo.
Leggiti bene anche i consigli su come rendere più gradevole una tabella: elimina i filetti verticali, le doppie linee orizzontali…
Probabilmente la tabella ti risulterà comunque troppo larga.
Allora puoi rimpicciolire il corpo del testo (\small o \footnotesize). O se ancor non basta facci sapere che ci sono altri trucchetti.Fran
::
Ciao e benvenuto!
Credo che:
– mettendo [tt]\caption[/tt] prima di [tt]\label[/tt]
– compilando DUE volte il documento
risolverai ogni problema.Poi:
– puoi tralasciare l’estensione delle immagini- cerca il comando \graphicspath, ti aiuterà a impostare la cartella in cui LaTeX cercherà le immagini, senza doverlo esplicitare ogni volta (se ti è comodo, ovviamente).
– è meglio se non usi l’opzione “h” (ci sono una valanga di post a riguardo)
– hai già letto una guida di base? (Tipo l’Arte di Scrivere con LaTeX). Se non lo hai fatto, ne vale la pena!Buon lavoro.
Francesco
-
AutoreRisposte