ktikz - Editor for the TikZ language

Graphic Apps

Source i (link to git-repo or to original if based on someone elses unmodified work):

Add the source-code for this project on opencode.net

4
Become a Fan
6.1

Available as/for:
Description:
Version 0.10 is released. This version is available as an Ubuntu package for Lucid, as a Debian package for Squeeze and as a Windows installer. For Linux there are two versions available: KtikZ and QtikZ. KtikZ is integrated with the KDE4 platform, whereas QtikZ has the traditional Qt-only interface. Thanks go to Glad Deschrijver, Agustin Martin and Stuart Prescott for their contributions.

Please visit the project website for more information.

http://www.hackenberger.at/blog/ktikz-editor-for-the-tikz-language
Last changelog:

Version 0.10 (2010-08-26):
- KDE integration (the possibility to compile Qt-only still exists)
- template files on remote machines can be used using KIO (only in the KDE
version)
- TikZ source files on remote machines can be loaded, saved and exported
using KIO (only in the KDE version)
- error messages while generating the preview are shown in the preview
window itself
- zooming is done in a separate thread now, so the interface is not blocked
when zooming at large sizes
- a kpart is available that can be used to view TikZ source files in
konqueror (the kpart opens files having the text/x-pgf mimetype)
- update list of tikz commands
- remove bug which causes ktikz to hang (since Qt 4.6) when typesetting
a picture
- remove bug: cannot find TikZ documentation when selecting "TikZ Manual"
in the Help menu, even if configured correctly
- display description of a newly inserted tikz command (using command
completion or menu) in the statusbar, so that the user still sees the
usage of a command after it is inserted
- add option to compile the TikZ code only when pushing a "Build" button
- add reload button
- add shell script and ktikz template to the examples directory which can
be used to generate the preview with the latex; dvips; ps2pdf sequence
instead of pdflatex (the usage is described in the shell script code)
- check whether the file has changed when ktikz gets the focus (similar
to kwrite)
- in the kpart check for file changes and reload if there are any (similar
as in okular)
- the zoom percentage field is now displayed and edited in the user's locale
- added documentation
- remove bug: when the error box is larger than the preview and the next
compilation does not give errors, the error box is still visible outside
the area covered by the preview
- try to find or use the default hard-coded (configurable in conf.pri and
CMakeLists.txt) path to the TikZ documentation when an empty path is
stored in the local settings (this is the case e.g. when ktikz is run
for the first time)
- when inserting code using code-completion, the arguments and options that
must be filled in are marked by a bullet, the bullets can be browsed with
the Tab-key
- now also an URL to an online version of the TikZ documentation can be
specified in the configuration dialog
- an icon for Windows and an NSIS Windows Installer script are now available
- the "Insert" menu is now also translated

Version 0.9 (2009-09-10):
- remove bug that on startup the item selected in the template combobox
did not correspond to the text in the lineedit of the combobox
- correct the height of the lineedits in the configuration dialog
- the path to the TikZ documentation must now be set in the configuration
dialog
- don't wait one second before generating the preview when a file is
loaded, the template is changed or shell escaping is toggled
- only files are used now as a template file (previously directories
and everything with a valid path was used), otherwise the default
template is used
- if the replacement text is empty, then the default template is used
instead of giving non-informative errors
- when the commands dock is visible (instead of the menu), the code that
will be inserted is visible in the status bar on hovering the item in
the list
- clicking on an item in the commands dock only includes the corresponding
code once (instead of twice)
- added file name completion to the template line edit and the line edits
in the configuration dialog
- space and tab markers resize according to the font size of the main text
- the color of the space and tab markers can be changed in the
configuration dialog
- white space and tabulator settings are separate now
- scrolling in the text edit with the arrow keys is faster now
- better completion of \begin{... and \end{...
- allow to use the icons set in KDE4 when the appropriate variable in
conf.pri is set
- remove bug that the "Next Image" and "Previous Image" buttons remained
visible when emptying the code text area
- remove bug: statustip of the toggle view actions in the Settings menu is
not shown when a toolbar or sidebar is hidden on startup
- add support for session management (open windows will be reopened after
logging out and logging in again)
- added option in the config dialog to enable/disable completion of the
tikz commands
- trying to open a file from the "Open Recent" menu that does not exist
anymore does not cause an empty window to be opened anymore, furthermore
the file is removed from the "Open Recent" list

Version 0.8 (2009-03-29):
- allow text under icons in toolbar
- remove bug: when a second ktikz window is closed while typesetting,
the cursor is not restored from busy to normal
- remove bug: when the document is untitled and not yet saved, then
opening a file opens the file in the current window, destroying the
unsaved text
- added some tikz commands to the list of commands
- disable "Save" and "Save As" actions when the file in the text editor
is the same as on disk
- replace the "Replace this occurrence" dialog by a widget shown at the
bottom of the text editor
- added filter "PGF files" in "Open File" dialog
- the previously selected templates can now be selected from a combobox
- added "Clear" button to each line edit
- remove bug: the size of the default font did not change after setting
a new font size in the config dialog
- new way of writing the temporary latex and pgf files, this also solves
the bug in which the line numbers in the log window did not correspond
to the line numbers in the editor
- each time the template is changed a new QTemporaryFile is used, this
avoids the bug that if the template contains less characters, then the
bottom of the old template is still there in the file (luckily latex
stops parsing at the first \end{document}, so this bug was not visible)
- allow to use KDE4 file dialogs when the appropriate variable in conf.pri
is set
- remove bug (I hope) that caused ktikz to crash when zooming while ktikz
is typesetting

Version 0.7 (2008-08-26):
- disable previous image button if the first image is shown, disable
next image button if the last image is shown
- the first time that the End button is pressed the cursor is moved to
the end of the line (on screen), the second time the cursor is moved
to the end of the block (end of the line in the file)
- don't run latex on startup when no document is loaded from the command
line
- adjust size of the viewport in which the preview is displayed when new
items are added to the tikz picture
- added completion of the tikz commands
- the tikz commands are now loaded from an XML file
- corrected the size of the colored background around the highlighted
brackets
- remove bug in ConfigDialog::selectFont() (replace "if (&ok)" by "if (ok)")
- the command "New" in the "File" menu now opens a new empty window,
the commands "Open" and "Open Recent" open the selected file in a new
window, a "Close" command is added which empties the current window
- the (empty) document is not typesetted anymore when the "Close" command
(which has the same behavior as the old "New" command) is executed
- add the directory in which the template file is located to the
$TEXINPUTS environment variable (useful if the template \inputs other
files)
- layout changes in the configuration dialog


Ratings & Comments

26 Comments

SeeDoubleYou

Has anyone managed to get this to work under Ubunut 64bit? I tried installing the .deb file using --force-architecture and then use getlibs to get the dependencies, but there is no installation candidate for libpoppler-qt4.so.2

xylo

I also tried to use version 0.9 on my 64 bit machine. The compilation worked fine, but when I run ktikz I get a segmentation fault. :( Unfortunately I cannot even use version 0.8 under Lucid, because libpoppler.so.3 is not available anymore.

glad

Currently, you have to install ktikz using the source from svn (svn://hackenberger.at/svnroot/ktikz/trunk). Older versions of ktikz do not work under the current version of ubuntu nor with Qt 4.6. We hope to be able to release version 0.10 in a few weeks.

dplentini

Hi! I love v. 0.8 of this program, so I couldn't wait to install the update; but I can't compile the code. I get the following output: david@DD:~/Dropbox/Downloads/ktikz-0.9$ qmake Project MESSAGE: *** KTikZ v0.9 *** Project MESSAGE: The program will be installed in Project MESSAGE: /usr/bin Project MESSAGE: The translation files will be installed in Project MESSAGE: /usr/share/ktikz Project MESSAGE: The desktop file will be installed in Project MESSAGE: /usr/share/applications Project MESSAGE: (null) Project MESSAGE: If you would like to change these paths, Project MESSAGE: please adjust conf.pri to your needs and rerun qmake. Project MESSAGE: (null) Project MESSAGE: In order to enable KDE file dialogs in this application, Project MESSAGE: unhide the line \"CONFIG += usekde\" in conf.pri. david@DD:~/Dropbox/Downloads/ktikz-0.9$ make cd src && make -f Makefile make[1]: Entering directory `/home/david/Dropbox/Downloads/ktikz-0.9/src' Makefile:369: warning: overriding commands for target `../build/obj/configappearancewidget.o' Makefile:225: warning: ignoring old commands for target `../build/obj/configappearancewidget.o' Makefile:373: warning: overriding commands for target `../build/obj/configeditorwidget.o' Makefile:236: warning: ignoring old commands for target `../build/obj/configeditorwidget.o' Makefile:378: warning: overriding commands for target `../build/obj/configgeneralwidget.o' Makefile:241: warning: ignoring old commands for target `../build/obj/configgeneralwidget.o' Makefile:382: warning: overriding commands for target `../build/obj/editgotolinewidget.o' Makefile:245: warning: ignoring old commands for target `../build/obj/editgotolinewidget.o' Makefile:386: warning: overriding commands for target `../build/obj/editindentdialog.o' Makefile:249: warning: ignoring old commands for target `../build/obj/editindentdialog.o' Makefile:391: warning: overriding commands for target `../build/obj/editreplacewidget.o' Makefile:254: warning: ignoring old commands for target `../build/obj/editreplacewidget.o' Makefile:397: warning: overriding commands for target `../build/obj/templatewidget.o' Makefile:293: warning: ignoring old commands for target `../build/obj/templatewidget.o' /usr/share/qt3/bin/uic editreplacewidget.ui -o ../build/ui/editreplacewidget.h uic: Could not open output file '../build/ui/editreplacewidget.h' make[1]: *** [../build/ui/editreplacewidget.h] Error 1 make[1]: Leaving directory `/home/david/Dropbox/Downloads/ktikz-0.9/src' make: *** [sub-src] Error 2 This happens whether I run as su or not. What's going wrong? Can someone make DEB for jaunty? Thanks!

glad

It seems that you have already a Makefile in the src directory. Type "make distclean", or if that doesn't help, remove the build directory and remove the Makefile in the src directory, and after that rerun qmake and make. On Ubuntu you must use qmake-qt4 instead of qmake.

dplentini

Thanks. I used the "make distclean" command, and that seemed to make some progress, but then I got a version error stating that my version of Qt (4.x) was too new (vs. 3.3.8b): cd src/ && make -f Makefile make[1]: Entering directory `/home/david/ktikz-0.9/src' Makefile:369: warning: overriding commands for target `../build/obj/configappearancewidget.o' Makefile:225: warning: ignoring old commands for target `../build/obj/configappearancewidget.o' Makefile:373: warning: overriding commands for target `../build/obj/configeditorwidget.o' Makefile:236: warning: ignoring old commands for target `../build/obj/configeditorwidget.o' Makefile:378: warning: overriding commands for target `../build/obj/configgeneralwidget.o' Makefile:241: warning: ignoring old commands for target `../build/obj/configgeneralwidget.o' Makefile:382: warning: overriding commands for target `../build/obj/editgotolinewidget.o' Makefile:245: warning: ignoring old commands for target `../build/obj/editgotolinewidget.o' Makefile:386: warning: overriding commands for target `../build/obj/editindentdialog.o' Makefile:249: warning: ignoring old commands for target `../build/obj/editindentdialog.o' Makefile:391: warning: overriding commands for target `../build/obj/editreplacewidget.o' Makefile:254: warning: ignoring old commands for target `../build/obj/editreplacewidget.o' Makefile:397: warning: overriding commands for target `../build/obj/templatewidget.o' Makefile:293: warning: ignoring old commands for target `../build/obj/templatewidget.o' /usr/share/qt3/bin/uic editreplacewidget.ui -o ../build/ui/editreplacewidget.h uic: File generated with too recent version of Qt Designer (4.0 vs. 3.3.8b) make[1]: *** [../build/ui/editreplacewidget.h] Error 1 make[1]: Leaving directory `/home/david/ktikz-0.9/src' make: *** [sub-src-make_default] Error 2

glad

It seems that your system persists in using the utilities from Qt3 instead of those from Qt4. On my system (which also runs Kubuntu Jaunty) when I run qmake-qt4 (and NOT qmake), then also uic-qt4 and friends are used. If this is not the case for you, then the easiest solution is to uninstall the development packages for Qt3 (every package the name of which contains "qt3" and on which no program depends; I have only libqt3-mt installed).

dplentini

Thanks for the tip. I removed the "qt3" files as you described, and I confirmed the "qt4" were installed, but I still can't compile the program. Here's the current output: david@DD:~/ktikz-0.9$ qmake Project MESSAGE: *** KTikZ v0.9 *** Project MESSAGE: The program will be installed in Project MESSAGE: /usr/bin Project MESSAGE: The translation files will be installed in Project MESSAGE: /usr/share/ktikz Project MESSAGE: The desktop file will be installed in Project MESSAGE: /usr/share/applications Project MESSAGE: KDE includes: /usr/lib/kde4/include/KDE /usr/lib/kde4/include Project MESSAGE: KDE libs: /usr/lib/kde4/lib Project MESSAGE: Project MESSAGE: If you would like to change these paths, Project MESSAGE: please adjust conf.pri to your needs and rerun qmake. Project MESSAGE: Project MESSAGE: In order to disable KDE file dialogs in this application, Project MESSAGE: hide the line "CONFIG += usekde" in conf.pri. david@DD:~/ktikz-0.9$ make cd src/ && make -f Makefile make[1]: Entering directory `/home/david/ktikz-0.9/src' Makefile:369: warning: overriding commands for target `../build/obj/configappearancewidget.o' Makefile:225: warning: ignoring old commands for target `../build/obj/configappearancewidget.o' Makefile:373: warning: overriding commands for target `../build/obj/configeditorwidget.o' Makefile:236: warning: ignoring old commands for target `../build/obj/configeditorwidget.o' Makefile:378: warning: overriding commands for target `../build/obj/configgeneralwidget.o' Makefile:241: warning: ignoring old commands for target `../build/obj/configgeneralwidget.o' Makefile:382: warning: overriding commands for target `../build/obj/editgotolinewidget.o' Makefile:245: warning: ignoring old commands for target `../build/obj/editgotolinewidget.o' Makefile:386: warning: overriding commands for target `../build/obj/editindentdialog.o' Makefile:249: warning: ignoring old commands for target `../build/obj/editindentdialog.o' Makefile:391: warning: overriding commands for target `../build/obj/editreplacewidget.o' Makefile:254: warning: ignoring old commands for target `../build/obj/editreplacewidget.o' Makefile:397: warning: overriding commands for target `../build/obj/templatewidget.o' Makefile:293: warning: ignoring old commands for target `../build/obj/templatewidget.o' make[1]: *** No rule to make target `/usr/share/qt3/mkspecs/default/qmake.conf', needed by `Makefile'. Stop. make[1]: Leaving directory `/home/david/ktikz-0.9/src' make: *** [sub-src-make_default] Error 2

xylo

Seems there is a version 0.8 on http://www.hackenberger.at/blog/ktikz-editor-for-the-tikz-language

LauMou

Dear all, I am trying to install ktikz on my Intrepid Ibex distro using the proposed Ubuntu download. I got an error message when using the Package installer: "Error: Dependency is not satisfiable: libpoppler-qt4-2" while libpoppler-qt-dev libpoppler-qt2 libpoppler-qt4-3 libpoppler-qt4-dev are installed on my machine Any clue?

sergeballif

I get the same error, with the same specs. I'd be ever so grateful for help.

msingh123

Hello Is it possible to change the location of global defaults (like the texmf.cnf file) using the pdflatex command-line as : export TEXMFCNF=/path/to/new/texmf; pdflatex ? It does not appear to work. I have some plots (using pgfplots) that have a lot of points, and I need to change the tex defaults for myself.

glad

Maybe you can make a shell script with the content (untested): #!/bin/sh export ... pdflatex $* and change in the "Typesetting" tab of the "Configure" dialog the "LaTeX command" to your script. I hope that works.

msingh123

First of all - thanks for making this software. You do not know how much time you have saved me. I am using version 0.7 (which does not crash any more). However, I keep getting cryptic "[LaTeX] Error : run failed" type messages. The maddening thing is that these errors appear to crop up with a previous working piece of tikz code. I am using \write18 (shell escape feature) as I need to use pgfplots (using gnuplot). Since I cannot appear to reproduce these errors in any predictable fashion and this appears to be independent of which working piece of code I have, is there some way for me to run ktikz in some sort of debug mode ? The same code executes perfectly when compiled from my latex editor (which is kile). My platform is Ubuntu Hardy.

msingh123

I would like to point out that by working piece of code I mean code that has previously (sometimes as recently as 10 minutes ago) worked in ktikz.

glad

Strange, ktikz 0.7 has never crashed on me in the few months that I use it. You can compile it in debug mode by hiding CONFIG -= debug and CONFIG += release and by unhiding CONF += debug in the file conf.pri.

cocus

First, thanks for the nice and useful program. It would be nice to optionally add additional \usepackages in the preamble (e.g. color) and additional \usetikzpackages like calc. Otherwise many tikz pictures cannot be interpreted by ktikz. I suggest a configuration parameter to include a file into the latex preamble.

deadman66

You can use the template functionality to accomplish that. The following template should serve as a guideline (be careful with line breaks when pasting): \documentclass[12pt]{article} \usepackage{tikz} \usepackage{pgf} \usepackage[active,pdftex,tightpage]{preview} \PreviewEnvironment[]{tikzpicture} \begin{document} <> \end{document}

stomking

First of all I really like your software cause I am in the middle of my thesis. It would be very helpful. I compiled it on Ubuntu 8.04 amd64. Unfortunately it crashes with this error: ktikz: ../../src/xcb_lock.c:77: _XGetXCBBuffer: Assertion `((int) ((xcb_req) - (dpy->request)) >= 0)' failed. Aborted

underscore

I have the same problem with ktikz (from svn) here on Ubuntu 8.04. The problem appears right after the main window appears. Running ktikz from gdb gives following:

ktikz: ../../src/xcb_lock.c:77: _XGetXCBBuffer: Assertion `((int) ((xcb_req) - (dpy->request)) >= 0)' failed.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0xb6c85720 (LWP 23839)]
0xb7ef9410 in __kernel_vsyscall ()
(gdb) backtrace
#0  0xb7ef9410 in __kernel_vsyscall ()
#1  0xb721a085 in raise () from /lib/tls/i686/cmov/libc.so.6
#2  0xb721ba01 in abort () from /lib/tls/i686/cmov/libc.so.6
#3  0xb721310e in __assert_fail () from /lib/tls/i686/cmov/libc.so.6
#4  0xb6ff6324 in _XGetXCBBuffer () from /usr/lib/libX11.so.6
#5  0xb6ff75f3 in _XSend () from /usr/lib/libX11.so.6
#6  0xb6ff7758 in _XEventsQueued () from /usr/lib/libX11.so.6
#7  0xb6fe0a4f in XEventsQueued () from /usr/lib/libX11.so.6
#8  0xb77901aa in ?? () from /usr/lib/libQtGui.so.4
#9  0x080f8f10 in ?? ()
#10 0x00000002 in ?? ()
#11 0xb6f00248 in ?? () from /usr/lib/libglib-2.0.so.0
#12 0xb7790170 in ?? () from /usr/lib/libQtGui.so.4
#13 0xb6f00248 in ?? () from /usr/lib/libglib-2.0.so.0
#14 0xbfc1c738 in ?? ()
#15 0xb6e8a3e0 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
But personally I think the problem is different to the backtrace message. I think it's some kind of thread synchronization problem when updating the preview window. If I comment out following lines from ktikz.cpp
	connect(m_tikzEditorView, SIGNAL(contentsChanged()),
	        m_tikzController, SLOT(regeneratePreview()));
ktikz runs but (of course) is not working properly. Trying different breakpoints did not help. Either the program was working correctly (with a preview) or it crashed in random pieces of code. Any ideas?

deadman66

The latest update to xserver-xorg-core, version 2:1.4.1~git20080131-1ubuntu9.2 seems to solve this problem. Please see the following bug report: https://bugs.launchpad.net/xorg-server/+bug/185311

LordAsriel

I tried to compile that software but compilation aborts with the following error: cd src/ && make -f Makefile make[1]: Entering directory `/home/user/ktikz-0.4/src' g++ -c -pipe `pkg-config --cflags poppler-qt4` -g -D_REENTRANT -Wall -W -DTIKZ_DEBUG_MODE -DAPPVERSION=\"0.4\" -DKTIKZ_INSTALL_TRANSLATIONS=\"/share/ktikz\" -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o tikzpreview.o tikzpreview.cpp tikzpreview.cpp: In member function ‘void TikzPreview::showPdfPage()’: tikzpreview.cpp:128: error: ‘class Poppler::Page’ has no member named ‘splashRenderToPixmap’ make[1]: *** [tikzpreview.o] Error 1 make[1]: Leaving directory `/home/user/ktikz-0.4/src' make: *** [sub-src-make_default] Error 2 I'm using gentoo. I think all dependencies are satisfied (and all use flags are correctly set) but I can give you more informations if you need them. Maybe (I really don't know) the following link can give you a hint: http://article.gmane.org/gmane.comp.kde.devel.bugs/512956 However in gentoo poppler libs are under /usr/include/poppler/qt4/ . Please inform me if you find my suggestion misleading so I can edit my message and remove the link.

sebaestn

I get the same fault on Ubuntu Gutsy with all packages ktikz depends on installed. When I check out the newest version 0.5 from the svn repo directed to on the homepage I get the following error: cd src && make -f Makefile make[1]: Betrete Verzeichnis '/home/user/test/ktikz/src' g++ -c -pipe `pkg-config --cflags poppler-qt4` -Wall -W -O2 -D_REENTRANT -DAPPVERSION=\\\"0.5\\\" -DKTIKZ_INSTALL_TRANSLATIONS=\\\"/home/user/Applications/share/ktikz\\\" -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/share/qt3/mkspecs/default -I. -I/usr/include/qt3 -I../build/ui/ -I../build/moc/ -o ../build/obj/aboutdialog.o aboutdialog.cpp aboutdialog.cpp:20:28: Fehler: QDialogButtonBox: No such file or directory aboutdialog.cpp:21:18: Fehler: QLabel: No such file or directory aboutdialog.cpp:22:21: Fehler: QTextEdit: No such file or directory aboutdialog.cpp:23:23: Fehler: QVBoxLayout: No such file or directory In Datei, eingefügt von aboutdialog.cpp:24: aboutdialog.h:23:19: Fehler: QDialog: No such file or directory aboutdialog.cpp:32: Fehler: verirrtes »\« im Programm aboutdialog.cpp:32: Fehler: fehlendes abschließendes Zeichen " aboutdialog.h:26: Fehler: expected class-name before »{« token aboutdialog.h:27: Fehler: ISO-C++ verbietet Deklaration von »Q_OBJECT« ohne Typ aboutdialog.h:28: Fehler: expected »;« before »public« aboutdialog.cpp:26: Fehler: expected `)' before »*« token make[1]: *** [../build/obj/aboutdialog.o] Fehler 1 make[1]: Verlasse Verzeichnis '/home/user/test/ktikz/src' make: *** [sub-src] Fehler 2 Is this a problem with gutsy (prgram developed under feisty) or where is the mistake?

glad

On Ubuntu you should run qmake-qt4 instead of qmake. The splashRenderToPixmap error can be solved by checking out svn and compiling version 0.5 (version 0.4 is based on an older version of poppler, namely v0.5.4, the API of which is incompatible with that of v0.6).

sebaestn

Thanks, worked fine for me.

Pling
0 Affiliates
Details
license
version 0.10
updated
added
downloads 24h 0
mediaviews 24h 0
pageviews 24h 6

Other Graphic Apps:

kimagesorter
korobAn
last update date: 14 years ago

Score 5.0

Pynocchio
MStuttgart
last update date: 6 years ago

Score 6.5

PhotoKit
novesky
last update date: 12 years ago

Score 6.1

QVV Image Viewer
cade
last update date: 15 years ago

Score 5.7

webshots
salvaste
last update date: 20 years ago

Score 5.0

Limoo Image Viewer
brdn25
last update date: 11 years ago

Score 6.8



System Tags