Risposte nei forum create
-
AutoreRisposte
-
4 Dicembre 2010 alle 11:02 in risposta a: Spaziatura tra il testo e la linea di sopra/sottolineatura #23310::
Mi trovo in una situazione particolare che proprio non so come risolvere:
In ambiente “math” il comando \overline funziona alla perfezione. Se la stessa formula la inserisco in ambiente “displaymath” la ‘sottolineatura’ vien fuori completamente attaccata alla lettera.
Questo però accade solo con un’unica formula nel senso che ho provato a passare altre formule già scritte dall’ambiente math all’ambiente diplaymath e non ci sono cambiamenti se non quello ovvio di riportare la formula su di una nuova linea e centrarla.
Ho provato anche con \mathstrut ma poi lo spazio è maggiore rispetto alle altre formule!
Cosa succede?
Dobbiamo rivolgerci a Wikileaks per avere l’esempio? 🙂
Ciao
Enrico
4 Dicembre 2010 alle 10:21 in risposta a: Larghezza didascalia maggiore larghezza figura in subfigure #53359::Ho due immagini da mettere affiancate.
Le voglio piccole e quindi scrivo width=0.25\linewidth.
Purtroppo anche la didascalia mi viene con larghezza minuscola e finisce su tante righe.Come posso avere la didascalia della subfigure larga 0.4\linewidth e la subfigure larga
0.2\linewidth?
Grazie in anticipo.`
%———————————–
\begin{figure}[tbf]
\centering
\subfigure[Caption1.]{
\includegraphics[width=0.25\linewidth]{Fig1a}
\label{Fig1:a}
}
\hspace{0.1\linewidth}
\subfigure[Looooooong caption goes on many lines.]{
\includegraphics[width=0.2\linewidth]{Fig1b}
\label{Fig1:b}
}
\caption{Total caption.}
\label{Fig1}
\end{figure}
%———————————–
`Prima di tutto cambia il pacchetto subfigure con subfig; occorre scrivere \subfloat invece di \subfigure, ma ne vale la pena.
La didascalia di una sottofigura è larga poco meno della sottofigura stessa. Perciò ti basta “ingannare” il pacchetto dando un’ampiezza maggiore
`\begin{figure}[tb]
\centering
\subfloat[Caption1.]{%
\makebox[0.4\columnwidth]{\includegraphics[width=0.25\columnwidth]{Fig1a}}%
\label{Fig1:a}%
}
\qquad
\subfloat[Looooooong caption goes on many lines.]{%
\makebox[0.4\columnwidth]\includegraphics[width=0.2\linewidth]{Fig1b}}%
\label{Fig1:b}%
}
\caption{Total caption.}
\label{Fig1}
\end{figure}`
Occhio a mascherare correttamente i fine riga (che contano come spazi). Fra le opzioni a \begin{figure} non ha alcun significato mettere “f”. Non sarà [tbp]?Anche riferirsi a \linewidth non è corretto.
Ciao
Enrico
::Ciao.
Il codice di Enrico funziona anche con memoir?A me funziona anche
`\aliaspagestyle{part}{empty}`
per non avere il numero di pagina nelle pagine delle \part nel corpo del documento.Il codice è per la classe book. In memoir ci sono funzioni molto più potenti, come hai appunto osservato.
Ciao
Enrico
::Salve
Sto scrivendo la mia tesi di dottorato, che è composta da tre parti. Avevo intenzione di avere la pagina che introduce ogni parte senza il numero di pagina.
Per questo motivo ho modificato il comando \part (che normalmente mette il numero) nel preambolo come segue:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\makeatletter
\renewcommand\part{%
\if@openright
\cleardoublepage
\else
\clearpage
\fi
\thispagestyle{empty}%
\if@twocolumn
\onecolumn
\@tempswatrue
\else
\@tempswafalse
\fi
\null\vskip 50\p@
\secdef\@part\@spart}
\def\@part[#1]#2{%
\ifnum \c@secnumdepth >-2\relax
\refstepcounter{part}%
\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
\else
\addcontentsline{toc}{part}{#1}%
\fi
\markboth{}{}%
{\centering
\rule{\textwidth}{0.1 mm}
\interlinepenalty \@M
\normalfont
\ifnum \c@secnumdepth >-2\relax
\Huge\bfseries \partname\nobreakspace\thepart
\par
\vskip 20\p@
\fi
\huge \bfseries #2\par
\rule{\textwidth}{0.1 mm}}%
\@endpart}
\def\@endpart{\vskip 40\p@}
\makeatother
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%A questo punto vorrei che anche nell’indice le parti appaiano con il loro numero e titolo , ma senza il numero di pagina.
Capisco che occorre modificare la parte:
\refstepcounter{part}%
\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
\else
\addcontentsline{toc}{part}{#1}%ma non riesco ad ottenere il risultato sperato.
Aggiungo codice minimo compilabile:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[b5paper,11pt,fleqn]{book}% Load Packages
\usepackage{emptypage}
\usepackage{indentfirst}
\usepackage{fancyhdr}
\usepackage[Sonny]{fncychap}
\makeindex
\usepackage{hyperref}% Scambiare i margini delle pagine
\let\tmpmarg=\oddsidemargin
\let\oddsidemargin=\evensidemargin
\let\evensidemargin=\tmpmarg% Page layout
\pagestyle{fancy}
\newcommand{\helv}{%
\fontfamily{phv}\fontseries{b}\fontsize{9}{11}\selectfont}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\fancyhf{}
\cfoot{\thepage}
\fancyhead[RE]{\helv\bfseries\footnotesize\nouppercase{\leftmark}}
\fancyhead[LO]{\helv\bfseries\footnotesize\nouppercase{\rightmark}}% Modifica la sezione Part per eliminare numero di pagina
\makeatletter
\renewcommand\part{%
\if@openright
\cleardoublepage
\else
\clearpage
\fi
\thispagestyle{empty}%
\if@twocolumn
\onecolumn
\@tempswatrue
\else
\@tempswafalse
\fi
\null\vskip 50\p@
\secdef\@part\@spart}
\def\@part[#1]#2{%
\ifnum \c@secnumdepth >-2\relax
\refstepcounter{part}%
\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
\else
\addcontentsline{toc}{part}{#1}%
\fi
\markboth{}{}%
{\centering
\rule{\textwidth}{0.1 mm}
\interlinepenalty \@M
\normalfont
\ifnum \c@secnumdepth >-2\relax
\Huge\bfseries \partname\nobreakspace\thepart
\par
\vskip 20\p@
\fi
\huge \bfseries #2\par
\rule{\textwidth}{0.1 mm}}%
\@endpart}
\def\@endpart{\vskip 40\p@}
\makeatother\begin{document}
\frontmatter% Inseriamo l’indice
\tableofcontents
\pagestyle{fancy}
\markboth{\MakeUppercase{Contents}}%
{\MakeUppercase{}}\mainmatter
% Corpo centrale della Tesi (Introduzione e Capitoli)
\part{titolo parte}\chapter{Introduction and background}
\label{cap1}\section{Overview and problem statement}
\label{cap1:Sott1}\subsection{The challenge of water scarcity}
\label{cap1:Sott1:sub1}The water is
\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Grazie in anticipo
Le modifiche che chiedi si ottengono un pochino più facilmente 8)
`\usepackage{etoolbox}
\patchcmd{\part}{plain}{empty}{}{}
\makeatletter
\let\origl@part\l@part
\renewcommand{\l@part}[2]{\origl@part{#1}{}}
\makeatother`
Sconsiglio vivamente di
(1) usare quello stile di capitoli che non c’entra nulla con il resto dell’impostazione grafica;
(2) usare Helvetica, che non c’entra nulla con il resto dell’impostazione grafica, per le testatine;
(3) scambiare in quel modo perverso i margini; il margine più ampio deve essere quello esterno, checché tu ne pensi. 🙂Ciao
Enrico
::OldClaudio ha scritto
Non ti basterebbe rendere \capo equivalente a \section e \punto equivalente a \subsection?
egreg9 ha scritto:
Ma perché non usare titlesec e modificare \section e \subsection?
si, forse è una soluzione più praticabile per un neofita. ci farò delle prove. grazie.
egreg9 ha scritto:
… aggiungi prima di \makeatother la magia …
la magia funziona. potresti dirmi in due parole cosa fa il comando \@gobble ? googlando non sono riuscito a trovare nulla di immediatamente esplicativo. Grazie.
Fra i suoi vari compiti il comando \@startsection ha la responsabilità di passare il titolo a un’altra macro in modo che questo titolo possa essere usato per la testatina. Lo fa eseguendo l’istruzione
`\csnamemark\endcsname{ }`
doveè quello che passi come primo argomento a \@startsection e è l’argomento (apparente) al comando che stai definendo tramite \@startsection. Vediamolo nel caso di \capo: la chiamata \capo{Premessa} diventa
`\@startsection{capo}{1}{1em}{\baselineskip}{-2em}{\normalfont\normalsize\bfseries}{Premessa}`
e quindi, fra le altre cose, viene eseguito
`\csname capomark\endcsname{Premessa}`
La costruzione \csname capomark\endcsname è equivalente a \capomark se questo comando è definito, a \relax se \capomark non è definito. Per questo trovavi il “raddoppiamento”: nel tuo codice non c’era alcuna definizione di \capomark.La soluzione di scrivere \let\capomark\@gobble è quasi equivalente a
`\newcommand{\capomark}[1]{}`
cioè \capomark semplicemente butta via il suo argomento. Infatti la definizione di \@gobble è
`\newcommand{\@gobble}[1]{}`
Con \let invece di \newcommand si risparmia un po’ di memoria.Nel nucleo di LaTeX si trova infatti
`\let\sectionmark\@gobble
\let\subsectionmark\@gobble
\let\subsubsectionmark\@gobble
\let\paragraphmark\@gobble
\let\subparagraphmark\@gobble`
Sono poi le classi a definire come preferiscono i comandi \sectionmark e così via. La classe article definisce solo \sectionmark.Ciao
Enrico
3 Dicembre 2010 alle 10:11 in risposta a: Numerazione associata a tutte le equazioni di un sistema… #53283::Enrico ha le sue motivazioni per raccomandare di non numerare le singole equazioni di un sistema. Le posso immaginare, e visto che lui è un matematico, mi affido al suo giudizio.
Tuttavia ci sono certamente dei casi in cui è necessario numerarle, evitando circonlocuzioni del tipo “la terza equazione del sistema (3.24)”.
In questo caso io non caricherei nessun pacchetto esterno, ma, avendo sicuramente caricato amsmath e, magari, amssymb (senza esplicitare amsfonts, che viene automaticamente chiamato da amssymb), mi servirei dell’ambiente subequations che fa esattamente quello che vuole fare Melissa (basta che legga la documentazione di amsmath; texdoc amsmath, sottosezione 3.11.3)Se metto le graffe a raggruppare due o più equazioni, significa che le considero come un tutt’uno. Ha dunque poco senso numerarle separatamente. Per equazioni non raggruppate c’è, come suggerito, subequations.
Ciao
Enrico
::Dipende dal codice di Enrico
per il kerning dell’apostrofo di MinionPro…M.
Certo che tikz può essere confuso dal fatto che l’apostrofo diventa attivo, dal momento che lo usa in certe parole chiave (come grow’, per esempio).
Aggiungi, prima del \makeatother relativo,
`\AtBeginDocument{%
\toks@=\expandafter{\tikzpicture}%
\edef\tikzpicture{\catcode`\noexpand\'=12 \the\toks@}}
\let\tikzquote\texqu@te`
Con questi barbatrucchi l’apostrofo non dovrebbe più infastidire tikz nelle parole chiave; però non potrai usare l’apostrofo tra parole nell’ambiente tikzpicture, sostituendolo con \tikzquote (o con un comando dal nome più piacevole, basta cambiarlo nel codice proposto).Ciao
Enrico
::per strutturare un certo testo ho scritto questo codice, ripreso dalle pagine 27 e segg. del TLC2 (riporto l’intero codice di test):
`
\documentclass{article}
\usepackage{lipsum}\setcounter{secnumdepth}{2}
\makeatletter
\newcounter{capo}
\renewcommand{\thecapo}{\arabic{capo}}
\newcommand{\capo}{\@startsection{capo}{1}{1em}{\baselineskip}{-2em}{\normalfont\normalsize\bfseries}}
\newcounter{punto}
\renewcommand{\thepunto}{\thecapo.\arabic{punto}}
\newcommand{\punto}{\@startsection{punto}{2}{1em}{0pt}{-1em}{\normalfont\normalsize\itshape}}
\makeatother\begin{document}
\capo{premessa}\lipsum[1]
\punto{antefatto}\lipsum[2]
\punto{fatto}\lipsum[3]
\punto{postfatto}\lipsum[4]
\capo{analisi}\lipsum[2]
\capo{sintesi}\lipsum[3]
\end{document}
`ovviamente la parte di codice in questione è quella compresa tra \makeatletter e \makeatother. Il problema è che il testo dei capi e dei punti risulta ripetuto, più o meno così:
1 premessapremessa Lorem ipsum dolor sit amet…
1.1 antefattoantefatto Nam dui ligula…
1.2 fattofatto Nulla malesuada…se invece uso la starred form le intestazioni non sono più ripetute, ma scompaiono i numeri:
`
…
\capo*{premessa}\lipsum[1]
\punto*{antefatto}\lipsum[2]
\punto*{fatto}\lipsum[3]
\punto*{postfatto}\lipsum[4]
…
`premessa Lorem ipsum …
antefatto Nam dui ligula…
fatto Nulla malesuada…io vorrei sia i numeri che le intestazioni riportate IL GIUSTO NUMERO di volte.
idee? suggerimenti?
grazie, ciao.
Devi definire anche \capomark e \puntomark; aggiungi prima di \makeatother la magia
`\let\capomark\@gobble \let\puntomark\@gobble`
Ma perché non usare titlesec e modificare \section e \subsection?Ciao
Enrico
::Hai chiuso il file sorgente con \end{document} ?
ciao claudio allora il file l’ho chiuso cn il comando \end{document}, però il fatto strano è che oggi riaprendo il mio texmaker e mandando in compilazione lo stesso file scritto ieri non mi ha dato nessun problema infatti mi ha generato il file .pdf secondo te potrebbe essere un bug del programma texmaker??
Più probabilmente non c’era il file Capitolo2.tex
Ciao
Enrico
::Ciao a tutti, vorrei modificare la pagina del frontespizio:
Compilando, al di sotto del logo viene inserita automaticamente la scritta “Università degli studi di”.
La mia università che è La sapienza ormai si chiama solamente “Sapienza” Università di Roma cosa che fra l’ altro è già scritta nel logo quindi non ho proprio la necessità di riportare nuovamente il nome dell’ università tanto più in un modo che ormai non le appartiene.Nel codice ho provato a cancellare \universita{} ma il risulatato non cambia, compilandolo appare sempre “Università degli studi di”.
Esiste un modo per levare questa scritta?Grazie
Se nella documentazione del pacchetto cerchi “Sapienza”, trovi il comando \Istituzione.
Ciao
Enrico
::Scrivi questa magia nel preambolo:
`\makeatletter
\def\rightmark{\expandafter\@rightmark\botmark\@empty\@empty}
\makeatother`
Il comando \rightmark è definito nel nucleo di LaTeX e la classe scrbook non lo cambia, quindi andare in cerca in scrguien è inutile. 🙂Ciao
EnricoCiao. Non so se posso ancora approfittare, ma dato che sei stato velocissimo nel risolvere il problema di sopra…
E’ tutto a posto con la testatina nelle pagine con piu’ sezioni. Pero’, quando, dopo la sezione 1.1, per esempio, ho una sezione definita con
\section*{Sezione A}
\addcontentsline{toc}{section}{Sezione A}
\sectionmark{Sezione A}quello che succede e’ che nella testatina delle pagine dispari compare “1.2 Sezione A”, e non “Sezione A”, come vorrei io. Cioe’ anche se nel corpo della pagina e nell’indice la sezione non e’ numerata, nella testatina si’. Ho l’impressione che sia difficile evitare questa cosa… O no? Grazie. Rob
Proverei mettendo nel preambolo
`\newcommand{\xsection}[1]{%
\phantomsection\addcontentsline{toc}{section}{Sezione #1}%
\section*{Sezione #1}\sectionmark{\spacedlowsmallcaps{Sezione #1}}}`
e usando \xsection{A} nel corpo del documento, ma mi domanderei prima se è davvero il caso di avere due tipi distinti di sezioni.Ciao
Enrico
::Salve a tutti.
Sto scrivendo la mia tesi di laurea e ho un problemino.
Sto utilizzando un template “prefabbricato” e nonostante abbia già effettuato qualche modifica e letto il manuale itfancyhdr, non riesco a far apparire il numero di pagina sulla prima pagina di ogni capitolo.Il template prevede che nell’intestazione della pagina compaia il nome della sottosezione e il numero di pagina.
Chiaramente, sulla prima pagina del capitolo non c’è l’intestazione, e quindi nemmeno il numero di pagina, che vorrei far apparire in basso. Come fare?Grazie a chi mi aiuta.
ps. Chiaramente nei ringraziamenti ci siete anche voi del Forum Guit che mi state aiutando!
Hai per caso usato l’istruzione \fancypagestyle{plain}{…}? Se no, non vedo motivi per i quali il numero di pagina non dovrebbe uscire. Esempio minimo, per favore.
Ciao
Enrico
-
AutoreRisposte