To jest stara wersja strony!


Export page to Open Document format

Doku Latex

Wojciech Nagrodzki nagrodz@student.agh.edu.pl

Spotkania

20090319

Co udało mi się ustalić na temat pluginu odt? Za pomocą parsera wiki, plik.txt jest konwertowany na postać zawierającą instrukcje specialne: np

This is not a list
  * This is the opening list item
  * This is the second list item
  * This is the last list item
This is also not a list

Zostanie przetłumaczony na:

p_open:
cdata: "This is not a list"
p_close:
listu_open:
listitem_open:
cdata: " This is the opening list item"
listitem_close:
listitem_open:
cdata: " This is the second list item"
listitem_close:
listitem_open:
cdata: " This is the last list item"
listitem_close:
list_close:
p_open:
cdata: "This is also not a list"
p_close:

Zadaniem programisty jest teraz napisanie odpowiednich funkcji to tych instrukcji np.

function listu_open() {
    $this->nlputcmdnl("begin{itemize}");  //need to overload that 
  }

W ten właśnie sposób jest napisany plugin DokuTexiT http://danjer.doudouke.org/tech/dokutexit

Jeżeli chodzi o kompresję plików do zip, w obu pluginach (ODT i DokuTexiT) używane są funkcje php do kompresji („c r c 3 2” „g z c o m p r e s s”). Dane są gromadzone w zmiennej „compressedData”.

PS. wpisane nazw tych funkcji, powoduje błąd w DokuWiki, (nie można zapisać edytowanej strony FIXME) dlatego zapisałem je rozdzielając litery spacjami.

05 Marzec 2009

19 Luty 2009

  • postawienie DokuWiki wraz z pluginem DokuLatex
  • umieszczenie DokuWiki na zewnętrznym serwerze. Link do wiki

Projekt

Sprawozdanie

Co nie działa?

  • Problemy ze złożonym formatowaniem:
**''Bold and monospaced''**

__''Underlined and monospaced''__

//''Italic and monospaced''//
  • Problemy z tagiem < code >
  • Problemy z listą numerowaną
  - The same list but ordered
  - Another item
    - Just use indention for deeper levels
  - That's it

Moim zdaniem będzie trzeba przebudować całą funkcję parsującą. Przetłumaczony plik powinien zostać zapisany na dysku i udostępniony użytkownikowi (a nie wyświetlony w przeglądarce bo nie interpretowane są znaki nowej linii). Przy użyciu poleceń powłoki POSIX (nie wiem jeszcze czy da sie wstawić zmienne w odwrócone apostrofy!), można spakować plik latex wraz z grafikami. Myślę ze szybciej pójdzie mi napisanie nowej funkcji niż poprawianie starej.

Testy pluginu

Podstawowe formatowanie tekstu

  • Bold OK
  • Italic OK
  • Underlined OK
  • Monospaced OK
  • Combined OK
  • Subscript OK
  • Superscript OK
  • Deleted OK
  • Paragraphs OK

This is some text with some linebreaks
Note that the two backslashes are only recognized at the end of a line
or followed by
a whitespace \\this happens without it.

Linki

Zewnętrzne o następującej postaci:
Wewnętrzne

Linki wewnętrzne nie działają. Nie można odwołać się w PDF do innej wygenerowanej strony.

Obrazkowe

Nie ją w pełni sprawne, następujący kod

[[http://www.php.net|{{wiki:dokuwiki-128.png}}]]

jest konwertowany na postać

img /Users/wojtek/Sites/dokuwiki/data/media/wiki/dokuwiki-128.png
Przypisy

Przypis 1) Przypisy są zapisywane w obszarze stopki strony. Kliknięcie przypisu powoduje przejście do stopki strony.

Dzielenie na sekcje

  • Poziom 2 4 5 OK
  • Tworzenie linii horyzontalnej OK

Obrazki

Nie są w pełni wspierane. Kod postaci

Real size:                        {{wiki:dokuwiki-128.png}}

Jest konwertowane na

img /Users/wojtek/Sites/dokuwiki/data/media/wiki/dokuwiki-128.png

Listy

  • Numerowane OK
  1. Pierwszy element
  2. Drugi
    1. Niższy poziom, Element pierwszy
  3. Trzeci
  • Zwykłe OK

Emotikony

Sa przedstawione jedynie w postaci znakowej.

Typografia

Jest w pełni wspierana. Konwertowane są min znaki: → ← ↔ ⇒ ⇐ ⇔ » « – — 640×480 © ™ ®

Cytowanie

Hej!
Witaj!
Idziemy na piwko
Zapytam Adama
OK, chodźmy!

Jest w pełni wspierane.

Tabele

  • Nagłówki kolumn OK
Heading 1 Heading 2 Heading 3
Row 1 Col 1 Row 1 Col 2 Row 1 Col 3
Row 2 Col 1 Row 2 Col 2 Row 2 Col 3
Row 3 Col 1 Row 3 Col 2 Row 3 Col 3
  • Nagłówki wierszy OK
Heading 1 Heading 2
Heading 3 Row 1 Col 1 Row 1 Col 2
Heading 4 Row 2 Col 1 Row 2 Col 2
Heading 5 Row 3 Col 1 Row 2 Col 2
  • Znienne rozpiętości wierszy OK
Heading 1 Heading 2 Heading 3
Row 1 Col 1 Row 1 Col 2 Row 1 Col 3
Row 2 Col 1 Wiersz na dwie kolumny
Row 3 Col 1 Row 2 Col 2 Row 2 Col 3
  • Ustawianie zawartości (left, centerad, right) OK
Table with alignment
right center left
left right center
xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxx

Bloki nieparsowane

Są w pełni obsługiwane.

Przykładowy blok niesporsowany.

Używanie pluginu

Link do pluginu http://danjer.doudouke.org/dokutexit.tar.gz

Należy wstawić następujący kod na stronie.

<texit info>
author=MySelf
title=MyTitle
</texit>

W dokutexit settings wklej kolejno w pola kod

DokuTeXit Begin/Header
\documentclass[twoside,a4paper,10pt]{report}
%%\usepackage[french]{babel} %% Use your own babel language
\usepackage[top=3cm,bottom=3cm,left=2.5cm,right=2.5cm]{geometry}
\usepackage{ucs}
\usepackage[utf8x]{inputenc}
\usepackage{pslatex}
\usepackage{hyperref}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{supertabular}
\usepackage{pdflscape} %% Used for very big table
\usepackage{moreverb}
\usepackage{color}
\usepackage{listings}
\usepackage{lastpage}
\usepackage{fancyhdr}
\usepackage{ulem}
\usepackage{textcomp}
\usepackage{wasysym}
\usepackage{wrapfig} %%Usefull for image 
\usepackage{eso-pic} %% Background
Dokutexit Command
\pagestyle{fancy}%
\renewcommand{\headrulewidth}{0.1pt}
\renewcommand{\footrulewidth}{0pt}
\renewcommand{\chaptermark}[1]{%
	\markboth{\chaptername\ \thechapter.\ #1}{}}
\renewcommand{\sectionmark}[1]{%
	\markright{#1}{}}
\fancypagestyle{plain}{%
\fancyhf{}
\fancyfoot[R]{\thepage/\pageref{LastPage}}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}}
\fancyhf{}
\fancyhead[L]{\rightmark}
\fancyhead[R]{\leftmark}
\fancyfoot[R]{\thepage/\pageref{LastPage}}
\renewcommand{\headrulewidth}{0.1pt}
\renewcommand{\footrulewidth}{0pt}
\definecolor{codegray}{gray}{.95}
\lstset{language=C,
	numbers=left,
	tabsize=2,
	basicstyle=\scriptsize,
stringstyle=\textrm,
showstringspaces=false,
frame=none,
xleftmargin=3pt,
backgroundcolor=\color{codegray}}
\newcommand{\settexitref}[2]{(\ref{#1}p\pageref{#1})}
\newcommand{\dokutitlelevelone}[1]{\chapter{#1}}
\newcommand{\dokutitleleveltwo}[1]{\section{#1}}
\newcommand{\dokutitleleveltree}[1]{\subsection{#1}}
\newcommand{\dokutitlelevelfour}[1]{\subsubsection{#1}}
\newcommand{\dokutitlelevelfive}[1]{\paragraph{#1}}
\newcommand{\dokufootnote}[1]{\footnote{#1}}
\newcommand{\dokufootmark}[1]{\footnotemark[#1]}
\newcommand{\dokubold}[1]{\textbf{#1}}
\newcommand{\dokuitalic}[1]{\textsl{#1}}
\newcommand{\dokumonospace}[1]{\texttt{#1}}
\newcommand{\dokuunderline}[1]{\underline{#1}}
\newcommand{\dokuoverline}[1]{\sout{#1}}
\newcommand{\dokusupscript}[1]{\textsuperscript{#1}}
\newcommand{\dokusubscript}[1]{$_{#1}$}
\newcommand{\dokuhline}{\line(1,0){400}}
\newcommand{\dokulabel}[1]{\label{#1}}
\newcommand{\dokuitem}{\item}
\newcommand{\dokuquoting}{\textbar}
\newcommand{\dokutabularwidth}{\textwidth}
\newcommand{\dokusupertabularheadbreak}{\small\sl continued from previous page}
\newcommand{\dokusupertabulartailbreak}{\small\sl continued on next page}
\newcommand{\dokuheadingstyle}[1]{\textbf{#1}}
\definecolor{dokuheadingcolor}{rgb}{0,0,0.60}
\newcommand{\dokubackground}[1]{%
\AddToShipoutPicture{%
  \AtTextCenter{%
    \makebox(0,0)[c]{\resizebox{\textwidth}{!}{%
      \rotatebox{25}{\textsf{\textbf{\textcolor[gray]{0.90}{#1}}}}}}%
  }%
 }%
}
DokuTeXit Document
\begin{document}
\end{document}

Wciśnij Generate PFD a następnie View Latex Source.

Prezentacja

Materiały

1)
Tekst przypisu
pl/miw/2009/miw09_doku_latex.1253707496.txt.gz · ostatnio zmienione: 2019/06/27 15:57 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0