سؤال

في التاريخ والكتب كنت غالبا ما يكون الجدول الزمني, الأحداث والفترات يتم وضع علامة على خط في الصحيح المسافة النسبية إلى بعضها البعض.كيف يمكن خلق شيء مماثل في اللاتكس ؟

هل كانت مفيدة؟

المحلول

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، ولكن هذا لا يعطي جدولا زمنيا جيدا، والتي تبدو مثل:

نصائح أخرى

هناك جديد التسلسل الزمني.sty قبل ليفي وايزمان.على الوثائق (pdf) يقول:

معظم الزمني حزم حلول مطاط تستخدم لنقل الكثير من المعلومات وبالتالي فهي مصممة عموديا.إذا كنت مجرد محاولة تعيين تسميات التواريخ التقليدية الزمني قد تكون أكثر ملاءمة.هذا ما التسلسل الزمني هو.

هنا بعض التعليمة البرمجية الموجودة في المثال:

\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}

التي تنتج هذا الناتج:

example output from chronology.sty

وأيضا حزمة chronosys يوفر حلا لطيفة. وهنا مثال من دليل المستخدم:

وفقط تحديثا.

وحزمة 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

تيم ستورر كتب أكثر مرونة وأجمل أبحث <أ href ل = "http://web.archive.org/web/20070717115907/http://www.cs.st-andrews.ac.uk/~tws/tools/latex/timeline.zip" يختلط = "noreferrer"> 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 قيادة بالفعل (إلا إذا قمت بإزالة جزء اختيار وأية أوامر الإطار تقسيم غيرها من الإطار الخاص بك).

إذا كنت تبحث عن UML تسلسل الرسوم البيانية, كنت قد تكون مهتمة في pkf-umlsd, الذي يستند إلى TiKZ.لطيفة والعروض يمكن العثور عليها هنا.

هناك الجدول الزمني.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.

لقد استعملت بايثون التاريخ والوقت.البيانات.toordinal إلى تحويل التمور إلى نوع مفاتيح' في سياق حزمة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top