Risposte nei forum create
-
AutoreRisposte
-
::
Perfetto!grazie, ciao
skevin93″ post=95219Forse l’opzione che serve a te è [tt]varwidth[/tt]. Prova questo esempio se corrisponde a quello che cerchi.
`
\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{kpfonts}\pgfplotsset{every axis/.append style={
axis x line=bottom,
axis line style={->},
xlabel={$\rho$},
axis lines = left,
xtick = \empty,
ytick = \empty,
every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
},
}\tikzset{>=stealth}
\begin{document}\begin{tikzpicture}
\useasboundingbox (-0.5,-0.5) rectangle (7.5,6);
\begin{axis}[
ylabel=$D$,
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5*x};
\addplot[domain=1:4]{5};
\end{axis}
\end{tikzpicture}\begin{tikzpicture}
\useasboundingbox (-0.5125,-0.5) rectangle (7.5,6);
\begin{axis}[
ylabel = $S$,
xtick = {1, 4},
xticklabels = {$\rho_c$, $\rho_j$},
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5};
\addplot[domain=1:4]{-5/3 * (x-1) + 5};
\end{axis}
\end{tikzpicture}\end{document}
`::
ma con l’opzione tikz nella classe mi crea un pdf di 2 immagini, come mi hai detto tu stesso ieri!cfiandra” post=95216
Effettivamente e’ elegante, pero’ le due funzioni sono ancora allineate orizzontalmente 🙁
😳 È perché oggi non ne azzecco una!
Ma se le vuoi allineate verticalmente, non è meglio usare l’opzione [tt]tikz[/tt] per verifica? In questo caso credo sia conveniente definirsi a mano la bounding box.
`\documentclass[border=2pt,tikz]{standalone}
\usepackage{pgfplots}
\usepackage{kpfonts}\pgfplotsset{every axis/.append style={
axis x line=bottom,
axis line style={->},
xlabel={$\rho$},
axis lines = left,
xtick = \empty,
ytick = \empty,
every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
},
}\tikzset{>=stealth}
\begin{document}\begin{tikzpicture}
\useasboundingbox (-0.5,-0.5) rectangle (7.5,6);
\begin{axis}[
ylabel=$D$,
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5*x};
\addplot[domain=1:4]{5};
\end{axis}
\end{tikzpicture}\begin{tikzpicture}
\useasboundingbox (-0.5125,-0.5) rectangle (7.5,6);
\begin{axis}[
ylabel = $S$,
xtick = {1, 4},
xticklabels = {$\rho_c$, $\rho_j$},
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5};
\addplot[domain=1:4]{-5/3 * (x-1) + 5};
\end{axis}
\end{tikzpicture}\end{document}`
Ciao
Claudio::
Effettivamente e’ elegante, pero’ le due funzioni sono ancora allineate orizzontalmente 🙁cfiandra” post=95208
Ciao
Il seguente codice me le dispone in orizzontale. Mi puoi dire dove sbaglio?
`
\documentclass[border 2pt]{standalone}
\usepackage{pgfplots}
\usepackage{kpfonts}\pgfplotsset{every axis/.append style={
axis x line=bottom,
axis line style={->},
xlabel={$\rho$},
axis lines = left,
xtick = \empty,
ytick = \empty,
every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
}
}\tikzset{>=stealth}
\begin{document}\begin{tikzpicture}
\begin{axis}[
ylabel=$D$,
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5*x};
\addplot[domain=1:4]{5};
\end{axis}
\end{tikzpicture}\vspace{1pt}
\begin{tikzpicture}
\begin{axis}[
ylabel = $S$,
xtick = {1, 4},
xticklabels = {$\rho_c$, $\rho_j$},
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5};
\addplot[domain=1:4]{-5/3 * (x-1) + 5};
\end{axis}
\end{tikzpicture}\end{document}
`È quello che dicevo prima: la parte inferiore della bounding box deve essere uguale. Tradotto: se in una figura hai delle etichette sull’asse x e sull’altra no, la prima occupa più spazio in basso rispetto alla seconda. Quindi non sono allineate.
Hai diverse opzioni: la prima è di usare il comando [tt]\useboundingbox[/tt] per definire a mano la bounding box. Dovresti in sostanza disegnare un quadrato immaginario per ogni figura, ovviamente ogni quadrato deve comprendere la figura. Tenendo come riferimento l’asse x, il quadrato della prima figura dovrebbe essere leggermente più grande verso il basso rispetto al quadrato della seconda. Quindi è un’opzione da lasciare perdere se non sai esattamente ciò che stai facendo.
Tralasciando altre soluzioni un po’ impraticabili, quella più elegante è sicuramente di usare per entrambe le figure le stesse etichette per l’asse x. In questo modo siamo sicuri che occupino lo stesso spazio in basso. Poi, le rendiamo opache solo nella prima figura e il gioco è fatto. In termini di codice: `
\documentclass[border=2pt]{standalone}
\usepackage{pgfplots}
\usepackage{kpfonts}\pgfplotsset{every axis/.append style={
axis x line=bottom,
axis line style={->},
xlabel={$\rho$},
axis lines = left,
xtick = \empty,
ytick = \empty,
every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
},
fai sparire le etichette/.style={
xtick style={opacity=0},
xticklabel style={opacity=0},
}
}\tikzset{>=stealth}
\begin{document}\begin{tikzpicture}
\begin{axis}[
ylabel=$D$,
xmin=0,xmax=5,
ymin=-1,ymax=6,
xtick = {1, 4},
xticklabels = {$\rho_c$, $\rho_j$},
fai sparire le etichette,
]
\addplot[domain = 0:1]{5*x};
\addplot[domain=1:4]{5};
\end{axis}
\end{tikzpicture}\begin{tikzpicture}
\begin{axis}[
ylabel = $S$,
xtick = {1, 4},
xticklabels = {$\rho_c$, $\rho_j$},
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5};
\addplot[domain=1:4]{-5/3 * (x-1) + 5};
\end{axis}
\end{tikzpicture}\end{document}
` Non l’ho testato, ma dovrebbe funzionare.Ciao
Claudio::
CiaoIl seguente codice me le dispone in orizzontale. Mi puoi dire dove sbaglio?
`
\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{kpfonts}\pgfplotsset{every axis/.append style={
axis x line=bottom,
axis line style={->},
xlabel={$\rho$},
axis lines = left,
xtick = \empty,
ytick = \empty,
every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
}
}\tikzset{>=stealth}
\begin{document}\begin{tikzpicture}
\begin{axis}[
ylabel=$D$,
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5*x};
\addplot[domain=1:4]{5};
\end{axis}
\end{tikzpicture}\vspace{1pt}
\begin{tikzpicture}
\begin{axis}[
ylabel = $S$,
xtick = {1, 4},
xticklabels = {$\rho_c$, $\rho_j$},
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5};
\addplot[domain=1:4]{-5/3 * (x-1) + 5};
\end{axis}
\end{tikzpicture}\end{document}
`cfiandra” post=95199
Ma come faccio per avere le figure in verticale, allineate con l’asse delle ordinate?
Beh, se non passi l’opzione [tt]tikz[/tt] alla classe e tutte le figure hanno la bounding box con il limite inferiore uguale sei a posto.
Ciao
Claudio::cfiandra” post=95188Rispondo ad entrambe le richieste.
Si, si può calcolare quanto sborda la freccia: devi andare a prendere il codice della tipo stealth (in pgflibraryarrows.code.tex mi pare) e tenere in considerazione metà della punta. Secondo me fai prima a dando un paio di valori di prova all’opzione border.
sono andato a vedere, dovrebbe essere molto semplice:
`
\documentclass[%
border={0pt 0pt 20pt 0pt} %left right bottom top
]{standalone}
\begin{document}
$2^5 = x_5 \times y^8$
\end{document}
`cfiandra” post=95188
Mi sembra si possa settare margini separatamente, in maniera simile a quanto si fa con pdfcrop, ma devi guardare sulla documentazione.L’ultimo codice ti produce due pagine perché hai due figure. Ciò accade quando si passa l’opzione [tt]tikz[/tt] alla classe.
Ciao
ClaudioUff, me l’ero dimenticato fra varie prove.
Ma come faccio per avere le figure in verticale, allineate con l’asse delle ordinate?
Ciao
::
Certo, conosco pdfcrop. Se spulci nel forum c’e’ una conversazione fra me e uno degli esperti (non ricordo chi), in cui si propone uno script bash che “croppa” tutti i pdf in una cartella, molto utile in questo caso.Tuttavia preferirei che funzionasse standalone!
Altra questione: perche’ questo codice mi produce un pdf di due pagine anziche’ una sola pagina?
`
\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\usepackage{kpfonts}\tikzset{>=stealth}
\begin{document}\begin{tikzpicture}
\begin{axis}[
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5*x};
\addplot[domain=1:4]{5};
\end{axis}
\end{tikzpicture}
\vspace{1pt}
\begin{tikzpicture}
\begin{axis}[
xmin=0,xmax=5,
ymin=-1,ymax=6,
]
\addplot[domain = 0:1]{5};
\addplot[domain=1:4]{-5/3 * (x-1) + 5};
\end{axis}
\end{tikzpicture}
\end{document}
`skevin93″ post=95185Ti propongo un altro sistema su cui ripiegare per questi casi in cui standalone non funziona bene. Compila con la classe article e dando \pagestyle{empty} per rimuovere il numero di pagina. Apri la shell di comando (la console, spero di essere chiaro) e portati nella cartella dove si trovano il file tex e il file pdf. Dai poi il comando [tt]pdfcrop nome.pdf[/tt] dove “nome.pdf” sarà il tuo pdf. Questo programmino, installato nativamente nelle distribuzioni tex è in grado di scontornare i pdf (per questo devi rimuovere il numero di pagina, altrimenti ritaglia solo fino al numero).
::
Ciao, grazie per il suggerimentodue domande:
1. Si puo’ calcolare di quanto “sborda” la freccia?
2. Si possono settare i bordi separatamente sui 4 lati?Ciao
cfiandra” post=95182
Ciao
uso solitamente la classe standalone per fare veloci figure con tikz e non avere problemi di margini quando poi le importo nel documento principale (compilo la figura separatamente in pdflatex).
Con l’esempio che scrivo di seguito, mi vengono eliminate dalla pagina (cioe’ escluse dalla figura) la parte inferiore delle frecce che ho disegnato. Qualcuno mi dice dove sbaglio per favore?
EMC
`
\documentclass{standalone}
\usepackage{tikz}\usepackage{kpfonts}
\begin{document}
\begin{tikzpicture}[>=stealth]
\draw[->] (0,0)–(2,0) node[midway,above] {$k_j$};
\draw[->, double] (1.75,0.3)–(2.25,0.3) node[above, midway] {$\alpha$};
\draw[->] (2,0)–(4,0) node[midway, above] {$k_{j+1}$};
\end{tikzpicture}
\end{document}
`Risultato pdf in allegato (se firefox non da problemi).
Ciao
In realtà non sbagli nulla. Il problema è dovuto al meccanismo con cui sono disegnate le frecce: per il computo della bounding box solo il segmento conta, perciò la parte inferiore della punta viene tagliata.
Soluzione veloce: aggiungi l’opzione [tt]border=4pt[/tt] alla classe. Il valore può essere cambiato a piacimento e normalmente è settato a 0pt.
Ciao
Claudio::cfiandra” post=94895
Ciao
sto usando MatLab su Ubuntu da poco; prima lo utilizzavo su Windows 7 ed ero abituato ad aggiungere le label nelle figure con sintassi TeX. Tali labels venivano correttamente inserite nelle immagini (correttamente = simboli matematici corretti), anche se nel mio sistema operativo non era presente TexLive o chicchesia.
Ora su Ubuntu ho la 2014 di TeXLive perfettamente funzionante, ma MatLab non mi interpreta correttamente stringhe come \varphi \rho_1 etc.
Idee su come risolvere?
Matlab2tikz.
Ciao
ClaudioNo, scusa mi sono spiegato male.
Non voglio esportare le mie figure e compilarle in latex, vorrei le figure generate da matlab ma con le etichette sugli assi e la legenda con simboli tex (o latex)
::DirkPitt” post=94466
Installato su Debian 7.5 stable.
Tutto Ok.
Confermo anche che la procedura post-installazione del prof. Gregorio (rif.: http://profs.sci.univr.it/~gregorio/texlive-YEAR-ubuntu.pdf)
funziona perfettamente.stessa cosa su ubuntu 14.04 nonostante unity
Ciao
Ma ultimamente non veniva installato anche texworks con la distribuzione completa? Nel mio sistema non lo trovo
Ciao
::sblindo” post=94462Installato su Debian 7.5 stable.
Tutto Ok.
Confermo anche che la procedura post-installazione del prof. Gregorio (rif.: http://profs.sci.univr.it/~gregorio/texlive-YEAR-ubuntu.pdf)
funziona perfettamente.stessa cosa su ubuntu 14.04 nonostante unity
Ciao
::
si hai ragione, aspetterò, però non mi dispiacerebbe capire qualcosa in +.
Ora hanno aggiornato il file (io scarico il 20140616), ma ottengo lo stesso errore; ed infatti, spulciando all’interno delle cartelle (tramite http) dei mirror, dentro systems/texlive/tlnet trovo ancora la vecchia versione.Come sono correlate le due cose?
::
E’ stato sistemato che voi sappiate? Quando provo a scaricare ottengo il file 20140417, quindi credo sia vecchi(e quando provo ad installare ottengo questo errore)
`
./install-tl: The TeX Live versions of the local installation
and the repository being accessed are not compatible:
local: 2013
repository: 2014
Perhaps you need to use a different CTAN mirror?
(For more, see the output of install-tl –help, especially the
-repository option. Online via http://tug.org/texlive/doc.)`
Ciao
::OldClaudio” post=94174
vediamo che dice qualcun altro.
uso questo messaggio anche per chiedere se ci sono costi aggiuntivi per le spedizioni vostre e del TUG (eventualmente) all’estero. (zona EU).Sono al corrente del fatto che la versione informatica tutta intera e con gli articoli separati è già pronta, ma forse non ancora caricata sul sito finché non è spedita la copia cartacea. Io faccio solo il direttore; chi si occupa della stampa e dell’inserimento in rete sono altri. Sollecito, comunque.
direttore, potrebbe gentilmente fugare i miei dubbi?
Grazie 🙂
Ciao!
-
AutoreRisposte