Giter Site home page Giter Site logo

gummi's Introduction

Gummi

The simple LaTeX editor

Version License

Screenshot

alt text

Getting Gummi

For end users we recommend using official stable releases. Gummi is available through the official channels for most Linux/BSD distributions. Please see this wiki page for more information on availability for your specific platform.

Developers may also be interested in running the latest sourcecode. More information on building Gummi from source can be found here..

Packaging Gummi

Thank you for helping to distribute this software. Feel free to contact me directly if you have any questions or comments about packaging Gummi.

Contributing to Gummi

Please check the Getting Involved section of our wiki for more information on contributing to Gummi.

Contact

If you wish to contact me, please use the details on my Github profile.

gummi's People

Contributors

aitjcize avatar alexandervdm avatar bobi32 avatar bsiegert avatar carmina16 avatar danielhers avatar ddeka2910 avatar diepfote avatar doraeric avatar freddii avatar karcsesz avatar michaelmyc avatar paulschulz avatar rahulkrishnan98 avatar rhendric avatar rschroll avatar scarlehoff avatar yjwork-cn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gummi's Issues

Compile twice before export

If you export to pdf directly after opening a file, things like page references etc are not set yet, so that things like "Page 1 of ??" appear in the final document.

This could be prevented easily if gummi would compile the document a second time before saving the pdf file.

Confusing highlight when compilation errors occour

While it is undoubtedly useful to indicate the lines of the document that cause a compilation error, highlighting them all in red and hiding the normal syntax colors makes correcting a mistake incredibly confusing.

Don't hide the previous results when compilation fails

One (I think the most, for me) irritating thing while using gummi is that if you make a typo/mistake, etc. and the file is not able to compile anymore, I am being shown the screen "PDF preview not available".

What I would prefer to see is to have marked somehow that the document is in non-compilable state (e.g. marking the error line on red, what is already there, is enough for me), but to still show the version of the compiled document from the last place it was compiling.

This way, I am able to work on the part I want to work on and am not being distracted by constant error messages.

I have implemented a simple & dirty patch for myself (only on one compiler, using dirty code, etc), but I'd love to improve and push if you think the change is for the better.

I will need probably a bit help with it, in particular one question I have:
what is the difference between basename and workfile?
https://github.com/alexandervdm/gummi/blob/master/src/editor.h#L57

Keyboard Shortcuts

I dont know if this comes in category of issues, but I couldnt find how to change keyboard shortcuts. I want to configure shortcut for comment and uncomment tex file

[utils.c:128]: pointless allocation ?

[utils.c:128]: (style) Variable 'out' is allocated memory that is never used.

Source code is

   else
        out = g_strdup (message);

    dialog = gtk_message_dialog_new (parent,
            GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
            L_IS_TYPE (level,L_G_INFO)? GTK_MESSAGE_INFO: GTK_MESSAGE_ERROR,
            GTK_BUTTONS_OK,
            "%s", message);
    g_free (out);

File > Open doesn't work for project files

Steps to reproduce

  • Click File -> Open
  • Select an existing project file (*.gummi)

Expected Behaviour

Gummi recognises that this is a project file, and executes the same behaviour as Project -> Open Project.

Observed Behaviour

Gummi treats the file like a *.txt* or *.tex file. It is displayed as a normal plaintext file.

screenshot from 2015-08-29 13 11 15

Bibliography Table shows nothing in Gummi

I'm using Gummi on Archlinux, and it's updated to 0.6.5-3 today. Yet I found that Gummi cannot auto-detect the bibliography as the way it worked before. Filename shows "none", and no references in the table. But I can still compile the bib file and after the compliation of whole file the References will show correctly at the end of the article.

new project confusion

The project support is very confusing. You can open a project but not create a new project?

  • If project aren't supported at all, I'd recommend removing the menu item.
  • If you have to create the project files by hand or in another way, I'd recommend linking to a guide on how to do this.

I wouldn't mind having to create project files by hand, but I have no idea how to, and if this is even possible...

cannot compile .bib file when using natbib

I have used gummi successfully to auto-detect and compile my bibtex files working from the default template. However when using \documentclass[aps]{revtex4-1} (which uses natbib) the compilation of test.bib fails with the error "I couldn't open database file test.texNotes.bib".

Current solution:

  1. cp ~/.cache/gummi/.test.texNotes.bib .
  2. [click compile]
  3. It works, and DUMMY:1 is correctly referenced in the document.

screenshot from 2017-02-19 15-25-41
test.tar.gz

P.S. gummi --version just says "Gummi git" so apologies if this is an old issue. And thanks for the great program:)

Windows release

Is it possible to make a (beta) release of gummi, even if (now) there is no new features? Otherwise, its difficult to find a version to install in windows.

Don't restrict autocompile intervals to integers

In this dialog:
gummi feature request
I don't see why the smallest supported interval is 1 second. Sometimes I want to autocompile every half a second, or even a quarter of a second.

Can support be added for that?

(In response to the objection that a single compilation might take longer than the interval time, we can just follow the current behavior (not sure about this) and not start a new compilation once one is already running.)

Open only allowes .tex files to be opened

I can only open .tex files in Open dialog. But that is not very practical. If I want to want to open e.g. a bibliography file in another tab with .bib extension Gummi does not allow me to do that and I have to use a different text editor for that.

Enter and Esc keys do not work as expected in Find dialog box

In the Find dialog box, search for something, say "a" in the default document. Then press Esc. The dialog quits, as expected, but the highlight moves to the next instance of "a"! This is disruptive in documents containing some widely spaced instances of a search key.

Search for "a" repeatedly. When the "Bottom reached, search from top?" dialog box appears, pressing either Enter or Esc triggers the No button. It seems that Enter should trigger the Yes button.

For what it's worth, I'm running Gummi 0.6.5 in Linux Mint 17.3.

Preview pane pain

It would be extremely useful to allow up/down arrow keys for navigating the preview pane.

At the moment if you press up/down (in Linux at least) this usually attempts to change the zoom level.

Scrolling up/down would be nice using arrow keys. I always go to do that naturally and invariably end up zooming in out instead which is annoying.

Thanks and great work. I don't use anything else !

CVE-2015-7758: Use of predictable filenames in /tmp

I just copy this over to this tracker.

A vulnerability in gummi was found that uses predictable filenames in /tmp based on basename. When multiple users opens file with the same name, they could write to the same file. Attacker could also create symlinks such that the users could unintentionally overwrite some of their files. Although this case of attack depends on the configuration of /proc/sys/fs/protected_symlinks.

CVE assignment: http://seclists.org/oss-sec/2015/q4/51

Debian bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=756432
Fedora bug: https://bugzilla.redhat.com/show_bug.cgi?id=1270816

No feedback if document is currently compiling

Especially with bigger files compilation time tends to go up.

It would be nice if the preview-icon could tell me if currently a compilation is being executed.

This could be achieved by adding a call to
previewgui_update_statuslight("gtk-refresh");
after line 198 in src/motion.c
editortext = latex_update_workfile (latex, editor);

"Match entire word only" option not working in Find

Using the following sample document,

eggs and ham
egg
eggs and ham

place the cursor at the upper left and do a search for "egg" with the Find dialog box with the "Match entire word only" option checked. When I click the "Find" button, the dialog does nothing (i.e. it neither finds the match nor claims there are no matches).

I'm running Gummi 0.6.5 in Linux Mint 17.3.

Biber support

It will be great if Gummi support biber.

I was able to get biber support through a hack in latexmk, modifying the line 73, 84 and 92 of latexmk.c

lmkcmd = g_strdup_printf("latexmk %s %s \"%s\"", flags, outdir, workfile);
lmkcmd = g_strdup_printf("latexmk -xelatex -recorder- %s %s \"%s\"", flags, outdir, workfile);

and (84 & 92)

lmkflags = g_strdup_printf("-e \"\\$pdflatex = 'pdflatex -synctex=1'\" -silent"); 

to

lmkflags = g_strdup_printf("-e \"\\$pdflatex = 'xelatex -synctex=1'\" -silent");

But, of course, this isn't the better solution.

Problem with autoconf

I'm trying to compile Gummi in Chakra Linux. Reading the INSTALL file I can see need create configure file by making autoconf, but this appears:

$ autoconf
configure.ac:6: error: possibly undefined macro: AM_INIT_AUTOMAKE
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:23: error: possibly undefined macro: AM_PROG_CC_C_O
configure.ac:35: error: possibly undefined macro: AM_PATH_GLIB_2_0
configure.ac:38: error: possibly undefined macro: AC_MSG_ERROR
configure.ac:45: error: possibly undefined macro: AM_PATH_GTK_2_0

Reading the issues here, I see this maybe is related to https://github.com/alexandervdm/gummi/issues/46. Then I make ./autogen.sh and the output is:

$ ./autogen.sh
+ '[' x '!=' x ']'
+ aclocal-1.14
./autogen.sh: línea 11: aclocal-1.14: no se encontró la orden
+ autoheader
+ AUTOMAKE=automake-1.14
+ libtoolize -c --automake
+ automake-1.14 --add-missing --copy --include-deps
./autogen.sh: línea 14: automake-1.14: no se encontró la orden
+ autoconf
+ cp -f /usr/share/automake-1.14/mkinstalldirs .
cp: no se puede efectuar 'stat' sobre '/usr/share/automake-1.14/mkinstalldirs': No existe el fichero o el directorio
+ rm -rf autom4te.cache
`
What is wrong? I'm forgetting something?

\item autocompletion bug

If you press TAB while your cursor (in the example provided indicated by | ) is next to an \item tag, gummi autocompletes some code around this \item:

before TAB:
\begin{document} \begin{enumerate} \item| \end{enumerate} \end{document}

after TAB:
\begin{document} \begin{enumerate} \\begin{itemize} \item | \end{itemize} \end{enumerate} \end{document}

This does not happen if there is a space between \item and your cursor like:
\begin{document} \begin{enumerate} \item | \end{enumerate} \end{document}

Also, this autocompletion is not registered as an action, so Ctrl-Z undoing causes your last edit to be reverted as well, instead of just the autocompletion.

Snippets do not preserve indentation

Snippet generation does not preserve the indentation level of the text that was typed. For example, take the begin snippet. We want this:

\begin{document}
    \begin{equation}
    f(x)
    \end{equation}
\end{document}

But instead we get this:

\begin{document}
    \begin{equation}
    f(x)
\end{equation}
\end{document}

[ProductivityFeature] Remember preview positions for tabs

I'm using Gummi for LaTeX editting and it's great, but I miss one feature - remember preview positions for each tab.

I work a lot with multiple files / subfiles / included files into others, which together make whole document. Therefore I tend to switch between them quite often, but that preview scrolling each time is quite time consuming.

Install Error

I am trying to install the program into a specific directory, but whenever I try to run the configure script
./autogen.sh

./configure --prefix=/path/to/directory

I get the following error
./configure: line 2152: syntax error near unexpected token foreign' ./configure: line 2152: AM_INIT_AUTOMAKE(foreign -Wall -Werror)'

Any help would be great!

Cannot build with latexmk

I have configured compilation to use Latexmk, however gummi is not able to produce any build

build log contains something like:
This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian)
restricted \write18 enabled.
entering extended mode

compilation works with by running manually latexmk foo.tex

Gummi version: 0.6.5

any hits how to further investigate this?

Jump to paragraph

Jump to paragraph in the source by clicking on the corresponding paragraph on the rendered PDF.

tab switching keyboard shortcuts

It'd be very helpful to be able to switch tabs via

  • Alt+1, ... Alt+9 (switch to tab 1, ..., 9)
  • Ctrl+PageUp, Ctrl+PageDown (switch to next/previous tab)

./autogen.sh --prefix=/usr does not work

Trying to implement a simple feature as in tex.stackexchange.

I looked in edit > preferences > compilation and tex is not listed as a possible command to use. Although pdftex is listed, it is really pdflatex. Is it possible to add such a command for just pdftex not pdflatex? I would do it myself if I knew the relevant parts. I found this one:

https://github.com/alexandervdm/gummi/tree/master/src/compile

Basically I want to change the line from pdflatex blah.tex to pdftex blah.tex


Plausibly it's in this file https://github.com/alexandervdm/gummi/blob/master/src/compile/texlive.c

gboolean pdflatex_active (void) {
    if (STR_EQU (config_get_value("typesetter"), "pdflatex")) {
        return TRUE;
    }
    return FALSE;
}

Then maybe just change pdflatex to pdftex??


As this page suggests I did a rather obvious grep change:

grep -rl 'pdflatex' ./ | xargs sed -i 's/pdflatex/pdftex/g'

The files seem to be changed. Now let's try to verify this works. Installing the development tools (following the installation guide)

Does not get past automake. I did git clone a second time without any changes. Same error message.

 sudo ./autogen.sh --prefix=/usr
+ [ x != x ]
+ aclocal-1.14
./autogen.sh: 11: ./autogen.sh: aclocal-1.14: not found
+ autoheader
+ AUTOMAKE=automake-1.14 libtoolize -c --automake
./autogen.sh: 13: ./autogen.sh: libtoolize: not found
+ automake-1.14 --add-missing --copy --include-deps
./autogen.sh: 14: ./autogen.sh: automake-1.14: not found
+ autoconf
configure.ac:6: error: possibly undefined macro: AM_INIT_AUTOMAKE
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.ac:23: error: possibly undefined macro: AM_PROG_CC_C_O
configure.ac:35: error: possibly undefined macro: AM_PATH_GLIB_2_0
configure.ac:38: error: possibly undefined macro: AC_MSG_ERROR
configure.ac:45: error: possibly undefined macro: AM_PATH_GTK_2_0
+ cp -f /usr/share/automake-1.14/mkinstalldirs .
cp: cannot stat ‘/usr/share/automake-1.14/mkinstalldirs’: No such file or directory
+ rm -rf autom4te.cache

Wiki: Add "Install development tools" for Fedora (command in description)

The following packages are required to compile Gummi on Fedora.

dnf install git intltool glib2-devel gtk2-devel gtksourceview2-devel poppler-glib-devel gtkspell-devel

Unfortunately, I don't know how to edit Wiki-files (is there even a possibility for non-owners?), so I assumed opening an issue for that is the right way.

Gummi tries to compile currently open document, instead of "home" file of project

I have a project with multiple files. One is marked with the home icon.

When I select that file, the preview works.

When I select any other file, gummi tries to compile that file, and so the preview fails.

I understand that this would be a lot of work to fix, since \input{} looks at the saved files on disk, rather than the temporary files in the editory. However this functionality is a very fundamental part of the "project" idea. I thought the whole point was so that you can work with multi-file documents.

[REQUEST] Include PPAs in Readme

Edit Originally, I asked for .debs, but I found a third party post with a ppa.

Please reference this in the readme so that incoming users will not chase their tails trying to get this installed.

Problems with jobname

Hi.
I have a file named myfile.tex.
When i modify my document (ubuntu) the job name becomes .myfile.tex (because a file .myfile.tex.swp is created). The usual \jobname should be myfile.
This messes with external launched commands, for example if i use:

\usetikzlibrary{external}
\tikzexternalize

The external "pdflatex" will call something like "pdflatex -shell-escape -halt-on-error -interaction=batchmode .myfile.tex"
This will fail because no file called .myfile.tex exists

Add multiple files to project at once

Steps to reproduce

  • Select the projects tab
  • Create or open a project
  • Click Add

Desired behaviour:

Multiple files can be selected (e.g. by holding ctrl or shift)

Observed Behaviour

Only one file can be selected at once.

Other

I'll try to add this functionality when I get a chance.

Retcode Uninitialized Error

In Latex.c within src, on line 298 the variable 'retcode' is assigned no previous value before being used within a statement.

** if (retcode == 0) return TRUE;
return FALSE;
**

[REQUEST] Allow to specify typesetter within TEX files.

Hi,

Frequently working on several tex files that use different typesetters (mostly pdftex and xetex), it really is annoying having to switch the typesetter every now and then. A simple workaround could consist on letting a specific-formatted (necessarily commented out) first line take precedence on this setting.
Something like %!TYPESETTER <typesetter> might do the job, I guess.

For instance, let’s say I have gummi set to compile with pdflatex, but I open a xetex-compliant file, having the first line stating %!TYPESETTER xetex should allow gummi to compile with xetex instead of pdflatex, without having to change the settings.

Associate .gummi files with Gummi

When opening a .gummi file, Gummi should automatically open that project.

Right now (Gummi 0.6.6 on Fedora 22, Gnome 3) Gummi is not associated by default with .gummi files.
Additionally, opening a .gummi file with Gummi results in seing the contents of the file, rather than opening the project. (should this be another issue?)

Could not locate Glade interface file

Just followed the compile steps on a fresh copy of Ubuntu 14.04 and got:

jan@u31sd:/gummi$ cd src
jan@u31sd:
/gummi/src$ ./gummi
Could not locate Glade interface file at:
/usr/share/gummi/ui/gummi.glade

Add feature to refuse saving when file has been changed externally

Currently gummi saves files based on the internal state. Changes in external editors are not reflected which causes the loss of external changes. gummi should memorize the content of the file when it was opened and compare it with the current content and refuse to save if it's not equal. The fact that a modification took place outside gummi needs to be handled externally. An option to reload the file from disk (i.e. overwrite changes in gummi) or to force saving (i.e. overwrite external changes) should be given.

experienced with 0.6.5-26-g6240b51

Clicking "Project" and then "Open Project" results in segfault

-------- Forwarded Message --------
Subject: Bug#785605: gummi: Clicking "Project" and then "Open Project" results in segfault.
Resent-Date: Mon, 18 May 2015 09:24:01 +0000
Resent-From: Charles L. [email protected]
Resent-To: [email protected]
Resent-CC: Debian Science Maintainers [email protected]
Date: Mon, 18 May 2015 03:18:05 -0600
From: Charles L. [email protected]
Reply-To: Charles L. [email protected], [email protected]
To: Debian Bug Tracking System [email protected]

Package: gummi
Version: 0.6.5-4
Severity: normal

Dear Maintainer,

Clicking on "project" and the "Open Project" results in segfault.

I used the debian wiki on backtracing to obtain the following: GDB backtrace

Please add Keywords to data/misc/gummi.desktop.in

--- a/data/misc/gummi.desktop.in
+++ b/data/misc/gummi.desktop.in
@@ -8,5 +8,6 @@
Terminal=false
Type=Application
Categories=Office;
+Keywords=latex;editor;
StartupNotify=true
MimeType=text/x-tex;

Thanks,
DS

Replace All should count as one action for undo

I accidentally did Replace All I did not intend to, and then had to undo all the replacements one by one. In other editors a Replace All action counts as one edit, and I think it should be the same in Gummi.

scroll to the end in build log

in like 99% of the time, when there is a compile error, the relevant information is at the very end of the build log. It would thus be cool if the build log were initially scrolled down to the bottom.

(using 0.6.6 on arch)

Gummi does not cope with some file paths

Hi,
I would like to adres issue that is not quite serious but I found it annoying a bit.

Some times during usage I have encountered such thing:
! I can't find file `"/home/user/documents/study/school2012/5 Sem/111.111 Subject/Name_Surname_111.111/.Name_Surname_111.111.tex.swp"'.

When I copy work folder to other folder that is nested lower than */111.111 Subject/ it works.

I have tried to find if work folder was nested too much or folder names with spaces/numbers/dots reproduced this error and found that it may be that there may be loss of spaces during filepath processing. I have tried paths like:
/home/user/documents/new/new/new/file.tex
/home/user/documents/new/new new/new/file.tex
/home/user/documents/new/new new/new new/file.tex
and had no error. But I investigated my original path and found that there is double space in */111.111 Subject/ so path in error is different than path showed in error.

And it does not seem that there is a difference between /new new/ or /new / or / new/ - they all reproduce error.

I really do not know how Gummi works with paths and wether it is internal or external problem but this is something I encountered only in Gummi as Texmaker and LateXilla have no problems with such paths.

best regards,
kayvax

Auto-completion Support

Being able to type out part of a command and have the editor automatically suggest completions for it would be a killer feature that other LATEX editors support, but Gummi does not.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.