Sziasztok.
Adott egy számegyenes, mely balról jobbra csökkenő számértékeket (pozitív egészeket) tartalmaz. Azt szeretném, hogy a megadott intervallumon belül, melyeket paraméterként adnék meg, felossza modulo 10 a szakaszt.
A következő problémám, hogy a felosztott értékekhez számot szeretnék rendelni, azaz ha intervallumon belül egy újabb kiírást írnék, akkor az a megfelelő helyen jelenjen meg.
Sajnos hiába kerestem ilyen tex modulokat, sehol sem találtam, csak olyn idővonalakat, melyek balról jobbra növekednek. (képtelen voltam még a bonyolultabbakat is átírni)
Íme a kód, melyet eredetileg xfiggel csináltam:
\setlength{\unitlength}{3947sp}%
%
\begingroup\makeatletter\ifx\SetFigFont\undefined%
\gdef\SetFigFont#1#2#3#4#5{%
\reset@font\fontsize{#1}{#2pt}%
\fontfamily{#3}\fontseries{#4}\fontshape{#5}%
\selectfont}%
\fi\endgroup%
\begin{picture}(4674,327)(1939,-2101)
\thinlines
{\color[rgb]{0,0,0}\put(1951,-1861){\line( 1, 0){4650}}
}%
{\color[rgb]{0,0,0}\multiput(6451,-1786)(7.50000,-3.75000){21}{\makebox(1.6667,11.6667){\tiny.}}
\multiput(6601,-1861)(-7.50000,-3.75000){21}{\makebox(1.6667,11.6667){\tiny.}}
}%
{\color[rgb]{0,0,0}\put(2176,-1861){\makebox(1.6667,11.6667){\tiny.}}
}%
{\color[rgb]{0,0,0}\put(2176,-1861){\makebox(1.6667,11.6667){\tiny.}}
}%
{\color[rgb]{0,0,0}\put(2176,-1861){\makebox(1.6667,11.6667){\tiny.}}
}%
{\color[rgb]{0,0,0}\put(2701,-1786){\line( 0,-1){ 75}}
}%
{\color[rgb]{0,0,0}\put(5551,-1786){\line( 0,-1){ 75}}
}%
{\color[rgb]{0,0,0}\put(2701,-1786){\line( 1, 0){2850}}
}%
\put(2476,-2090){\makebox(0,0)[lb]{\smash{{\SetFigFont{12}{14.4}{\rmdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}1650}%
}}}}
\put(5326,-2090){\makebox(0,0)[lb]{\smash{{\SetFigFont{12}{14.4}{\rmdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}1610}%
}}}}
\end{picture}%
- 759 megtekintés
Hozzászólások
Nem egészen értem, hogy pontosan mit szeretnél, de a pgfplots csomag szerintem egyszerűbb lenne:
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[magyar]{babel}
\usepackage[margin=1.5cm]{geometry}
\usepackage{indentfirst}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
width=20cm,
axis x line=middle,
axis y line=none,
xmin=-70,xmax=60,
domain=-3:5,
xtick={-40,-30,...,50},
x dir=reverse
]
\addplot coordinates { (0,0) };
\end{axis}
\end{tikzpicture}
\end{document}
- A hozzászóláshoz be kell jelentkezni
Kár, hogy eddig nem ebbe mélyedtem bele.
Majd ezt is megnézem.
Most így áll a dolog:
\usepackage{pstricks}
\def\fkm#1#2{
\setlength{\unitlength}{3947sp}%
\begin{picture}(4674,327)(1939,-2101)
\thinlines
{\color[rgb]{0,0,0}\put(1951,-1861){\vector( 1, 0){4650}}}
{\color[rgb]{0,0,0}\put(2701,-1786){\line( 1, 0){2850}}}
{\color[rgb]{0,0,0}\put(2701,-1786){\line( 0,-1){ 75}}}
{\color[rgb]{0,0,0}\put(5551,-1786){\line( 0,-1){ 75}}}
\put(2476,-2020){\makebox(0,0)[lb]{\scriptsize #1 }}
\put(5326,-2020){\makebox(0,0)[lb]{\scriptsize #2 }}
\end{picture}
...és ezt az \fkm{1660}{1640}
-nel működtethetem. Még finomítani kell, de nagyjából már értem, mi micsoda.
- A hozzászóláshoz be kell jelentkezni
> Kár, hogy eddig nem ebbe mélyedtem bele.
Eddigi tapasztalatom azt mutatja, hogy a (részemről) felmerülő igény már olyannál is felmerült, aki érzett magában elég erőt-késztetést-tudást, hogy csináljon csomagot. Azaz szerintem a nem túlzottan különleges igényre már van (legalább) egy csomag, amivel néhány sorral a probléma egyszerűen megoldható. Először mindig érdemes keresni, legfeljebb a sikertelenség után érdemes csak manuálisan megoldani.
- A hozzászóláshoz be kell jelentkezni
Most meg itt vagyok a Nagy Kék latexkönyv mellett, és pár perc alatt ezt alkottam:
\begin{picture}(0,0)(-5,-5)
\thicklines
\put(-5,0){\vector(1,0){100}}
%\multiput(-1,2.5)(0,2.5){10}{\line(1,0){2}} %fuggoleges
\multiput(2,0)(4,0){8}{\line(0,1){2}} %vizszintes
\put(-2,0){\circle{4}}
\put(-2,-8){\makebox(0,0){\scriptsize{start}}}
\put(80,0){\circle{4}}
\put(80,-8){\makebox(0,0){\scriptsize{end}}}
\end{picture}
Ezt meg már tényleg soronként értem :)
Még szórakozom vele, makeboxok is létrehozhatók
- A hozzászóláshoz be kell jelentkezni