Risposte nei forum create
-
AutoreRisposte
-
::
Perché LaTeX consideri come ultima pagine del documento quella che comprende la lista degli allegati si potrebbe creare un nuovo contatore che registri il valore del contatore page in quel punto e lo scriva nel file ausiliario, cioè quello che fa anche il pacchetto lastpage.
Quindi scriverei `\listofallegato
%*******
\makeatletter
\immediate\write\@auxout{\string\newlabel{MyLastPage}{{}{\thepage}{}{}{}}}%
\makeatother
%*******
\includepdf[page…`Ti perdi la possibilità di avere un collegamento cliccabile all’ultima pagina (poco male credo). Poi non so quali altri problemi potrebbero esserci.Fran
::
Il tuo comando fallisce parzialmente: il numero dell’allegato viene stampato, solo che tu non lo vedi perché è abbondantemente fuori dalla pagina, per via del [tt]\put(75,100)[/tt].
Dovresti scrivere`\newcommand{\StampaNumeroAllegato}{%
\refstepcounter{numallegato}
{\textcolor{red}{\Large Doc.~n.~{\LARGE \round{\textbf{\thenumallegato}}}}}
}` Il problema è che non può funzionare: il valore di [tt]pagecommand[/tt] viene eseguito per ogni pagina, quindi qui hai una serie di inconvenienti:
– viene eseguito anche sulla pagina bianca che pdfpages inserisce perché l’allegato parta su un pagina dispari;
– a ogni pagina il contatore viene incrementato di 1.Credo che se anche avessi 20 allegati impiegheresti comunque meno tempo a scrivere manualmente i vari \includepdf separando la prima pagina dalle altre.
Per \lastpage ci penso pomeriggio.
Fran
::
Ma se modificassimo leggermente il comando \StampaNumeroAllegato?`newcounter{numallegato}
\setcounter{numallegato}{0}
\newcommand{\StampaNumeroAllegato}{%
\refstepcounter{numallegato}
\noindent
\begin{picture}(0,0)
\put(75,100){\makebox[\textwidth][r]{\textcolor{red}{\Large Doc.~n.~{\LARGE \round{\textbf{\thenumallegato}}}}}}
\end{picture}
}` Poi basterebbe usare [tt]\StampaNumeroAllegato[/tt] senza argomento all’interno degli argomenti di \includepdf.
@skevin93, non ho capito come dovrebbe funzionare il nuovo \includepdf (o \includi, è lo stesso). L’argomento che gli si dà è tuttto quello che precede “pagecommand” negli argomenti opzionali? e come si fa a dirgli quale file importare?
@furbenzio. Cosa vuol dire numerazione automatica? Come fa LaTeX a sapere a quale file vuoi riferirti? È la stessa cosa di un \ref a una figura o una tabella, tu devi inserire manualmente una \label che poi richiami dove ti serve. Se fosse difficile ricordare la numerazione degli allegati potresti inserire una \label nella prima pagina dei pdf importati a cui poi puoi collegarti con i soliti [tt]\ref{xxx}[/tt] (qui dovrebbe esserci scritto \ r e f { xxx }, ma escono due punti di domanda….). Vedi qui.Fran
::PM” post=88056Ho provato a caricare fontspec e a mettere
`
\setmainfont{baskerville}
`
il risultato è stato
`
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! fontspec error: “font-not-found”
!
! The font “baskerville” cannot be found.
`
Mi servirebbe l’istruzione da scrivere nel preambolo. GrazieMa il font Baskerville è installato sul tuo computer con quel nome?
Io non lo ho, ma se faccio `luaotfload-tool –list=fullname
` scopro di avere, per esempio, un Segoe Ui.
Quindi provo a compilare questo:
`\documentclass{article}
\usepackage{fontspec}
\setmainfont{Segoe UI}
\begin{document}
Prova
\end{document}
` e tutto funziona.Fran
::
Dai, troverai il modo per sdebitarti! :-D`\documentclass[a4paper,12pt]{memoir}
\makeevenhead{headings}{\sffamily\small\thepage}{}{\sffamily\small\leftmark}
\makeoddhead{headings}{\sffamily\small\rightmark}{}{\sffamily\small\thepage}
\makeevenfoot{headings}{}{}{}
\makeoddfoot{headings}{}{}{}
\makeevenhead{plain}{}{}{}
\makeoddhead{plain}{}{}{}
\makeevenfoot{plain}{}{}{}
\makeoddfoot{plain}{}{}{}
\nouppercaseheads
\usepackage{lipsum}
\begin{document}
\chapter{primo}\section{uno}\lipsum[1-10]
\chapter{secondo}\section{due}\lipsum[1-10]
\end{document}`
Fran
::
Non capisco il problema…
Usi LuaLaTeX, quindi hai accesso ai font che hai installato sul computer.
Ma per questo devi caricare fontspec, come ti ha indicato Claudio. \setmainfont è proprio un comando di fontspec.
Quindi scrivendo \setmainfont{baskerville} dovresti poter compilare correttamente. Ovviamente leggi la documentazione di fontspec per i dettagli.
Fran
::
`\documentclass[a4paper,12pt]{memoir}
\makeevenhead{headings}{\sffamily\small\thepage}{}{\sffamily\small\leftmark}
\makeoddhead{headings}{\sffamily\small\rightmark}{}{\sffamily\small\thepage}
\makeevenfoot{headings}{}{}{}
\makeoddfoot{headings}{}{}{}
\makeevenhead{plain}{}{}{}
\makeoddhead{plain}{}{}{}
\makeevenfoot{plain}{}{}{}
\makeoddfoot{plain}{}{}{}
\nouppercaseheads
\usepackage{lipsum}
\begin{document}
\chapter{primo}\section{uno}\lipsum[1-10]
\chapter{seciondo}\section{due}\lipsum[1-10]
\end{document}`
::
`\documentclass[a4paper,12pt]{memoir}
\makeevenhead{headings}{\thepage}{}{\sffamily\small\leftmark}
\makeoddhead{headings}{\sffamily\small\rightmark}{}{\thepage}
\makeevenfoot{headings}{}{}{}
\makeoddfoot{headings}{}{}{}
\makeevenhead{plain}{\thepage}{}{}
\makeoddhead{plain}{}{}{\thepage}
\nouppercaseheads
\usepackage{lipsum}
\begin{document}
\chapter{primo}\section{uno}\lipsum[1-10]
\chapter{seciondo}\section{due}\lipsum[1-10]
\end{document}`Non so se li volevi in alto anche nelle prime pagine dei capitoli. Comunque è abbastanza intuitivo: nelle tre parentesi graffe ci va quello che vuoi mettere a sinistra, al centro e a destra.Fran
::
Il punto b) a me non funzionava…
Non riuscivi a creare l’elenco degli allegati perché non usavi il comando giusto! Tu scrivevi [tt]\listofencl[/tt], che in realtà è il comando che richiama il nome della lista. La documentazione dice che devi usare il comando [tt]\listof(nomelista)[/tt], quindi [tt]\listofallegato[/tt].
Così facendo ottieni un elenco con dei collegamenti funzionanti.
Quelli all’interno del testo invece non (mi) funzionano.
Utilizzando per i collegamenti i nomi di default di pdfpages (nomefile.numeropagina), e quindi eliminando i comandi [tt]linkname[/tt], tutto funziona.Mi manca solo il punt d). Ci penso.
Ah, hyperref caricalo per ultimo, mi raccomando!Fran`\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{pdfpages}
\usepackage{tocloft}
\newcommand{\listofencl}{Elenco degli allegati}
\newlistof{allegato}{all}{\listofencl}
\usepackage{hyperref}
\begin{document}
Questa è una prova per verificare
se il \hyperlink{file_1.pdf.1}{link al primo documento}
allegato funzioni correttamente.E se funzioni anche il \hyperlink{file_2.pdf.1}{link al secondo documento allegato}.
Qui andrebbe l'elenco numerato di tutti i documenti allegati.
\listofallegato
\includepdf[pages=-,link,addtolist={1,allegato,{Titolo del primo documento},all:file1}]{file_1.pdf}
\includepdf[pages=-,link,addtolist={1,allegato,{Titolo del secondo documento},all:file2}]{file_2.pdf}
\end{document}`Aggiunte:
Il problema dei nomi dei link
Ho scoperto perché non funzionavano gli hyperlink con il tuo linkname=xxx.
Se scrivi [tt]\includepdf[link,linkname=pippo…][/tt] dovrai usare [tt]\hyperlink{pippo.n}{testo}[/tt] perché pdfpages genera hyperlink avento come nome [tt]linkname.numeropagina[/tt]. Così facendo puoi anche creare dei collegamenti a pagine successive alla prima.
Quindi il codice `Questa è una prova per verificare
se il \hyperlink{verso1.1}{link al primo documento}
allegato funzioni correttamente.E se funzioni anche il \hyperlink{verso2.1}{link al secondo documento allegato}.
Qui andrebbe l'elenco numerato di tutti i documenti allegati.
\listofallegato
\includepdf[pages=-,link,linkname=verso1,addtolist={1,allegato,{Titolo del primo documento},all:file1}]{file_1.pdf}
\includepdf[pages=-,link,linkname=verso2,addtolist={1,allegato,{Titolo del secondo documento},all:file2}]{file_2.pdf}`funziona.Numerazione degli allegati
Per sovrascrivere la prima pagina del pdf mi è venuto in mente che si può usare la chiave [tt]pagecommand[/tt] di pdfpages e creare un comando che inserisca il testo che ti interessa, usando un ambiente picture.Il problema è che [tt]pagecommand[/tt] esegue il comando su tutte le pagine del pdf, quindi troveresti il numero dell’allegato su ogni pagina. Si può ovviare spezzando in due parti l’inserimento del pdf: prima inserisci solo la prima pagina con i link e il numero, poi il resto dell’allegato. nell’esempio che ti riporto non ho creato un unghia, ma del semplice testo, lascio a te eventualmente trovare il modo. (il documento verrà stampato? perché in questo caso sconsiglio di usare un unghia, dal momento che le stampanti hanno solitamente un margine di 5-6 mm in cui non possono stampare. A meno che poi non rifili il tutto con una taglierina…)
Sommando il tutto…
Un codice pseudo-definitvo per i tuoi 4 problemi è:`\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{pdfpages}
\usepackage{tocloft,xcolor}
\usepackage{pict2e}[2009/06/01]
\newcommand{\listofencl}{Elenco degli allegati}
\newlistof{allegato}{all}{\listofencl}
\usepackage{hyperref}\newcommand{\StampaNumeroAllegato}[1]{%
\noindent
\begin{picture}(0,0)
\put(0,70){\makebox[\textwidth][r]{\textcolor{red}{\Large Allegato #1}}}
\end{picture}
}\begin{document}
Questa è una prova per verificare
se il \hyperlink{verso1.1}{link al primo documento}
allegato funzioni correttamente.E se funzioni anche il \hyperlink{verso2.1}{link al secondo documento allegato}.
Qui andrebbe l'elenco numerato di tutti i documenti allegati.
\listofallegato
\includepdf[pages=-,link,linkname=verso1,addtolist={1,allegato,{Titolo del primo documento},all:file1},pagecommand=\StampaNumeroAllegato{1}]{file_1.pdf}
\includepdf[pages=1,link,linkname=verso2,addtolist={1,allegato,{Titolo del secondo documento},all:file2},pagecommand=\StampaNumeroAllegato{2}]{file_2.pdf}
\includepdf[pages=2-,]{file_2.pdf}\end{document}`
::
Se sai qual è la parola più lunga:`\documentclass{book}
\usepackage{multirow}
\usepackage{tabularx, array}
\usepackage{dcolumn}\newlength{\FirstColumnWidth}
\settowidth{\FirstColumnWidth}{Parola più lunga nella colonna}
\setlength{\FirstColumnWidth}{1.2\FirstColumnWidth}
\begin{document}
\begin{table}[ht]
\begin{tabularx}{\linewidth}{|m{\the\FirstColumnWidth}|>\raggedright X}
\hline
\multicolumn1{|c|}{\textbf{Campo 1}} & \multicolumn1{c}{\textbf{Campo 2}} \tabularnewline
\hline
Campo1 & \multicolumn{1}{c}{\multirow{2}{*}{testo molto lungo ecc testo molto lungo ecctesto molto lungo ecctesto molto lungo ecctesto molto lungo ecctesto molto lungo ecc}} \tabularnewline
\cline{1-1}
Campo2 & \multicolumn{1}{c}{} \tabularnewline
\hline
\end{tabularx}
\caption{Prova \label{tab:prova}}
\end{table}
\end{document}`
Ma se davvero si tratta di una sola parola, perché non usare un descrittore “l” al, posto di “m{10em}”?
Fran
::
Qui ci sono delle spiegazioni sulla definizione di \l@chapter.I pacchetti tocloft e titletoc permettono di cambiare agevolmente il layout dell’indice.
A ogni modo una soluzione può essere:`\documentclass{book}
\makeatletter
\renewcommand*\l@chapter[2]{%
\ifnum \c@tocdepth >\m@ne
\addpenalty{-\@highpenalty}%
\vskip 1.0em \@plus\p@
\setlength\@tempdima{1.5em}%
\begingroup
\parindent \z@ \rightskip \@pnumwidth
\parfillskip -\@pnumwidth
\leavevmode \bfseries
\advance\leftskip\@tempdima
%\hskip -\leftskip
#1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
\penalty\@highpenalty
\endgroup
\fi}\renewcommand*\l@section{\@dottedtocline{1}{3em}{2.3em}}
\makeatother\begin{document}
\tableofcontents
\chapter{primo}
\section{bla bla}
\section{bla ll}
\chapter{secondo}
\section{eee}
\end{document}`Se invece vogliamo usare i pacchetti:`\documentclass{book}
\usepackage{titletoc}
\titlecontents{chapter}
[3.0em]
{\vspace{\baselineskip}}
{\bfseries\contentslabel{1.5em}}
{\hspace*{-2.3em}}
{\titlerule*[1em]{.}\contentspage}
%
\titlecontents{section}
[5.3em]
{}
{\contentslabel{2.3em}}
{\hspace*{-2.3em}}
{\titlerule*[1em]{.}\contentspage}
\begin{document}
\tableofcontents
\chapter{primo}
\section{bla bla}
\section{bla ll}
\chapter{secondo}
\section{eee}
\end{document}`
Fran
::
Grazie, avevo poi trovato questo: http://tex.stackexchange.com/questions/124948/what-is-the-right-number-of-s-for-nested-sequence-mappings
Fran
-
AutoreRisposte