Risposte nei forum create
-
AutoreRisposte
-
::
FulvioSaccoccia” post=91284Salve a tutti,
ho tre domande da porre, legate alle possibilità di abbellimento di un testo:
1) mi chiedevo se esistono pacchetti che consentano di inserire degli abbellimenti alle pagine di un testo, per esempio, fregi o un piccoli disegni su alcune pagine di un testo;http://altermundus.com/pages/tkz/ornament/index.html
FulvioSaccoccia” post=91284
2) mi chiedevo quale codice può essere stato usato dall’autore della documentazione di ChemFig per avere un piccolo titolo sulle righe di un box (fig. box1);[attachment=892]box1.jpg[/attachment]
Secondo me è mdframed (http://www.ctan.org/pkg/mdframed), ma forse oggi è meglio usare tcolorbox (http://www.ctan.org/pkg/tcolorbox). Mi sbagliavo: è “fatto a mano” 😉 `
\newcommand\exemple{%
\begingroup
\parskip\z@
\@makeother\;\@makeother\!\@makeother\?\@makeother\:% neutralise frenchb
\@ifstar{\@exstartrue\exemple@}{\@exstarfalse\exemple@}}\newcommand\exemple@[2][65]{%
\medbreak\noindent
\begingroup
\let\do\@makeother\dospecials
\make@car@active\ { {}}%
\make@car@active\^^M{\par\leavevmode}%
\make@car@active\,{\leavevmode\kern\z@\string,}%
\make@car@active\-{\leavevmode\kern\z@\string-}%
\make@car@active\>{\leavevmode\kern\z@\string>}%
\make@car@active\<{\leavevmode\kern\z@\string<}% \exemple@@{#1}{#2}% } \newcommand\exemple@@[3]{% \def\@tempa##1#3{\exemple@@@{#1}{#2}{##1}}% \@tempa } \newcommand\exemple@@@[3]{% \xdef\the@code{#3}% \endgroup \if@exstar \begingroup \fboxrule0.4pt \let\breakboxparindent\z@ \def\bkvz@bottom{\hrule\@height\fboxrule}% \let\bkvz@before@breakbox\relax \def\bkvz@set@linewidth{\advance\linewidth\dimexpr-2\fboxrule-2\fboxsep}% \def\bkvz@left{\vrule\@width\fboxrule\hskip\fboxsep}% \def\bkvz@right{\hskip\fboxsep\vrule\@width\fboxrule}% \def\bkvz@top{\hbox to \hsize{% \vrule\@width\fboxrule\@height\fboxrule \leaders\bkvz@bottom\hfill \ECFAugie \fboxsep\z@ \colorbox{black}{\kern0.25em\color{white}\footnotesize\lower0.5ex\hbox{\strut#2}\kern0.25em}% \leaders\bkvz@bottom\hfill \vrule\@width\fboxrule\@height\fboxrule}}% \breakbox \kern.5ex\relax \ttfamily\footnotesize\the@code\par \normalfont \kern3pt \hrule height0.1pt width\linewidth depth0.1pt \vskip5pt \rightskip0pt plus 1fill \everypar{{\color{lightgray}\rlap{\vrule height0.1pt width\linewidth depth0.1pt}}\hskip0pt plus 1fill}% \newlinechar`\^^M\everyeof{\noexpand}\scantokens{#3}\par \endbreakbox \endgroup \else \vskip0.5ex \boxput*(0,1) {\fboxsep\z@ \hbox{\ECFAugie\colorbox{black}{\leavevmode\kern0.25em{\color{white}\footnotesize\strut#2}\kern0.25em}}% }% {\fboxsep5pt \fbox{% $\vcenter{\hsize\dimexpr0.#1\linewidth-\fboxsep-\fboxrule\relax \kern5pt\parskip0pt \ttfamily\footnotesize\the@code}% \vcenter{\kern5pt\hsize\dimexpr\linewidth-0.#1\linewidth-\fboxsep-\fboxrule\relax \everypar{{\color{lightgray}\rlap{\vrule height0.1pt width\dimexpr\linewidth-0.#1\linewidth-\fboxsep-\fboxrule depth0.1pt}}}% \footnotesize\newlinechar`\^^M\everyeof{\noexpand}\scantokens{#3}}$% }% }% \fi \medbreak \endgroup } `FulvioSaccoccia” post=91284
3) ancora, è possibile inserire una sorta di framebox incompleta, come quella che vi mostro in fig box2?[attachment=893]box2.jpg[/attachment]
Si, certo. Entrambi i pacchetti che indicavo prima ti permettono di usare metodi, come TikZ, per disegnare quello che ti pare. Un esempio con tcolorbox:`
\documentclass[11pt,a4paper]{article}
\usepackage{tcolorbox,lipsum}
\tcbuselibrary{skins}
\usetikzlibrary{backgrounds}
\pgfdeclarelayer{foreground}
\pgfsetlayers{main,foreground}\usetikzlibrary{decorations.markings}
\tikzset{insert node/.style args={#1 at #2}{
postaction=decorate,
decoration={
markings,
mark= at position #2
with
{
#1
}
}
}
}\newtcolorbox{Test}{
width=\textwidth,
title=Testbox,
colback=white,
notitle,
fontupper=\sffamily,
left=1pt, % left space between content text and box
lefttitle=1pt, % left space between
outer arc=0pt,
boxrule=0pt,
skin=freelance,
frame code={
\begin{pgfonlayer}{foreground}% primo comando per debug: scopri dove sono i marcatori
% \path[insert node={\node[fill=blue](a){};} at 0.015,
% insert node={\node[fill=red](b){};} at 0.4,
% insert node={\node[fill=green](c){};} at 0.515,
% insert node={\node[fill=orange](d){};} at 0.9,
% ] (frame.south west) rectangle (frame.north east);
\path[insert node={\node(a){};} at 0.015,
insert node={\node(b){};} at 0.4,
insert node={\node(c){};} at 0.515,
insert node={\node(d){};} at 0.9,
] (frame.south west) rectangle (frame.north east);
\draw (a)|-(d);
\draw (c)|-(b);
\end{pgfonlayer}
},
}\begin{document}
\begin{Test}
ciao
\end{Test}\end{document}
` Occhio: è solo per dimostrazione. Funziona solo in quel caso perché la larghezza del riquadro è [tt]textwidth[/tt] e c’è solo una riga di testo.Ciao
Claudio
::
In entrambi gli esempi, l’uso delle chiavi in sé non è la parte più complicata. Il vero nocciolo della questione era come “stampare” gli elementi tenendo conto dei vari spazi, ossia il livello “applicazione”. Parlando del mio esempio, ecco perché sono serviti quei controlli (suggeritimi da Enrico qui) per verificare la presenza di uno, due o tre argomenti. Il pseudo-codice é più o meno questo:`
SE primo non c'é
SE secondo non c'é
INSERISCI “#2”
ALTRIMENTI
INSERISCI “secondo – #2” % notate gli spazi
FINE
ALTRIMENTI
SE secondo non c'é
INSERISCI “primo – #2” % notate gli spazi
ALTRIMENTI
INSERISCI “primo – secondo – #2” % notate gli spazi
FINE
FINE
` Non mi sembra complicato! Ovviamente è tutto dipeso dall’applicazione “stampa gli argomenti che ci sono”; applicazioni diverse hanno complessità diverse.Per Marco: La documentazione di LaTeX3 è ampia, ma bisogna andarci bene a fondo; è parecchio tempo che mi ci vorrei cimentare e tuttavia un po’ per pigrizia, un po’ perché con qualche acrobazia ci si aggiusta lo stesso, la mia unica esperienza rimane la lettura di “LaTeX3 Interfaces” (texdoc interface3) in aereoporto…
Ciao
Claudio
::
Anche secondo me la soluzione ideale è usare opzioni “chiave-valore”. Un esempio con pgfkeys:`
\documentclass{memoir}
\usepackage{pgfkeys,pdftexcmds}
\pgfkeys{/mio cmd/.cd,
primo/.store in=\primo,
primo={},
secondo/.store in=\secondo,
secondo={}
}\makeatletter
\newcommand{\ncomando}[2][]{
{% da notare il gruppo
\pgfkeys{/mio cmd/.cd,#1}
\ifnum\pdf@strcmp{\primo}{}=\z@%
\ifnum\pdf@strcmp{\secondo}{}=\z@%
#2
\else
\secondo\ – #2
\fi%
\else%
\ifnum\pdf@strcmp{\secondo}{}=\z@%
\primo\ – #2
\else%
\primo\ – \secondo\ – #2
\fi%
\fi%
}% end gruppo
}
\makeatother\begin{document}
\ncomando{terzo}\ncomando[primo=primo]{terzo}
\ncomando{terzo} % funziona perché primo è locale quindi la precedente definizione non viene propagata
\ncomando[secondo=secondo]{terzo}
\ncomando[primo=primo, secondo=secondo]{terzo}
\ncomando[secondo=secondo, primo=primo]{terzo}
\end{document}
` Il risultato:[attachment=891]ScreenShot2014-01-20at3.23.57PM.png[/attachment]
Ciao
Claudio
Attachments:
You must be logged in to view attached files.::Palermo” post=91203ciao a tutti,
premetto che non sono esperto in materia in quanto ho iniziato ad usare Latex da poco…
ho un problema con l’inserimento delle immagini, inserisco queste righe di codice:\begin{figure}
\centering
\includegraphics[width=0.85\textwidth]{C:/Users/…../Grafici/Schema.PNG}
\label{fig:Schema}
\end{figure}ed il risultato non è proprio quello desiderato, infatti sopra l’immagine mi ripete diverse volte il percorso dell’immagine (vedi allegato)
Utilizzo TeXnicCenter e per inserire l’immagine ho fatto insert->picture.
Ho letto la guida introduttiva e non riesco a capire perchè il programma mi scrive tutto il percorso della foto da inserire, ho provato a cambiare il codice come scritto nella guida ma nell’output non ottengo nulla (come se quella parte di codice non esistesse).Vi ringrazio per il vostro aiuto e complimenti per questo forum è utilissimo 😀
Benvenuto nel forum 🙂
Potresti indicare almeno quale distribuzione usi (MikTeX o TeXLive) e quale compilatore? Se usi MikTeX, ti consiglierei di provare a compilare con pdflatex nel caso tu stia compilando con latex.
Ciao
Claudio
::Liverpool” post=91198Quindi si suppone che non ci siano bug nel nuovo pacchetto o ci siamo persi il periodo di test? La documentazione, ad esempio, è piena di errori. E poi non ho capito a chi è antipatica la libreria [tt]3d[\tt] per non essere ancora documentata.
Se ti riferisci a TikZ, ho questa sensazione. La nuova versione è data per “a posto”, a prescindere dal fatto che novità introdotte potenzialmente creino problemi a quella cinquantina di pacchetti o giù di lì che si appoggiavano alla 2.10. Sulla documentazione ho visto qualche errore, almeno un paio dei codici di esempio che ho provato non compilano 🙁 ma va anche detto che quando si lavora in tanti, su un progetto così grande e per un tempo così lungo può succedere. Mi sarei aspettato più feedback da parte della comunità, invece mi sembra che sia passata l’idea che, si è uscita la nuova versione, ma chissà se arriverà mai su CTAN, forse non è ufficiale. Anche perché non è stato proprio ben pubblicizzato il fatto che è già stata mandata su CTAN. Ecco, forse la comunicazione è stata po’ carente. E, si: un periodo di test prima della release sarebbe stato molto opportuno.
Ciao
Claudio
::Liverpool” post=91196
voglio segnalare che la nuova versione di TikZ e hobby sono incompatibili.
Andrew mi ha detto di avere già risolto il problema, ma che gli serve un po’ di tempo per il test. La versione aggiornata del pacchetto si trova qui, ma io non l’ho provata.
Ciao
P.S.: non ti ho avvisato perché ero convinto che lo sapessi già.
L’ho provata ora 😉 Però credo servirà ancora qualche test: ora il mio esempio non compila più `
! Undefined control sequence.
…pgf \expandafter {\hobby@initial@pt
}\edef \tikz@timer@start {…
l.15 (1,1)
` Forse è per quello che non mi ha scritto 😀Ciao
Claudio
::
Ciao a tutti,voglio segnalare che la nuova versione di TikZ e hobby sono incompatibili (al momento non ho idee precise di dove nasca il problema, ma mi è stato fatto notare che la causa potrebbe risiedere nel modo in cui vengono calcolati gli angoli). Chi usa hobby farebbe bene a non compilare quei documenti con la nuova versione in attesa di chiarimenti. Non ci sono errori di compilazione, ma semplicemente i segmenti non sono come dovrebbero essere. Più informazioni si possono trovare qui.
Da poco ho anche scoperto che TikZ 3.0.0 è stato inviato su CTAN il 20 dicembre, tuttavia il team ha risposto che hanno bisogno di tempo data la complessità del pacchetto. Questo vuol dire che esiste la possibilità di trovarsi da un giorno all’altro sul manager la nuova versione di TikZ e di conseguenza, aggiornando, ci potrebbero essere problemi a compilare documenti vecchi.
Ciao
Claudio
::rainbow” post=91192Ciao!
Ho provato utilizzando la libreria hobby, ma latex mi dà errore: File ‘hobby.sty’ not found.
Ho controllato i pacchetti installati e risulta installato il pacchetto hobby. Ho effettuato anche un aggiornamento dei pacchetti, ma continua a darmi errore. Come posso ovviare a questo inconveniente?
Grazie.Se hai MikTeX, probabilmente hai dimenticato di fare il refresh del database dei pacchetti. Vedi qui.
Un paio di annotazioni: in merito alle guide, in francese ce ne sono alcune, ma ti segnalo che da qualche mese è disponibile L’arte di disegnare con LaTeX che secondo me è più completa come guida iniziale.
Detto questo, per la tua particolare esigenza non c’è nessuna guida che ti spiega come fare. Liverpool ti ha consigliato la strada migliore, ma prima devi fare un po’ di pratica nel gestire i [tt]path[/tt] altrimenti diventa difficile. Chiaramente, se tu avessi la funzione potresti far lavorare pgfplots.
Ciao
Claudio
::Marco87″ post=91120Ciao a tutti,
vi ringrazio davvero molto per il vostro contributo alla risposta. Mi sembra che la cosa migliore sia usare un comando nativo di LaTeX. Però, se compilo questo codice:
`\documentclass{memoir}\begin{document}
\settowidth{\misura}{Testo}
\end{document}`
ottengo questo errore:! Undefined control sequence.
\misura l.5 \settowidth{\misura}{Testo}
The control sequence at the end of the top line
of your error message was never \def’ed. If you have
misspelled it (e.g., `\hobx’), type `I’ and the correct
spelling (e.g., `I\hbox’). Otherwise just continue,
and I’ll forget about whatever was undefined.! Missing number, treated as zero.
\setbox
l.5 \settowidth{\misura}{Testo}A number should have been here; I inserted `0′.
(If you can’t figure out why I needed to see a number,
look up `weird error’ in the index to The TeXbook.)! Illegal unit of measure (pt inserted).
\setbox
l.5 \settowidth{\misura}{Testo}Dimensions can be in units of em, ex, in, pt, pc,
cm, mm, dd, cc, nd, nc, bp, or sp; but yours is a new one!
I’ll assume that you meant to say pt, for printer’s points.
To recover gracefully from this error, it’s best to
delete the erroneous units; e.g., type `2′ to delete
two letters. (See Chapter 27 of The TeXbook.)Perché succede questo? Succede anche a voi?
Grazie mille e buona giornata,
Marco.Diciamo che servono 3 passaggi: definizione, calcolo e stampa. Nel tuo codice c’è solo il calcolo. Prova con:
`
\documentclass{memoir}
\usepackage{calc}
\newlength{\misura}% definizione
\begin{document}\settowidth{\misura}{Testo}% calcolo
\the\misura% stampa\end{document}
`
Ciao
Claudio
::Marco87″ post=91091Ciao a tutti,
mi piacerebbe sapere se è possibile, in qualche modo, far misurare la lunghezza di una certa stringa e farsi restituire il suo valore. Se questo è possibile, sarebbe anche possibile calcolare qualcosa come quello che segue?
lunghezzaTotale mod lunghezzaColonna
Grazie mille e buona giornata,
Marco.P.S. Quello che desidero è una misura della lunghezza, non quanti caratteri compongono la stringa.
Se non si va a capo: http://tex.stackexchange.com/q/58283/13304
Ciao
Claudio
::Marco87″ post=91055Se eseguo il comando:
`kpsewhich -var-value=TEXMFHOME`
Ottengo questa risposta:C:/Users/Marco/texmf
Ne deduco che [tt]kpsewhich[/tt] vede il mio albero personale. Ma l’errore di compilazione rimane.
Attenzione, prima dicevi:
Marco87″ post=91051Ora, comunque, mi rimane un problema. Nella cartella [tt]C:\Users\[/tt]<utente>[tt]\Documenti\[/tt] ho creato la cartella “texmf”.
quindi se hai creato [tt]texmf[/tt] sotto [tt]\Documenti\[/tt] non può funzionare.
Marco87″ post=91055Qui arriva il “complicato”. In quelle cartelle trovo solo dei file CLS, STY e TEX. Nella cartella “latex” del pacchetto [tt]TikZ[/tt] 3.0.0, invece, c’è una cartella “pgf” che contiene diverse altre sottocartelle, le quali contengono file STY e TEX. Cosa devo fare, spostare tutti questi singoli file direttamente nella cartella “latex”?
Si, come dicevo nella procedura, se dentro la tua texmf ci sono già altri file, quello che devi fare è copiare la sottocartella pgf dentro la tua texmf nella directory latex.
Ciao
Claudio
::Liverpool” post=91026Io consiglierei di aspettare l’uscita su CTAN. Ho notato che qualcosa non è retrocompatibile.
Ciao
Più che altro è per fare qualche prova: installandola poi nell’albero personale (come riporta la procedura) non c’è nessun problema a toglierla in un minuto.
C’è una lista di cose non compatibili?
Ciao
Claudio
::Marco87″ post=91028Ciao,
grazie per la risposta! Non sapevo se rispondere qui ho nel filone di “TikZ 3.0.0” (fatemi sapere se non va bene qui, che la cancella e la riporto nel filone giusto).
[…] per altri sistemi operativi i percorsi esatti sono riportati sull’Arte e sulla guida GuIT […]
Purtroppo non è proprio così. Non ho idea del perché, ma sull’Arte sono stati tolti, e sulla guida del GuIT viene riportato il percorso per chi usa MiKTeX. In C ho una cartella “texlive”, e al suo interno ho due cartelle “2013” e “texmf-local”. La cartella “texmf” di cui parli va creata in una di queste due? Se sì, quale?
Grazie e buon proseguimento,
Marco.Su un mio vecchio file ho trovato:
– Linux: ~/texmf/
– Windows: C:\Documents and Settings\nome-utente\Documents\texmf\
– Mac: ~/Library/texmf/Sulle guide però dovrebbe ancora essere spiegata da qualche parte la differenza tra albero locale e personale. Sul forum, da qualche parte, c’è senza dubbio.
Ciao
Claudio
::Marco87″ post=91020 @cfiandra: come si può usare [tt]TikZ[/tt] versione 3.0.0 senza rovinare in qualche modo l’installazione di TeX Live? Credo che saperlo possa essere molto utile anche a FulvioSaccoccia.
Non è complicato, riporto la soluzione che ho usato io.
Una volta scaricata la nuova release dal link reperibile in questo messaggio, occorre decomprimere il file: si aprirà una directory con tre sotto-cartelle, [tt]tex[/tt], [tt]source[/tt] e [tt]doc[/tt].
A questo punto si apre la cartella con l’albero locale (su Mac è [tt]~Library/texmf/[/tt], per altri sistemi operativi i percorsi esatti sono riportati sull’Arte e sulla guida GuIT). Se non esiste, va creata; se già esiste, ma è vuota l’unica operazione da fare è copiare tutte e tre le sotto-cartelle di prima. Probabilmente invece, la cartella texmf ha già qualcosa all’interno: è normale se si vogliono usare pacchetti personali o non reperibili su CTAN senza doverli inserire ogni volta nella directory di lavoro. Nel mio caso c’erano già le directory [tt]tex[/tt] e [tt]doc[/tt]. Quindi ho copiato tranquillamente [tt]source[/tt], ho aperto la directory [tt]doc[/tt] e ho copiato il suo interno dentro la mia [tt]doc[/tt]. Ultimo passaggio in cui stare attenti: la cartella [tt]tex[/tt] di PGF 3.0.0 contiene 4 sotto cartelle. In genere, i pacchetti personali vanno inseriti in [tt]~/Library/texmf/tex/latex[/tt]: quindi si possono copiare all’interno di [tt]~/Library/texmf/tex[/tt] le tre sotto cartelle [tt]context[/tt], [tt]generic[/tt] e [tt]plain[/tt]. Per l’ultima, [tt]latex[/tt], bisogna copiare il suo contenuto, [tt]pgf[/tt] in [tt]~/Library/texmf/tex/latex[/tt]. In questo modo si è sicuri di non fare errori e sovrascrivere qualcosa che non andava sovrascritto.
Ultima cosa: io ho dovuto dare da terminale [tt]sudo texhash[/tt] per aggiornare il database. Pensavo non fosse necessario con l’albero personale (in effetti mi sembra proprio che con Ubuntu non lo sia), ma alla fine è stato indispensabile.
Ciao
Claudio
-
AutoreRisposte