इतिहास-पुस्तकों में आपके पास अक्सर समयरेखा होती है, जहां घटनाओं और अवधि को एक दूसरे के लिए सही सापेक्ष दूरी में एक रेखा पर चिह्नित किया जाता है। LaTeX में कुछ इसी तरह का निर्माण कैसे संभव है?
इतिहास-पुस्तकों में आपके पास अक्सर समयरेखा होती है, जहां घटनाओं और अवधि को एक दूसरे के लिए सही सापेक्ष दूरी में एक रेखा पर चिह्नित किया जाता है। LaTeX में कुछ इसी तरह का निर्माण कैसे संभव है?
जवाबों:
Tikz पैकेज तुम क्या चाहते हो रहा है।
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{snakes}
\begin{document}
\begin{tikzpicture}[snake=zigzag, line before snake = 5mm, line after snake = 5mm]
% draw horizontal line
\draw (0,0) -- (2,0);
\draw[snake] (2,0) -- (4,0);
\draw (4,0) -- (5,0);
\draw[snake] (5,0) -- (7,0);
% draw vertical lines
\foreach \x in {0,1,2,4,5,7}
\draw (\x cm,3pt) -- (\x cm,-3pt);
% draw nodes
\draw (0,0) node[below=3pt] {$ 0 $} node[above=3pt] {$ $};
\draw (1,0) node[below=3pt] {$ 1 $} node[above=3pt] {$ 10 $};
\draw (2,0) node[below=3pt] {$ 2 $} node[above=3pt] {$ 20 $};
\draw (3,0) node[below=3pt] {$ $} node[above=3pt] {$ $};
\draw (4,0) node[below=3pt] {$ 5 $} node[above=3pt] {$ 50 $};
\draw (5,0) node[below=3pt] {$ 6 $} node[above=3pt] {$ 60 $};
\draw (6,0) node[below=3pt] {$ $} node[above=3pt] {$ $};
\draw (7,0) node[below=3pt] {$ n $} node[above=3pt] {$ 10n $};
\end{tikzpicture}
\end{document}
मैं tikz के साथ बहुत विशेषज्ञ नहीं हूँ, लेकिन यह एक अच्छा समय देता है, जो दिखता है:
लेवी वाइसमैन द्वारा एक नया कालानुक्रम है । प्रलेखन (पीडीएफ) का कहना है:
LATEX के लिए अधिकांश समयरेखा पैकेज और समाधान का उपयोग बहुत सारी जानकारी को व्यक्त करने के लिए किया जाता है और इसलिए इन्हें लंबवत रूप से डिजाइन किया जाता है। यदि आप केवल तारीखों को लेबल निर्दिष्ट करने का प्रयास कर रहे हैं, तो अधिक पारंपरिक समयरेखा अधिक उपयुक्त हो सकती है। कालक्रम क्या है।
यहाँ कुछ उदाहरण कोड है:
\documentclass{article}
\usepackage{chronology}
\begin{document}
\begin{chronology}[5]{1983}{2010}{3ex}[\textwidth]
\event{1984}{one}
\event[1985]{1986}{two}
\event{\decimaldate{25}{12}{2001}}{three}
\end{chronology}
\end{document}
जो इस उत्पादन का उत्पादन करता है:
\textwidth
?
{3ex}
)।
इसके अलावा पैकेज क्रोनोसिस एक अच्छा समाधान प्रदान करता है। उपयोगकर्ता पुस्तिका से एक उदाहरण यहां दिया गया है:
बस एक अद्यतन।
वर्तमान TiKZ पैकेज जारी करेगा: पैकेज tikz चेतावनी: साँपों को सजावट द्वारा अलग किया गया है। कृपया इनपुट लाइन पर सांपों के पुस्तकालय के बजाय सजावट पुस्तकालयों का उपयोग करें। । ।
इसलिए कोड के संबंधित भाग को बदलना होगा:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations}
\begin{document}
\begin{tikzpicture}
%draw horizontal line
\draw (0,0) -- (2,0);
\draw[decorate,decoration={snake,pre length=5mm, post length=5mm}] (2,0) -- (4,0);
\draw (4,0) -- (5,0);
\draw[decorate,decoration={snake,pre length=5mm, post length=5mm}] (5,0) -- (7,0);
%draw vertical lines
\foreach \x in {0,1,2,4,5,7}
\draw (\x cm,3pt) -- (\x cm,-3pt);
%draw nodes
\draw (0,0) node[below=3pt] {$ 0 $} node[above=3pt] {$ $};
\draw (1,0) node[below=3pt] {$ 1 $} node[above=3pt] {$ 10 $};
\draw (2,0) node[below=3pt] {$ 2 $} node[above=3pt] {$ 20 $};
\draw (3,0) node[below=3pt] {$ $} node[above=3pt] {$ $};
\draw (4,0) node[below=3pt] {$ 5 $} node[above=3pt] {$ 50 $};
\draw (5,0) node[below=3pt] {$ 6 $} node[above=3pt] {$ 60 $};
\draw (6,0) node[below=3pt] {$ $} node[above=3pt] {$ $};
\draw (7,0) node[below=3pt] {$ n $} node[above=3pt] {$ 10n $};
\end{tikzpicture}
\end{document}
HTH
\usetikzlibrary{decorations.pathmorphing}
:। इसके अलावा, \documentclass[tikz]{standalone}
यदि आप किसी अन्य दस्तावेज़ में सम्मिलित करने के लिए एक तंग फसली चित्र चाहते हैं।
टिम स्टॉपर ने अधिक लचीला और अच्छा दिखने वाला timeline.sty
(इंटरनेट आर्काइव वेबैक मशीन लिंक, जैसा कि मूल चला गया है) लिखा । इसके अलावा, रेखा ऊर्ध्वाधर के बजाय क्षैतिज है। उदाहरण के लिए:
\begin{timeline}{2008}{2010}{50}{250}
\MonthAndYearEvent{4}{2008}{First Podcast}
\MonthAndYearEvent{7}{2008}{Private Beta}
\MonthAndYearEvent{9}{2008}{Public Beta}
\YearEvent{2009}{IPO?}
\end{timeline}
इस तरह दिखता है एक समयरेखा का उत्पादन:
2008 2010
· · April, 2008 First Podcast ·
· July, 2008 Private Beta
· September, 2008 Public Beta
· 2009 IPO?
व्यक्तिगत रूप से, मुझे यह अन्य उत्तरों की तुलना में अधिक मनभावन समाधान लगता है। लेकिन मुझे यह भी लगता है कि मुझे लगता है कि टाइमलाइन जैसा दिखना चाहिए। इसलिए मेरी राय में इसका कोई निश्चित समाधान नहीं है।
सबसे पहले, मैं tikz
निर्देशित समाधान पसंद करता हूं , क्योंकि यह आपको अधिक स्वतंत्रता देता है। दूसरे, मैं कुछ भी नया पोस्ट नहीं कर रहा हूँ। यह स्पष्ट रूप से ज़ो गगनोन के जवाब के समान है, क्योंकि उन्होंने रास्ता दिखाया।
मुझे कुछ वर्ष के समय की आवश्यकता थी और इसे करने में मुझे कुछ समय (क्या आश्चर्य है!) लगा, इसलिए मैं परिणाम साझा कर रहा हूं। मुझे उम्मीद है कि आप इसे पसंद करेंगे।
\documentclass[tikz]{standalone}
\usepackage{verbatim}
\begin{document}
\newlength\yearposx
\begin{tikzpicture}[scale=0.57] % timeline 1990-2010->
% define coordinates (begin, used, end, arrow)
\foreach \x in {1990,1992,2000,2002,2004,2005,2008,2009,2010,2011}{
\pgfmathsetlength\yearposx{(\x-1990)*1cm};
\coordinate (y\x) at (\yearposx,0);
\coordinate (y\x t) at (\yearposx,+3pt);
\coordinate (y\x b) at (\yearposx,-3pt);
}
% draw horizontal line with arrow
\draw [->] (y1990) -- (y2011);
% draw ticks
\foreach \x in {1992,2000,2002,2004,2005,2008,2009}
\draw (y\x t) -- (y\x b);
% annotate
\foreach \x in {1992,2002,2005,2009}
\node at (y\x) [below=3pt] {\x};
\foreach \x in {2000,2004,2008}
\node at (y\x) [above=3pt] {\x};
\begin{comment}
% for use in beamer class
\only<2> {\fill (y1992) circle (5pt);}
\only<3-5> {\fill (y2000) circle (5pt);}
\only<4-5> {\fill (y2002) circle (5pt);}
\only<5> {\fill[red] (y2004) circle (5pt);}
\only<6> {\fill (y2005) circle (5pt);}
\only<7> {\fill[red] (y2005) circle (5pt);}
\only<8-11> {\fill (y2008) circle (5pt);}
\only<11> {\fill (y2009) circle (5pt);}
\end{comment}
\end{tikzpicture}
\end{document}
जैसा कि आप देख सकते हैं, यह बीमर प्रेजेंटेशन (भाग का चयन करें और स्केल ऑप्शन भी है) के अनुरूप है, लेकिन यदि आप वास्तव में इसे किसी प्रेजेंटेशन में टेस्ट करना चाहते हैं, तो आपको \newlength\yearposx
फ़्रेम डेफिनिशन से बाहर जाना चाहिए , क्योंकि अन्यथा आपको सिचुएशन में त्रुटि मिलेगी। वह कमांड \yearposx
पहले से ही परिभाषित है (जब तक कि आप चयन का हिस्सा नहीं हटाते हैं और आपके फ्रेम से कोई अन्य फ्रेम-विभाजन आदेश)।
नहीं है timeline.sty चारों ओर तैर रही है।
Tikz का उपयोग करने की तुलना में वाक्य रचना सरल है:
%%% In LaTeX:
%%% \begin{timeline}{length}(start,stop)
%%% .
%%% .
%%% .
%%% \end{timeline}
%%%
%%% in plain TeX
%%% \timeline{length}(start,stop)
%%% .
%%% .
%%% .
%%% \endtimeline
%%% in between the two, we may have:
%%% \item{date}{description}
%%% \item[sortkey]{date}{description}
%%% \optrule
%%%
%%% the options to timeline are:
%%% length The amount of vertical space that the timeline should
%%% use.
%%% (start,stop) indicate the range of the timeline. All dates or
%%% sortkeys should lie in the range [start,stop]
%%%
%%% \item without the sort key expects date to be a number (such as a
%%% year).
%%% \item with the sort key expects the sort key to be a number; date
%%% can be anything. This can be used for log scale time lines
%%% or dates that include months or days.
%%% putting \optrule inside of the timeline environment will cause a
%%% vertical rule to be drawn down the center of the timeline.
मैंने पैकेज के संदर्भ में तारीखों को 'सॉर्ट कीज' में बदलने के लिए अजगर के डेटटाइम.डॉट.ऑर्डिनल का उपयोग किया है।
मैं समयरेखा बनाने के लिए एक उचित तरीका खोजने के लिए संघर्ष कर रहा हूं, जिसे मैं अंत में इस संशोधन के साथ कर सकता हूं। आमतौर पर समयावधि बनाते समय समस्या यह थी कि मैं प्रत्येक तिथि को स्पष्ट रूप से एक लंबे पाठ के साथ समझाने के लिए एक पाठ नहीं जोड़ सकता था। मैंने @Zoe Gagnon की लेटेक्स स्क्रिप्ट को संशोधित और आगे उपयोग किया। कृपया निम्नलिखित देखने के लिए स्वतंत्र महसूस करें:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{snakes}
\usepackage{rotating}
\begin{document}
\begin{center}
\begin{tikzpicture}
% draw horizontal line
\draw (-5,0) -- (6,0);
% draw vertical lines
\foreach \x in {-5,-4,-3,-2, -1,0,1,2}
\draw (\x cm,3pt) -- (\x cm,-3pt);
% draw nodes
\draw (-5,0) node[below=3pt] {$ 0 $} node[above=3pt] {$ $};
\draw (-4,0) node[below=3pt] {$ 1 $} node[above=3pt] {$\begin{turn}{45}
All individuals vote
\end{turn}$};
\draw (-3,0) node[below=3pt] {$ 2 $} node[above=3pt] {$\begin{turn}{45}
Policy vector decided
\end{turn}$};
\draw (-2,0) node[below=3pt] {$ 3 $} node[above=3pt] {$\begin{turn}{45} Becoming a bureaucrat \end{turn} $};
\draw (-1,0) node[below=3pt] {$ 4 $} node[above=3pt] {$\begin{turn}{45} Bureaucrats' effort choice \end{turn}$};
\draw (0,0) node[below=3pt] {$ 5 $} node[above=3pt] {$\begin{turn}{45} Tax evasion decision made \end{turn}$};
\draw (1,0) node[below=3pt] {$ 6$} node[above=3pt] {$\begin{turn}{45} $p(x_{t})$ tax evaders caught \end{turn}$};
\draw (2,0) node[below=3pt] {$ 7 $} node[above=3pt] {$\begin{turn}{45} $q_{t}$ shirking bureaucrats \end{turn}$};
\draw (3,0) node[below=3pt] {$ $} node[above=3pt] {$\begin{turn}{45} Public service provided \end{turn} $};
\end{tikzpicture}
\end{center}
\end{document}
दुर्भाग्य से लंबे ग्रंथों की अनुमति नहीं है। यह इस तरह दिखेगा: