Risposte nei forum create
-
AutoreRisposte
-
::
Ciao a tutti di nuovo, dato che a breve devo consegnare la tesi, e che nonostante abbia cercato sul forum, non ho trovato nulla eccomi qui con un altro problema:…
👿 👿 👿
Extra FAQ. Una semplice ricerca di “label caption” avrebbe risolto ogni tuo problema.
`…
\caption{Testo}\label{etichetta}`
Ciao
Enrico
::Ciao a tutti,
sto preparando una collezione di esercizi di elettrotecnica per gli studenti e vorrei avere il disegno del circuito da studiare (eseguito con pstricks e un package dipendente) sulla colonna di sinistra mentre sulla colonna di destra il testo con i dati e l’eventuale risultato. Ho provato con il seguente codice (opportunamente ripulito per evitare di dover caricare diversi packages)
`
\documentclass[a4paper]{article}\usepackage{pstricks}
\title{Prova}
\begin{document}
\begin{table}
\begin{tabular}[t]{|p{0.5\textwidth}|p{0.5\textwidth}|}
%
\hline
\begin{pspicture}(0,0)(5,5) \psgrid
\end{pspicture} & blablabla \\
\hline
%
\end{tabular}
\end{table}\end{document}
`
Ma non produce il risultato che vorrei, con il testo della colonna di destra allineato verticalmente in alto. Esiste un modo per forzare questo allineamento?
La stessa procedura può essere applicata ad una longtable?Ci sono alcune cosucce da sistemare, prima di tutto.
`\begin{tabular}{|p{.5\textwidth}|p{.5\textwidth}|}`
produce ovviamente un messaggio di “Overfull \hbox”, perché non tieni conto degli spazi prima, tra e dopo le colonne.Le tabelle inquadrettate sono da evitare come e più di Word. 😀
Adesso veniamo al tuo problema particolare. Un comando come
`\begin{pspicture}(a,b)(c,d)`
crea una “scatola” (un oggetto che si comporta come un carattere di stampa) che ha il suo punto di riferimento nell’angolo in basso a sinistra. Una “A” ha lo stesso comportamento, mentre una “p” non ha il punto di riferimento nell’angolo in basso a sinistra. Questo permette a TeX di allineare i caratteri correttamente.Il risultato che ottieni è che TeX allinea correttamente i punti di riferimento della pspicture e delle lettere sulla seconda colonna.
Credo che, spulciando il manuale di pstricks, si trovi come sistemare la faccenda, visto che adesso sai da che cosa è causata. Ti do un modo per risolverla, ma ti invito a cercare un metodo più “pstricks”.
`\newenvironment{tabpspicture}
{\vtop\bgroup\kern0pt\hbox\bgroup\strut\pspicture}
{\endpspicture\egroup\egroup}`
Se sostituisci il tuo \begin{pspicture}…\end{pspicture} con \begin{tabpspicture}…\end{tabpspicture}, ottieni il risultato sperato.Rimangono fuori i numeri delle coordinate (nel tuo esempio), ma quello dipende da pstricks e va risolto con i suoi comandi.
Se vuoi una tabella che occupi interamente la giustezza, devi caricare il pacchetto calc e usare come specificatore della colonna:
`p{0.5\textwidth-2\tabcolsep}`
Ciao
Enrico
13 Aprile 2007 alle 18:10 in risposta a: compilare+ files latex e \ref incrociati in vari files .pdf #14115::Salve,
Ho il problema di compilare piu’ file Latex ottenendo pero’ distinti files pdf.
(lavoro e appendice al lavoro)L’esigenza nasce dal fatto che ci sono tra questi due file dei cross reference incrociati.
In realta’, il file originario è ben strutturato ed è unico….ma ho avuto problemi con la rivista…..e quindi dovrei fare una cosa del genere: cioè dividere lavoro e appendice.
Siccome il lavoro di separazione delle formule incrociate è massacrante, volevo trovare una soluzione di questo tipo.Non so neanche se si possa fare.
Una soluzione l’ho letta sul topiccompilare piu file latex.
ed è la seguente:
Potrei usare \include per uno di questi file nell’altro e, dopo, dividere opportunamente il pdf
in due pdf distinti per ottenere il mio risultato. Ma non ho l’adobe professional, purtroppo.Ci sono due metodi: uno quello di \include, l’altro usa due documenti separati con il pacchetto xref.
Con \include è abbastanza semplice: ti costruisci un file principale, master.tex, con la forma seguente:
`\documentclass[…]{…}
%%% preambolo
…
%%% fine preambolo%\includeonly{lavoro}
%\includeonly{appendice}\begin{document}
\include{lavoro}
\include{appendice}
\end{document}`
Nel file lavoro.tex ci sarà il testo per il lavoro, e in appendice.tex quello dell’appendice. Compili senza preoccuparti di niente, finché sei alla versione definitiva. A questo punto, togli il carattere di commento davanti al primo \includeonly e compili: il file che ne esce contiene solo il lavoro. Rinomini master.pdf in lavoro.pdf.Rimetti il carattere di commento e lo togli da davanti al secondo: compili e rinomini master.pdf in appendice.pdf.
Ciao
Enrico
::Ciao Enrico,
prima di tutto grazie e complimenti per li codice: è fantastico, va addirittura oltre quello che immaginavo!
Purtroppo sinora non ho avuto molto tempo per testarlo, ma mi sono già imbattuto in un problema: LaTeX inserisce uno spazio aggiuntivo prima della dicitura “pagina”, “figura”, “equazione”,… Per essere più chiaro`\dots la rigenerazione (\fig{icr}).`fornisce
…la rigenerazione ( figura 1).
Manca un %:
` \expandafter\newcommand\csname #2\endcsname[1][1]{\gdef\theref{#3}\gdef\whatref{#1}%`Come dicevo all’inizio, mi sarei accontentato di molto meno ma, visto che hai prodotto un codice così potente, penso che (terminata la fase di debugging) sia proprio il caso di farlo diventare un pacchetto (gli altri dello staff che ne pensano?). Secondo me sarebbe tutt’altro che un pacchetto “di nicchia”.
Mi permetto di chiederti un ulteriore miglioramento (troppo sfacciato?): sarebbe possibile far raggruppare automaticamente per intervalli i riferimenti consecutivi, alla stregua di un altro pacchetto che riguarda riferimenti bibliografici (purtroppo non ricordo il nome)? Del tipo: invece di
come si vede nelle equazioni (1), (2), (3), (4) e (5)
avere
come si vede nelle equazioni (1)-(5)
Automaticamente? Direi proprio che richiederebbe uno studio un po’ più complicato. C’è qualcosa del genere per le citazioni, pacchetto cite.
Intanto provalo, poi vedremo.
Ciao
Enrico
13 Aprile 2007 alle 7:40 in risposta a: [titlesec] Creare ulteriori livelli di sezionamento(risolto) #14107::Saluto il forum prima di iniziare.
Le mie esigenze sono di avere, nel corpo del documento, numerazioni di tipo legali (1, 1.1, 1.1.1) fino al terzo livello (o più, in futuro) a partire da \subsection in quanto \section lo utilizzo per titolare fuori dal corpo del testo. Ho provato quanto segue senza esito:`
\documentclass[a4paper,10pt,twocolumn]{article}
\usepackage[italian]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphics}
\usepackage{textcomp}
\usepackage{titlesec}
\usepackage{ulem}\renewcommand\thesubsection {\Alph{section}\arabic{subsection}}
\titleformat{\section}[display]{\normalfont\large\bfseries\filcenter}{SEZIONE \Alph{section}}{1em}{}{}
\titleformat{\subsection}[hang]{\normalfont\large\bfseries}{\thesubsection.}{1em}{}{}
\titleformat{\subsubsection}[runin]{\normalfont}{\thesubsubsection.}{1em}{\uline}{}\newcounter{ssubsubsection}
\titleclass{\ssubsubsection}{straight}[\subsubsection]\titleformat{\ssubsubsection}[runin]{\normalfont}{qq}{1em}{\uline}{}
\titlespacing{\ssubsubsection}{0pt}{1em}{0em}
`Dove sbaglio? Quale potrebbe essere un piano di studio consigliato per acquisire padronanza sul tema?
Usa \part per i “titoli fuori corpo”. Puoi modificarne l’effetto con titlesec al pari degli altri comandi.
Ciao
Enrico
::Se io ho una sottosezione (o sottoparagrafo) è bene citarla con
“per esempio nella sezione (o paragrafo)” o “per esempio nella sottosezione (o sottoparagrafo)”?
Non sarei così pedante. Ci metti anche il numero, dal quale si capisce a quale livello ti stai riferendo. Quindi “sezione” o “paragrafo”.
PS per il comando che “da solo” capisce se singolare o plurale penso che egreg9 ce ne sfornerà uno prontamente 😀
Troppi automatismi sono a volte esagerati. Se poi ne devi citare tre di fila? Be’, accetto la sfida.
`\newcount\abbrvcount
\newcommand\theref{}\newcommand\whatref{}
\newcommand\defineabbrev[6][\ref]{%
\expandafter\newcommand\csname #2\endcsname[1][1]{\gdef\theref{#3}\gdef\whatref{#1}
\abbrvcount=##1\relax
#4\ifnum##1=1 #5\expandafter\oneref\else #6\expandafter\firstref\fi}}\newcommand\oneref[1]{~\whatref{\theref#1}}
\newcommand\firstref[1]{~\whatref{\theref#1}\advance\abbrvcount -1 \moreref}
\newcommand\moreref[1]{\ifnum\abbrvcount=1 \ e~\whatref{\theref#1}\else, \whatref{\theref#1}%
\advance\abbrvcount -1 \expandafter\moreref\fi}`
Ho definito un comando generico per definire abbreviazioni per riferimenti. Si usa, per esempio, così:
`\defineabbrev{fig}{fig:}{Figur}{a}{e}
\defineabbrev[\eqref]{eq}{eq:}{Equazion}{e}{i}`
Il comando \defineabbrev ha un argomento opzionale e cinque obbligatori:
• quello opzionale è il comando da usare per chiamare il riferimento (default \ref)
• primo argomento, il comando da definire (senza barra rovescia)
• secondo argomento, il prefisso per i riferimenti (può essere vuoto)
• terzo argomento, il testo da scrivere (senza la terminazione)
• quarto argomento, la terminazione per il singolare
• quinto argomento, la terminazione per il pluraleLa costruzione \defineabbrev{xx}{yy:}{Nom}{e}{i} definisce il comando \xx che ha un argomento opzionale (default 1) che indica il numero di riferimenti che seguono. Perciò
`\xx{pippo}`
equivale a “Nome~\ref{yy:pippo}”;
`\xx[2]{pippo}{pluto}`
equivale a “Nomi \ref{yy:pippo} e~\ref{yy:pluto}”, mentre
`\xx[3]{pippo}{pluto}{paperino}`
equivale a “Nomi \ref{yy:pippo}, \ref{yy:pluto} e~\ref{yy:paperino}”.I comandi di jhetfield potrebbero essere
`\defineabbrev{fig}{fig:}{figur}{a}{e}
\defineabbrev[\eqref]{eq}{equazion}{e}{i}
\defineabbrev{tab}{tab:}{tabell}{a}{e}
\defineabbrev[\pageref]{pag}{}{pagin}{a}{e}`
Non garantisco sulla robustezza dei comandi così ottenuti, meglio stare attenti a usarli nell’argomento di \caption. Fatemi sapere se vi funzionano.Ciao
Enrico
::Se non metti tutto il preambolo, come possiamo capire dov’è il problema? Che vuol dire “si blocca”?
Il problema si presenta semplicemente caricando i pacchetti di classicthesis e la classe scrartcl. Se compilo il seguente
`\documentclass[10pt,a4paper,twoside,fleqn,
cleardoubleempty,abstractoff,pointlessnumbers,
headinclude,footexclude,BCOR5mm]{scrartcl}\usepackage{classicthesis-ldpkg}
\usepackage[eulerchapternumbers,subfigure,eulermath]{classicthesis}
\usepackage{lipsum}\begin{document}
\lipsum
\end{document}
`La compilazione si blocca sui comandi \@remreset nel pacchetto classicthesis-ldpkg. Appena ho scritto la prima versione della risposta mi è venuto in mente il perché! Non c’è il contatore chapter in scrartl. È obbligatorio usare scrbook.
Quel pacchetto carica una miriade di pacchetti, credo anche in modo molto confuso e ha un certo numero di errori, fra cui un numero impressionante di \makeatletter e \makeatother che in un file .sty sono proibiti.
Ciao
Enrico
::Credo che siamo andati un po’ fuori tema, non volevo del codice ma semplicemente dei consigli. Secondo jhetfield sono questioni di gusti mentre egreg9 detesta le abbreviazioni…
Io dico la mia: la prima lettera grande. Infatti di default LaTex con le caption mette “Figura” o “Tabella” quindi facendo riferimento mi sembra ovvio mettere la prima lettera grande. Voi che ne pensate?
Un mio coautore voleva cose del tipo “abbiamo visto nel Capitolo 4 che …”; non mi piace granché, ma l’ho accontentato.
Io cercherei di essere parco con le maiuscole. Scrivendo “come si vede nella figura 2.3”, non c’è dubbio a che cosa tu ti riferisca. Alcuni preferiscono “Figura 2.3”, questione di gusti, come si diceva. L’importante è che l’uso sia coerente; quei comandi ti permettono di scrivere i riferimenti in astratto, così poi sei sicuro di essere coerente, qualunque decisione finale tu prenda.
Niente abbreviazioni, che saranno mai due caratteri risparmiati (da Figura a Fig.)?
Ciao
Enrico
::Ciao a tutti, come appare dai miei ultimi interventi, sono rimasto conquistato dalla bellezza dello stile Classicthesis, che sto usando per tutti i miei documenti, con grande soddisfazione.
Classicthesis non usa il grassetto:
No bold fonts are used. Italics or spaced small caps do the job quite well.
Per evidenziare i teoremi, ho pensato di usare il pacchetto amsthm:
`\newtheoremstyle{classic}% name
{3pt}% Space above
{3pt}% Space below
{}% Body font
{}% Indent amount (empty = no indent, \parindent = para indent)
{\scshape\color{Maroon}}% Thm head font
{:}% Punctuation after thm head
{.5em}% Space after thm head: ” ” = normal interword space;
% \newline = linebreak
{}% Thm head spec (can be left empty, meaning `normal')\theoremstyle{classic}
\newtheorem{teorema}{Teorema}
`
e il risultato è buono. Mi chiedevo se è possibile, al posto dal maiuscoletto, ottenere il “maiuscoletto spaziato” \spacedallcaps o \spacedlowsmallcaps. Ho provato a fare qualche tentativo, ma invano.Aggiungi \lsstyle dopo \scshape
Ciao
Enrico
::Ciao a tutti, vorrei usare lo stile Classicthesis per scrivere un articolo. Purtroppo, il codice
`\documentclass[…]{scrartcl}
\usepackage{classicthesis-ldpkg}
\usepackage[…]{classicthesis}
\begin{document}
…
\end{document}
`
non funziona: il compilatore, addirittura, si blocca!Finora, in via provvisoria, ho usato
`\documentclass[…]{scrreprt}
`
che, naturalmente, non è adeguato: per esempio, la numerazione delle equazioni e delle sezioni è 0.1, 0.2, …Se non metti tutto il preambolo, come possiamo capire dov’è il problema? Che vuol dire “si blocca”?
Ciao
Enrico
::Questione di gusti.
Personalmente preferisco non abusare del maiuscolo e trovo comodo definire delle macro per risparmiare sulla digitazione e per l’uniformità:
`\newcommand{\fig}[1]{\mbox{fig.\thinspace\ref{fig:#1}}}
\newcommand{\eq}[1]{\mbox{eq.\thinspace\eqref{eq:#1}}}
\newcommand{\tab}[1]{\mbox{tab.\thinspace\ref{tab:#1}}}
\newcommand{\vedi}[1]{\mbox{cfr.\thinspace #1}}
\newcommand{\sez}[1]{\mbox{\S\ref{sec:#1}}}
\newcommand{\pag}[1]{\mbox{pag.\thinspace\pageref{#1}}}`
L’unico dubbio che ho anch’io è sul comando di riferimento ai paragrafi \sez, inizialmente definito “in conformità” agli altri:`\newcommand{\sez}[1]{\mbox{\S\thinspace\ref{sec:#1}}}`
ma che su moltissimi libri ho visto privo di spazi e alla fine mi sono convinto a cambiarlo (anche se a me non piace moltissimo la versione senza \thinspace).PS:occhio alle label! Come vedi, i comandi si appoggiano sull’ipotesi che tutte le label di figure comincino con fig:, quelle di tabelle con tab:, quelle di equazioni con eq:,… Dopotutto è una consuetudine piuttosto diffusa.
Va bene definirsi i comandi. Ma le abbreviazioni proprio sono orribili; so bene che vengono usate, ciò non significa che siano necessarie.
Non metterei affatto \thinspace, ma uno spazio normale e risparmierei in ogni caso quei comandi \mbox che, anche con il tuo codice, sono inutili.
`\newcommand{\fig}[1]{figura~\ref{fig:#1}}
\newcommand{\eq}[1]{equazione~\eqref{eq:#1}}
\newcommand{\tab}[1]{tabella~\ref{tab:#1}}
\newcommand{\vedi}[1]{vedi~#1}
\newcommand{\sez}[1]{Sezione\ref{sec:#1}}
\newcommand{\pag}[1]{pagina~\pageref{#1}}}`
Ciao
Enrico
::Ciao a tutti, ho un problema con la bibliografia ed in particolare quando inserisco un URL.
Questo è uno dei blocchi della mia bibliografia:`
@Misc{web:wslaIBMSpec,
author = “IBM”,
title = “{Web Service Level Agreement (WSLA) Language Specification, Version 1.0}”,
howpublished = “\url{http://www.research.ibm.com/wsla/WSLASpecV120030128.pdf}”
}
`e questo è quello che produce:
`
[35] IBM. Web Service Level Agreement (WSLA) Language Speci?cation, Version 1.0.
http://www.research.ibm.com/wsla/WSLASpecV1\discretionary{- }{}{}20030128.pdf.
`In pratica ovunque inserisco un url con un segno “-” mi scrive quel pezzo discretionary. Inutile provare con \- nel file della bibliografia, perchè mi dice unidefined sequence nel bbl creato.
Se serve qualche altra info chiedete pure.
Grazie a tutti in anticipo.
Roberto.
Che carattere è quel trattino? Secondo me non è quello standard e infatti non compare nella parte di codice del tuo messaggio. Non starai mica usando il “soft-hyphen”?
Ciao
Enrico
::Salve a tutti. Sto presentando un mini-rapporto in LaTeX e, a causa dell’urgenza, chiedo a voi: dovrei “firmare il documento”, ovvero avere un ambiente, in basso a destra dove mettere
Augusto Pirletti
Gremelli S.p.A.c’è qualcosa di “prefabbricato”? altrimenti come lo costruisco? grazie 1000!
`\begin{flushright}
\begin{tabular}{@{}l@{}}
Augusto Pirletti\\
Gremelli S.p.A.
\end{tabular}
\end{flushright}`
Se vuoi centrare le due righe fra loro, basta scrivere @{}c@{} nell’argomento di tabular.Ciao
Enrico
::Ciao! Ti ringrazio della risposta! Posso chiederti ancora un favore?
Mi spiegheresti un momento come hai definito il nuovo comando machsum?
Così, imparo qualcosa e la prox volta magari riesco ad arrangiarmi da solo! Grazie mille!Non è una cosa facilissima, c’è un altro thread nel quale tratto \ooalign, puoi vedere anche là.
La prima cosa è \mathbin, che dichiara il suo argomento come un’operazione binaria; questo aggiusta da sé gli spazi attorno.
La parte più importante è quello che ci sta dentro, che comincia con un \ooalign. Questa è una costruzione quasi primitiva che crea una tabella a una colonna in cui le celle sono “a strati” una sopra l’altra.
La prima cella contiene \hfil\lower.2ex\hbox{$\m@th\square$}\hfil, cioè è centrata rispetto all’ampiezza finale della tabella; in essa metto una scatola orizzontale abbassata di circa 1pt (a corpo 10, valutato a occhio in base all’aspetto del simbolo) la quale a sua volta contiene il simbolo \square. Il comando \m@th è una precauzione di solito irrilevante. È bene usarlo quando si impiegano formule in strutture TeX non specificamente matematiche; questa lo è solo nel risultato finale, non durante la costruzione.
La seconda cella, che sarà stampata sopra alla prima è il circoletto centrato rispetto all’ampiezza.
In questo tipo di tabelle le righe vanno terminate con \cr, non con \\. L’ampiezza della tabella è determinata dalla cella più larga, in questo caso la prima. Occorre tenere presente che non ci sono veri strati (layers) come in PostScript, ciò che viene stampato sopra non nasconde ciò che sta sotto.
Et voilà.
Ciao
Enrico
-
AutoreRisposte