Предложения по расширению возможностей Mediawiki4Intranet
From Wiki4Intranet
Предлагается в этом форуме размещать предложения по расширению возможностей Mediawiki4Intranet.
Временные диаграммы
Например, хотелось бы иметь возможность пользоваться расширением LaTeX`а tikz и tikz-timing в частности для рисования таких вот диаграмм:
Всё было бы просто (добавить \usepackage{tikz-timing} соответствующий пакет в MarkupBabelProcessor.php), если бы эти пакеты не требовали трансляции через pdflatex, а не через latex, что потребует большей переделки исходников.
Исходный код рисунка диаграмм
\documentclass[12pt]{article} \usepackage{ucs} %\usepackage[utf8x]{inputenc} \usepackage[english,russian]{babel} %\usepackage{amssymb,amsmath,amscd,concmath} \usepackage{amssymb,amsmath,amscd} \usepackage{color} \usepackage{tikz-timing} \pagestyle{empty} \begin{document} \noindent% \begin{tikztimingtable}[xscale=0.9] \texttt{addr(9:0)} & [d] 4D{X} N(A2) 3D{r+0} 3D{+1} 3D{+2} ;[ dotted ] 2D{}; 3D{+29} 3D{+30} 3D{+31} 2D ;[ dotted ] 2D; 2D D ;[ dotted ] 2D; 2D{row+0} 3D{r+0} 3D{+1} 3D{+2} ;[ dotted ] 2D{}; 3D{+29} 3D{+30} 3D{+31} d{}\\ \texttt{di} & 4L 3D{ } 3D{ } 3D{ } ;[ dotted ] 2L; 3D{ } 3D{ } 3D{ } 2L ;[ dotted ] 2L; 2L L ;[ dotted ] 2L; 2L 3{3L} ;[ dotted ] 2L; 3{3L}\\ \texttt{clk} & C 3L 3{L C C} ;[ dotted ] 2L; 3{L C C} 2L ;[ dotted ] 2L; 2L L ;[ dotted ] 2L; 2L L N(A1) C C 2{L C C} ;[ dotted ] 2L; 3{L C C}\\ \texttt{load} & 4L 3{3H} ;[ dotted ] 2H; 3{3H} 2L ;[ dotted ] 2L; 2L L ;[ dotted ] 2L; 2L 3{3L} ;[ dotted ] 2L; 3{3L}\\ \texttt{prog} & 4L 3{3L} ;[ dotted ] 2L; 3{3L} 2L ;[ dotted ] 2L; 2L N(C5) H ;[ dotted ] 2H; H N(C7) L 3{3L} ;[ dotted ] 2L; 3{3L}\\ \texttt{erase} & 4L 3{3L} ;[ dotted ] 2L; 3{3L} L N(C1) H ;[ dotted ] 2H; H N(C3) L L ;[ dotted ] 2L; 2L 3{3L} ;[ dotted ] 2L; 3{3L}\\ \texttt{clr} & L 2H L 3{3L} ;[ dotted ] 2L; 3{3L} 2L ;[ dotted ] 2L; 2L L ;[ dotted ] 2L; 2L 3{3L} ;[ dotted ] 2L; 3{3L}\\ \texttt{sa} & 4L 3{3L} ;[ dotted ] 2L; 3{3L} 2L ;[ dotted ] 2L; 2L L ;[ dotted ] 2L; 2L 3{3L} ;[ dotted ] 2L; 3{3L}\\ \texttt{do} & 4L 3{3L} ;[ dotted ] 2L; 3{3L} 2L ;[ dotted ] 2L; 2L L ;[ dotted ] 2L; 2L L N(B1) m dL 2{LmdL} ;[ dotted ] 2L; 3{LmdL}\\ \texttt{cp\_on} & 4H N(B2) 3{3H} ;[ dotted ] 2H; 3{3H} H N(C2) L ;[ dotted ] 2L; L N(C4) H N(C6) L ;[ dotted ] 2L; L N(C8) H 3{3H} ;[ dotted ] 2H; 3{3H}\\ \texttt{vpp} & [l]4Z 3{3Z} ;[ dotted ] 2Z; 3{3Z} Z N(D1) ;[red] H; ;[ dotted,red ] 2H; ;[red]H; N(D3) Z ;[red] H; ;[ dotted,red ] 2H; ;[red]H;Z 3{3Z} ;[ dotted ] 2Z; 3{3Z}\\ \extracode \node[anchor=north] at ($ (B2) ! 0.0 ! (B1) - (2.15,3.25) $) {\scriptsize Сброс}; \node[anchor=north] at ($ (B2) ! 0.0 ! (B1) - (2.15,4.25) $) {\scriptsize регистра}; \node[anchor=north] at ($ (B2) ! 0.0 ! (B1) - (-10,3.5) $) {\scriptsize Загрузка данных в регистр }; \node[anchor=north] at ($ (B2) ! 0.0 ! (B1) - (-23,3.5) $) {\scriptsize Стирание}; \node[anchor=north] at ($ (B2) ! 0.0 ! (B1) - (-28,3.5) $) {\scriptsize Запись}; \node[anchor=north] at ($ (B2) ! 0.0 ! (B1) - (-41.5,3.5) $) {\scriptsize Режим чтения}; %\node[anchor=north] at ($ 0 $) {\scriptsize Сброс }; %\tablerules \draw [orange,semithick,->] ($ (A1) + (0,0) $) parabola [bend pos=.1] ($ (B1.mid) + (0,.5) $); \draw [orange,semithick,->] ($ (C1) + (0,0) $) parabola [bend pos=.1] ($ (C2.mid) + (0,0) $); \draw [orange,semithick,->] ($ (C3) + (0,0) $) parabola [bend pos=.1] ($ (C4.mid) + (0,1) $); \draw [orange,semithick,->] ($ (C5) + (0,0) $) parabola [bend pos=.1] ($ (C6.mid) + (0,0) $); \draw [orange,semithick,->] ($ (C7) + (0,0) $) parabola [bend pos=.1] ($ (C8.mid) + (0,1) $); \begin{pgfonlayer}{background} \vertlines [help lines]{0.5,3.5,24.5,29.5,34.5,55} \begin{scope}[gray,semitransparent,semithick] \horlines{} \end{scope} \end{pgfonlayer} \end{tikztimingtable} \end{document}
[ List view ]Comments
С разморозкой меня, решил ответить на этот пост.
Первое, в принципе, реально - полученную pdf'ку можно обрабатывать inkscape'ом. Но переходить на это не будем точно, картинки не совсем красивые получаются и медленнее конверсия. Плюс ещё момент - у нас сейчас, насколько я понимаю, оно вообще не даёт свои пакеты подключить в заголовок.
По поводу второго подозреваю, что лучше ничего нет, плюс лично мне и не приходит в голову, как это сделать лучше.
Попался мне такой вот граф, полученный в Graphviz. Попробовал я его в вики, но он получился немного другим. В исходном связи проводятся ортогонально, как я понял это задаётся при вызове dot с помощью ключика -Gsplines=ortho. А нельзя ли сделать управление ортоганальностью линий доступным из вики, чтобы повторить этот граф?
Что-то я посражался с этой опцией splines=ortho, но ничего не вышло... Связи как были дугой так и остались, добиться ортогональности не получилось...
Please login to comment.