1305 Commits

Author SHA1 Message Date
Juergen Spitzmueller
7c816488b6 tex2lyx: More work on beamer support
* Implement list item overlay support (\item<arg>)
* Implement itemcommand support (e.g., \overprint<arg>)
* Fix general list argument placement

Part of: #11068

(cherry picked from commit e51265b5f3c7765ad185303ac147792c7599386f)
2018-03-17 13:49:13 +01:00
Juergen Spitzmueller
31c293dec3 tex2lyx: towards beamer overlay argument support.
Implemented: Overlay and standard overlay arguments for commands
and environments.

Still missing:
* List item overlay
* itemcommand overlay (\overprint)
* overlay via LatexParam (e.g., Flex:ArticleMode)

Needs fixing:
* General list argument (\begin{itemize}[arg])
* nested content in a frame with no title (empty par)

(cherry picked from commit 949de66956309ea787b86d69a00b72d154b4d4db)
2018-03-17 13:48:46 +01:00
Juergen Spitzmueller
f01369a56f Fix known_escaped_chars
(this includes the amend)
2018-03-13 17:39:40 +01:00
Juergen Spitzmueller
cedb4838f0 update tex2lyx tests 2018-03-12 09:35:39 +01:00
Juergen Spitzmueller
d263ca0529 tex2lyx: update quote handling
* Consider new quote styles
* Consider changed quote styles
* Try to be a bit smarter with ambiguous quotation marks

(cherry picked from commit 8184f08f4af6efea6d1499e3f8c8d3c20ebb1b97)
2018-03-12 09:19:17 +01:00
Juergen Spitzmueller
59449063df tex2lyx: support tipa \t*{} macro.
(cherry picked from commit cc6f2dae8219b40cd8602f70110926296403a0f7)
2018-03-12 09:15:57 +01:00
Juergen Spitzmueller
fff6d35cff update tex2lyx tests once more. 2018-03-11 19:56:04 +01:00
Juergen Spitzmueller
bbaf2b6a29 amend 11e4a24e6edbd1f
(cherry picked from commit 386d9953e83a35dcc3b0f173faa92d9e9fc16f0f)
2018-03-11 19:51:53 +01:00
Juergen Spitzmueller
64981aa48c update tex2lyx tests. 2018-03-11 19:32:21 +01:00
Juergen Spitzmueller
624a6642e9 tex2lyx: make nested CJK parsing slightly less dumb.
Fixes: #9562
(cherry picked from commit 0f4c9027056a6f4f771382e9ebfc7940274bf5c0)
2018-03-11 18:29:50 +01:00
Juergen Spitzmueller
590185d3ef tex2lyx: honor grouping in optional arguments.
E.g., \cite[{a literal ] character}]{key}

(cherry picked from commit cba38881d6b9fa3ff5dd0ebe50239fc384309082)
2018-03-11 18:27:23 +01:00
Juergen Spitzmueller
ce2e155490 Fix copy and paste error in 6659304f7f8b
(cherry picked from commit 0513622fd0ce600cbf283f6afdbde9841d46a546)
2018-03-11 18:26:59 +01:00
Juergen Spitzmueller
bd876d8163 tex2lyx: towards proper support of "literal"/"latexified" inset commands
We now report whether the attempt to recode the macros to glyphs
succeeded. If yes, we set "literate" to false, if not to true.

Also, do not attempt to recode for non-latexifying fields.

Fixes: #9563
(cherry picked from commit 6659304f7f8b57f12a1bf453a11ea359c83a7d14)
2018-03-11 18:26:33 +01:00
Juergen Spitzmueller
f183686505 tex2lyx: support for URW Classico, MinionPro and the new Libertine fonts.
(cherry picked from commit a3836d990926dfd8e7e35b266274c372c72206ce)
2018-03-11 18:23:35 +01:00
Juergen Spitzmueller
5fc0dafac3 tex2lyx: get rid of another large if-else if chain.
(cherry picked from commit 11e4a24e6edbd1f69b60a194b31ac2d7c4dd5034)
2018-03-11 09:24:02 +01:00
Juergen Spitzmueller
91ce18388e Amend 15fd17d83fb2
(cherry picked from commit b2ccdae22864ba72675b43d070022ae8fea18238)
2018-03-10 14:24:38 +01:00
Juergen Spitzmueller
0f33720d29 tex2lyx: support for \includeonly
(cherry picked from commit 15fd17d83fb2b98d1ff226a79353e42f6e0247d4)
2018-03-10 11:09:40 +01:00
Juergen Spitzmueller
42dd5f5cfa tex2lyx: chapterbib support
(cherry picked from commit af6933c06f603beca3d8684f56217243cbff1f94)
2018-03-10 10:33:10 +01:00
Juergen Spitzmueller
30cb99503f tex2lyx: support alignment pseudo-environments.
Fixes: #7857
(cherry picked from commit 7a22ce7c09f54ca70f30dde05c3f77c478195e45)
2018-03-06 18:27:13 +01:00
Juergen Spitzmueller
94fe126161 tex2lyx: fix subfloat import
Fixes: #10385
(cherry picked from commit 1dcb2a09766335aecbe3c8599d09358e135d699c)
2018-03-06 18:22:12 +01:00
Uwe Stöhr
a1cdc1e723 tex2lyx/text.cpp: fix a typo
(cherry picked from commit a30972a39c10647ffcb7eab5382f250331db7a8b)
2018-03-06 08:21:34 +01:00
Juergen Spitzmueller
5f359e27b0 Small update of TODO
(cherry picked from commit 4bc379ea67ea632ac13c12abd639f6b3f6b25a45)
2018-03-06 08:21:16 +01:00
Juergen Spitzmueller
95d446eb4c parse_text (tex2lyx): get rid of the monstrous if-then-else clause
Rather than that, continue in the loop if a condition is met.

This fixes tex2lyx for MINGW, which has a cluase-nesting threshold.

Fixes: #9552
(cherry picked from commit b94bb37e5310b9007ed812c58460a5292820c534)
2018-03-06 08:20:44 +01:00
Juergen Spitzmueller
8d02bff57e tex2lyx: support qualified citation lists (biblatex)
(cherry picked from commit 0915e814814ab26732b6dd13fc1740cfbf64b5b4)
2018-03-06 08:20:18 +01:00
Juergen Spitzmueller
8ab9b8e0b6 tex2lyx: refsection and bibbysection support (biblatex)
(cherry picked from commit 1a3dbbf07ad837a685af93bf3d1d1a784e0d27ae)
2018-03-06 08:19:54 +01:00
Juergen Spitzmueller
50b78507b9 tex2lyx: support biblatex
(qualified citation lists and multibib not yet supported)

(cherry picked from commit f22213a04fe53dd128f11db9b228623b3fc3dda7)
2018-03-06 08:19:35 +01:00
Juergen Spitzmueller
3e6a1eecc5 tex2lyx: consider options passed via \PassOptionsToPackage
(cherry picked from commit 476401a76f8bdb3dd2c2a482b2088f00dbe501d9)
2018-03-06 08:18:43 +01:00
Juergen Spitzmueller
84b59c90e7 tex2lyx: import straight quotation marks as ERT
This assures that they are output as straight quotations marks (e.g.,
babel shorthands).

Fixes: #75 [sic!]
(cherry picked from commit ccb9ae96709ea32cf983d6e5fb5d655b28a817e1)
2018-03-06 08:17:18 +01:00
Juergen Spitzmueller
04e995e807 tex2lyx: normalize bib and bst paths
Fixes: #7637
(cherry picked from commit 3cc98a9bf6ed506d04b502863d6424d36cb778b5)
2018-02-09 18:57:53 +01:00
Uwe Stöhr
e73164e25d tex2lyx: support to detect https:// links
- Preamble.cpp: use the occasion to backport JMarcs recent compiler warning fixe
2017-12-17 02:28:54 +01:00
Kornel Benko
29a735463a Adapt the check for configure need to the one used in LyX::queryUserLyXDir()
We should refactor the check
2017-08-08 12:23:15 +02:00
Jean-Marc Lasgouttes
15a87dd3a8 Check whether a class is known before loading it
Fixes bug #10719.
2017-07-25 11:57:29 +02:00
Juergen Spitzmueller
3c7b75c5bc Properly import \newtheorem*
Fixes: #10622
2017-07-23 13:20:56 +02:00
Christian Ridderström
e30f3d76d2 Bulk cleanup/fix incorrect annotation at the end of namespaces.
This commit does a bulk fix of incorrect annotations (comments) at the
end of namespaces.

The commit was generated by initially running clang-format, and then
from the diff of the result extracting the hunks corresponding to
fixes of namespace comments. The changes being applied and all the
results have been manually reviewed. The source code successfully
builds on macOS.

Further details on the steps below, in case they're of interest to
someone else in the future.

1. Checkout a fresh and up to date version of src/

    git pull && git checkout -- src && git status src

2. Ensure there's a suitable .clang-format in place, i.e. with options
   to fix the comment at the end of namespaces, including:

    FixNamespaceComments:                           true
    SpacesBeforeTrailingComments:                   1

and that clang-format is >= 5.0.0, by doing e.g.:

    clang-format -dump-config | grep Comments:
    clang-format --version

3. Apply clang-format to the source:

    clang-format -i $(find src -name "*.cpp" -or -name "*.h")

4. Create and filter out hunks related to fixing the namespace

    git diff -U0 src > tmp.patch
    grepdiff '^} // namespace' --output-matching=hunk tmp.patch  > fix_namespace.patch

5. Filter out hunks corresponding to simple fixes into to a separate patch:

    pcregrep -M -e '^diff[^\n]+\nindex[^\n]+\n--- [^\n]+\n\+\+\+ [^\n]+\n'  \
        -e '^@@ -[0-9]+ \+[0-9]+ @@[^\n]*\n-\}[^\n]*\n\+\}[^\n]*\n'         \
        fix_namespace.patch > fix_namespace_simple.patch

6. Manually review the simple patch and then apply it, after first
   restoring the source.

    git checkout -- src
    patch -p1 < fix_namespace_simple.path

7. Manually review the (simple) changes and then stage the changes

    git diff src
    git add src

8. Again apply clang-format and filter out hunks related to any
   remaining fixes to the namespace, this time filter with more
   context. There will be fewer hunks as all the simple cases have
   already been handled:

    clang-format -i $(find src -name "*.cpp" -or -name "*.h")
    git diff src > tmp.patch
    grepdiff '^} // namespace' --output-matching=hunk tmp.patch  > fix_namespace2.patch

9. Manually review/edit the resulting patch file to remove hunks for files
   which need to be dealt with manually, noting the file names and
   line numbers. Then restore files to as before applying clang-format
   and apply the patch:

    git checkout src
    patch -p1 < fix_namespace2.patch

10. Manually fix the files noted in the previous step. Stage files,
    review changes and commit.
2017-07-23 13:11:54 +02:00
Jean-Marc Lasgouttes
64667735f4 h_use_minted is a bool, not a string
We have a mix in this file of boolean stored as such or as strings.
This translates to values written as true/false or 1/0 in .lyx files.

In this case, the value of use_minted could only be true, since the
char * pointer is non null.

Also add some else clauses.

Spotted by coverity.
2017-07-06 14:11:30 +02:00
Richard Heck
fd5a950d7f Fix whitespace in some more files. 2017-07-03 14:46:27 -04:00
Richard Heck
00e4902ea3 Fix trailing whitespace in txt files. 2017-07-03 13:53:41 -04:00
Richard Heck
75bfed5507 Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
Richard Heck
51aebc9327 Fix whitespace at EOL. 2017-07-03 13:46:30 -04:00
Enrico Forestieri
d4d7cdf9a1 Prune white space after the separating comma of options
Both listings and minted allow for many complex options. So, a latex
source can be easily written as

\documentclass{article}
\usepackage{minted}
\usepackage{graphicx}
\usepackage{dingbat}
\begin{document}
\begin{minted}[breaklines=true,
               breakautoindent=false,
               breaksymbolleft=\raisebox{0.8ex}{
                   \small\reflectbox{\carriagereturn}},
               breaksymbolindentleft=0pt,
               breaksymbolsepleft=0pt,
               breaksymbolright=\small\carriagereturn,
               breaksymbolindentright=0pt,
               breaksymbolsepright=0pt]{Python}
def f(x):
    return 'Some text' + str(x) + 'some more text' + str(x) + 'even more text that goes on for a while'
\end{minted}
\end{document}

The used text editor can therefore add a mixture of tabs and spaces.
The white space after the options is not a problem and the imported
file compiles just fine, but the validator gets confused and doesn't
validate them. This would entail a difficult editing of the options
only to have them validated. So, better remove the white space.
2017-06-17 20:41:29 +02:00
Enrico Forestieri
a1e65ad458 Amend 9b2b51a4
runtests.py was being forgotten and a string transliterated.
2017-06-17 19:35:10 +02:00
Kornel Benko
9b2b51a4db Tex2lyx tests: Added minted testcase from Enrico Forestieri 2017-06-17 19:12:17 +02:00
Enrico Forestieri
f135c8d227 Don't allow raw newlines in options
This happens if the options are split over multiple lines in the
latex source. A newline here confuses the lexer when reading the
converted LyX file.
2017-06-17 19:05:02 +02:00
Enrico Forestieri
000b7f3f46 Correctly skip a bottom caption
The getArg() method stops at the first closing brace, whether it
matches the opening one or not, so properly parse the caption and
then throw it away.
2017-06-17 14:01:42 +02:00
Enrico Forestieri
7a9bb85184 tex2lyx: import minted listings
This commit updates tex2lyx in order to also import minted listings.
For the floating version of a listing, minted uses the listing
environment, a concept that is not shared with the listings package,
towards which our listings inset is geared.
For this reason, a kludge is necessary when importing minted listings
not previously exported by LyX itself.
If the floating listing contains only a caption and a label (other
than the listing itself), everything is fine and the import is (or
aims to be) perfect. But, as in all other floating ebvironments,
one can also stick there other elements, which don't have a place
in the listings inset. So, in order to avoid a data loss, tex2lyx
sticks everything into the caption. In this way, things may be
rearranged in the GUI, if necessary. There is no other way, apart
from a complete redesign of the listings inset, of course. However,
I think that this is an acceptable compromise.
2017-06-17 02:23:00 +02:00
Enrico Forestieri
8dab1cfe7e Fix bug #9101
Update the listings inset to optionally use the minted package
(instead of the listings one) for typesetting code listings.
Only one of the two packages can be used in a document, but it
is possible to switch packages without issues if the used options
are the same. If a switch is made and the options differ, one needs
to manually adjust them if they were entered in the advanced options
tab, or apply again the gui settings.
Note that minted requires the -shell-escape option for the latex
backend and the installation of additional software (python pygments).
2017-06-07 00:55:23 +02:00
Uwe Stöhr
0dd3311dd4 rename buffer parameter math_number_before to math_numbering_side
this is a fileformat change

also try to fix an UI issue that JMarc gets
2017-05-13 20:39:45 +02:00
Uwe Stöhr
19cc4a1fcb GuiDocument: support also the class option reqno
as discussed our support for the formula numbering side should be complete. There are document classes that uses left numbering as default and with the class option "reqno" this can be changed to right numbering. reqno requires the loading of amsamth.
2017-05-12 01:06:05 +02:00
Kornel Benko
c7a0ffc8c8 Update tex2lyx files to new format 2017-04-26 14:21:54 +02:00
Kornel Benko
8f00d7a95a To check if directory paths are identical we have to use realpath() 2017-04-26 14:20:32 +02:00