- Questo topic ha 9 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 16 anni, 9 mesi fa da
egreg9.
-
CreatoreTopic
-
20 Novembre 2009 alle 21:14 #39444::
Buona sera.
Sto scrivendo un report con classicthesis`\documentclass[11pt,a4paper,twoside,openright,titlepage,fleqn,
cleardoublepage=empty,abstracton,numbers=noenddot,%
headinclude,footinclude,BCOR5mm,%
captions=tableheading]{scrreprt}\usepackage{classicthesis-ldpkg}
\usepackage[subfig,parts,eulermath,pdfspacing,beramono]{classicthesis}
\usepackage[italian]{arsclassica}
`In parallelo ho un article che contiene diverse pagine, tutte piene di (soli) diagrammi prodotti con la liberiria mindmap di tikz ed i margini sono stati (ampiamente) rivisti con il paccehtto geometry
`\documentclass[a4paper]{article}\usepackage[a4paper,top=2,5cm,bottom=2,5cm,left=1cm,right=1cm]{geometry}
\usepackage{tikz}
\usetikzlibrary{mindmap}`Ora mi è stato chiesto di inserire le pagine dell’articolo così com’è in mezzo al report.
Come faccio?
Ho pensato al pacchetto changepage:
`
\begin{adjustwidth*}{-1cm}{-4cm}
\centering
\begin{tikzpicture}
…
`
ma ottengo qualcosa di simile all’effetto desiderato solo nelle pagine pari, mentre nelle dispari… no.
E’ difficile spiegare senza postare tutto il codice con tutti i diagrammi, ma non penso sia il caso di riportarli qui.
Inoltre, anche così, non riesco a settare i margini dx e sx a 1cm (+ eventuali 5mm di margine interno per la rilegatura), ma ho settato un generico -1, -4 ai margini di classicthesis, andando a occhio…Grazie
GG
-
CreatoreTopic
-
AutoreRisposte
-
-
20 Novembre 2009 alle 22:48 #39445::
Buona sera.
Sto scrivendo un report con classicthesis`\documentclass[11pt,a4paper,twoside,openright,titlepage,fleqn,
cleardoublepage=empty,abstracton,numbers=noenddot,%
headinclude,footinclude,BCOR5mm,%
captions=tableheading]{scrreprt}\usepackage{classicthesis-ldpkg}
\usepackage[subfig,parts,eulermath,pdfspacing,beramono]{classicthesis}
\usepackage[italian]{arsclassica}
`In parallelo ho un article che contiene diverse pagine, tutte piene di (soli) diagrammi prodotti con la liberiria mindmap di tikz ed i margini sono stati (ampiamente) rivisti con il paccehtto geometry
`\documentclass[a4paper]{article}\usepackage[a4paper,top=2,5cm,bottom=2,5cm,left=1cm,right=1cm]{geometry}
\usepackage{tikz}
\usetikzlibrary{mindmap}`Ora mi è stato chiesto di inserire le pagine dell’articolo così com’è in mezzo al report.
Come faccio?
Ho pensato al pacchetto changepage:
`
\begin{adjustwidth*}{-1cm}{-4cm}
\centering
\begin{tikzpicture}
…
`
ma ottengo qualcosa di simile all’effetto desiderato solo nelle pagine pari, mentre nelle dispari… no.
E’ difficile spiegare senza postare tutto il codice con tutti i diagrammi, ma non penso sia il caso di riportarli qui.
Inoltre, anche così, non riesco a settare i margini dx e sx a 1cm (+ eventuali 5mm di margine interno per la rilegatura), ma ho settato un generico -1, -4 ai margini di classicthesis, andando a occhio…Non si capisce molto, se devo dire la verità. Vuoi inserire pagine intere? Se sì, da’ un’occhiata al pacchetto pdfpages. Altrimenti cerca di spiegarti meglio.
Ciao
Enrico
-
21 Novembre 2009 alle 12:42 #39446::
Non si capisce molto, se devo dire la verità. Vuoi inserire pagine intere? Se sì, da’ un’occhiata al pacchetto pdfpages. Altrimenti cerca di spiegarti meglio.
Ciao
Enricoevidentemente non sono stato chiaro,
nel report con classicthesis voglio inserire il codiche che produce i diagrammi tikz, i quali ci stanno su un altro documento i cui margini sono stati impostati con geometry ai valori di cui sotto.
ciò che allora devo fare è impostare per una decina di pagine i margini del documento classicthesis ai valori top=bottom=2,5, laft=right=1+ eventuali 5mm per rilegatura sul margine interno.ho provato a fare ciò col pacchetto changepage ed il comando
`\begin{adjustwidth*}{-1cm}{-4cm}
\centering
\begin{tikzpicture}
…`
ma le sole pagine dispari hanno le caratteristiche richieste, mentre quelle pari hanno le figure tutte schiacciate a destra.
Inoltre, il comando che ho usato espande i margini interni ed esterni (credo) di 1 e 4 cm, mentre io vorrei che localemente i maringi laterali siano 1cm e 1,05cm (quello interno, con rilegatura).Grazie
GG
-
21 Novembre 2009 alle 13:48 #39447::
Non si capisce molto, se devo dire la verità. Vuoi inserire pagine intere? Se sì, da’ un’occhiata al pacchetto pdfpages. Altrimenti cerca di spiegarti meglio.
Ciao
Enricoevidentemente non sono stato chiaro,
nel report con classicthesis voglio inserire il codiche che produce i diagrammi tikz, i quali ci stanno su un altro documento i cui margini sono stati impostati con geometry ai valori di cui sotto.
ciò che allora devo fare è impostare per una decina di pagine i margini del documento classicthesis ai valori top=bottom=2,5, laft=right=1+ eventuali 5mm per rilegatura sul margine interno.ho provato a fare ciò col pacchetto changepage ed il comando
`\begin{adjustwidth*}{-1cm}{-4cm}
\centering
\begin{tikzpicture}
…`
ma le sole pagine dispari hanno le caratteristiche richieste, mentre quelle pari hanno le figure tutte schiacciate a destra.
Inoltre, il comando che ho usato espande i margini interni ed esterni (credo) di 1 e 4 cm, mentre io vorrei che localemente i maringi laterali siano 1cm e 1,05cm (quello interno, con rilegatura).`\def\tikzboxplacement{r}
\def\tikzboxalignment{flushright}
\newsavebox{\placetikzbox}
\newenvironment{placetikz}
{\ifodd\value{page}%
\def\tikzboxplacement{l}\def\tikzboxalignment{flushleft}%
\fi
\begin{\tikzboxalignment}
\begin{lrbox}{\placetikzbox}\ignorespaces}
{\end{lrbox}\makebox[0pt][\tikzboxplacement]{\usebox{\placetikzbox}}%
\end{\tikzboxalignment}}`
A questo punto puoi inserire i tuoi ambienti tikzpicture nell’ambiente “placetikz”. Puoi fare almeno un vero esempio?Ciao
Enrico
-
21 Novembre 2009 alle 21:56 #39448::
`\def\tikzboxplacement{r}
\def\tikzboxalignment{flushright}
\newsavebox{\placetikzbox}
\newenvironment{placetikz}
{\ifodd\value{page}%
\def\tikzboxplacement{l}\def\tikzboxalignment{flushleft}%
\fi
\begin{\tikzboxalignment}
\begin{lrbox}{\placetikzbox}\ignorespaces}
{\end{lrbox}\makebox[0pt][\tikzboxplacement]{\usebox{\placetikzbox}}%
\end{\tikzboxalignment}}`
A questo punto puoi inserire i tuoi ambienti tikzpicture nell’ambiente “placetikz”.Direi che così è perfetto…
Puoi fare almeno un vero esempio?
Ciao
Enrico`\begin{tikzpicture}
\path[mindmap,concept color=blue,text=black]
node[concept] {}[clockwise from=90]
child[concept]{ node[concept] {}[clockwise from=135]
child[concept] { node[concept] {}
}
child[concept] { node[concept] {}[clockwise from=90]
child[concept] { node[concept] {}}
child[concept] { node[concept] {}}
}
}
child[concept] { node[concept] {}
child[concept] { node[concept] {}}
child[concept] { node[concept] {}}
}
child[concept] { node[concept] {}[clockwise from=45]
child[concept] { node[concept] {}[clockwise from=35]
child[concept] { node[concept] {}}
child[concept] { node[concept] {}}
}
child[concept] { node[concept] {}[clockwise from=0]
child[concept] { node[concept] {}}
child[concept] { node[concept] {}}
child[concept] { node[concept] {}}
child[concept] { node[concept] {}}
}
}
child[concept] { node[concept] {}[counterclockwise from=-135]
child[concept] { node[concept] {}
child[concept] { node[concept] {}}
child[concept] { node[concept] {}}
}
child[concept] { node[concept] {}[clockwise from=0]
child[concept] { node[concept] {}}
}
};
\end{tikzpicture}`
Questo è uno degli esempi più ramificati e si ripete due o tre volte identico.Rimane aperta solo una questione.
Nel codice tikz (che qui ho riportato omettendo il testo) dovrei “spegnere” la sillabazione, ovviamente.
Ho usato:
`\tolerance=1
\emergencystretch=\maxdimen
\hyphenpenalty=10000
\hbadness=10000`
e funziona.Ora il codice è in un documento in cui la sillabazione deve essere attiva: come fare a spegnerla solo in quella decina di pagine?
Grazie
GG[OT]
L’approccio che usi è totalmente diverso da quello che avevo pensato: non cambi i margini del testo, ma inserisci un contenitore che non si spaventa dei margini.Qualche tempo fa ho avuto un problema simile e, rielaborando la soluzione che mi era stata suggerita, ho provato a creare un pacchetto personale: bigfig.sty.
bigfig.sty si usa solo con classicthesis e mette a disposizione (per ora) un solo comando : \includelargegrapics.
Tale comando va usato tipicamente all’interno di un ambiente figure e inserisce una figura la cui larghezza è obbligatoriamente la larghezza del testo + la larghezza dedicata alle note a margine, con la particolarità di far fluire la figura nel margine esterno della pagina, che in classicthesis è abbastanza ampio. Il pacchetto riconosce anche se l’opzione di classe twoside è attiva o meno e, in caso affermativo, identifica se la pagina in cui si inserisce la figura è pari o dispari, in modo da allineare la figura a sinistra o a destra con il testo, rispettivamente.
In realtà, come ripeto, l’idea di utilizzare i margini nonché la soluzione texnica impiegata non hanno certo la mia paternità: io ho solo “iniziato” a mettere insieme i pezzi, raccogliendoli in un pacchetto.`
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{bigfig}[2009/11/21 v0.1 Inserting Big Figure in classicthesis]
\RequirePackage{classicthesis-ldpkg}
\RequirePackage{classicthesis}
\RequirePackage{calc}
\RequirePackage{graphicx}\newlength\largepage
\makeatletter
\newcommand*{\includelargegraphics}[1]%
{
\if@twoside % se twoside attiva
\PackageInfo{bigfig}{Class option “twoside” is active.
This differentiante the behaviour of bigfig package for even and odd pages.}
%
\setlength{\largepage}{\columnwidth+\marginparsep+\marginparwidth}% reset dalla dimensione
\refstepcounter{figure}\label{d@f\thefigure}
\ifthenelse % inizio condizionale
{\isodd{\pageref{d@f\thefigure}}} % condizione: questa cosa è dispari
{\centering\makebox[\textwidth][l]{\includegraphics[width=\largepage]{#1}}} % se vero
{\centering\makebox[\textwidth][r]{\includegraphics[width=\largepage]{#1}}} % se falso
\else % altrimenti è oneside
\PackageInfo{bigfig}{Class option “oneside” is active.
Even and odd pages is the same for bigfig package.}
%
\setlength{\largepage}{\columnwidth+\marginparwidth}% reset dalla dimensione
{\centering\makebox[\textwidth][l]{\includegraphics[width=\largepage]{#1}}}
\fi %fine differenza oneside vs twoside
} % end bigfig command
\makeatother
`Cosa ne pensate?
Nel cassetto rimane da sistemare la compatibilità con subfig e chissà cos’altro. Prima o poi…
grazie
GG
[/OT]
-
21 Novembre 2009 alle 22:51 #39449::
…
La soluzione che ti ho dato è del tutto simile alla precedente, in effetti si potrebbe rendere la faccenda automatica in modo analogo.
Qualche piccola 🙂 modifica al tuo pacchettino:
`\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{bigfig}[2009/11/21 v0.2 Inserting Big Figure in classicthesis]
\RequirePackage{calc,graphicx,ifthen}\newcounter{bigf@largegraphics}
\newdimen\bigf@largepage
\AtBeginDocument{\setlength{\bigf@largepage}{%
\columnwidth+\marginparsep+\marginparwidth}}\newcommand*{\includelargegraphics}[2][]{%
\if@twoside % se twoside attiva
\refstepcounter{bigf@largegraphics}%
\label{bigf@\thebigf@largegraphics}%
\ifthenelse % inizio condizionale
{\isodd{\pageref{bigf@\thebigf@largegraphics}}}% condizione: numero dispari
{\def\bigf@placement{l}}% se vero
{\def\bigf@placement{r}}% se falso
\else % altrimenti oneside
\def\bigf@placement{l}%
\fi %fine differenza oneside vs twoside
\centering\makebox[\textwidth][\bigf@placement]{%
\includegraphics[#1,width=\bigf@largepage]{#2}}}%
} % end bigfig command`
Non si deve mai mettere \makeatletter e \makeatother in un .sty; non vedo nemmeno perché lasciar perdere \marginparsep in “oneside”. C’erano parecchi spazi spuri e non andava bene nemmeno l’uso del contatore figure, che farebbe sballare tutte le didascalie.Ho aggiunto anche un argomento opzionale a \includelargegraphics per metterci anche qualche altra opzione, occorrerebbe fare qualche prova per vedere se funzionano. Dimmi che succede, magari in un altro filone. Ah, non vedo perché limitarlo a ClassicThesis: non usi nulla che lo riguardi.
Per la questione della sillabazione:
`\newenvironment{placetikz*}
{\language=255 \emergencystretch=10em \placetikz}
{\endplacetikz}`
e in questo ambiente la sillabazione sarà spenta. Rendere infinita \hbadness e roba varia mi pare piuttosto azzardato, ma senza un esempio come si fa a verificare? 👿 🙂Ciao
Enrico
-
21 Novembre 2009 alle 23:17 #39450::
Per la questione della sillabazione:
`\newenvironment{placetikz*}
{\language=255 \emergencystretch=10em \placetikz}
{\endplacetikz}`
e in questo ambiente la sillabazione sarà spenta. Rendere infinita \hbadness e roba varia mi pare piuttosto azzardato, ma senza un esempio come si fa a verificare? 👿 🙂Ciao
EnricoAnche questa indicazione funziona: gli overfull hbox aumentano, il che mi pare un buon segno.
La soluzione che usavo per “spegnere” la sillabazione, al solito, non è farina del mio sacco:
http://www.guit.sssup.it/phpbb/viewtopic.php?t=6243Per il pacchetto, per il quale il suo stato embrionale non giustifica la quantità di obbrobri che – a quanto pare – conteneva (e per fortuna che mi ero limitato al copia-incolla…), farò le debite prove e mi rifarò vivo, in altra sede. Giusto per la cronaca: anche quello che ho scritto io pareva funzionare… 😯
Per ora, grazie
-
21 Novembre 2009 alle 23:34 #39451
-
22 Novembre 2009 alle 20:56 #39452::
In riferimento all’inserimento nella lista delle figure di un riferimento alle pagine che contengono i diagrammi. ho provato con qualcosa del tipo:
`\addcontentsline{lof}{figure}{testo da inserire}`
e una voce viene effettivamente generata nella lof, ma non riesco a controllare il “testo da inserire” (allineamento, forma, …).
Sto percorrendo la strada giusta?Grazie
-
22 Novembre 2009 alle 21:49 #39453::
In riferimento all’inserimento nella lista delle figure di un riferimento alle pagine che contengono i diagrammi. ho provato con qualcosa del tipo:
`\addcontentsline{lof}{figure}{testo da inserire}`
e una voce viene effettivamente generata nella lof, ma non riesco a controllare il “testo da inserire” (allineamento, forma, …).
Sto percorrendo la strada giusta?Pacchetto caption e comando \captionof
Ciao
Enrico
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.