-
-
Notifications
You must be signed in to change notification settings - Fork 124
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
First Line Indent #906
Comments
Thanks for your kind review of my app. :) As for the indent feature, the editor widget itself (from the Qt library) certainly makes it possible. However, it is a rich text feature that requires the content of the editor to be treated as rich text rather than plain text. I can automate the functionality to some extent if I wish to. I tried out something similar with paragraph alignment, which is in practice the same sort of problem. There are several issues with auto-formatting paragraphs however, one of them being that it interferes with the undo/redo history. As long as the editor widget of novelWriter remains plain text, I'm not sure such features are suitable. I've considered making the editor rich text for a potential 2.0 release, and there is a whole thread on that, but I haven't decided if that is a smart way forward. Plenty of users seem to like it exactly for its plain text approach, and honestly, so do I, which is why I wrote it that way. Some people have the idea that novelWriter is plain text because it's an easy or lazy choice, but it isn't particularly difficult to write a rich text editor with Qt, so they're quite wrong. In any case, I don't think a hybrid is a good idea. As for the double line break, it is almost universally the standard for plain text. It makes it a lot easier to separate between an in-paragraph break and a new paragraph. I'd argue that it also is visually easier to work with while writing a manuscript, but I know people have varying opinions on that. Most rich text editors will increase the line gap between paragraphs to emulate something similar, which seems to be what's going on in your screenshot too. When a project is exported from novelWriter, everything is converted into what you are requesting here. A single line break is converted into a so-called hard line break, and a double line break is converted into a paragraph break. It is the same that is done in the document viewer pane as well. |
On re-read I would like to clarify the last point. When you export a manuscript as an Open Document, the text is not exported with double line breaks, but instead as paragraph breaks. Rich text editors don't actually use a single line break between paragraphs, they convert them on the fly to paragraph breaks, which isn't the same thing. This is what the Qt rich text editor does, and so does Open Office and Libre Office, and I'm sure, MS Word. Since novelWriter is plain text, that conversion just occurs on a later stage, which is customary for plain text. Edit: I forgot to add that I could certainly add a first line indent feature to the build tool such that the exported Open Document has indented first lines of paragraphs. It isn't particularly difficult to do. Also, I've noticed that some users use a tab to indent the first line of paragraphs, which is also an option if it increases readability. I could add an option to replace those initial tabs with a proper first line indent on exports as well. |
Hey vkbo! First, just want to mention I really appreciate you taking the time to give such detailed (not to mention fast) responses. :D Right off the bat; learning that the ODT export actually coverts double line breaks to paragraph breaks is a game changer. Admittedly I didn't actually test exporting an ODT into a word processor, and I'm rather embarrassed I didn't try that first before opening this feature request. I was assuming novelWriter didn't work much differently from the other Markdown/plain text editors I've tried, but hoo boy that exporter is somethin' else! Having now properly tested it, its quite trivial to get an exported ODT formatted into a manuscript style within a word processor (on a side note, I've also discovered that Pandoc is capable of this as well, which is pretty neat). So I'd say that's my problem solved. :P As for expanding the capability of the exporter with the ability to add indentation and/or convert tabs to indentation; That would be pretty darn cool, and it'd eliminate one extra step ya gotta do for a final formatting. If it's not too hard to implement and you think other users would appreciate such a feature, I'd say go for it! ^.^ I should mention though that personally I'm totally fine with double line breaks now, I was only trying to find a way not to use them since I thought they'd add extra work to remove later. Also, I've had more time to play around with nW, and like, damn. This is genuinely such a wonderful program in so many ways. I'd honestly say it competes head to head with Scrivener (but is sooo much nicer to look at, I love the themes!), and considering it's a Linux native FOSS app, it just blows my mind how good this is. Big thumbs up all around. Once again, thank you for your time and detailed responses, and thank you for creating this app in the first place and making it open-source. Cheers! |
Good to hear! Keep in mind that novelWriter isn't proper markdown, it just borrows from markdown, so Pandoc will likely be confused by the syntax, However, novelWriter can export to both standard markdown and GitHub flavour markdown, as well as both clean and stylised HTML. An earlier version integrated directly with Pandoc, but to be honest I don't think Pandoc always generate good enough results, so I dropped it and implemented my own tailored for novelWriter. The first line indent feature in ODT is just a setting, so it is fairly easy to implement. It is slightly more tricky to make the exporter not do it for the first line after a header, but it should be fine too. |
ToDo: What to implement from this feature discussion
Dependencies: Should be implemented when the Build tool layout is updated. The settings will be split into tabs as there are quite a lot of them now. |
At long last, in the next release (2.4) it will be possible to enable First Line Indent for Open Document manuscripts. |
I stumbled across NovelWriter today while browsing Reddit, having never heard of it before (and I thought I'd tried every writing app around, including many for DOS). In my short testing, it quickly became apparent that NovelWriter is one of the most polished and well thought out FOSS writing tools I've yet come across. Absolutely superb.
However, as with all Markdown style writing apps, it does not appear to support First Line Indent. I believe Markdown itself does not support this, so that was not unexpected.
Seeing as the functionality of NovelWriter is planning to be expanded for 2.0, I'm curious if it would be possible to add that ability in the future? I'm not a programmer, but seeing as most (if not all) Markdown style writing apps have not implemented this feature, I must assume it is far more tricky to implement than it would appear.
Alternatively, if a First Line Indent cannot be implemented, I wonder if the way Q10 Writer (another plain text editor) solves this problem might be more applicable. In that, a single carriage return (a single 'enter' key press) results in a distinct break in the paragraph within the editor, but exports in the .TXT file as a normal single carriage return.
This visual distinction allows for readability within the editor, while also making it trivial to set the First Line Indent in a full featured word processor.
Lastly, I am quite curious how other users of NovelWriter who publish fiction work around having to use two carriage returns to have distinct paragraphs in their initial unformatted manuscript. Is there an easy, straight forward method of converting them to single carriage returns that I am unaware of?
Thank you for your time. :)
The text was updated successfully, but these errors were encountered: