mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 05:16:21 +00:00
Sync with master
This commit is contained in:
parent
5e87cfbf4c
commit
b3b22b0c70
@ -424,6 +424,7 @@ qtHaveModule(core5compat): QT += core5compat
|
||||
percent.target = %
|
||||
percent.commands = @echo -n "\$(\$(@))\ "
|
||||
QMAKE_EXTRA_TARGETS += percent
|
||||
QMAKE_PROJECT_DEPTH = 0
|
||||
EOF1
|
||||
$QT_QMAKE $lyx_test_qt_pro -o $lyx_test_qt_mak 1>/dev/null 2>&1
|
||||
QT_CORE_INCLUDES=`cd $lyx_test_qt_dir; make -s -f $lyx_test_qt_mak INCPATH | sed 's/-I\. //g'`
|
||||
@ -452,6 +453,7 @@ qtHaveModule(widgets): QT += widgets
|
||||
percent.target = %
|
||||
percent.commands = @echo -n "\$(\$(@))\ "
|
||||
QMAKE_EXTRA_TARGETS += percent
|
||||
QMAKE_PROJECT_DEPTH = 0
|
||||
EOF2
|
||||
$QT_QMAKE $lyx_test_qt_pro -o $lyx_test_qt_mak 1>/dev/null 2>&1
|
||||
QT_INCLUDES=`cd $lyx_test_qt_dir; make -s -f $lyx_test_qt_mak INCPATH | sed 's/-I\. //g'`
|
||||
|
@ -285,7 +285,6 @@ while [ $# -gt 0 ]; do
|
||||
shift
|
||||
;;
|
||||
--enable-cxx11|--enable-cxx-mode=*)
|
||||
LyXConfigureOptions="${LyXConfigureOptions} ${1}"
|
||||
EnableCXXMode="${1}"
|
||||
shift
|
||||
;;
|
||||
@ -423,11 +422,13 @@ case "${EnableCXXMode}" in
|
||||
export CC=cc
|
||||
export CXX="c++ -stdlib=libc++"
|
||||
export CXXFLAGS=-std=c++11
|
||||
LyXConfigureOptions="${LyXConfigureOptions} --enable-cxx-mode=11"
|
||||
;;
|
||||
--enable-cxx-mode=17)
|
||||
export CC=cc
|
||||
export CXX="c++ -stdlib=libc++"
|
||||
export CXXFLAGS=-std=c++17
|
||||
LyXConfigureOptions="${LyXConfigureOptions} ${EnableCXXMode}"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -26,7 +26,14 @@ Examples where convergence tests took time and annoyance to figure out that
|
||||
they were actually "false positives" (i.e., no bug that is worth the time or
|
||||
complexity to fix):
|
||||
|
||||
https://www.mail-archive.com/search?l=mid&q=20210125200655.e27xaaoy2belyxhw%40tallinn
|
||||
Report :https://www.mail-archive.com/search?l=mid&q=20210125200655.e27xaaoy2belyxhw%40tallinn
|
||||
|
||||
|
||||
Examples where an upstream issue was reported and ended up wasting time:
|
||||
|
||||
Report : https://github.com/latex3/latex2e/issues/836#issuecomment-1159826566
|
||||
ctests : export/templates/Obsolete/.*American_Geophysical_Union.*_(lyx22|lyx23|pdf|dvi).*
|
||||
|
||||
|
||||
|
||||
Examples where bugs were fixed (more quickly) because of ctests:
|
||||
@ -66,7 +73,6 @@ Fix : 489bf46a, e3489d54
|
||||
|
||||
Report : https://www.mail-archive.com/search?l=mid&q=20220205184128.4clckanaufwmx5z4%40gary
|
||||
Fix : d66c27de
|
||||
|
||||
Report : https://www.mail-archive.com/search?l=mid&q=20220206142559.rpgwki7wruhtasxp%40gary
|
||||
Fix : f71f71d0
|
||||
|
||||
@ -97,3 +103,19 @@ Fix : https://github.com/reutenauer/polyglossia/commit/c7489ebaf8c66a7e4fe252
|
||||
Benefit: Not clear. The regressions were in the development version so they
|
||||
could have easily been caught before release.
|
||||
ctests : export/export/lyx2lyx/revert-languages-polyglossia-primary_lyx22
|
||||
|
||||
|
||||
Report : https://github.com/latex3/latex2e/issues/836
|
||||
Fix : https://github.com/latex3/latex2e/commit/878a4715df024fc3425d2bfd5d3d138b9395c178
|
||||
ctests : doc/EmbeddedObjects
|
||||
|
||||
|
||||
Report : https://github.com/gsilano/EuropeCV/issues/29
|
||||
Fix : none yet
|
||||
ctests : Modern_CV
|
||||
|
||||
|
||||
Report : https://github.com/schlcht/microtype/issues/21
|
||||
upstream: https://github.com/latex3/latex2e/issues/880
|
||||
Fix : none yet
|
||||
ctests : export/templates/Articles/Hebrew_Article_.*(dvi|pdf|pdf2|pdf3)
|
||||
|
@ -1,6 +1,10 @@
|
||||
# After replacing with something that matches the search pattern, the next
|
||||
# match should not consider the just replaced text (#4388)
|
||||
#
|
||||
UnuseShortcut "Tab" "*"
|
||||
|
||||
PrepareShortcuts
|
||||
|
||||
Lang it_IT.utf8
|
||||
CO: findadv-01.ctrl
|
||||
KD: 100
|
||||
|
@ -1,5 +1,9 @@
|
||||
# Basic test on refactoring of mathematics notation
|
||||
#
|
||||
UnuseShortcut "Tab" "*"
|
||||
|
||||
PrepareShortcuts
|
||||
|
||||
Lang it_IT.utf8
|
||||
CO: findadv-02.ctrl
|
||||
TestBegin test.lyx -dbg key,find > findadv-02.loga.txt 2>&1
|
||||
|
@ -1,5 +1,9 @@
|
||||
# Regression test for #7245
|
||||
#
|
||||
UnuseShortcut "Tab" "*"
|
||||
|
||||
PrepareShortcuts
|
||||
|
||||
Lang it_IT.utf8
|
||||
CO: findadv-04.ctrl
|
||||
TestBegin test.lyx -dbg key,find > findadv-04.loga.txt 2>&1
|
||||
|
@ -2,6 +2,10 @@
|
||||
# again the search pattern, should not result in a double replacement
|
||||
# (#7442)
|
||||
#
|
||||
UnuseShortcut "Tab" "*"
|
||||
|
||||
PrepareShortcuts
|
||||
|
||||
Lang sk_SK.utf8
|
||||
CO: findadv-12.ctrl
|
||||
TestBegin test.lyx -dbg key,find > findadv-12.loga.txt 2>&1
|
||||
|
@ -1,6 +1,9 @@
|
||||
# Avoiding recursive replacements when replaced text matches search pattern
|
||||
# Addresses #7675.
|
||||
#
|
||||
UnuseShortcut "Tab" "*"
|
||||
|
||||
PrepareShortcuts
|
||||
|
||||
Lang it_IT.utf8
|
||||
|
||||
|
@ -1,6 +1,10 @@
|
||||
# Test for searching the special LyX and LaTeX words
|
||||
# when ignoring format
|
||||
|
||||
UnuseShortcut "Tab" "*"
|
||||
|
||||
PrepareShortcuts
|
||||
|
||||
Lang sk_SK.utf8
|
||||
TestBegin test.lyx -dbg key,find > findadv-logo.loga.txt 2>&1
|
||||
KK: This should be a LaTeX logo:
|
||||
|
@ -1,5 +1,7 @@
|
||||
# Finding styles with regexp
|
||||
UseShortcut "C-F20" "regexp-mode"
|
||||
UnuseShortcut "Tab" "*"
|
||||
|
||||
PrepareShortcuts
|
||||
|
||||
Lang sk_SK.utf8
|
||||
|
@ -244,3 +244,10 @@ Sublabel: lyx_later
|
||||
# failing (and are not regressions).
|
||||
export/.*/(ar|ca|cs|da|de|el|es|eu|fa|fr|gl|he|hu|id|it|ja|ko|lt|nb|nl|pl|pt|pt_BR|pt_PT|ro|ru|sk|sl|sr|sv|uk|zh_CN|).*_epub
|
||||
|
||||
# For zh_CN: Jürgen pointed out that it might be due to this issue:
|
||||
# https://tex.stackexchange.com/questions/548139/
|
||||
# TODO: and that we might want to report it here:
|
||||
# https://www.nongnu.org/cjk/
|
||||
# ML discussion was here:
|
||||
# https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg217924.html
|
||||
export/doc/zh_CN/Tutorial_(lyx22|lyx23|dvi|pdf|pdf2|pdf3)
|
||||
|
@ -317,6 +317,19 @@ export/templates/Articles/Econometrica_(dvi3|pdf5)_texF
|
||||
# Error message says pdfTeX is required for xypdf.
|
||||
export/export/latex/lyxbugs-resolved/6243-protect-xymatrix-in-caption_pdf5.*
|
||||
|
||||
# Issue triggered by June 2022 LaTeX 2e update, it is an issue in the .cls that
|
||||
# likely will not be fixed since the cls does not appear to be maintained.
|
||||
# https://github.com/latex3/latex2e/issues/836#issuecomment-1160073486
|
||||
export/templates/Obsolete/.*American_Geophysical_Union.*_(lyx22|lyx23|pdf|dvi).*
|
||||
|
||||
export/templates/Obsolete/.*American_Geophysical_Union.*_(lyx22|lyx23|pdf|dvi).*
|
||||
|
||||
# Fails starting with microtype version v3.0e
|
||||
# https://github.com/schlcht/microtype/issues/21
|
||||
export/templates/Articles/Hebrew_Article_.*(dvi|pdf|pdf2|pdf3)
|
||||
|
||||
# https://github.com/gsilano/EuropeCV/pull/33
|
||||
export/examples/(|es/)Curricula_Vitae/Europe_CV_(pdf.*|dvi|lyx22|lyx23)
|
||||
|
||||
# ================================================
|
||||
Sublabel: externalissues
|
||||
|
@ -481,7 +481,8 @@ class Shortcuts:
|
||||
def __init__(self):
|
||||
self.shortcut_entry = re.compile(r'^\s*"([^"]+)"\s*\"([^"]+)\"')
|
||||
self.bindings = {}
|
||||
self.bind = re.compile(r'^\s*\\bind\s+"([^"]+)"')
|
||||
self.unbindings = {}
|
||||
self.bind = re.compile(r'^\s*\\(un)?bind\s+"([^"]+)"')
|
||||
if lyx_userdir_ver is None:
|
||||
self.dir = lyx_userdir
|
||||
else:
|
||||
@ -496,6 +497,15 @@ class Shortcuts:
|
||||
else:
|
||||
die(1, "cad shortcut spec(" + c + ")")
|
||||
|
||||
def __UnuseShortcut(self, c):
|
||||
m = self.shortcut_entry.match(c)
|
||||
if m:
|
||||
sh = m.group(1)
|
||||
fkt = m.group(2)
|
||||
self.unbindings[sh] = fkt
|
||||
else:
|
||||
die(1, "cad shortcut spec(" + c + ")")
|
||||
|
||||
def __PrepareShortcuts(self):
|
||||
if not self.dir is None:
|
||||
tmp = tempfile.NamedTemporaryFile(suffix='.bind', delete=False)
|
||||
@ -511,11 +521,15 @@ class Shortcuts:
|
||||
m = self.bind.match(line)
|
||||
if m:
|
||||
bindfound = True
|
||||
val = m.group(1)
|
||||
val = m.group(2)
|
||||
if val in self.bindings:
|
||||
if self.bindings[val] != "":
|
||||
tmp.write("\\bind \"" + val + "\" \"" + self.bindings[val] + "\"\n")
|
||||
self.bindings[val] = ""
|
||||
elif val in self.unbindings:
|
||||
if self.unbindings[val] != "":
|
||||
tmp.write("\\unbind \"" + val + "\" \"" + self.unbindings[val] + "\"\n")
|
||||
self.unbindings[val] = ""
|
||||
else:
|
||||
tmp.write(line + '\n')
|
||||
elif not bindfound:
|
||||
@ -527,9 +541,14 @@ class Shortcuts:
|
||||
)
|
||||
for val in self.bindings:
|
||||
if not self.bindings[val] is None:
|
||||
if self.bindings[val] != "":
|
||||
if self.bindings[val] != "":
|
||||
tmp.write("\\bind \"" + val + "\" \"" + self.bindings[val] + "\"\n")
|
||||
self.bindings[val] = ""
|
||||
for val in self.unbindings:
|
||||
if not self.unbindings[val] is None:
|
||||
if self.unbindings[val] != "":
|
||||
tmp.write("\\unbind \"" + val + "\" \"" + self.unbindings[val] + "\"\n")
|
||||
self.unbindings[val] = ""
|
||||
tmp.close()
|
||||
shutil.move(tmp.name, self.dir + '/bind/user.bind')
|
||||
else:
|
||||
@ -538,6 +557,8 @@ class Shortcuts:
|
||||
def dispatch(self, c):
|
||||
if c[0:12] == 'UseShortcut ':
|
||||
self.__UseShortcut(c[12:])
|
||||
elif c[0:14] == 'UnuseShortcut ':
|
||||
self.__UnuseShortcut(c[14:])
|
||||
elif c == 'PrepareShortcuts':
|
||||
print('Preparing usefull sortcuts for tests')
|
||||
self.__PrepareShortcuts()
|
||||
|
@ -284,14 +284,14 @@ if (LYX_USE_QT MATCHES "QT5|QT6")
|
||||
else()
|
||||
set(QtVal Qt6)
|
||||
endif()
|
||||
set(CMAKE_REQUIRED_INCLUDES ${Qt5Core_INCLUDE_DIRS})
|
||||
set(CMAKE_REQUIRED_INCLUDES ${${QtVal}Core_INCLUDE_DIRS})
|
||||
set(CMAKE_REQUIRED_FLAGS)
|
||||
#message(STATUS "${QtVal}Core_INCLUDE_DIRS = ${${QtVal}Core_INCLUDE_DIRS}")
|
||||
check_include_file_cxx(QtGui/qtgui-config.h HAVE_QTGUI_CONFIG_H)
|
||||
if (HAVE_QTGUI_CONFIG_H)
|
||||
set(lyx_qt5_config "QtGui/qtgui-config.h")
|
||||
set(lyx_qt_config "QtGui/qtgui-config.h")
|
||||
else()
|
||||
set(lyx_qt5_config "QtCore/qconfig.h")
|
||||
set(lyx_qt_config "QtCore/qconfig.h")
|
||||
endif()
|
||||
if(WIN32)
|
||||
set(QT_USES_X11 OFF CACHE BOOL "Win32 compiled without X11")
|
||||
@ -299,7 +299,7 @@ if (LYX_USE_QT MATCHES "QT5|QT6")
|
||||
else()
|
||||
check_cxx_source_runs(
|
||||
"
|
||||
#include <${lyx_qt5_config}>
|
||||
#include <${lyx_qt_config}>
|
||||
#include <string>
|
||||
using namespace std;
|
||||
string a(QT_QPA_DEFAULT_PLATFORM_NAME);
|
||||
@ -312,8 +312,9 @@ if (LYX_USE_QT MATCHES "QT5|QT6")
|
||||
}
|
||||
"
|
||||
QT_USES_X11)
|
||||
if(QT_USES_X11)
|
||||
if(QT_USES_X11 AND NOT LYX_USE_QT MATCHES "QT6")
|
||||
set(QPA_XCB ${QT_USES_X11})
|
||||
message(STATUS "Found QPA_XCB = ${QPA_XCB}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@ -335,8 +336,9 @@ if (LYX_USE_QT MATCHES "QT5|QT6")
|
||||
}
|
||||
"
|
||||
QT_HAS_X11_EXTRAS)
|
||||
set(HAVE_QT5_X11_EXTRAS ${QT_HAS_X11_EXTRAS})
|
||||
set(LYX_QT5_X11_EXTRAS_LIBRARY ${_x11extra_link_libraries})
|
||||
string(TOUPPER ${QtVal} QTVAL)
|
||||
set(HAVE_${QTVAL}_X11_EXTRAS ${QT_HAS_X11_EXTRAS})
|
||||
set(LYX_${QTVAL}_X11_EXTRAS_LIBRARY ${_x11extra_link_libraries})
|
||||
endif()
|
||||
if (${QtVal}WinExtras_FOUND)
|
||||
get_target_property(_winextra_prop ${QtVal}::WinExtras IMPORTED_CONFIGURATIONS)
|
||||
|
@ -167,7 +167,9 @@ elseif(CYGWIN)
|
||||
elseif(WIN32)
|
||||
set(lyxrcorig "${TOP_SRC_DIR}/development/Win32/lyxrc.dist.in")
|
||||
endif()
|
||||
install(FILES ${TOP_SRC_DIR}/lib/images/lyx.svg DESTINATION ${LYX_DATA_SUBDIR}/images/)
|
||||
foreach(_file lyx.svg icon.aliases)
|
||||
install(FILES ${TOP_SRC_DIR}/lib/images/${_file} DESTINATION ${LYX_DATA_SUBDIR}/images/)
|
||||
endforeach()
|
||||
|
||||
if(NOT lyxrcorig STREQUAL "")
|
||||
configure_file("${lyxrcorig}" lyxrc.dist)
|
||||
|
@ -629,7 +629,9 @@ dist_images_DATA1X = \
|
||||
images/layout-toggle_Section.svgz \
|
||||
images/lyx.svg \
|
||||
images/lyxfiles-system.svgz \
|
||||
images/lyxfiles-system-folder.svgz \
|
||||
images/lyxfiles-user.svgz \
|
||||
images/lyxfiles-user-folder.svgz \
|
||||
images/lyx-quit.svgz \
|
||||
images/marginalnote-insert.svgz \
|
||||
images/master-buffer-update.svgz \
|
||||
@ -740,7 +742,8 @@ dist_images_DATA = \
|
||||
images/banner.png \
|
||||
$(dist_images_DATA1X) \
|
||||
$(dist_images_DATA2X) \
|
||||
$(dist_images_DATA3X)
|
||||
$(dist_images_DATA3X) \
|
||||
images/icon.aliases
|
||||
|
||||
imagesmathdir = $(imagesdir)/math
|
||||
dist_imagesmath_DATA = \
|
||||
|
@ -32,6 +32,11 @@
|
||||
* Continuous spellcheck is now on by default, but only if the user does not have
|
||||
an existing preferences file. In that case, the old setting is preserved.
|
||||
|
||||
* Document (or selection statistics) is now shown in status bar and can be
|
||||
disabled by the context menu.
|
||||
|
||||
* The actual enabled state of the synchronize TeX output option of the document
|
||||
is used to enable or disable the menu item for forward-search.
|
||||
|
||||
!!Documents compilation process and images conversion
|
||||
|
||||
|
@ -235,6 +235,8 @@
|
||||
\AddVariable{fmtversion}{\fmtversion}
|
||||
|
||||
%%% Crucial versions
|
||||
% This one introduces \textsubscript
|
||||
\TestLaTeXVersion{2005/12/01}
|
||||
% This one introduces path encoding changes
|
||||
\TestLaTeXVersion{2019/10/01}
|
||||
% This introduces all math and text spaces
|
||||
@ -591,6 +593,9 @@
|
||||
% With this version, hyperref option unicode is true
|
||||
% by default
|
||||
\TestPackageVersion{hyperref}{2021/02/04}
|
||||
% As of this version, the ucs package must be explicitly
|
||||
% loaded to get utf8x (rather than utf8) encoding tables
|
||||
\TestPackageVersion{ucs}{2022/08/07}
|
||||
|
||||
%%% Document classes
|
||||
% The list of layout files has been put in this file here by the
|
||||
|
@ -357,6 +357,18 @@ def check_java():
|
||||
return ''
|
||||
|
||||
|
||||
def checkMacOSappInstalled(prog):
|
||||
'''
|
||||
Use metadata lookup to search for an "installed" macOS application bundle.
|
||||
'''
|
||||
if sys.platform == 'darwin' and len(prog) >= 1:
|
||||
command = r'mdfind "kMDItemContentTypeTree == \"com.apple.application\"c && kMDItemFSName == \"%s\""' % prog
|
||||
result = cmdOutput(command)
|
||||
logger.debug(command + ": " + result)
|
||||
return result != ''
|
||||
return False
|
||||
|
||||
|
||||
def checkProgAlternatives(description, progs, rc_entry=None,
|
||||
alt_rc_entry=None, path=None, not_found=''):
|
||||
'''
|
||||
@ -395,6 +407,10 @@ def checkProgAlternatives(description, progs, rc_entry=None,
|
||||
continue
|
||||
msg = '+checking for "' + ac_word + '"... '
|
||||
found_alt = False
|
||||
if len(alt_rc_entry) >= 1 and ac_word.endswith('.app') and checkMacOSappInstalled(ac_word):
|
||||
logger.info('+add alternative app ' + ac_word)
|
||||
addToRC(alt_rc_entry[0].replace('%%', ac_word))
|
||||
found_alt = True
|
||||
for ac_dir in path:
|
||||
if hasattr(os, "access") and not os.access(ac_dir, os.F_OK):
|
||||
continue
|
||||
@ -545,7 +561,7 @@ def checkViewerNoRC(description, progs, rc_entry=None, path=None):
|
||||
|
||||
|
||||
def checkEditorNoRC(description, progs, rc_entry=None, path=None):
|
||||
''' The same as checkViewer, but do not add rc entry '''
|
||||
''' The same as checkEditor, but do not add rc entry '''
|
||||
if rc_entry is None:
|
||||
rc_entry = []
|
||||
if path is None:
|
||||
@ -705,7 +721,7 @@ texteditors = ['xemacs', 'gvim', 'kedit', 'kwrite', 'kate',
|
||||
'xed', 'notepad', 'WinEdt', 'WinShell', 'PSPad']
|
||||
|
||||
def checkFormatEntries(dtl_tools):
|
||||
''' Check all formats (\Format entries) '''
|
||||
r''' Check all formats (\Format entries) '''
|
||||
checkViewerEditor('a Tgif viewer and editor', ['tgif'],
|
||||
rc_entry = [r'\Format tgif "obj, tgo" Tgif "" "%%" "%%" "vector" "application/x-tgif"'])
|
||||
#
|
||||
@ -812,7 +828,7 @@ def checkFormatEntries(dtl_tools):
|
||||
checkViewer('a PDF previewer',
|
||||
['pdfview', 'kpdf', 'okular', 'qpdfview --unique',
|
||||
'evince', 'xreader', 'kghostview', 'xpdf', 'SumatraPDF',
|
||||
'acrobat', 'acroread', 'mupdf',
|
||||
'acrobat', 'acroread', 'mupdf', 'Skim.app',
|
||||
'gv', 'ghostview', 'AcroRd32', 'gsview64', 'gsview32'],
|
||||
rc_entry = [r'''\Format pdf pdf "PDF (ps2pdf)" P "%%" "" "document,vector,menu=export" ""
|
||||
\Format pdf2 pdf "PDF (pdflatex)" F "%%" "" "document,vector,menu=export" ""
|
||||
@ -876,7 +892,7 @@ def checkFormatEntries(dtl_tools):
|
||||
|
||||
|
||||
def checkConverterEntries():
|
||||
''' Check all converters (\converter entries) '''
|
||||
r''' Check all converters (\converter entries) '''
|
||||
checkProg('the pdflatex program', ['pdflatex $$i'],
|
||||
rc_entry = [ r'\converter pdflatex pdf2 "%%" "latex=pdflatex,hyperref-driver=pdftex"' ])
|
||||
|
||||
@ -901,7 +917,7 @@ def checkConverterEntries():
|
||||
|
||||
path, t2l = checkProg('a LaTeX/Noweb -> LyX converter', [quoteIfSpace(in_binary_subdir), quoteIfSpace(in_binary_subdir + version_suffix), quoteIfSpace(in_binary_dir), quoteIfSpace(in_binary_dir + version_suffix), 'tex2lyx' + version_suffix, 'tex2lyx'],
|
||||
rc_entry = [r'''\converter latex lyx "%% -f $$i $$o" ""
|
||||
\converter latexclipboard lyx "%% -fixedenc utf8 -f $$i $$o" ""
|
||||
\converter latexclipboard lyx "%% -fixedenc utf8 -c $$c -m $$m -f $$i $$o" ""
|
||||
\converter literate lyx "%% -n -m noweb -f $$i $$o" ""
|
||||
\converter sweave lyx "%% -n -m sweave -f $$i $$o" ""
|
||||
\converter knitr lyx "%% -n -m knitr -f $$i $$o" ""'''], not_found = 'tex2lyx')
|
||||
@ -1071,13 +1087,15 @@ def checkConverterEntries():
|
||||
# Only define a converter from pdf6 for graphics
|
||||
checkProg('a PDF to EPS converter', ['pdftops -eps -f 1 -l 1 $$i $$o'],
|
||||
rc_entry = [ r'\converter pdf6 eps "%%" ""' ])
|
||||
# Define a converter from pdf6 to png for Macs where pdftops is missing.
|
||||
# sips:Define a converter from pdf6 to png for Macs where pdftops is missing.
|
||||
# The converter utility sips allows to force the dimensions of the resulting
|
||||
# png image. The value of 800 pixel for the width is arbitrary and not
|
||||
# related to the current screen resolution or width.
|
||||
# There is no converter parameter for this information.
|
||||
#
|
||||
#pdftoppm: Some systems ban IM eps->png conversion. We will offer eps->pdf->png route instead.
|
||||
checkProg('a PDF to PNG converter',
|
||||
['sips --resampleWidth 800 --setProperty format png $$i --out $$o'],
|
||||
['sips --resampleWidth 800 --setProperty format png $$i --out $$o' , 'pdftoppm -r 72 -png -singlefile $$i > $$o'],
|
||||
rc_entry = [ r'\converter pdf6 png "%%" ""' ])
|
||||
# Create one converter for a PDF produced using TeX fonts and one for a
|
||||
# PDF produced using non-TeX fonts. This does not produce non-unique
|
||||
@ -1174,8 +1192,23 @@ def checkConverterEntries():
|
||||
checkProg('an EPS -> PDF converter', ['epstopdf'],
|
||||
rc_entry = [ r'\converter eps pdf6 "epstopdf --outfile=$$o $$i" ""'])
|
||||
#
|
||||
checkProg('an EPS -> PNG converter', ['magick $$i[0] $$o', 'convert $$i[0] $$o'],
|
||||
rc_entry = [ r'\converter eps png "%%" ""'])
|
||||
# Due to more restrictive policies, it is possible that (image)magick
|
||||
# does not allow conversions from eps to png.
|
||||
# So before setting the converter test it it on a mock file
|
||||
_, cmd = checkProg('an EPS -> PNG converter', ['magick', 'convert'])
|
||||
if cmd:
|
||||
writeToFile('mock.eps', r'%!PS')
|
||||
try:
|
||||
subprocess.check_call([cmd, "mock.eps", "mock.png"])
|
||||
removeFiles(['mock.eps', 'mock.png'])
|
||||
rc_entry = r'\converter eps png "%s $$i[0] $$o" ""'
|
||||
addToRC(rc_entry % cmd)
|
||||
except:
|
||||
removeFiles(['mock.eps'])
|
||||
#needs empty record otherwise default converter will be issued
|
||||
rc_entry = r'\converter eps png "" ""'
|
||||
addToRC(rc_entry)
|
||||
logger.info('ImageMagick seems to ban conversions from EPS. Disabling direct EPS->PNG.')
|
||||
#
|
||||
# no agr -> pdf6 converter, since the pdf library used by gracebat is not
|
||||
# free software and therefore not compiled in in many installations.
|
||||
@ -1269,7 +1302,7 @@ def checkConverterEntries():
|
||||
path, lilypond = checkProg('a LilyPond -> EPS/PDF/PNG converter', ['lilypond'])
|
||||
if (lilypond):
|
||||
version_string = cmdOutput("lilypond --version")
|
||||
match = re.match('GNU LilyPond (\S+)', version_string)
|
||||
match = re.match(r'GNU LilyPond (\S+)', version_string)
|
||||
if match:
|
||||
version_number = match.groups()[0]
|
||||
version = version_number.split('.')
|
||||
@ -1299,7 +1332,7 @@ def checkConverterEntries():
|
||||
continue
|
||||
found_lilypond_book = True
|
||||
|
||||
match = re.match('(\S+)$', version_string)
|
||||
match = re.match(r'(\S+)$', version_string)
|
||||
if match:
|
||||
version_number = match.groups()[0]
|
||||
version = version_number.split('.')
|
||||
@ -1426,7 +1459,7 @@ def _checkForClassExtension(x):
|
||||
return x.strip()
|
||||
|
||||
def processLayoutFile(file):
|
||||
""" process layout file and get a line of result
|
||||
r""" process layout file and get a line of result
|
||||
|
||||
Declare lines look like this:
|
||||
|
||||
@ -1454,8 +1487,8 @@ def processLayoutFile(file):
|
||||
"""
|
||||
classname = file.split(os.sep)[-1].split('.')[0]
|
||||
# return ('[a,b]', 'a', ',b,c', 'article') for \DeclareLaTeXClass[a,b,c]{article}
|
||||
p = re.compile('\s*#\s*\\\\DeclareLaTeXClass\s*(\[([^,]*)(,.*)*])*\s*{(.*)}\s*$')
|
||||
q = re.compile('\s*#\s*\\\\DeclareCategory{(.*)}\s*$')
|
||||
p = re.compile('\\s*#\\s*\\\\DeclareLaTeXClass\\s*(\\[([^,]*)(,.*)*])*\\s*{(.*)}\\s*$')
|
||||
q = re.compile('\\s*#\\s*\\\\DeclareCategory{(.*)}\\s*$')
|
||||
classdeclaration = ""
|
||||
categorydeclaration = '""'
|
||||
for line in open(file, 'r', encoding='utf8').readlines():
|
||||
@ -1547,7 +1580,7 @@ def checkLatexConfig(check_config):
|
||||
# Construct the list of classes to test for.
|
||||
# build the list of available layout files and convert it to commands
|
||||
# for chkconfig.ltx
|
||||
declare = re.compile('\\s*#\\s*\\\\DeclareLaTeXClass\\s*(\[([^,]*)(,.*)*\])*\\s*{(.*)}\\s*$')
|
||||
declare = re.compile('\\s*#\\s*\\\\DeclareLaTeXClass\\s*(\\[([^,]*)(,.*)*\\])*\\s*{(.*)}\\s*$')
|
||||
category = re.compile('\\s*#\\s*\\\\DeclareCategory{(.*)}\\s*$')
|
||||
empty = re.compile('\\s*$')
|
||||
testclasses = list()
|
||||
@ -1563,7 +1596,7 @@ def checkLatexConfig(check_config):
|
||||
for line in open(file, 'r', encoding='utf8').readlines():
|
||||
if not empty.match(line) and line[0] != '#'[0]:
|
||||
if decline == "":
|
||||
logger.warning("Failed to find valid \Declare line "
|
||||
logger.warning(r"Failed to find valid \Declare line "
|
||||
"for layout file `%s'.\n\t=> Skipping this file!" % file)
|
||||
nodeclaration = True
|
||||
# A class, but no category declaration. Just break.
|
||||
@ -1672,7 +1705,7 @@ def checkModulesConfig():
|
||||
|
||||
|
||||
def processModuleFile(file, filename):
|
||||
''' process module file and get a line of result
|
||||
r''' process module file and get a line of result
|
||||
|
||||
The top of a module file should look like this:
|
||||
#\DeclareLyXModule[LaTeX Packages]{ModuleName}
|
||||
@ -1686,12 +1719,12 @@ def processModuleFile(file, filename):
|
||||
We expect output:
|
||||
"ModuleName" "filename" "Description" "Packages" "Requires" "Excludes" "Category"
|
||||
'''
|
||||
remods = re.compile('\s*#\s*\\\\DeclareLyXModule\s*(?:\[([^]]*?)\])?{(.*)}')
|
||||
rereqs = re.compile('\s*#+\s*Requires: (.*)')
|
||||
reexcs = re.compile('\s*#+\s*Excludes: (.*)')
|
||||
remods = re.compile('\\s*#\\s*\\\\DeclareLyXModule\\s*(?:\\[([^]]*?)\\])?{(.*)}')
|
||||
rereqs = re.compile(r'\s*#+\s*Requires: (.*)')
|
||||
reexcs = re.compile(r'\s*#+\s*Excludes: (.*)')
|
||||
recaty = re.compile('\\s*#\\s*\\\\DeclareCategory{(.*)}\\s*$')
|
||||
redbeg = re.compile('\s*#+\s*DescriptionBegin\s*$')
|
||||
redend = re.compile('\s*#+\s*DescriptionEnd\s*$')
|
||||
redbeg = re.compile(r'\s*#+\s*DescriptionBegin\s*$')
|
||||
redend = re.compile(r'\s*#+\s*DescriptionEnd\s*$')
|
||||
|
||||
modname = desc = pkgs = req = excl = catgy = ""
|
||||
readingDescription = False
|
||||
@ -1739,7 +1772,7 @@ def processModuleFile(file, filename):
|
||||
continue
|
||||
|
||||
if modname == "":
|
||||
logger.warning("Module file without \DeclareLyXModule line. ")
|
||||
logger.warning(r"Module file without \DeclareLyXModule line. ")
|
||||
return ""
|
||||
|
||||
if pkgs:
|
||||
@ -1803,7 +1836,7 @@ def checkCiteEnginesConfig():
|
||||
|
||||
|
||||
def processCiteEngineFile(file, filename):
|
||||
''' process cite engines file and get a line of result
|
||||
r''' process cite engines file and get a line of result
|
||||
|
||||
The top of a cite engine file should look like this:
|
||||
#\DeclareLyXCiteEngine[LaTeX Packages]{CiteEngineName}
|
||||
@ -1813,12 +1846,12 @@ def processCiteEngineFile(file, filename):
|
||||
We expect output:
|
||||
"CiteEngineName" "filename" "CiteEngineType" "CiteFramework" "DefaultBiblio" "Description" "Packages"
|
||||
'''
|
||||
remods = re.compile('\s*#\s*\\\\DeclareLyXCiteEngine\s*(?:\[([^]]*?)\])?{(.*)}')
|
||||
redbeg = re.compile('\s*#+\s*DescriptionBegin\s*$')
|
||||
redend = re.compile('\s*#+\s*DescriptionEnd\s*$')
|
||||
recet = re.compile('\s*CiteEngineType\s*(.*)')
|
||||
redb = re.compile('\s*DefaultBiblio\s*(.*)')
|
||||
resfm = re.compile('\s*CiteFramework\s*(.*)')
|
||||
remods = re.compile('\\s*#\\s*\\\\DeclareLyXCiteEngine\\s*(?:\\[([^]]*?)\\])?{(.*)}')
|
||||
redbeg = re.compile(r'\s*#+\s*DescriptionBegin\s*$')
|
||||
redend = re.compile(r'\s*#+\s*DescriptionEnd\s*$')
|
||||
recet = re.compile(r'\s*CiteEngineType\s*(.*)')
|
||||
redb = re.compile(r'\s*DefaultBiblio\s*(.*)')
|
||||
resfm = re.compile(r'\s*CiteFramework\s*(.*)')
|
||||
|
||||
modname = desc = pkgs = cet = db = cfm = ""
|
||||
readingDescription = False
|
||||
@ -1862,7 +1895,7 @@ def processCiteEngineFile(file, filename):
|
||||
continue
|
||||
|
||||
if modname == "":
|
||||
logger.warning("Cite Engine File file without \DeclareLyXCiteEngine line. ")
|
||||
logger.warning(r"Cite Engine File file without \DeclareLyXCiteEngine line. ")
|
||||
return ""
|
||||
|
||||
if pkgs:
|
||||
|
@ -1,5 +1,5 @@
|
||||
#LyX 2.4 created this file. For more info see https://www.lyx.org/
|
||||
\lyxformat 608
|
||||
\lyxformat 609
|
||||
\begin_document
|
||||
\begin_header
|
||||
\save_transient_properties true
|
||||
@ -129,6 +129,7 @@ shapepar
|
||||
\docbook_table_output 0
|
||||
\docbook_mathml_prefix 1
|
||||
\author -712698321 "Jürgen Spitzmüller"
|
||||
\author 177693 "x"
|
||||
\author 5863208 "ab"
|
||||
\author 244031559 "Yuriy"
|
||||
\author 630872221 "Jean-Pierre Chrétien" jeanpierre.chretien@free.fr
|
||||
@ -2214,11 +2215,23 @@ misuse
|
||||
status collapsed
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
\change_deleted 177693 1654669036
|
||||
Protected
|
||||
\change_inserted 177693 1654669038
|
||||
Non-Breaking
|
||||
\change_unchanged
|
||||
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\change_deleted 177693 1654669040
|
||||
Blanks
|
||||
\change_inserted 177693 1654669041
|
||||
Spaces
|
||||
\change_unchanged
|
||||
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
@ -1,5 +1,5 @@
|
||||
#LyX 2.4 created this file. For more info see https://www.lyx.org/
|
||||
\lyxformat 608
|
||||
\lyxformat 609
|
||||
\begin_document
|
||||
\begin_header
|
||||
\save_transient_properties true
|
||||
@ -141,6 +141,7 @@ logicalmkup
|
||||
\author -712698321 "Jürgen Spitzmüller"
|
||||
\author -584632292 "Richard Kimberly Heck"
|
||||
\author -495245474 "Jean-Marc Lasgouttes"
|
||||
\author 177693 "x"
|
||||
\author 5863208 "ab"
|
||||
\author 34634807 "Jean-Pierre"
|
||||
\author 232239728 "Owner"
|
||||
@ -14597,7 +14598,19 @@ FreeSpacing
|
||||
Note that
|
||||
\change_unchanged
|
||||
\SpecialChar LyX
|
||||
will create protected blanks for the additional blanks when
|
||||
will create
|
||||
\change_deleted 177693 1654669077
|
||||
protected
|
||||
\change_inserted 177693 1654669079
|
||||
non-breaking
|
||||
\change_unchanged
|
||||
|
||||
\change_deleted 177693 1654669082
|
||||
blanks
|
||||
\change_inserted 177693 1654669082
|
||||
spaces
|
||||
\change_unchanged
|
||||
for the additional blanks when
|
||||
\change_deleted 34634807 1619626461
|
||||
in
|
||||
\change_unchanged
|
||||
@ -15544,7 +15557,13 @@ Manual
|
||||
\end_inset
|
||||
|
||||
means the label is the very first word (up to the first real blank).
|
||||
Use protected spaces if you want more than one word as the label.
|
||||
Use
|
||||
\change_deleted 177693 1654669087
|
||||
protected
|
||||
\change_inserted 177693 1654669089
|
||||
non-breaking
|
||||
\change_unchanged
|
||||
spaces if you want more than one word as the label.
|
||||
|
||||
\end_layout
|
||||
|
||||
|
@ -252,6 +252,7 @@ varwidth
|
||||
\docbook_mathml_prefix 1
|
||||
\author -1382599118 "Daniel"
|
||||
\author -712698321 "Jürgen Spitzmüller"
|
||||
\author 177693 "x"
|
||||
\author 630872221 "Jean-Pierre Chrétien" jeanpierre.chretien@free.fr
|
||||
\end_header
|
||||
|
||||
@ -26539,8 +26540,14 @@ arg "dialog-show-new-inset ref"
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
It is recommended that you use a protected space between the cross-reference
|
||||
name and its number to avoid line breaks between them.
|
||||
It is recommended that you use a
|
||||
\change_deleted 177693 1654669168
|
||||
protected
|
||||
\change_inserted 177693 1654669170
|
||||
non-breaking
|
||||
\change_unchanged
|
||||
space between the cross-reference name and its number to avoid line breaks
|
||||
between them.
|
||||
If a cross-reference refers to a non-existing label, you will see two question
|
||||
marks in the output instead of the reference.
|
||||
\end_layout
|
||||
@ -29608,7 +29615,13 @@ thefigure
|
||||
\begin_inset Quotes erd
|
||||
\end_inset
|
||||
|
||||
creates a protected space.
|
||||
creates a
|
||||
\change_deleted 177693 1654669177
|
||||
protected
|
||||
\change_inserted 177693 1654669179
|
||||
non-breaking
|
||||
\change_unchanged
|
||||
space.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -1,5 +1,5 @@
|
||||
#LyX 2.4 created this file. For more info see https://www.lyx.org/
|
||||
\lyxformat 606
|
||||
\lyxformat 609
|
||||
\begin_document
|
||||
\begin_header
|
||||
\save_transient_properties true
|
||||
@ -232,7 +232,9 @@ subequations
|
||||
\html_css_as_file 0
|
||||
\html_be_strict false
|
||||
\docbook_table_output 0
|
||||
\docbook_mathml_prefix 1
|
||||
\author -563046850 "Jean-Marc LASGOUTTES"
|
||||
\author 177693 "x"
|
||||
\author 5863208 "ab"
|
||||
\author 47243155 "Jean-Marc"
|
||||
\author 232239728 "Owner"
|
||||
@ -1028,11 +1030,23 @@ always
|
||||
be behind the command to end it.
|
||||
This space doesn't appear in the output.
|
||||
When the space should appear in the output, the space must be followed
|
||||
by a protected space in normal text.
|
||||
by a
|
||||
\change_deleted 177693 1654668848
|
||||
protected
|
||||
\change_inserted 177693 1654668851
|
||||
non-breaking
|
||||
\change_unchanged
|
||||
space in normal text.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
A protected space is inserted with
|
||||
A
|
||||
\change_deleted 177693 1654668857
|
||||
protected
|
||||
\change_inserted 177693 1654668860
|
||||
non-breaking
|
||||
\change_unchanged
|
||||
space is inserted with
|
||||
\change_inserted 232239728 1610908934
|
||||
|
||||
\change_deleted 5863208 1612729787
|
||||
@ -1060,7 +1074,13 @@ or with the menu selection
|
||||
\change_inserted 232239728 1610908897
|
||||
Insert\SpecialChar menuseparator
|
||||
Formatting\SpecialChar menuseparator
|
||||
Protected Space
|
||||
|
||||
\change_deleted 177693 1654668863
|
||||
Protected
|
||||
\change_inserted 177693 1654668975
|
||||
Non-Breaking Normal
|
||||
\change_inserted 232239728 1610908897
|
||||
Space
|
||||
\family default
|
||||
or
|
||||
\change_inserted 5863208 1612729638
|
||||
@ -11215,7 +11235,13 @@ Space ! horizontal ! predefined
|
||||
|
||||
\begin_layout Standard
|
||||
Sometimes it is necessary to insert horizontal space into a formula.
|
||||
This is done by inserting a protected space (shortcut
|
||||
This is done by inserting a
|
||||
\change_deleted 177693 1654668870
|
||||
protected
|
||||
\change_inserted 177693 1654668872
|
||||
non-breaking
|
||||
\change_unchanged
|
||||
space (shortcut
|
||||
\change_inserted 5863208 1612729962
|
||||
|
||||
\begin_inset Info
|
||||
@ -11812,7 +11838,13 @@ Number of
|
||||
\family sans
|
||||
Space
|
||||
\family default
|
||||
keystrokes after inserting the protected space
|
||||
keystrokes after inserting the
|
||||
\change_deleted 177693 1654668881
|
||||
protected
|
||||
\change_inserted 177693 1654668883
|
||||
non-breaking
|
||||
\change_unchanged
|
||||
space
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
@ -1,5 +1,5 @@
|
||||
#LyX 2.4 created this file. For more info see https://www.lyx.org/
|
||||
\lyxformat 600
|
||||
\lyxformat 609
|
||||
\begin_document
|
||||
\begin_header
|
||||
\save_transient_properties true
|
||||
@ -21,9 +21,9 @@ logicalmkup
|
||||
\font_default_family default
|
||||
\use_non_tex_fonts false
|
||||
\font_sc false
|
||||
\font_roman_osf false
|
||||
\font_sans_osf false
|
||||
\font_typewriter_osf false
|
||||
\font_roman_osf false
|
||||
\font_sf_scale 100 100
|
||||
\font_tt_scale 100 100
|
||||
\use_microtype false
|
||||
@ -88,14 +88,19 @@ logicalmkup
|
||||
\papercolumns 1
|
||||
\papersides 2
|
||||
\paperpagestyle headings
|
||||
\tablestyle default
|
||||
\tracking_changes true
|
||||
\postpone_fragile_content false
|
||||
\output_changes false
|
||||
\change_bars false
|
||||
\postpone_fragile_content false
|
||||
\html_math_output 0
|
||||
\html_css_as_file 0
|
||||
\html_be_strict false
|
||||
\docbook_table_output 0
|
||||
\docbook_mathml_prefix 1
|
||||
\author -712698321 "Jürgen Spitzmüller"
|
||||
\author -131811572 "Yuriy Skalko"
|
||||
\author 177693 "x"
|
||||
\end_header
|
||||
|
||||
\begin_body
|
||||
@ -1630,11 +1635,25 @@ Return
|
||||
item
|
||||
\emph default
|
||||
, one way is to use the
|
||||
\change_deleted 177693 1654668928
|
||||
|
||||
\family sans
|
||||
Protected
|
||||
\change_inserted 177693 1654668930
|
||||
Non-Breaking
|
||||
\change_deleted 177693 1654668945
|
||||
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\change_inserted 177693 1654668949
|
||||
Normal
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\change_unchanged
|
||||
Break
|
||||
\family default
|
||||
, which you get by typing
|
||||
@ -1773,11 +1792,25 @@ List
|
||||
) from the rest of the paragraph.
|
||||
If you want to have more than one word in the definition, then separate
|
||||
the words with
|
||||
\change_deleted 177693 1654668936
|
||||
|
||||
\family sans
|
||||
Protected
|
||||
\change_inserted 177693 1654668939
|
||||
Non-Breaking
|
||||
\change_unchanged
|
||||
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\change_inserted 177693 1654668953
|
||||
Normal
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\change_unchanged
|
||||
Space
|
||||
\family default
|
||||
s.
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -8752,12 +8752,10 @@ Unformatiert
|
||||
\end_layout
|
||||
|
||||
\begin_layout Verbatim
|
||||
|
||||
Dies ist Unformatiert.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Verbatim
|
||||
|
||||
Die folgenden 2 Zeilen sind leer:
|
||||
\end_layout
|
||||
|
||||
@ -8770,7 +8768,6 @@ Die folgenden 2 Zeilen sind leer:
|
||||
\end_layout
|
||||
|
||||
\begin_layout Verbatim
|
||||
|
||||
Fast alles ist in Unformatiert erlaubt:"%&$§#~'`
|
||||
\backslash
|
||||
}][{|
|
||||
@ -8794,7 +8791,6 @@ Unformatiert
|
||||
\end_layout
|
||||
|
||||
\begin_layout Verbatim*
|
||||
|
||||
Dies ist Unformatiert*.
|
||||
\end_layout
|
||||
|
||||
@ -30031,7 +30027,7 @@ Automatisch
|
||||
\family sans
|
||||
Prozessor
|
||||
\family default
|
||||
in in
|
||||
in
|
||||
\family sans
|
||||
Werkzeuge\SpecialChar menuseparator
|
||||
Einstellungen\SpecialChar menuseparator
|
||||
@ -33457,7 +33453,7 @@ en.
|
||||
\begin_layout Quote
|
||||
|
||||
\series bold
|
||||
PackageOptions hyperref option1,option1
|
||||
PackageOptions hyperref option1,option2
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
@ -39569,7 +39565,7 @@ reference "subsec:Gedankenstriche-und-Zeilenumbrüche"
|
||||
|
||||
\end_inset
|
||||
|
||||
für ein ein Anwendungsbeispiel.
|
||||
für ein Anwendungsbeispiel.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Description
|
||||
@ -40535,8 +40531,8 @@ Nächste Notiz, Änderung, Querverweis
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Springt zur nächsten Notiz, Änderung, oder Querverweis der der aktuellen
|
||||
Cursorposition folgt.
|
||||
Springt zur nächsten Notiz, Änderung, oder Querverweis nach der aktuellen
|
||||
Cursorposition.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Subsection
|
||||
@ -47805,7 +47801,7 @@ TEXINPUTS-Präfix Die TEXINPUTS Umgebungsvariable erlaubt es externe Dateien,
|
||||
chen des Betriebssystems (':' auf UNIX-artigen Systemen und ';' auf Windows)
|
||||
getrennt sind.
|
||||
Falls Dateien eingefügt werden, werden die Pfade, die im TEXINPUTS-Präfix
|
||||
aufgelistet sind, nach den den eingefügten Dateien gescannt.
|
||||
aufgelistet sind, nach den eingefügten Dateien gescannt.
|
||||
Es ist zu beachten, dass jeder nicht-absolute Pfad im TEXINPUTS-Präfix
|
||||
als relativ zum Verzeichnis Ihrer \SpecialChar LyX
|
||||
-Datei betrachtet wird.
|
||||
|
@ -1,5 +1,5 @@
|
||||
#LyX 2.4 created this file. For more info see https://www.lyx.org/
|
||||
\lyxformat 608
|
||||
\lyxformat 609
|
||||
\begin_document
|
||||
\begin_header
|
||||
\save_transient_properties true
|
||||
@ -235,7 +235,7 @@ M
|
||||
eunier-Guttin-Cluzel
|
||||
\noun default
|
||||
.
|
||||
Revue finale 1.6 et mises à jour 2.0, 2.1, 2.2 et 2.3: Jean-Pierre
|
||||
Revue finale 1.6 et mises à jour 2.0, 2.1, 2.2, 2.3 et 2.4: Jean-Pierre
|
||||
\noun on
|
||||
Chrétien
|
||||
\noun default
|
||||
|
@ -1,5 +1,5 @@
|
||||
#LyX 2.4 created this file. For more info see https://www.lyx.org/
|
||||
\lyxformat 600
|
||||
\lyxformat 609
|
||||
\begin_document
|
||||
\begin_header
|
||||
\save_transient_properties true
|
||||
@ -18,7 +18,7 @@
|
||||
\maintain_unincluded_children no
|
||||
\language english
|
||||
\language_package default
|
||||
\inputencoding utf8x
|
||||
\inputencoding utf8
|
||||
\fontencoding auto
|
||||
\font_roman "default" "default"
|
||||
\font_sans "default" "default"
|
||||
@ -27,9 +27,9 @@
|
||||
\font_default_family default
|
||||
\use_non_tex_fonts false
|
||||
\font_sc false
|
||||
\font_roman_osf false
|
||||
\font_sans_osf false
|
||||
\font_typewriter_osf false
|
||||
\font_roman_osf false
|
||||
\font_sf_scale 100 100
|
||||
\font_tt_scale 100 100
|
||||
\use_microtype false
|
||||
@ -39,6 +39,8 @@
|
||||
\output_sync 0
|
||||
\bibtex_command bibtex
|
||||
\index_command default
|
||||
\float_placement class
|
||||
\float_alignment class
|
||||
\paperfontsize 10
|
||||
\spacing single
|
||||
\use_hyperref false
|
||||
@ -84,12 +86,16 @@
|
||||
\papercolumns 1
|
||||
\papersides 1
|
||||
\paperpagestyle default
|
||||
\tablestyle default
|
||||
\tracking_changes false
|
||||
\postpone_fragile_content false
|
||||
\output_changes false
|
||||
\change_bars false
|
||||
\postpone_fragile_content false
|
||||
\html_math_output 0
|
||||
\html_css_as_file 0
|
||||
\html_be_strict false
|
||||
\docbook_table_output 0
|
||||
\docbook_mathml_prefix 1
|
||||
\end_header
|
||||
|
||||
\begin_body
|
||||
|
@ -1,5 +1,5 @@
|
||||
#LyX 2.4 created this file. For more info see https://www.lyx.org/
|
||||
\lyxformat 600
|
||||
\lyxformat 609
|
||||
\begin_document
|
||||
\begin_header
|
||||
\save_transient_properties true
|
||||
@ -18,7 +18,7 @@
|
||||
\maintain_unincluded_children no
|
||||
\language spanish
|
||||
\language_package default
|
||||
\inputencoding utf8x
|
||||
\inputencoding utf8
|
||||
\fontencoding auto
|
||||
\font_roman "default" "default"
|
||||
\font_sans "default" "default"
|
||||
@ -27,9 +27,9 @@
|
||||
\font_default_family default
|
||||
\use_non_tex_fonts false
|
||||
\font_sc false
|
||||
\font_roman_osf false
|
||||
\font_sans_osf false
|
||||
\font_typewriter_osf false
|
||||
\font_roman_osf false
|
||||
\font_sf_scale 100 100
|
||||
\font_tt_scale 100 100
|
||||
\use_microtype false
|
||||
@ -39,6 +39,8 @@
|
||||
\output_sync 0
|
||||
\bibtex_command bibtex
|
||||
\index_command default
|
||||
\float_placement class
|
||||
\float_alignment class
|
||||
\paperfontsize 10
|
||||
\spacing single
|
||||
\use_hyperref false
|
||||
@ -84,12 +86,16 @@
|
||||
\papercolumns 1
|
||||
\papersides 1
|
||||
\paperpagestyle default
|
||||
\tablestyle default
|
||||
\tracking_changes false
|
||||
\postpone_fragile_content false
|
||||
\output_changes false
|
||||
\change_bars false
|
||||
\postpone_fragile_content false
|
||||
\html_math_output 0
|
||||
\html_css_as_file 0
|
||||
\html_be_strict false
|
||||
\docbook_table_output 0
|
||||
\docbook_mathml_prefix 1
|
||||
\end_header
|
||||
|
||||
\begin_body
|
||||
|
@ -1274,7 +1274,7 @@ contributors = [
|
||||
"Re: LyX 1.4cvs crash on Fedora Core 3",
|
||||
"m=111204368700246",
|
||||
"28 March 2005",
|
||||
u"Added native support for \makebox to mathed. Several bug fixes, both to the source code and to the llncs layout file"),
|
||||
u"Added native support for \\makebox to mathed. Several bug fixes, both to the source code and to the llncs layout file"),
|
||||
|
||||
contributor(u"LibreOffice Team",
|
||||
"https://www.libreoffice.org/",
|
||||
|
6
lib/images/icon.aliases
Normal file
6
lib/images/icon.aliases
Normal file
@ -0,0 +1,6 @@
|
||||
# Aliases for icon names. This allows to avoid duplication of icons
|
||||
# Each line is of the form
|
||||
# <original substring> <replacement substring>
|
||||
dialog-toggle dialog-show
|
||||
layout_ layout-toggle_
|
||||
tabular-feature_set tabular-feature_toggle
|
BIN
lib/images/lyxfiles-system-folder.svgz
Normal file
BIN
lib/images/lyxfiles-system-folder.svgz
Normal file
Binary file not shown.
BIN
lib/images/lyxfiles-user-folder.svgz
Normal file
BIN
lib/images/lyxfiles-user-folder.svgz
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -145,7 +145,7 @@ def insert_to_preamble(document, text, index = 0):
|
||||
|
||||
# A dictionary of Unicode->LICR mappings for use in a Unicode string's translate() method
|
||||
# Created from the reversed list to keep the first of alternative definitions.
|
||||
licr_table = dict((ord(ch), cmd) for cmd, ch in unicode_reps[::-1])
|
||||
licr_table = {ord(ch): cmd for cmd, ch in unicode_reps[::-1]}
|
||||
|
||||
def put_cmd_in_ert(cmd, is_open=False, as_paragraph=False):
|
||||
"""
|
||||
|
@ -112,7 +112,7 @@ def update_inset_label(document):
|
||||
i = find_token(lines, '\\begin_inset Label', i)
|
||||
if i == -1:
|
||||
return
|
||||
lines[i] = '\\begin_inset LatexCommand \label{' + lines[i][19:] + '}'
|
||||
lines[i] = '\\begin_inset LatexCommand \\label{' + lines[i][19:] + '}'
|
||||
i = i + 1
|
||||
|
||||
|
||||
|
@ -69,7 +69,7 @@ def find_beginning_of_inset(lines, i):
|
||||
|
||||
|
||||
def find_end_of_inset(lines, i):
|
||||
" Finds the matching \end_inset"
|
||||
r" Finds the matching \end_inset"
|
||||
return find_end_of(lines, i, "\\begin_inset", "\\end_inset")
|
||||
|
||||
|
||||
@ -143,7 +143,7 @@ def get_width(mo):
|
||||
|
||||
|
||||
def remove_oldfloat(document):
|
||||
" Change \begin_float .. \end_float into \begin_inset Float .. \end_inset"
|
||||
r" Change \begin_float .. \end_float into \begin_inset Float .. \end_inset"
|
||||
lines = document.body
|
||||
i = 0
|
||||
while True:
|
||||
@ -250,7 +250,7 @@ def remove_pextra(document):
|
||||
if flag:
|
||||
flag = 0
|
||||
if hfill:
|
||||
start = ["","\hfill",""]+start
|
||||
start = ["",r"\hfill",""]+start
|
||||
else:
|
||||
start = ['\\layout %s' % document.default_layout,''] + start
|
||||
|
||||
@ -324,7 +324,7 @@ def remove_oldert(document):
|
||||
new = []
|
||||
new2 = []
|
||||
if check_token(lines[i], "\\layout LaTeX"):
|
||||
new = ['\layout %s' % document.default_layout, "", ""]
|
||||
new = [r'\layout %s' % document.default_layout, "", ""]
|
||||
|
||||
k = i+1
|
||||
while True:
|
||||
@ -808,7 +808,7 @@ def change_infoinset(document):
|
||||
note_lines = [txt]+note_lines
|
||||
|
||||
for line in note_lines:
|
||||
new = new + ['\layout %s' % document.default_layout, ""]
|
||||
new = new + [r'\layout %s' % document.default_layout, ""]
|
||||
tmp = line.split('\\')
|
||||
new = new + [tmp[0]]
|
||||
for x in tmp[1:]:
|
||||
|
@ -27,7 +27,7 @@ from parser_tools import find_token, find_end_of, get_value,\
|
||||
# Private helper functions
|
||||
|
||||
def find_end_of_inset(lines, i):
|
||||
"Finds the matching \end_inset"
|
||||
r"Finds the matching \end_inset"
|
||||
return find_end_of(lines, i, "\\begin_inset", "\\end_inset")
|
||||
|
||||
|
||||
|
@ -81,7 +81,7 @@ def get_next_paragraph(lines, i, format):
|
||||
|
||||
|
||||
def find_end_of_inset(lines, i):
|
||||
"Finds the matching \end_inset"
|
||||
r"Finds the matching \end_inset"
|
||||
return find_end_of(lines, i, "\\begin_inset", "\\end_inset")
|
||||
|
||||
def del_token(lines, token, start, end):
|
||||
@ -103,7 +103,7 @@ def del_token(lines, token, start, end):
|
||||
####################################################################
|
||||
|
||||
def remove_color_default(document):
|
||||
" Remove \color default"
|
||||
r" Remove \color default"
|
||||
i = 0
|
||||
while True:
|
||||
i = find_token(document.body, "\\color default", i)
|
||||
@ -114,12 +114,12 @@ def remove_color_default(document):
|
||||
|
||||
|
||||
def add_end_header(document):
|
||||
" Add \end_header"
|
||||
r" Add \end_header"
|
||||
document.header.append("\\end_header");
|
||||
|
||||
|
||||
def rm_end_header(document):
|
||||
" Remove \end_header"
|
||||
r" Remove \end_header"
|
||||
i = find_token(document.header, "\\end_header", 0)
|
||||
if i == -1:
|
||||
return
|
||||
@ -169,14 +169,14 @@ def revert_amsmath(document):
|
||||
|
||||
|
||||
def convert_spaces(document):
|
||||
" \SpecialChar ~ -> \InsetSpace ~"
|
||||
r" \SpecialChar ~ -> \InsetSpace ~"
|
||||
for i in range(len(document.body)):
|
||||
document.body[i] = document.body[i].replace("\\SpecialChar ~",
|
||||
"\\InsetSpace ~")
|
||||
|
||||
|
||||
def revert_spaces(document):
|
||||
" \InsetSpace ~ -> \SpecialChar ~"
|
||||
r" \InsetSpace ~ -> \SpecialChar ~"
|
||||
regexp = re.compile(r'(.*)(\\InsetSpace\s+)(\S+)')
|
||||
i = 0
|
||||
while True:
|
||||
@ -197,18 +197,18 @@ def revert_spaces(document):
|
||||
|
||||
|
||||
def rename_spaces(document):
|
||||
""" \InsetSpace \, -> \InsetSpace \thinspace{}
|
||||
\InsetSpace \space -> \InsetSpace \space{}"""
|
||||
""" \\InsetSpace \\, -> \\InsetSpace \thinspace{}
|
||||
\\InsetSpace \\space -> \\InsetSpace \\space{}"""
|
||||
for i in range(len(document.body)):
|
||||
document.body[i] = document.body[i].replace("\\InsetSpace \\space",
|
||||
"\\InsetSpace \\space{}")
|
||||
document.body[i] = document.body[i].replace("\\InsetSpace \,",
|
||||
document.body[i] = document.body[i].replace("\\InsetSpace \\,",
|
||||
"\\InsetSpace \\thinspace{}")
|
||||
|
||||
|
||||
def revert_space_names(document):
|
||||
""" \InsetSpace \thinspace{} -> \InsetSpace \,
|
||||
\InsetSpace \space{} -> \InsetSpace \space"""
|
||||
""" \\InsetSpace \thinspace{} -> \\InsetSpace \\,
|
||||
\\InsetSpace \\space{} -> \\InsetSpace \\space"""
|
||||
for i in range(len(document.body)):
|
||||
document.body[i] = document.body[i].replace("\\InsetSpace \\space{}",
|
||||
"\\InsetSpace \\space")
|
||||
@ -262,7 +262,7 @@ def revert_bibtex(document):
|
||||
|
||||
|
||||
def remove_insetparent(document):
|
||||
" Remove \lyxparent"
|
||||
r" Remove \lyxparent"
|
||||
i = 0
|
||||
while True:
|
||||
i = find_token(document.body, "\\begin_inset LatexCommand \\lyxparent", i)
|
||||
@ -428,7 +428,7 @@ def revert_comment(document):
|
||||
|
||||
|
||||
def add_end_layout(document):
|
||||
" Add \end_layout"
|
||||
r" Add \end_layout"
|
||||
i = find_token(document.body, '\\layout', 0)
|
||||
|
||||
if i == -1:
|
||||
@ -502,7 +502,7 @@ def add_end_layout(document):
|
||||
|
||||
|
||||
def rm_end_layout(document):
|
||||
" Remove \end_layout"
|
||||
r" Remove \end_layout"
|
||||
i = 0
|
||||
while True:
|
||||
i = find_token(document.body, '\\end_layout', i)
|
||||
@ -544,7 +544,7 @@ def rm_body_changes(document):
|
||||
|
||||
|
||||
def layout2begin_layout(document):
|
||||
" \layout -> \begin_layout "
|
||||
r" \layout -> \begin_layout "
|
||||
i = 0
|
||||
while True:
|
||||
i = find_token(document.body, '\\layout', i)
|
||||
@ -556,7 +556,7 @@ def layout2begin_layout(document):
|
||||
|
||||
|
||||
def begin_layout2layout(document):
|
||||
" \begin_layout -> \layout "
|
||||
r" \begin_layout -> \layout "
|
||||
i = 0
|
||||
while True:
|
||||
i = find_token(document.body, '\\begin_layout', i)
|
||||
@ -1051,7 +1051,7 @@ def convert_minipage(document):
|
||||
# convert the inner_position
|
||||
if document.body[i][:14] == "inner_position":
|
||||
innerpos = inner_pos[int(document.body[i][15])]
|
||||
del document.body[i]
|
||||
del document.body[i]
|
||||
else:
|
||||
innerpos = inner_pos[0]
|
||||
|
||||
@ -1972,9 +1972,9 @@ def convert_names(document):
|
||||
'\\begin_layout %s' % document.default_layout,
|
||||
"",
|
||||
"%s" % firstname,
|
||||
"\end_layout",
|
||||
r"\end_layout",
|
||||
"",
|
||||
"\end_inset",
|
||||
r"\end_inset",
|
||||
"",
|
||||
"",
|
||||
"\\begin_inset CharStyle Surname",
|
||||
@ -2229,7 +2229,7 @@ def use_x_binary(document):
|
||||
def normalize_paragraph_params(document):
|
||||
" Place all the paragraph parameters in their own line. "
|
||||
body = document.body
|
||||
|
||||
|
||||
allowed_parameters = '\\paragraph_spacing', '\\noindent', \
|
||||
'\\align', '\\labelwidthstring', "\\start_of_appendix", \
|
||||
"\\leftindent"
|
||||
|
@ -421,7 +421,7 @@ def revert_unicode_line(document, i, insets, spec_chars, replacement_character =
|
||||
else:
|
||||
if insets and insets[-1] == "Formula":
|
||||
# avoid putting an ERT in a math; instead put command as text
|
||||
command = command.replace('\\\\', '\mathrm{')
|
||||
command = command.replace('\\\\', r'\mathrm{')
|
||||
command = command + '}'
|
||||
elif not insets or insets[-1] != "ERT":
|
||||
# add an ERT inset with the replacement character
|
||||
@ -491,7 +491,7 @@ def revert_cs_label(document):
|
||||
|
||||
|
||||
def convert_bibitem(document):
|
||||
""" Convert
|
||||
r""" Convert
|
||||
\bibitem [option]{argument}
|
||||
|
||||
to
|
||||
@ -576,16 +576,16 @@ commandparams_info = {
|
||||
def convert_commandparams(document):
|
||||
""" Convert
|
||||
|
||||
\begin_inset LatexCommand \cmdname[opt1][opt2]{arg}
|
||||
\end_inset
|
||||
\\begin_inset LatexCommand \\cmdname[opt1][opt2]{arg}
|
||||
\\end_inset
|
||||
|
||||
to
|
||||
|
||||
\begin_inset LatexCommand cmdname
|
||||
\\begin_inset LatexCommand cmdname
|
||||
name1 "opt1"
|
||||
name2 "opt2"
|
||||
name3 "arg"
|
||||
\end_inset
|
||||
\\end_inset
|
||||
|
||||
name1, name2 and name3 can be different for each command.
|
||||
"""
|
||||
@ -896,7 +896,7 @@ def revert_cleardoublepage(document):
|
||||
|
||||
|
||||
def convert_lyxline(document):
|
||||
" remove fontsize commands for \lyxline "
|
||||
r" remove fontsize commands for \lyxline "
|
||||
# The problematic is: The old \lyxline definition doesn't handle the fontsize
|
||||
# to change the line thickness. The new definiton does this so that imported
|
||||
# \lyxlines would have a different line thickness. The eventual fontsize command
|
||||
@ -1687,7 +1687,7 @@ def revert_CJK(document):
|
||||
|
||||
|
||||
def revert_preamble_listings_params(document):
|
||||
" Revert preamble option \listings_params "
|
||||
r" Revert preamble option \listings_params "
|
||||
i = find_token(document.header, "\\listings_params", 0)
|
||||
if i != -1:
|
||||
document.preamble.append('\\usepackage{listings}')
|
||||
@ -2005,10 +2005,10 @@ def convert_arabic (document):
|
||||
document.header[i] = "\\language arabic_arabtex"
|
||||
i = 0
|
||||
while i < len(document.body):
|
||||
h = document.body[i].find("\lang arabic", 0, len(document.body[i]))
|
||||
h = document.body[i].find(r"\lang arabic", 0, len(document.body[i]))
|
||||
if (h != -1):
|
||||
# change the language name
|
||||
document.body[i] = '\lang arabic_arabtex'
|
||||
document.body[i] = r'\lang arabic_arabtex'
|
||||
i = i + 1
|
||||
|
||||
|
||||
@ -2020,10 +2020,10 @@ def revert_arabic (document):
|
||||
document.header[i] = "\\language arabic"
|
||||
i = 0
|
||||
while i < len(document.body):
|
||||
h = document.body[i].find("\lang arabic_arabtex", 0, len(document.body[i]))
|
||||
h = document.body[i].find(r"\lang arabic_arabtex", 0, len(document.body[i]))
|
||||
if (h != -1):
|
||||
# change the language name
|
||||
document.body[i] = '\lang arabic'
|
||||
document.body[i] = r'\lang arabic'
|
||||
i = i + 1
|
||||
|
||||
|
||||
|
@ -152,7 +152,7 @@ def extract_argument(line):
|
||||
if not line:
|
||||
return (None, "")
|
||||
|
||||
bracere = re.compile("(\s*)(.*)")
|
||||
bracere = re.compile(r"(\s*)(.*)")
|
||||
n = bracere.match(line)
|
||||
whitespace = n.group(1)
|
||||
stuff = n.group(2)
|
||||
@ -277,7 +277,7 @@ def latex2lyx(data, isindex):
|
||||
data = data.replace('\\\\', '\\')
|
||||
|
||||
# Math:
|
||||
mathre = re.compile('^(.*?)(\$.*?\$)(.*)')
|
||||
mathre = re.compile(r'^(.*?)(\$.*?\$)(.*)')
|
||||
lines = data.split('\n')
|
||||
for line in lines:
|
||||
#document.warning("LINE: " + line)
|
||||
@ -946,7 +946,7 @@ def remove_inzip_options(document):
|
||||
|
||||
|
||||
def convert_inset_command(document):
|
||||
"""
|
||||
r"""
|
||||
Convert:
|
||||
\begin_inset LatexCommand cmd
|
||||
to
|
||||
@ -983,7 +983,7 @@ def convert_inset_command(document):
|
||||
|
||||
|
||||
def revert_inset_command(document):
|
||||
"""
|
||||
r"""
|
||||
Convert:
|
||||
\begin_inset CommandInset InsetType
|
||||
LatexCommand cmd
|
||||
@ -1558,7 +1558,7 @@ def convert_usorbian(document):
|
||||
|
||||
|
||||
def convert_macro_global(document):
|
||||
"Remove TeX code command \global when it is in front of a macro"
|
||||
r"Remove TeX code command \global when it is in front of a macro"
|
||||
# math macros are nowadays already defined \global, so that an additional
|
||||
# \global would make the document uncompilable, see
|
||||
# http://www.lyx.org/trac/ticket/5371
|
||||
@ -2339,7 +2339,7 @@ def revert_wrapplacement(document):
|
||||
|
||||
|
||||
def remove_extra_embedded_files(document):
|
||||
" Remove \extra_embedded_files from buffer params "
|
||||
r" Remove \extra_embedded_files from buffer params "
|
||||
i = find_token(document.header, '\\extra_embedded_files', 0)
|
||||
if i == -1:
|
||||
return
|
||||
|
@ -1119,7 +1119,7 @@ def revert_multirow(document):
|
||||
|
||||
|
||||
def convert_math_output(document):
|
||||
" Convert \html_use_mathml to \html_math_output "
|
||||
r" Convert \html_use_mathml to \html_math_output "
|
||||
i = find_token(document.header, "\\html_use_mathml", 0)
|
||||
if i == -1:
|
||||
return
|
||||
@ -1136,7 +1136,7 @@ def convert_math_output(document):
|
||||
|
||||
|
||||
def revert_math_output(document):
|
||||
" Revert \html_math_output to \html_use_mathml "
|
||||
r" Revert \html_math_output to \html_use_mathml "
|
||||
i = find_token(document.header, "\\html_math_output", 0)
|
||||
if i == -1:
|
||||
return
|
||||
@ -1619,8 +1619,8 @@ def revert_IEEEtran(document):
|
||||
|
||||
def convert_prettyref(document):
|
||||
" Converts prettyref references to neutral formatted refs "
|
||||
re_ref = re.compile("^\s*reference\s+\"(\w+):(\S+)\"")
|
||||
nm_ref = re.compile("^\s*name\s+\"(\w+):(\S+)\"")
|
||||
re_ref = re.compile("^\\s*reference\\s+\"(\\w+):(\\S+)\"")
|
||||
nm_ref = re.compile("^\\s*name\\s+\"(\\w+):(\\S+)\"")
|
||||
|
||||
i = 0
|
||||
while True:
|
||||
@ -1641,8 +1641,8 @@ def convert_prettyref(document):
|
||||
|
||||
def revert_refstyle(document):
|
||||
" Reverts neutral formatted refs to prettyref "
|
||||
re_ref = re.compile("^reference\s+\"(\w+):(\S+)\"")
|
||||
nm_ref = re.compile("^\s*name\s+\"(\w+):(\S+)\"")
|
||||
re_ref = re.compile("^reference\\s+\"(\\w+):(\\S+)\"")
|
||||
nm_ref = re.compile("^\\s*name\\s+\"(\\w+):(\\S+)\"")
|
||||
|
||||
i = 0
|
||||
while True:
|
||||
@ -1723,7 +1723,7 @@ def remove_Nameref(document):
|
||||
|
||||
|
||||
def revert_mathrsfs(document):
|
||||
" Load mathrsfs if \mathrsfs us use in the document "
|
||||
r" Load mathrsfs if \mathrsfs us use in the document "
|
||||
i = 0
|
||||
for line in document.body:
|
||||
if line.find("\\mathscr{") != -1:
|
||||
@ -2079,7 +2079,7 @@ def convert_passthru(document):
|
||||
if not check_passthru:
|
||||
return
|
||||
|
||||
rx = re.compile("\\\\begin_layout \s*(\w+)")
|
||||
rx = re.compile("\\\\begin_layout \\s*(\\w+)")
|
||||
beg = 0
|
||||
for lay in ["Chunk", "Scrap"]:
|
||||
while True:
|
||||
@ -2143,7 +2143,7 @@ def revert_passthru(document):
|
||||
" http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg161298.html "
|
||||
if not check_passthru:
|
||||
return
|
||||
rx = re.compile("\\\\begin_layout \s*(\w+)")
|
||||
rx = re.compile("\\\\begin_layout \\s*(\\w+)")
|
||||
beg = 0
|
||||
for lay in ["Chunk", "Scrap"]:
|
||||
while True:
|
||||
@ -2435,7 +2435,7 @@ def revert_langpack(document):
|
||||
|
||||
def convert_langpack(document):
|
||||
" Add \\language_package parameter "
|
||||
i = find_token(document.header, "\language" , 0)
|
||||
i = find_token(document.header, r"\language" , 0)
|
||||
if i == -1:
|
||||
document.warning("Malformed document. No \\language defined!")
|
||||
return
|
||||
|
@ -59,7 +59,7 @@ def revert_Argument_to_TeX_brace(document, line, endline, n, nmax, environment,
|
||||
usage:
|
||||
revert_Argument_to_TeX_brace(document, LineOfBegin, LineOfEnd, StartArgument, EndArgument, isEnvironment, isOpt)
|
||||
LineOfBegin is the line of the \\begin_layout or \\begin_inset statement
|
||||
LineOfEnd is the line of the \end_layout or \end_inset statement, if "0" is given, the end of the file is used instead
|
||||
LineOfEnd is the line of the \\end_layout or \\end_inset statement, if "0" is given, the end of the file is used instead
|
||||
StartArgument is the number of the first argument that needs to be converted
|
||||
EndArgument is the number of the last argument that needs to be converted or the last defined one
|
||||
isEnvironment must be true, if the layout is for a LaTeX environment
|
||||
@ -1060,7 +1060,7 @@ def convert_table_rotation(document):
|
||||
|
||||
|
||||
def convert_listoflistings(document):
|
||||
'Convert ERT \lstlistoflistings to TOC lstlistoflistings inset'
|
||||
r'Convert ERT \lstlistoflistings to TOC lstlistoflistings inset'
|
||||
# We can support roundtrip because the command is so simple
|
||||
i = 0
|
||||
while True:
|
||||
|
@ -39,7 +39,7 @@ from parser_tools import (check_token, del_complete_lines,
|
||||
# Private helper functions
|
||||
|
||||
def revert_Argument_to_TeX_brace(document, line, endline, n, nmax, environment, opt, nolastopt):
|
||||
"""
|
||||
r"""
|
||||
Reverts an InsetArgument to TeX-code
|
||||
usage:
|
||||
revert_Argument_to_TeX_brace(document, LineOfBegin, LineOfEnd, StartArgument, EndArgument, isEnvironment, isOpt, notLastOpt)
|
||||
@ -599,7 +599,7 @@ def revert_question_env(document):
|
||||
|
||||
document.body[i : i + 1] = ["\\begin_layout Standard", ""] + begcmd
|
||||
|
||||
add_to_preamble(document, "\\providecommand{\questionname}{Question}")
|
||||
add_to_preamble(document, "\\providecommand{\\questionname}{Question}")
|
||||
|
||||
if starred:
|
||||
add_to_preamble(document, "\\theoremstyle{plain}\n" \
|
||||
@ -1354,7 +1354,7 @@ def revert_jss(document):
|
||||
if document.textclass != "jss":
|
||||
return
|
||||
|
||||
# at first revert the inset layouts because
|
||||
# at first revert the inset layouts because
|
||||
# they can be part of the In_Preamble layouts
|
||||
il_dict = {
|
||||
"Pkg" : "pkg",
|
||||
@ -2045,7 +2045,7 @@ def revert_moderncv_1(document):
|
||||
i += 1
|
||||
continue
|
||||
content = lyx2latex(document, document.body[i:j + 1])
|
||||
add_to_preamble(document, ["\\setlength{\hintscolumnwidth}{" + content + "}"])
|
||||
add_to_preamble(document, ["\\setlength{\\hintscolumnwidth}{" + content + "}"])
|
||||
del document.body[i:j + 1]
|
||||
# now change the new styles to the obsolete ones
|
||||
# \name
|
||||
@ -2383,7 +2383,7 @@ def revert_solution(document):
|
||||
add_to_preamble(document, "\\%s{%s}[thm]{\\protect\\solutionname}" % \
|
||||
(theoremName, LaTeXName))
|
||||
|
||||
add_to_preamble(document, "\\providecommand{\solutionname}{Solution}")
|
||||
add_to_preamble(document, "\\providecommand{\\solutionname}{Solution}")
|
||||
i = j
|
||||
|
||||
|
||||
|
@ -173,7 +173,7 @@ beamer_article_styles = [
|
||||
"Preamble",
|
||||
" \\usepackage{beamerarticle,pgf}",
|
||||
" % this default might be overridden by plain title style",
|
||||
" \\newcommand\makebeamertitle{\\frame{\\maketitle}}%",
|
||||
" \\newcommand\\makebeamertitle{\\frame{\\maketitle}}%",
|
||||
" \\AtBeginDocument{",
|
||||
" \\let\\origtableofcontents=\\tableofcontents",
|
||||
" \\def\\tableofcontents{\\@ifnextchar[{\\origtableofcontents}{\\gobbletableofcontents}}",
|
||||
@ -1627,12 +1627,12 @@ def convert_dashligatures(document):
|
||||
continue
|
||||
|
||||
# literal dash followed by a non-white-character or no-break space:
|
||||
if re.search(u"[\u2013\u2014]([\S\u00A0\u202F\u2060]|$)",
|
||||
if re.search(u"[\u2013\u2014]([\\S\u00A0\u202F\u2060]|$)",
|
||||
line, flags=re.UNICODE):
|
||||
has_literal_dashes = True
|
||||
# ligature dash followed by non-white-char or no-break space on next line:
|
||||
if (re.search(r"(\\twohyphens|\\threehyphens)", line) and
|
||||
re.match(u"[\S\u00A0\u202F\u2060]", lines[i+1], flags=re.UNICODE)):
|
||||
re.match(u"[\\S\u00A0\u202F\u2060]", lines[i+1], flags=re.UNICODE)):
|
||||
has_ligature_dashes = True
|
||||
if has_literal_dashes and has_ligature_dashes:
|
||||
# TODO: insert a warning note in the document?
|
||||
@ -1845,7 +1845,7 @@ allowbreak_emulation = [r"\begin_inset space \hspace{}",
|
||||
r""]
|
||||
|
||||
def convert_allowbreak(document):
|
||||
" Zero widths Space-inset -> \SpecialChar allowbreak. "
|
||||
r" Zero widths Space-inset -> \SpecialChar allowbreak. "
|
||||
lines = document.body
|
||||
i = find_complete_lines(lines, allowbreak_emulation, 2)
|
||||
while i != -1:
|
||||
@ -1854,7 +1854,7 @@ def convert_allowbreak(document):
|
||||
|
||||
|
||||
def revert_allowbreak(document):
|
||||
" \SpecialChar allowbreak -> Zero widths Space-inset. "
|
||||
r" \SpecialChar allowbreak -> Zero widths Space-inset. "
|
||||
i = 1
|
||||
lines = document.body
|
||||
while i < len(lines):
|
||||
|
@ -752,7 +752,7 @@ def revert_floatalignment(document):
|
||||
i += 1
|
||||
|
||||
def revert_tuftecite(document):
|
||||
"""Revert \cite commands in tufte classes"""
|
||||
r"""Revert \cite commands in tufte classes"""
|
||||
|
||||
tufte = ["tufte-book", "tufte-handout"]
|
||||
if document.textclass not in tufte:
|
||||
@ -1223,7 +1223,7 @@ def revert_dateinfo(document):
|
||||
if len(datecomps) > 1:
|
||||
argv = datecomps[0]
|
||||
isodate = datecomps[1]
|
||||
m = re.search('(\d\d\d\d)-(\d\d)-(\d\d)', isodate)
|
||||
m = re.search(r'(\d\d\d\d)-(\d\d)-(\d\d)', isodate)
|
||||
if m:
|
||||
dte = date(int(m.group(1)), int(m.group(2)), int(m.group(3)))
|
||||
# FIXME if we had the path to the original document (not the one in the tmp dir),
|
||||
@ -1403,11 +1403,11 @@ def revert_timeinfo(document):
|
||||
if len(timecomps) > 1:
|
||||
argv = timecomps[0]
|
||||
isotime = timecomps[1]
|
||||
m = re.search('(\d\d):(\d\d):(\d\d)', isotime)
|
||||
m = re.search(r'(\d\d):(\d\d):(\d\d)', isotime)
|
||||
if m:
|
||||
tme = time(int(m.group(1)), int(m.group(2)), int(m.group(3)))
|
||||
else:
|
||||
m = re.search('(\d\d):(\d\d)', isotime)
|
||||
m = re.search(r'(\d\d):(\d\d)', isotime)
|
||||
if m:
|
||||
tme = time(int(m.group(1)), int(m.group(2)))
|
||||
# FIXME if we had the path to the original document (not the one in the tmp dir),
|
||||
@ -1875,7 +1875,7 @@ def revert_new_languages(document):
|
||||
"korean": ("", "korean"),
|
||||
}
|
||||
if document.language in new_languages:
|
||||
used_languages = set((document.language, ))
|
||||
used_languages = {document.language}
|
||||
else:
|
||||
used_languages = set()
|
||||
i = 0
|
||||
@ -4100,7 +4100,7 @@ def revert_branch_darkcols(document):
|
||||
break
|
||||
k = find_token(document.header, "\\color", i, j)
|
||||
if k != -1:
|
||||
m = re.search('\\\\color (\S+) (\S+)', document.header[k])
|
||||
m = re.search('\\\\color (\\S+) (\\S+)', document.header[k])
|
||||
if m:
|
||||
document.header[k] = "\\color " + m.group(1)
|
||||
i += 1
|
||||
@ -4222,7 +4222,7 @@ def revert_vcolumns2(document):
|
||||
el = find_token(document.body, '\\strikeout on', flt, elt)
|
||||
if el != -1:
|
||||
extralines.append("\\strikeout default")
|
||||
document.body[elt:elt+1] = extralines + put_cmd_in_ert("\\end{cellvarwidth}") + ["\end_layout"]
|
||||
document.body[elt:elt+1] = extralines + put_cmd_in_ert("\\end{cellvarwidth}") + [r"\end_layout"]
|
||||
parlang = -1
|
||||
for q in range(flt, elt):
|
||||
if document.body[q] != "" and document.body[q][0] != "\\":
|
||||
|
@ -121,8 +121,8 @@ find_end_of_layout(lines, i):
|
||||
find_end_of_sequence(lines, i):
|
||||
Find the end of the sequence of layouts of the same kind.
|
||||
Considers nesting. If the last paragraph in sequence is nested,
|
||||
the position of the last \end_deeper is returned, else
|
||||
the position of the last \end_layout.
|
||||
the position of the last \\end_deeper is returned, else
|
||||
the position of the last \\end_layout.
|
||||
|
||||
is_in_inset(lines, i, inset, default=(-1,-1)):
|
||||
Check if line i is in an inset of the given type.
|
||||
@ -139,7 +139,7 @@ is_in_inset(lines, i, inset, default=(-1,-1)):
|
||||
|
||||
get_containing_inset(lines, i):
|
||||
Finds out what kind of inset line i is within. Returns a
|
||||
list containing what follows \begin_inset on the line
|
||||
list containing what follows \\begin_inset on the line
|
||||
on which the inset begins, plus the starting and ending line.
|
||||
Returns False on any kind of error or if it isn't in an inset.
|
||||
So get_containing_inset(document.body, i) might return:
|
||||
@ -470,7 +470,7 @@ def set_bool_value(lines, token, value, start=0, end=0):
|
||||
|
||||
|
||||
def get_option_value(line, option):
|
||||
rx = option + '\s*=\s*"([^"]+)"'
|
||||
rx = option + r'\s*=\s*"([^"]+)"'
|
||||
rx = re.compile(rx)
|
||||
m = rx.search(line)
|
||||
if not m:
|
||||
@ -479,12 +479,12 @@ def get_option_value(line, option):
|
||||
|
||||
|
||||
def set_option_value(line, option, value):
|
||||
rx = '(' + option + '\s*=\s*")[^"]+"'
|
||||
rx = '(' + option + r'\s*=\s*")[^"]+"'
|
||||
rx = re.compile(rx)
|
||||
m = rx.search(line)
|
||||
if not m:
|
||||
return line
|
||||
return re.sub(rx, '\g<1>' + value + '"', line)
|
||||
return re.sub(rx, r'\g<1>' + value + '"', line)
|
||||
|
||||
|
||||
def del_token(lines, token, start=0, end=0):
|
||||
@ -612,7 +612,7 @@ def is_in_inset(lines, i, inset, default=(-1,-1)):
|
||||
def get_containing_inset(lines, i):
|
||||
'''
|
||||
Finds out what kind of inset line i is within. Returns a
|
||||
list containing (i) what follows \begin_inset on the line
|
||||
list containing (i) what follows \\begin_inset on the line
|
||||
on which the inset begins, plus the starting and ending line.
|
||||
Returns False on any kind of error or if it isn't in an inset.
|
||||
'''
|
||||
|
@ -111,12 +111,12 @@ for type in types:
|
||||
|
||||
file_ext = '.' + type
|
||||
out = open(outfile, 'w')
|
||||
visited = set()
|
||||
for dir in dirs.split(path_sep):
|
||||
# for each valid directory
|
||||
if not os.path.isdir(dir):
|
||||
continue
|
||||
# walk down the file hierarchy
|
||||
visited = set()
|
||||
for root,dirs,files in os.walk(dir, followlinks=True):
|
||||
# prevent inifinite recursion
|
||||
recurse = []
|
||||
|
@ -78,7 +78,7 @@ else:
|
||||
# with tetex.
|
||||
epsfile = outbase + '.pstex'
|
||||
tmp = mkstemp()
|
||||
boundingboxline = re.compile(b'%%BoundingBox:\s+(\d*)\s+(\d*)\s+(\d*)\s+(\d*)')
|
||||
boundingboxline = re.compile(br'%%BoundingBox:\s+(\d*)\s+(\d*)\s+(\d*)\s+(\d*)')
|
||||
for line in open(epsfile, 'rb'):
|
||||
if line[:13] == b'%%BoundingBox':
|
||||
(llx, lly, urx, ury) = list(map(int, boundingboxline.search(line).groups()))
|
||||
|
@ -457,10 +457,10 @@ def convert(lines, end_format):
|
||||
re_ChapterStyle = re.compile(b'^\\s*Style\\s+Chapter\\s*$', re.IGNORECASE)
|
||||
re_InsetLayout_CaptionLTNN = re.compile(b'^(\\s*InsetLayout\\s+)(Caption:LongTableNonumber)', re.IGNORECASE)
|
||||
# for format 64
|
||||
re_trimLabelString = re.compile(b'^(\\s*LabelString\s+)"\\s*(.*?)\\s*"\\s*$')
|
||||
re_trimLabelStringAppendix = re.compile(b'^(\\s*LabelStringAppendix\s+)"\\s*(.*?)\\s*"\\s*$')
|
||||
re_trimEndLabelString = re.compile(b'^(\\s*EndLabelString\s+)"\\s*(.*?)\\s*"\\s*$')
|
||||
re_trimLabelCounter = re.compile(b'^(\\s*LabelCounter\s+)"\\s*(.*?)\\s*"\\s*$')
|
||||
re_trimLabelString = re.compile(b'^(\\s*LabelString\\s+)"\\s*(.*?)\\s*"\\s*$')
|
||||
re_trimLabelStringAppendix = re.compile(b'^(\\s*LabelStringAppendix\\s+)"\\s*(.*?)\\s*"\\s*$')
|
||||
re_trimEndLabelString = re.compile(b'^(\\s*EndLabelString\\s+)"\\s*(.*?)\\s*"\\s*$')
|
||||
re_trimLabelCounter = re.compile(b'^(\\s*LabelCounter\\s+)"\\s*(.*?)\\s*"\\s*$')
|
||||
|
||||
|
||||
# counters for sectioning styles (hardcoded in 1.3)
|
||||
|
@ -156,7 +156,7 @@ def legacy_extract_metrics_info(log_file):
|
||||
def extract_resolution(log_file, dpi):
|
||||
fontsize_re = re.compile(b"Preview: Fontsize")
|
||||
magnification_re = re.compile(b"Preview: Magnification")
|
||||
extract_decimal_re = re.compile(b"([0-9\.]+)")
|
||||
extract_decimal_re = re.compile(br"([0-9\.]+)")
|
||||
extract_integer_re = re.compile(b"([0-9]+)")
|
||||
|
||||
found_fontsize = 0
|
||||
@ -235,9 +235,9 @@ def legacy_latex_file(latex_file, fg_color, bg_color):
|
||||
else:
|
||||
tmp.write(b"""
|
||||
\\usepackage{color}
|
||||
\\definecolor{fg}{rgb}{%s}
|
||||
\\definecolor{bg}{rgb}{%s}
|
||||
\\pagecolor{bg}
|
||||
\\definecolor{lyxfg}{rgb}{%s}
|
||||
\\definecolor{lyxbg}{rgb}{%s}
|
||||
\\pagecolor{lyxbg}
|
||||
\\usepackage{polyglossia}
|
||||
""" % (fg_color_gr, bg_color_gr))
|
||||
polyglossia = True
|
||||
@ -248,16 +248,16 @@ def legacy_latex_file(latex_file, fg_color, bg_color):
|
||||
if not polyglossia:
|
||||
tmp.write(b"""
|
||||
\\usepackage{color}
|
||||
\\definecolor{fg}{rgb}{%s}
|
||||
\\definecolor{bg}{rgb}{%s}
|
||||
\\pagecolor{bg}
|
||||
\\definecolor{lyxfg}{rgb}{%s}
|
||||
\\definecolor{lyxbg}{rgb}{%s}
|
||||
\\pagecolor{lyxbg}
|
||||
\\usepackage[%s,tightpage]{preview}
|
||||
\\makeatletter
|
||||
\\def\\t@a{cmr}
|
||||
\\if\\f@family\\t@a
|
||||
\\IfFileExists{lmodern.sty}{\\usepackage{lmodern}}{\\usepackage{ae,aecompl}}
|
||||
\\fi
|
||||
\\g@addto@macro\\preview{\\begingroup\\color{bg}\\special{ps::clippath fill}\\color{fg}}
|
||||
\\g@addto@macro\\preview{\\begingroup\\color{lyxbg}\\special{ps::clippath fill}\\color{lyxfg}}
|
||||
\\g@addto@macro\\endpreview{\\endgroup}
|
||||
\\makeatother
|
||||
""" % (fg_color_gr, bg_color_gr, previewopts))
|
||||
@ -265,7 +265,7 @@ def legacy_latex_file(latex_file, fg_color, bg_color):
|
||||
tmp.write(b"""
|
||||
\\usepackage[%s,tightpage]{preview}
|
||||
\\makeatletter
|
||||
\\g@addto@macro\\preview{\\begingroup\\color{bg}\\special{ps::clippath fill}\\color{fg}}
|
||||
\\g@addto@macro\\preview{\\begingroup\\color{lyxbg}\\special{ps::clippath fill}\\color{lyxfg}}
|
||||
\\g@addto@macro\\endpreview{\\endgroup}
|
||||
\\makeatother
|
||||
""" % previewopts)
|
||||
|
@ -37,7 +37,7 @@ if running_on_windows:
|
||||
from tempfile import NamedTemporaryFile
|
||||
|
||||
# Pre-compiled regular expressions.
|
||||
re_lyxfile = re.compile(b"\.lyx$")
|
||||
re_lyxfile = re.compile(br"\.lyx$")
|
||||
re_input = re.compile(b'^(.*)\\\\(input|include){(\\s*)(.+)(\\s*)}.*$')
|
||||
re_ertinput = re.compile(b'^(input|include)({)(\\s*)(.+)(\\s*)}.*$')
|
||||
re_package = re.compile(b'^(.*)\\\\(usepackage){(\\s*)(.+)(\\s*)}.*$')
|
||||
|
@ -78,7 +78,7 @@ def find(args, path):
|
||||
# use locate if possible (faster)
|
||||
if find_exe(['locate']):
|
||||
p1 = subprocess.Popen(['locate', '-i', args[0].lower()], stdout=subprocess.PIPE)
|
||||
px = subprocess.Popen(['grep', '-Ei', '\.pdf$|\.ps$'], stdin=p1.stdout, stdout=subprocess.PIPE)
|
||||
px = subprocess.Popen(['grep', '-Ei', r'\.pdf$|\.ps$'], stdin=p1.stdout, stdout=subprocess.PIPE)
|
||||
for arg in args:
|
||||
if arg == args[0]:
|
||||
# have this already
|
||||
|
@ -120,7 +120,7 @@ def extract_metrics_info(dvipng_stdout):
|
||||
# "\[[0-9]+" can match two kinds of numbers: page numbers from dvipng
|
||||
# and glyph numbers from mktexpk. The glyph numbers always match
|
||||
# "\[[0-9]+\]" while the page number never is followed by "\]". Thus:
|
||||
page_re = re.compile("\[([0-9]+)[^]]");
|
||||
page_re = re.compile(r"\[([0-9]+)[^]]");
|
||||
metrics_re = re.compile("depth=(-?[0-9]+) height=(-?[0-9]+)")
|
||||
|
||||
success = 0
|
||||
@ -197,7 +197,7 @@ def fix_latex_file(latex_file, pdf_output):
|
||||
|
||||
|
||||
def convert_to_ppm_format(pngtopnm, basename):
|
||||
png_file_re = re.compile("\.png$")
|
||||
png_file_re = re.compile(r"\.png$")
|
||||
|
||||
for png_file in glob.glob("%s*.png" % basename):
|
||||
ppm_file = png_file_re.sub(".ppm", png_file)
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
# file lyxpreview_tools.py
|
||||
# This file is part of LyX, the document processor.
|
||||
# Licence details can be found in the file COPYING.
|
||||
|
@ -223,7 +223,7 @@ def remove_obsolete(line):
|
||||
|
||||
|
||||
def language_use_babel(line):
|
||||
if not line.lower().startswith("\language_use_babel"):
|
||||
if not line.lower().startswith(r"\language_use_babel"):
|
||||
return no_match
|
||||
re_lub = re.compile(r'^\\language_use_babel\s+"?(true|false)', re.IGNORECASE)
|
||||
m = re_lub.match(line)
|
||||
@ -364,7 +364,7 @@ def split_pdf_format(line):
|
||||
viewer = ''
|
||||
else:
|
||||
viewer = entries[5]
|
||||
converted = line.replace('application/pdf', '') + '''
|
||||
converted = line.replace('application/pdf', '') + r'''
|
||||
\Format pdf6 pdf "PDF (graphics)" "" "''' + viewer + '" "" "vector" "application/pdf"'
|
||||
return (True, converted)
|
||||
elif line.lower().startswith("\\viewer_alternatives") or \
|
||||
|
@ -261,24 +261,24 @@ Menuset
|
||||
# InsetSpace context menu
|
||||
#
|
||||
Menu "context-space"
|
||||
Item "Interword Space|w" "inset-modify space \space{}"
|
||||
Item "Protected Space|o" "inset-modify space ~"
|
||||
Item "Normal Space|e" "inset-modify space \space{}"
|
||||
Item "Non-Breaking Normal Space|o" "inset-modify space ~"
|
||||
Item "Visible Space|a" "inset-modify space \textvisiblespace{}"
|
||||
Item "Thin Space|T" "inset-modify space \thinspace{}"
|
||||
Item "Medium Space|M" "inset-modify space \medspace{}"
|
||||
Item "Thick Space|i" "inset-modify space \thickspace{}"
|
||||
Item "Negative Thin Space|N" "inset-modify space \negthinspace{}"
|
||||
Item "Negative Medium Space|v" "inset-modify space \negmedspace{}"
|
||||
Item "Negative Thick Space|h" "inset-modify space \negthickspace{}"
|
||||
Item "Half Quad Space (Enskip)|k" "inset-modify space \enskip{}"
|
||||
Item "Protected Half Quad Space (Enspace)|E" "inset-modify space \enspace{}"
|
||||
Item "Quad Space|Q" "inset-modify space \quad{}"
|
||||
Item "Double Quad Space|u" "inset-modify space \qquad{}"
|
||||
Item "Non-Breaking Thin Space (1/6 em)|T" "inset-modify space \thinspace{}"
|
||||
Item "Non-Breaking Medium Space (3/9 em)|M" "inset-modify space \medspace{}"
|
||||
Item "Non-Breaking Thick Space (5/18 em)|i" "inset-modify space \thickspace{}"
|
||||
Item "Non-Breaking Negative Thin Space (-1/6 em)|N" "inset-modify space \negthinspace{}"
|
||||
Item "Non-Breaking Negative Medium Space (-2/9 em)|v" "inset-modify space \negmedspace{}"
|
||||
Item "Non-Breaking Negative Thick Space (-5/18 em)|h" "inset-modify space \negthickspace{}"
|
||||
Item "Half Quad Space (1/2 em)|l" "inset-modify space \enskip{}"
|
||||
Item "Non-Breaking Half Quad Space (1/2 em)|k" "inset-modify space \enspace{}"
|
||||
Item "Quad Space (1 em)|Q" "inset-modify space \quad{}"
|
||||
Item "Double Quad Space (2 em)|u" "inset-modify space \qquad{}"
|
||||
Item "Horizontal Fill|F" "inset-modify space \hfill{}"
|
||||
Item "Protected Horizontal Fill|z" "inset-modify space \hspace*{\fill}"
|
||||
Item "Non-Breaking Horizontal Fill|z" "inset-modify space \hspace*{\fill}"
|
||||
Item "Horizontal Fill (Dots)|D" "inset-modify space \dotfill{}"
|
||||
Item "Horizontal Fill (Rule)|R" "inset-modify space \hrulefill{}"
|
||||
Item "Horizontal Fill (Left Arrow)|L" "inset-modify space \leftarrowfill{}"
|
||||
Item "Horizontal Fill (Left Arrow)|w" "inset-modify space \leftarrowfill{}"
|
||||
Item "Horizontal Fill (Right Arrow)|g" "inset-modify space \rightarrowfill{}"
|
||||
Item "Horizontal Fill (Up Brace)|p" "inset-modify space \upbracefill{}"
|
||||
Item "Horizontal Fill (Down Brace)|B" "inset-modify space \downbracefill{}"
|
||||
@ -309,13 +309,13 @@ Menuset
|
||||
# InsetVSpace context menu
|
||||
#
|
||||
Menu "context-vspace"
|
||||
Item "DefSkip|D" "inset-modify vspace defskip"
|
||||
Item "SmallSkip|S" "inset-modify vspace smallskip"
|
||||
Item "MedSkip|M" "inset-modify vspace medskip"
|
||||
Item "BigSkip|B" "inset-modify vspace bigskip"
|
||||
Item "Default Skip|D" "inset-modify vspace defskip"
|
||||
Item "Small Skip|S" "inset-modify vspace smallskip"
|
||||
Item "Medium Skip|M" "inset-modify vspace medskip"
|
||||
Item "Big Skip|B" "inset-modify vspace bigskip"
|
||||
Item "Half line height|H" "inset-modify vspace halfline"
|
||||
Item "Line height|L" "inset-modify vspace fullline"
|
||||
Item "VFill|F" "inset-modify vspace vfill"
|
||||
Item "Vertical Fill|F" "inset-modify vspace vfill"
|
||||
Item "Custom|C" "command-sequence inset-modify vspace custom; inset-settings"
|
||||
Separator
|
||||
Item "Settings...|e" "inset-settings"
|
||||
@ -740,14 +740,23 @@ Menuset
|
||||
Item "Giant-sized Icons" "icon-size giant"
|
||||
End
|
||||
|
||||
#
|
||||
# Status bar zoom context menu
|
||||
#
|
||||
Menu "context-zoom"
|
||||
ZoomOptions
|
||||
End
|
||||
|
||||
#
|
||||
# Status bar context menu
|
||||
#
|
||||
Menu "context-statusbar"
|
||||
ZoomOptions
|
||||
Item "Zoom Level|Z" "ui-toggle zoomlevel"
|
||||
Item "Zoom Slider|S" "ui-toggle zoomslider"
|
||||
Separator
|
||||
Item "Show Zoom Level|Z" "ui-toggle zoomlevel"
|
||||
Item "Show Zoom Slider|S" "ui-toggle zoomslider"
|
||||
Item "Word Count|W" "ui-toggle statistics-w"
|
||||
Item "Character Count|C" "ui-toggle statistics-cb"
|
||||
Item "Character Count (No Blanks)|h" "ui-toggle statistics-c"
|
||||
End
|
||||
|
||||
End
|
||||
|
@ -416,7 +416,7 @@ Menuset
|
||||
Item "End of Sentence|E" "specialchar-insert end-of-sentence"
|
||||
Item "Plain Quotation Mark|Q" "quote-insert outer auto plain"
|
||||
Item "Inner Quotation Mark|n" "quote-insert inner"
|
||||
Item "Protected Hyphen|y" "specialchar-insert nobreakdash"
|
||||
Item "Non-Breaking Hyphen|y" "specialchar-insert nobreakdash"
|
||||
Item "Breakable Slash|a" "specialchar-insert slash"
|
||||
Item "Visible Space|V" "space-insert visible"
|
||||
Item "Menu Separator|M" "specialchar-insert menu-separator"
|
||||
@ -452,9 +452,9 @@ Menuset
|
||||
Item "Superscript|S" "script-insert superscript"
|
||||
Item "Subscript|u" "script-insert subscript"
|
||||
Separator
|
||||
Item "Protected Space|P" "space-insert protected"
|
||||
Item "Interword Space|w" "space-insert normal"
|
||||
Item "Thin Space|T" "space-insert thin"
|
||||
Item "Normal Space|e" "space-insert normal"
|
||||
Item "Non-breaking Normal Space|p" "space-insert protected"
|
||||
Item "Non-breaking Thin Space|T" "space-insert thin"
|
||||
Item "Horizontal Space...|o" "command-alternatives dialog-show-new-inset space;dialog-show-new-inset mathspace"
|
||||
Item "Horizontal Line...|L" "dialog-show-new-inset line"
|
||||
Item "Vertical Space...|V" "dialog-show-new-inset vspace"
|
||||
|
@ -28,7 +28,7 @@
|
||||
#
|
||||
# Toolbar "name" "GUI Name"
|
||||
#
|
||||
# Only seven commands are allowed inside the Toolbar and End
|
||||
# Only eight commands are allowed inside the Toolbar and End
|
||||
# directives:
|
||||
# Item "The tooltip" "<action> [<parameter>]" adds an icon to the toolbar performing
|
||||
# "<action> <parameter>"
|
||||
@ -37,9 +37,9 @@
|
||||
# Item Emphasized set-emph
|
||||
#
|
||||
# BidiItem is like Item, but an alternative icon (with name ending
|
||||
# with "+rtl") will be used <hen the paragraph has a right-to-left
|
||||
# layout. If this alternative icon does not exist, the LtR icon will
|
||||
# be mirrored instead.
|
||||
# with "+rtl") will be used <hen the paragraph has a right-to-left
|
||||
# layout. If this alternative icon does not exist, the LtR icon will
|
||||
# be mirrored instead.
|
||||
#
|
||||
# Layouts adds the layouts combo-box to the toolbar
|
||||
#
|
||||
@ -48,23 +48,26 @@
|
||||
# Minibuffer adds the command buffer (only one may exist)
|
||||
#
|
||||
# TableInsert "The tooltip" adds a special widget for quick
|
||||
# insertion of tables
|
||||
# insertion of tables
|
||||
#
|
||||
# PopupMenu "name" "The tooltip"
|
||||
#
|
||||
# ... inserts a button with a popup menu derived from Toolbar "name"
|
||||
# ... inserts a button with a popup menu derived from Toolbar "name"
|
||||
#
|
||||
# IconPalette "name" "The tooltip"
|
||||
#
|
||||
# ... inserts a button with a popup iconpalette derived from Toolbar "name"
|
||||
# ... inserts a button with a popup icon palette derived from Toolbar "name"
|
||||
#
|
||||
#
|
||||
# The icons are found in the lib/images/ direcory under the name
|
||||
# The icons are found in the lib/images/ directory under the name
|
||||
# action.png or action_parameter.png, except for math-insert, which
|
||||
# is e.g. lib/image/math/sum.png. Note that some characters are
|
||||
# replaced (e.g. ')' -> rbracket).
|
||||
#
|
||||
# All other lyx commands will get a "unknown" icon.
|
||||
# Note that the lib/images/icon.aliases file can be used to specify
|
||||
# fallback icons for some functions.
|
||||
#
|
||||
# All other LyX commands will get a "unknown" icon.
|
||||
#
|
||||
# This is the default toolbar:
|
||||
|
||||
|
BIN
po/messages.mo
BIN
po/messages.mo
Binary file not shown.
501
po/sk.po
501
po/sk.po
@ -8,8 +8,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: LyX-2.4\n"
|
||||
"Report-Msgid-Bugs-To: lyx-devel@lists.lyx.org\n"
|
||||
"POT-Creation-Date: 2022-05-11 18:56+0200\n"
|
||||
"PO-Revision-Date: 2022-05-11 16:59+0000\n"
|
||||
"POT-Creation-Date: 2022-09-13 18:57+0200\n"
|
||||
"PO-Revision-Date: 2022-09-13 17:02+0000\n"
|
||||
"Last-Translator: Kornel Benko <kornel@lyx.org>\n"
|
||||
"Language-Team: Slovak <kornel@lyx.org>\n"
|
||||
"Language: sk\n"
|
||||
@ -1267,6 +1267,18 @@ msgstr "Vyberte dokument z ktorého chcete nastavenia kopírovať"
|
||||
msgid "Document Settings"
|
||||
msgstr "Nastavenia dokumentu"
|
||||
|
||||
#: src/frontends/qt/GuiDocument.cpp:870
|
||||
msgid "Small Skip"
|
||||
msgstr "Malá medzera(SmallSkip)"
|
||||
|
||||
#: src/frontends/qt/GuiDocument.cpp:871
|
||||
msgid "Medium Skip"
|
||||
msgstr "Stredná medzera"
|
||||
|
||||
#: src/frontends/qt/GuiDocument.cpp:872
|
||||
msgid "Big Skip"
|
||||
msgstr "Veľká medzera(BigSkip)"
|
||||
|
||||
#: src/frontends/qt/ui/CompareUi.ui:129
|
||||
msgid "O&ld Document"
|
||||
msgstr "Bý&valí dokument"
|
||||
@ -2127,6 +2139,10 @@ msgstr ""
|
||||
msgid "Sho&w in LyX"
|
||||
msgstr "Zobraziť v L&yXe"
|
||||
|
||||
#: src/frontends/qt/ui/GraphicsUi.ui:556 src/frontends/qt/ui/GraphicsUi.ui:563
|
||||
msgid "Percentage to scale by in LyX (1 to 1000)"
|
||||
msgstr "Percento zmeny zobrazenia v LyXe (1 až 1000)"
|
||||
|
||||
#: src/frontends/qt/ui/GraphicsUi.ui:566
|
||||
msgid "Sca&le on screen (%):"
|
||||
msgstr "Mierka na obra&zovke (%):"
|
||||
@ -2231,6 +2247,14 @@ msgstr "Vlastná hodnota. Potrebuje typ rozstupu \"Vlastný\"."
|
||||
msgid "&Fill Pattern:"
|
||||
msgstr "Vzor Vý&plne:"
|
||||
|
||||
#: src/frontends/qt/ui/HSpaceUi.ui:118
|
||||
msgid "&Non-Breaking:"
|
||||
msgstr "&Nerozbitný:"
|
||||
|
||||
#: src/frontends/qt/ui/HSpaceUi.ui:128
|
||||
msgid "Prevent automatic line break at the space"
|
||||
msgstr "Zabrániť automatickému zlomu riadku na medzere"
|
||||
|
||||
#: src/frontends/qt/ui/HSpaceUi.ui:123 src/frontends/qt/ui/VSpaceUi.ui:46
|
||||
msgid "&Protect:"
|
||||
msgstr "&Chrániť:"
|
||||
@ -3625,12 +3649,12 @@ msgstr "Š&tandardné zarovnanie odstavca"
|
||||
|
||||
#: src/frontends/qt/ui/ParagraphUi.ui:154
|
||||
msgid "Label Width"
|
||||
msgstr "Šírka návestie"
|
||||
msgstr "Šírka návestia"
|
||||
|
||||
#: src/frontends/qt/ui/ParagraphUi.ui:178
|
||||
#: src/frontends/qt/ui/ParagraphUi.ui:191
|
||||
msgid "This text defines the width of the paragraph label"
|
||||
msgstr "Tento text definuje šírku návestia odstavca"
|
||||
msgstr "Tento text definuje šírku návestia v odstavci"
|
||||
|
||||
#: src/frontends/qt/ui/ParagraphUi.ui:181
|
||||
msgid "Lo&ngest label"
|
||||
@ -3798,7 +3822,7 @@ msgstr "Slová kratšie ako zadané dĺžkou sa nebudú doplňovať."
|
||||
|
||||
#: src/frontends/qt/ui/PrefCompletionUi.ui:250
|
||||
msgid "Minimum characters for words that should be completed"
|
||||
msgstr "Minimálny počet písmen pre doplňovanie slov"
|
||||
msgstr "Minimálny počet znakov pre doplňovanie slov"
|
||||
|
||||
#: src/frontends/qt/ui/PrefCompletionUi.ui:275
|
||||
msgid ""
|
||||
@ -5415,9 +5439,9 @@ msgstr ""
|
||||
"Ignorovať výskyt tohto slova v tomto dokumente. Platí aj pre každé neskoršie "
|
||||
"sedenie."
|
||||
|
||||
#: src/frontends/qt/ui/SpellcheckerUi.ui:184
|
||||
#: src/frontends/qt/ui/SpellcheckerUi.ui:178
|
||||
msgid "I&gnore All"
|
||||
msgstr "Ignorovať všad&e"
|
||||
msgstr "Ignorovať &všade"
|
||||
|
||||
#: src/frontends/qt/ui/SymbolsUi.ui:40
|
||||
msgid ""
|
||||
@ -6026,22 +6050,6 @@ msgstr "Toto varovanie odteraz už &nezobrazovať!"
|
||||
msgid "Insert the spacing even after a page break"
|
||||
msgstr "Vložiť rozstup i za zalomením stránky"
|
||||
|
||||
#: src/frontends/qt/ui/VSpaceUi.ui:83
|
||||
msgid "DefSkip"
|
||||
msgstr "Štandardná medzera(DefSkip)"
|
||||
|
||||
#: src/frontends/qt/ui/VSpaceUi.ui:88 src/frontends/qt/GuiDocument.cpp:862
|
||||
msgid "SmallSkip"
|
||||
msgstr "Malá medzera(SmallSkip)"
|
||||
|
||||
#: src/frontends/qt/ui/VSpaceUi.ui:93 src/frontends/qt/GuiDocument.cpp:863
|
||||
msgid "MedSkip"
|
||||
msgstr "Stredná medzera(MedSkip)"
|
||||
|
||||
#: src/frontends/qt/ui/VSpaceUi.ui:98 src/frontends/qt/GuiDocument.cpp:864
|
||||
msgid "BigSkip"
|
||||
msgstr "Veľká medzera(BigSkip)"
|
||||
|
||||
#: src/frontends/qt/ui/VSpaceUi.ui:103 src/VSpace.cpp:201
|
||||
#: src/frontends/qt/GuiDocument.cpp:860
|
||||
msgid "Half line height"
|
||||
@ -6052,11 +6060,6 @@ msgstr "Polovičná výška riadku"
|
||||
msgid "Line height"
|
||||
msgstr "Výška riadku"
|
||||
|
||||
# Výplň
|
||||
#: src/frontends/qt/ui/VSpaceUi.ui:113
|
||||
msgid "VFill"
|
||||
msgstr "Variabilná medzera"
|
||||
|
||||
#: src/frontends/qt/ui/ViewSourceUi.ui:91
|
||||
msgid "F&ormat:"
|
||||
msgstr "&Formát:"
|
||||
@ -19690,18 +19693,61 @@ msgstr "Horizontálny fantóm|H"
|
||||
msgid "Vertical Phantom|V"
|
||||
msgstr "Vertikálny fantóm|ó"
|
||||
|
||||
#: lib/ui/stdcontext.inc:244 lib/ui/stdmenus.inc:455
|
||||
msgid "Interword Space|w"
|
||||
msgstr "Medzi-slovná medzera|e"
|
||||
#: lib/ui/stdcontext.inc:264
|
||||
msgid "Normal Space|e"
|
||||
msgstr "Normálna medzera|m"
|
||||
|
||||
#: lib/ui/stdcontext.inc:245
|
||||
msgid "Protected Space|o"
|
||||
msgstr "Chránená medzera|C"
|
||||
#: lib/ui/stdcontext.inc:265
|
||||
msgid "Non-Breaking Normal Space|o"
|
||||
msgstr "Nerozbitná normálna medzera|e"
|
||||
|
||||
#: lib/ui/stdcontext.inc:246
|
||||
msgid "Visible Space|a"
|
||||
msgstr "Viditeľná medzera|a"
|
||||
|
||||
#: lib/ui/stdcontext.inc:267
|
||||
msgid "Non-Breaking Thin Space (1/6 em)|T"
|
||||
msgstr "Nerozbitná úzka medzera (1/6 em)|ú"
|
||||
|
||||
#: lib/ui/stdcontext.inc:268
|
||||
msgid "Non-Breaking Medium Space (3/9 em)|M"
|
||||
msgstr "Nerozbitná stredná medzera (3/9 em)|b"
|
||||
|
||||
#: lib/ui/stdcontext.inc:269
|
||||
msgid "Non-Breaking Thick Space (5/18 em)|i"
|
||||
msgstr "Nerozbitná tučná medzera (5/18 em)|t"
|
||||
|
||||
#: lib/ui/stdcontext.inc:270
|
||||
msgid "Non-Breaking Negative Thin Space (-1/6 em)|N"
|
||||
msgstr "Nerozbitná záporná úzka medzera (−1/6 em)|z"
|
||||
|
||||
#: lib/ui/stdcontext.inc:271
|
||||
msgid "Non-Breaking Negative Medium Space (-2/9 em)|v"
|
||||
msgstr "Nerozbitná záporná stredná medzera (-2/9 em)|o"
|
||||
|
||||
#: lib/ui/stdcontext.inc:272
|
||||
msgid "Non-Breaking Negative Thick Space (-5/18 em)|h"
|
||||
msgstr "Nerozbitná záporná tučná medzera (-5/18 em)|č"
|
||||
|
||||
#: lib/ui/stdcontext.inc:273
|
||||
msgid "Half Quad Space (1/2 em)|l"
|
||||
msgstr "Polovica štvorčeka (1/2 em)|i"
|
||||
|
||||
# Chránená pološiroká medzera (Enspace)|k"
|
||||
#: lib/ui/stdcontext.inc:274
|
||||
msgid "Non-Breaking Half Quad Space (1/2 em)|k"
|
||||
msgstr "Nerozbitná polovica štvorčeka (1/2 em)|k"
|
||||
|
||||
# Široká medzera|Š
|
||||
#: lib/ui/stdcontext.inc:275
|
||||
msgid "Quad Space (1 em)|Q"
|
||||
msgstr "Štvorček (1 em)|Š"
|
||||
|
||||
# Dvojitá široká medzera|D
|
||||
#: lib/ui/stdcontext.inc:276
|
||||
msgid "Double Quad Space (2 em)|u"
|
||||
msgstr "Dva štvorčeky (2 em)|D"
|
||||
|
||||
#: lib/ui/stdcontext.inc:247 lib/ui/stdcontext.inc:274 lib/ui/stdmenus.inc:456
|
||||
msgid "Thin Space|T"
|
||||
msgstr "Úzka medzera|Ú"
|
||||
@ -19726,73 +19772,72 @@ msgstr "Záporná stredná medzera|o"
|
||||
msgid "Negative Thick Space|h"
|
||||
msgstr "Záporná tučná medzera|u"
|
||||
|
||||
#: lib/ui/stdcontext.inc:253 lib/ui/stdcontext.inc:280
|
||||
# Pološiroká medzera (Enskip)|i
|
||||
#: lib/ui/stdcontext.inc:273 lib/ui/stdcontext.inc:300
|
||||
msgid "Half Quad Space (Enskip)|k"
|
||||
msgstr "Polovička Quad medzery (Enskip)|i"
|
||||
msgstr "Polovica štvorčeka (Enskip)|i"
|
||||
|
||||
#: lib/ui/stdcontext.inc:254
|
||||
msgid "Protected Half Quad Space (Enspace)|E"
|
||||
msgstr "Chránená polovička Quad medzery (Enspace)|E"
|
||||
|
||||
#: lib/ui/stdcontext.inc:255 lib/ui/stdcontext.inc:281
|
||||
# Široká medzera|Š
|
||||
#: lib/ui/stdcontext.inc:275 lib/ui/stdcontext.inc:301
|
||||
msgid "Quad Space|Q"
|
||||
msgstr "Quad medzera|Q"
|
||||
msgstr "Štvorček (1 em)|Š"
|
||||
|
||||
#: lib/ui/stdcontext.inc:256 lib/ui/stdcontext.inc:282
|
||||
# Dvojitá široká medzera|D
|
||||
#: lib/ui/stdcontext.inc:276 lib/ui/stdcontext.inc:302
|
||||
msgid "Double Quad Space|u"
|
||||
msgstr "Dvojnásobná Quad medzera|D"
|
||||
msgstr "Dva štvorčeky (2 em)|D"
|
||||
|
||||
#: lib/ui/stdcontext.inc:257
|
||||
#: lib/ui/stdcontext.inc:277
|
||||
msgid "Horizontal Fill|F"
|
||||
msgstr "Variabilná horizontálna medzera|h"
|
||||
msgstr "Horizontálna výplň|h"
|
||||
|
||||
#: lib/ui/stdcontext.inc:258
|
||||
msgid "Protected Horizontal Fill|z"
|
||||
msgstr "Chránená horizontálna medzera|á"
|
||||
#: lib/ui/stdcontext.inc:278
|
||||
msgid "Non-Breaking Horizontal Fill|z"
|
||||
msgstr "Nerozbitná horizontálna výplň|á"
|
||||
|
||||
#: lib/ui/stdcontext.inc:259
|
||||
#: lib/ui/stdcontext.inc:279
|
||||
msgid "Horizontal Fill (Dots)|D"
|
||||
msgstr "Variabilná horizontálna medzera(Bodky)|y"
|
||||
msgstr "Horizontálna výplň (Bodky)|y"
|
||||
|
||||
#: lib/ui/stdcontext.inc:260
|
||||
#: lib/ui/stdcontext.inc:280
|
||||
msgid "Horizontal Fill (Rule)|R"
|
||||
msgstr "Variabilná horizontálna medzera (Línia)|í"
|
||||
msgstr "Horizontálna výplň (Línia)|í"
|
||||
|
||||
#: lib/ui/stdcontext.inc:261
|
||||
msgid "Horizontal Fill (Left Arrow)|L"
|
||||
msgstr "Variabilná horizontálna medzera(Šípka doľava)|ľ"
|
||||
#: lib/ui/stdcontext.inc:281
|
||||
msgid "Horizontal Fill (Left Arrow)|w"
|
||||
msgstr "Horizontálna výplň (Šípka doľava)|ľ"
|
||||
|
||||
#: lib/ui/stdcontext.inc:262
|
||||
#: lib/ui/stdcontext.inc:282
|
||||
msgid "Horizontal Fill (Right Arrow)|g"
|
||||
msgstr "Variabilná horizontálna medzera(Šípka doprava)|p"
|
||||
msgstr "Horizontálna výplň (Šípka doprava)|p"
|
||||
|
||||
#: lib/ui/stdcontext.inc:263
|
||||
#: lib/ui/stdcontext.inc:283
|
||||
msgid "Horizontal Fill (Up Brace)|p"
|
||||
msgstr "Variabilná horizontálna medzera(Svorka nahor)|r"
|
||||
msgstr "Horizontálna výplň (Svorka nahor)|r"
|
||||
|
||||
#: lib/ui/stdcontext.inc:264
|
||||
#: lib/ui/stdcontext.inc:284
|
||||
msgid "Horizontal Fill (Down Brace)|B"
|
||||
msgstr "Variabilná horizontálna medzera(Svorka nadol)|l"
|
||||
msgstr "Horizontálna výplň (Svorka nadol)|l"
|
||||
|
||||
#: lib/ui/stdcontext.inc:265 lib/ui/stdcontext.inc:283
|
||||
msgid "Custom Length|C"
|
||||
msgstr "Vlastná dĺžka|V"
|
||||
|
||||
#: lib/ui/stdcontext.inc:292
|
||||
msgid "DefSkip|D"
|
||||
msgstr "Štandardná medzera(DefSkip)|t"
|
||||
#: lib/ui/stdcontext.inc:312
|
||||
msgid "Default Skip|D"
|
||||
msgstr "Štandardné riadkovanie|t"
|
||||
|
||||
#: lib/ui/stdcontext.inc:293
|
||||
msgid "SmallSkip|S"
|
||||
msgstr "Malá medzera(SmallSkip)|M"
|
||||
#: lib/ui/stdcontext.inc:313
|
||||
msgid "Small Skip|S"
|
||||
msgstr "Malá medzera|M"
|
||||
|
||||
#: lib/ui/stdcontext.inc:294
|
||||
msgid "MedSkip|M"
|
||||
msgstr "Stredná medzera(MedSkip)|S"
|
||||
#: lib/ui/stdcontext.inc:314
|
||||
msgid "Medium Skip|M"
|
||||
msgstr "Stredná medzera|S"
|
||||
|
||||
#: lib/ui/stdcontext.inc:295
|
||||
msgid "BigSkip|B"
|
||||
msgstr "Veľká medzera(BigSkip)|e"
|
||||
#: lib/ui/stdcontext.inc:315
|
||||
msgid "Big Skip|B"
|
||||
msgstr "Veľká medzera|e"
|
||||
|
||||
#: lib/ui/stdcontext.inc:296
|
||||
msgid "Half line height|H"
|
||||
@ -19802,10 +19847,9 @@ msgstr "Polovičná výška riadku|P"
|
||||
msgid "Line height|L"
|
||||
msgstr "Výška riadku|š"
|
||||
|
||||
# Výplň
|
||||
#: lib/ui/stdcontext.inc:298
|
||||
msgid "VFill|F"
|
||||
msgstr "Variabilná medzera|r"
|
||||
#: lib/ui/stdcontext.inc:318
|
||||
msgid "Vertical Fill|F"
|
||||
msgstr "Vertikálna výplň|r"
|
||||
|
||||
#: lib/ui/stdcontext.inc:299
|
||||
msgid "Custom|C"
|
||||
@ -19883,9 +19927,9 @@ msgstr "Externe upraviť…"
|
||||
msgid "End Editing Externally..."
|
||||
msgstr "Externú úpravu dokončiť…"
|
||||
|
||||
#: lib/ui/stdcontext.inc:360
|
||||
#: lib/ui/stdcontext.inc:380
|
||||
msgid "Split Inset|t"
|
||||
msgstr "Rozdeliť vložku"
|
||||
msgstr "Rozdeliť vložku| "
|
||||
|
||||
#: lib/ui/stdcontext.inc:362
|
||||
msgid "Jump Back to Saved Bookmark|B"
|
||||
@ -19895,9 +19939,9 @@ msgstr "Skoč späť na uloženú záložku|S"
|
||||
msgid "Forward Search|F"
|
||||
msgstr "Dopredu hľadať|a"
|
||||
|
||||
#: lib/ui/stdcontext.inc:365 lib/ui/stdmenus.inc:120
|
||||
#: lib/ui/stdcontext.inc:385 lib/ui/stdmenus.inc:120
|
||||
msgid "Move Paragraph Up|o"
|
||||
msgstr "Presunúť odstavec nahor|d"
|
||||
msgstr "Presunúť odstavec nahor|h"
|
||||
|
||||
#: lib/ui/stdcontext.inc:366 lib/ui/stdmenus.inc:121
|
||||
msgid "Move Paragraph Down|v"
|
||||
@ -19915,9 +19959,9 @@ msgstr "Znížiť úroveň sekcie|í"
|
||||
msgid "Move Section Down|D"
|
||||
msgstr "Presunúť sekciu nadol|r"
|
||||
|
||||
#: lib/ui/stdcontext.inc:373 lib/ui/stdcontext.inc:661
|
||||
#: lib/ui/stdcontext.inc:393 lib/ui/stdcontext.inc:681
|
||||
msgid "Move Section Up|U"
|
||||
msgstr "Presunúť sekciu nahor|c"
|
||||
msgstr "Presunúť sekciu nahor|r"
|
||||
|
||||
#: lib/ui/stdcontext.inc:375
|
||||
msgid "Insert Regular Expression"
|
||||
@ -19931,13 +19975,13 @@ msgstr "Akceptovať zmenu|e"
|
||||
msgid "Reject Change|j"
|
||||
msgstr "Odmietnuť zmenu|m"
|
||||
|
||||
#: lib/ui/stdcontext.inc:380 lib/ui/stdmenus.inc:124
|
||||
#: lib/ui/stdcontext.inc:400 lib/ui/stdmenus.inc:124
|
||||
msgid "Text Properties|x"
|
||||
msgstr "Vlastnosti textu|u"
|
||||
msgstr "Vlastnosti textu|x"
|
||||
|
||||
#: lib/ui/stdcontext.inc:381 lib/ui/stdmenus.inc:125
|
||||
#: lib/ui/stdcontext.inc:401 lib/ui/stdmenus.inc:125
|
||||
msgid "Custom Text Styles|S"
|
||||
msgstr "Vlastné štýly textu|x"
|
||||
msgstr "Vlastné štýly textu|š"
|
||||
|
||||
#: lib/ui/stdcontext.inc:382 lib/ui/stdmenus.inc:123
|
||||
msgid "Paragraph Settings...|P"
|
||||
@ -20176,17 +20220,17 @@ msgstr "Odmietnuť zmenu|d"
|
||||
msgid "Promote Section|P"
|
||||
msgstr "Zvýšiť úroveň sekcie|i"
|
||||
|
||||
#: lib/ui/stdcontext.inc:660
|
||||
#: lib/ui/stdcontext.inc:680
|
||||
msgid "Demote Section|D"
|
||||
msgstr "Znížiť úroveň sekcie|n"
|
||||
msgstr "Znížiť úroveň sekcie|Z"
|
||||
|
||||
#: lib/ui/stdcontext.inc:662
|
||||
#: lib/ui/stdcontext.inc:682
|
||||
msgid "Move Section Down|w"
|
||||
msgstr "Presunúť sekciu nadol|P"
|
||||
msgstr "Presunúť sekciu nadol|l"
|
||||
|
||||
#: lib/ui/stdcontext.inc:664
|
||||
#: lib/ui/stdcontext.inc:684
|
||||
msgid "Select Section|S"
|
||||
msgstr "Vybrať sekciu|V"
|
||||
msgstr "Vybrať sekciu|y"
|
||||
|
||||
#: lib/ui/stdcontext.inc:672
|
||||
msgid "Wrap by Preview|y"
|
||||
@ -20221,12 +20265,24 @@ msgid "Giant-sized Icons"
|
||||
msgstr "Gigantické ikony"
|
||||
|
||||
#: lib/ui/stdcontext.inc:732
|
||||
msgid "Show Zoom Level|Z"
|
||||
msgstr "Ukáž úroveň lupy|U"
|
||||
msgid "Zoom Level|Z"
|
||||
msgstr "Úroveň lupy|U"
|
||||
|
||||
#: lib/ui/stdcontext.inc:733
|
||||
msgid "Show Zoom Slider|S"
|
||||
msgstr "Ukáž posuvník lupy|p"
|
||||
msgid "Zoom Slider|S"
|
||||
msgstr "Posuvník lupy|P"
|
||||
|
||||
#: lib/ui/stdcontext.inc:735
|
||||
msgid "Word Count|W"
|
||||
msgstr "Počet slov|s"
|
||||
|
||||
#: lib/ui/stdcontext.inc:736
|
||||
msgid "Character Count|C"
|
||||
msgstr "Počet znakov|z"
|
||||
|
||||
#: lib/ui/stdcontext.inc:742
|
||||
msgid "Character Count (No Blanks)|h"
|
||||
msgstr "Počet znakov (bez medzier)|m"
|
||||
|
||||
#: lib/ui/stdmenus.inc:30
|
||||
msgid "File|F"
|
||||
@ -20933,8 +20989,8 @@ msgid "Inner Quotation Mark|n"
|
||||
msgstr "Vnútorná úvodzovka|n"
|
||||
|
||||
#: lib/ui/stdmenus.inc:418
|
||||
msgid "Protected Hyphen|y"
|
||||
msgstr "Chránený spojovník|C"
|
||||
msgid "Non-Breaking Hyphen|y"
|
||||
msgstr "Nerozbitný spojovník|b"
|
||||
|
||||
#: lib/ui/stdmenus.inc:419
|
||||
msgid "Breakable Slash|a"
|
||||
@ -21024,9 +21080,13 @@ msgstr "Horný index|H"
|
||||
msgid "Subscript|u"
|
||||
msgstr "Dolný index|D"
|
||||
|
||||
#: lib/ui/stdmenus.inc:454
|
||||
msgid "Protected Space|P"
|
||||
msgstr "Chránená medzera|m"
|
||||
#: lib/ui/stdmenus.inc:455
|
||||
msgid "Non-breaking Normal Space|p"
|
||||
msgstr "Nerozbitná normálna medzera|t"
|
||||
|
||||
#: lib/ui/stdmenus.inc:456
|
||||
msgid "Non-breaking Thin Space|T"
|
||||
msgstr "Nerozbitná úzka medzera|e"
|
||||
|
||||
#: lib/ui/stdmenus.inc:457
|
||||
msgid "Horizontal Space...|o"
|
||||
@ -22208,7 +22268,7 @@ msgstr "Kvadratická medzera\t\\quad"
|
||||
|
||||
#: lib/ui/stdtoolbars.inc:396
|
||||
msgid "Double quadratin space\t\\qquad"
|
||||
msgstr "Dvojitá kvadratická\t\\qquad"
|
||||
msgstr "Dvojitá kvadratická medzera\t\\qquad"
|
||||
|
||||
#: lib/ui/stdtoolbars.inc:397
|
||||
msgid "Negative space\t\\!"
|
||||
@ -27971,10 +28031,6 @@ msgstr "Už nie je viac vložiek"
|
||||
msgid "Save bookmark"
|
||||
msgstr "Uložiť záložku"
|
||||
|
||||
#: src/BufferView.cpp:1054
|
||||
msgid "Converting document to new document class..."
|
||||
msgstr "Prevádzam dokument do novej triedy dokumentov…"
|
||||
|
||||
#: src/BufferView.cpp:1099
|
||||
msgid "Document is read-only"
|
||||
msgstr "Dokument je iba na čítanie"
|
||||
@ -28042,23 +28098,23 @@ msgstr "%1$d slov"
|
||||
msgid "One word"
|
||||
msgstr "Jedno slovo"
|
||||
|
||||
#: src/BufferView.cpp:1836
|
||||
#: src/BufferView.cpp:1879
|
||||
#, c-format
|
||||
msgid "%1$d characters (including blanks)"
|
||||
msgstr "%1$d znakov (spolu s medzerami)"
|
||||
msgid "%1$d characters"
|
||||
msgstr "%1$d (znakov)"
|
||||
|
||||
#: src/BufferView.cpp:1839
|
||||
msgid "One character (including blanks)"
|
||||
msgstr "Jeden znak (aj medzere)"
|
||||
#: src/BufferView.cpp:1881
|
||||
msgid "One character"
|
||||
msgstr "Jeden znak"
|
||||
|
||||
#: src/BufferView.cpp:1842
|
||||
#: src/BufferView.cpp:1884
|
||||
#, c-format
|
||||
msgid "%1$d characters (excluding blanks)"
|
||||
msgid "%1$d characters (no blanks)"
|
||||
msgstr "%1$d znakov (bez medzier)"
|
||||
|
||||
#: src/BufferView.cpp:1845
|
||||
msgid "One character (excluding blanks)"
|
||||
msgstr "Jeden znak (bez medzier)"
|
||||
#: src/BufferView.cpp:1886
|
||||
msgid "One character (no blanks)"
|
||||
msgstr "Jeden znak (nie medzera)"
|
||||
|
||||
#: src/BufferView.cpp:1847
|
||||
msgid "Statistics"
|
||||
@ -30056,12 +30112,12 @@ msgstr ""
|
||||
"UI (užívateľské rozhranie) súbor. Môžete použiť absolútnu cestu, alebo LyX "
|
||||
"bude hľadať v globálnych a lokálnych ui/ adresároch."
|
||||
|
||||
#: src/LyXRC.cpp:3400
|
||||
#: src/LyXRC.cpp:3472
|
||||
msgid ""
|
||||
"Enable use the system colors for some things like main window background and "
|
||||
"selection."
|
||||
msgstr ""
|
||||
"Umožniť používane farieb systému pre niektoré predmety ako pozadie hlavného "
|
||||
"Umožniť používanie farieb systému pre niektoré predmety ako pozadie hlavného "
|
||||
"okna a výber."
|
||||
|
||||
#: src/LyXRC.cpp:3404
|
||||
@ -30713,9 +30769,9 @@ msgstr "Blokovanie súborov aktívne."
|
||||
msgid "Do not forget to commit the locking property into the repository."
|
||||
msgstr "Nezabudnite zapísať blokovaciu vlastnosť do repozitára."
|
||||
|
||||
#: src/VSpace.cpp:189
|
||||
#: src/VSpace.cpp:189 src/frontends/qt/ui/VSpaceUi.ui:83
|
||||
msgid "Default skip"
|
||||
msgstr "Štd. riadkovanie"
|
||||
msgstr "Štandardné riadkovanie"
|
||||
|
||||
#: src/VSpace.cpp:192
|
||||
msgid "Small skip"
|
||||
@ -30729,9 +30785,9 @@ msgstr "Stredná"
|
||||
msgid "Big skip"
|
||||
msgstr "Veľká"
|
||||
|
||||
#: src/VSpace.cpp:207
|
||||
#: src/VSpace.cpp:207 src/frontends/qt/ui/VSpaceUi.ui:113
|
||||
msgid "Vertical fill"
|
||||
msgstr "Variabilné"
|
||||
msgstr "Vertikálna výplň"
|
||||
|
||||
#: src/VSpace.cpp:214
|
||||
msgid "protected"
|
||||
@ -32670,61 +32726,61 @@ msgid "&Clipart"
|
||||
msgstr "&Grafika"
|
||||
|
||||
#: src/frontends/qt/GuiHSpace.cpp:44 src/insets/InsetSpace.cpp:68
|
||||
msgid "Interword Space"
|
||||
msgstr "Medzi-slovná medzera"
|
||||
msgid "Normal Space"
|
||||
msgstr "Normálna medzera"
|
||||
|
||||
#: src/frontends/qt/GuiHSpace.cpp:45 src/insets/InsetSpace.cpp:77
|
||||
msgid "Thin Space"
|
||||
msgstr "Úzka medzera"
|
||||
#: src/frontends/qt/GuiHSpace.cpp:45
|
||||
msgid "Thin Space (1/6 em)"
|
||||
msgstr "Úzka medzera (1/6 em)"
|
||||
|
||||
#: src/frontends/qt/GuiHSpace.cpp:46 src/insets/InsetSpace.cpp:80
|
||||
msgid "Medium Space"
|
||||
msgstr "Stredná medzera"
|
||||
#: src/frontends/qt/GuiHSpace.cpp:46
|
||||
msgid "Medium Space (2/9 em)"
|
||||
msgstr "Stredná medzera (2/9 em)"
|
||||
|
||||
#: src/frontends/qt/GuiHSpace.cpp:47 src/insets/InsetSpace.cpp:83
|
||||
msgid "Thick Space"
|
||||
msgstr "Tučná medzera"
|
||||
#: src/frontends/qt/GuiHSpace.cpp:47
|
||||
msgid "Thick Space (5/18 em)"
|
||||
msgstr "Tučná medzera (5/18 em)"
|
||||
|
||||
#: src/frontends/qt/GuiHSpace.cpp:48 src/insets/InsetSpace.cpp:98
|
||||
msgid "Negative Thin Space"
|
||||
msgstr "Záporná úzka medzera"
|
||||
#: src/frontends/qt/GuiHSpace.cpp:48
|
||||
msgid "Negative Thin Space (−1/6 em)"
|
||||
msgstr "Záporná úzka medzera (−1/6 em)"
|
||||
|
||||
#: src/frontends/qt/GuiHSpace.cpp:49 src/insets/InsetSpace.cpp:101
|
||||
msgid "Negative Medium Space"
|
||||
msgstr "Záporná stredná medzera"
|
||||
#: src/frontends/qt/GuiHSpace.cpp:49
|
||||
msgid "Negative Medium Space (−2/9 em)"
|
||||
msgstr "Záporná stredná medzera (−2/9 em)"
|
||||
|
||||
#: src/frontends/qt/GuiHSpace.cpp:50 src/insets/InsetSpace.cpp:104
|
||||
msgid "Negative Thick Space"
|
||||
msgstr "Záporná tučná medzera"
|
||||
#: src/frontends/qt/GuiHSpace.cpp:50
|
||||
msgid "Negative Thick Space (−5/18 em)"
|
||||
msgstr "Záporná tučná medzera (−5/18 em)"
|
||||
|
||||
#: src/frontends/qt/GuiHSpace.cpp:51
|
||||
msgid "Half Quad (0.5 em)"
|
||||
msgstr "0.5 em"
|
||||
msgid "Half Quad (1/2 em)"
|
||||
msgstr "Polovica štvorčeka (1/2 em)"
|
||||
|
||||
#: src/frontends/qt/GuiHSpace.cpp:52
|
||||
msgid "Quad (1 em)"
|
||||
msgstr "1 em"
|
||||
msgstr "Štvorček (1 em)"
|
||||
|
||||
#: src/frontends/qt/GuiHSpace.cpp:53
|
||||
msgid "Double Quad (2 em)"
|
||||
msgstr "Dvojité Quad (2 em)"
|
||||
msgstr "Dva štvorčeky (2 em)"
|
||||
|
||||
#: src/frontends/qt/GuiHSpace.cpp:54 src/insets/InsetSpace.cpp:107
|
||||
msgid "Horizontal Fill"
|
||||
msgstr "Variabilná horizontálna medzera"
|
||||
msgstr "Horizontálna výplň"
|
||||
|
||||
#: src/frontends/qt/GuiHSpace.cpp:56 src/insets/InsetSpace.cpp:74
|
||||
msgid "Visible Space"
|
||||
msgstr "Viditeľná medzera"
|
||||
|
||||
#: src/frontends/qt/GuiHSpace.cpp:208
|
||||
#: src/frontends/qt/GuiHSpace.cpp:217
|
||||
msgid ""
|
||||
"Insert the spacing even after a line break.\n"
|
||||
"Note that a protected Half Quad will be turned into\n"
|
||||
"a vertical space if used at the beginning of a paragraph!"
|
||||
msgstr ""
|
||||
"Vložiť rozstup i za koniec riadku.\n"
|
||||
"Pozn. - chránená polovičná Quad medzera sa zmení na\n"
|
||||
"Pozn. - chránená polovica štvorčeka sa zmení na\n"
|
||||
"vertikálnu medzeru, keď bude použitá na začiatku odstavca!"
|
||||
|
||||
#: src/frontends/qt/GuiHSpace.h:39
|
||||
@ -33434,6 +33490,10 @@ msgstr ""
|
||||
"Nemôžte zmeniť skratku formátu používané konvertorom. Odstráňte najprv "
|
||||
"konvertor."
|
||||
|
||||
#: src/frontends/qt/GuiPrefs.cpp:2329 src/frontends/qt/GuiPrefs.cpp:2354
|
||||
msgid "System Default"
|
||||
msgstr "Systémový Štandard"
|
||||
|
||||
#: src/frontends/qt/GuiPrefs.cpp:2368
|
||||
msgid "Cannot remove a Format used by a Converter. Remove the converter first."
|
||||
msgstr ""
|
||||
@ -34153,6 +34213,40 @@ msgstr "Ukončiť LyX"
|
||||
msgid "LyX could not be closed because documents are being processed by LyX."
|
||||
msgstr "Nemohol som zavrieť LyX, lebo LyX ešte spracováva dokumenty."
|
||||
|
||||
#: src/frontends/qt/GuiView.cpp:1461
|
||||
#, c-format
|
||||
msgid "%1$d Word"
|
||||
msgstr "%1$d (Počet slov)"
|
||||
|
||||
#: src/frontends/qt/GuiView.cpp:1463
|
||||
#, c-format
|
||||
msgid "%1$d Words"
|
||||
msgstr "%1$d (Počet slov)"
|
||||
|
||||
#: src/frontends/qt/GuiView.cpp:1468
|
||||
#, c-format
|
||||
msgid "%1$d Character"
|
||||
msgstr "%1$d (Počet znakov)"
|
||||
|
||||
#: src/frontends/qt/GuiView.cpp:1470
|
||||
#, c-format
|
||||
msgid "%1$d Characters"
|
||||
msgstr "%1$d (Počet znakov)"
|
||||
|
||||
#: src/frontends/qt/GuiView.cpp:1475
|
||||
#, c-format
|
||||
msgid "%1$d Character (no Blanks)"
|
||||
msgstr "%1$d (Počet znakov bez medzier)"
|
||||
|
||||
#: src/frontends/qt/GuiView.cpp:1477
|
||||
#, c-format
|
||||
msgid "%1$d Characters (no Blanks)"
|
||||
msgstr "%1$d (Počet znakov bez medzier)"
|
||||
|
||||
#: src/frontends/qt/GuiView.cpp:1479
|
||||
msgid ", [[stats separator]]"
|
||||
msgstr ", "
|
||||
|
||||
#: src/frontends/qt/GuiView.cpp:1245
|
||||
#, c-format
|
||||
msgid "%1$s (modified externally)"
|
||||
@ -35305,6 +35399,20 @@ msgstr ""
|
||||
"Štatus vetvy '%1$s v hlavnom dokumente sa zmenil. Zaistite uloženie hlavného "
|
||||
"dokument."
|
||||
|
||||
#: src/insets/InsetCaption.cpp:333
|
||||
msgid ""
|
||||
"Standard captions are not allowed outside floats. You will get a LaTeX "
|
||||
"error.\n"
|
||||
"For captions outside floats, you can use the 'nonfloat' LaTeX package."
|
||||
msgstr ""
|
||||
"Štandardný popis sa mimo plávajúceho objektu nepripúšťa. LaTeX to dá ako "
|
||||
"chybu.\n"
|
||||
"Pre popisy mimo plávajúcich objektov sa môže použiť LaTeX-balík 'nonfloat'."
|
||||
|
||||
#: src/insets/InsetCaption.cpp:416
|
||||
msgid "Orphaned caption:"
|
||||
msgstr "Osirelý popis:"
|
||||
|
||||
#: src/insets/InsetCaption.cpp:423
|
||||
#, c-format
|
||||
msgid "Sub-%1$s"
|
||||
@ -36516,52 +36624,80 @@ msgid "superscript"
|
||||
msgstr "horný index"
|
||||
|
||||
#: src/insets/InsetSpace.cpp:71
|
||||
msgid "Protected Space"
|
||||
msgstr "Chránená medzera"
|
||||
msgid "Non-Breaking Normal Space"
|
||||
msgstr "Nerozbitná normálna medzera"
|
||||
|
||||
#: src/insets/InsetSpace.cpp:74
|
||||
msgid "Non-Breaking Visible Normal Space"
|
||||
msgstr "Nerozbitná viditeľná normálna medzera"
|
||||
|
||||
#: src/insets/InsetSpace.cpp:77
|
||||
msgid "Non-Breaking Thin Space (1/6 em)"
|
||||
msgstr "Nerozbitná úzka medzera (1/6 em)"
|
||||
|
||||
#: src/insets/InsetSpace.cpp:80
|
||||
msgid "Non-Breaking Medium Space (2/9 em)"
|
||||
msgstr "Nerozbitná stredná medzera (2/9 em)"
|
||||
|
||||
#: src/insets/InsetSpace.cpp:83
|
||||
msgid "Non-Breaking Thick Space (5/18 em)"
|
||||
msgstr "Nerozbitná tučná medzera (5/18 em)"
|
||||
|
||||
#: src/insets/InsetSpace.cpp:86
|
||||
msgid "Quad Space"
|
||||
msgstr "Quad medzera"
|
||||
msgid "Quad Space (1 em)"
|
||||
msgstr "Štvorček (1 em)"
|
||||
|
||||
#: src/insets/InsetSpace.cpp:89
|
||||
msgid "Double Quad Space"
|
||||
msgstr "Dvojnásobná Quad medzera"
|
||||
msgid "Double Quad Space (2 em)"
|
||||
msgstr "Dva štvorčeky (2 em)"
|
||||
|
||||
#: src/insets/InsetSpace.cpp:92
|
||||
msgid "Enspace"
|
||||
msgstr "En-medzera (Enspace)"
|
||||
msgid "Non-Breaking Half Quad Space (1/2 em)"
|
||||
msgstr "Nerozbitná polovica štvorčeka (1/2 em)"
|
||||
|
||||
#: src/insets/InsetSpace.cpp:95
|
||||
msgid "Enskip"
|
||||
msgstr "En-medzera (Enskip)"
|
||||
msgid "Half Quad Space (1/2 em)"
|
||||
msgstr "Polovica štvorčeka (1/2 em)"
|
||||
|
||||
#: src/insets/InsetSpace.cpp:98
|
||||
msgid "Non-Breaking Negative Thin Space (-1/6 em)"
|
||||
msgstr "Nerozbitná záporná úzka medzera (-1/6 em)"
|
||||
|
||||
#: src/insets/InsetSpace.cpp:101
|
||||
msgid "Non-Breaking Negative Medium Space (-2/9 em)"
|
||||
msgstr "Nerozbitná záporná stredná medzera (-2/9 em)"
|
||||
|
||||
#: src/insets/InsetSpace.cpp:104
|
||||
msgid "Non-Breaking Negative Thick Space (-5/18 em)"
|
||||
msgstr "Nerozbitná záporná tučná medzera (-5/18 em)"
|
||||
|
||||
#: src/insets/InsetSpace.cpp:110
|
||||
msgid "Protected Horizontal Fill"
|
||||
msgstr "Chránená variabilná horizontálna medzera"
|
||||
msgid "Non-Breaking Horizontal Fill"
|
||||
msgstr "Nerozbitná horizontálna výplň"
|
||||
|
||||
#: src/insets/InsetSpace.cpp:113
|
||||
msgid "Horizontal Fill (Dots)"
|
||||
msgstr "Variabilná horizontálna medzera(Bodky)"
|
||||
msgid "Non-Breaking Horizontal Fill (Dots)"
|
||||
msgstr "Nerozbitná horizontálna výplň (Bodky)"
|
||||
|
||||
#: src/insets/InsetSpace.cpp:116
|
||||
msgid "Horizontal Fill (Rule)"
|
||||
msgstr "Variabilná horizontálna medzera (línia)"
|
||||
msgid "Non-Breaking Horizontal Fill (Rule)"
|
||||
msgstr "Nerozbitná horizontálna výplň (línia)"
|
||||
|
||||
#: src/insets/InsetSpace.cpp:119
|
||||
msgid "Horizontal Fill (Left Arrow)"
|
||||
msgstr "Variabilná horizontálna medzera(šípka doľava)"
|
||||
msgid "Non-Breaking Horizontal Fill (Left Arrow)"
|
||||
msgstr "Nerozbitná horizontálna výplň (šípka doľava)"
|
||||
|
||||
#: src/insets/InsetSpace.cpp:122
|
||||
msgid "Horizontal Fill (Right Arrow)"
|
||||
msgstr "Variabilná horizontálna medzera(šípka doprava)"
|
||||
msgid "Non-Breaking Horizontal Fill (Right Arrow)"
|
||||
msgstr "Nerozbitná horizontálna výplň (šípka doprava)"
|
||||
|
||||
#: src/insets/InsetSpace.cpp:125
|
||||
msgid "Horizontal Fill (Up Brace)"
|
||||
msgstr "Variabilná horizontálna medzera(svorka nahor)"
|
||||
msgid "Non-Breaking Horizontal Fill (Up Brace)"
|
||||
msgstr "Nerozbitná horizontálna výplň (svorka nahor)"
|
||||
|
||||
#: src/insets/InsetSpace.cpp:128
|
||||
msgid "Horizontal Fill (Down Brace)"
|
||||
msgstr "Variabilná horizontálna medzera(svorka nadol)"
|
||||
msgid "Non-Breaking Horizontal Fill (Down Brace)"
|
||||
msgstr "Nerozbitná horizontálna výplň (svorka nadol)"
|
||||
|
||||
#: src/insets/InsetSpace.cpp:132
|
||||
#, c-format
|
||||
@ -36570,8 +36706,8 @@ msgstr "Horizontálna medzera (%1$s)"
|
||||
|
||||
#: src/insets/InsetSpace.cpp:137
|
||||
#, c-format
|
||||
msgid "Protected Horizontal Space (%1$s)"
|
||||
msgstr "Chránená horizontálna medzera (%1$s)"
|
||||
msgid "Non-Breaking Horizontal Space (%1$s)"
|
||||
msgstr "Nerozbitná horizontálna medzera (%1$s)"
|
||||
|
||||
#: src/insets/InsetTOC.cpp:78
|
||||
msgid "Unknown TOC type"
|
||||
@ -37366,6 +37502,15 @@ msgstr ""
|
||||
msgid "Unknown user"
|
||||
msgstr "Neznámy používateľ"
|
||||
|
||||
#~ msgid "Converting document to new document class..."
|
||||
#~ msgstr "Prevádzam dokument do novej triedy dokumentov…"
|
||||
|
||||
#~ msgid "MedSkip"
|
||||
#~ msgstr "Stredná medzera(MedSkip)"
|
||||
|
||||
#~ msgid "MedSkip|M"
|
||||
#~ msgstr "Stredná medzera(MedSkip)|S"
|
||||
|
||||
#~ msgid "I&gnore formatting"
|
||||
#~ msgstr "&Ignorovať formát"
|
||||
|
||||
|
@ -1110,6 +1110,24 @@ bool Buffer::readDocument(Lexer & lex)
|
||||
}
|
||||
|
||||
|
||||
bool Buffer::isSyncTeXenabled() const
|
||||
{
|
||||
bool enabled = params().output_sync;
|
||||
|
||||
if (!enabled)
|
||||
for (auto const & c : theConverters()) {
|
||||
const string dest = c.to().substr(0,3);
|
||||
if (dest == "dvi" || dest == "pdf") {
|
||||
const string cmd = c.command();
|
||||
enabled |= cmd.find("-synctex=") != string::npos
|
||||
&& cmd.find("-synctex=0") == string::npos;
|
||||
if (enabled)
|
||||
break;
|
||||
}
|
||||
}
|
||||
return enabled;
|
||||
}
|
||||
|
||||
bool Buffer::importString(string const & format, docstring const & contents, ErrorList & errorList)
|
||||
{
|
||||
Format const * fmt = theFormats().getFormat(format);
|
||||
@ -1145,7 +1163,7 @@ bool Buffer::importFile(string const & format, FileName const & name, ErrorList
|
||||
|
||||
FileName const lyx = tempFileName("Buffer_importFileXXXXXX.lyx");
|
||||
Converters::RetVal const retval =
|
||||
theConverters().convert(nullptr, name, lyx, name, format, "lyx", errorList);
|
||||
theConverters().convert(this, name, lyx, name, format, "lyx", errorList);
|
||||
if (retval == Converters::SUCCESS) {
|
||||
bool const success = readFile(lyx) == ReadSuccess;
|
||||
removeTempFile(lyx);
|
||||
|
@ -221,6 +221,11 @@ public:
|
||||
int readHeader(Lexer & lex);
|
||||
|
||||
double fontScalingFactor() const;
|
||||
/// check for active synctex support:
|
||||
/// - either the document has synchronize output enabled or
|
||||
/// - there is a converter to dvi or pdf defined with synctex command line argument
|
||||
/// this is the "expert mode", false positives are possible
|
||||
bool isSyncTeXenabled() const;
|
||||
|
||||
private:
|
||||
///
|
||||
|
@ -1979,6 +1979,8 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features,
|
||||
if (!features.runparams().includeall && !included_children_.empty()) {
|
||||
os << "\\includeonly{";
|
||||
bool first = true;
|
||||
// we do not use "auto const &" here, because incfile is modified later
|
||||
// coverity[auto_causes_copy]
|
||||
for (auto incfile : included_children_) {
|
||||
FileName inc = makeAbsPath(incfile, filepath.absFileName());
|
||||
string mangled = DocFileName(changeExtension(inc.absFileName(), ".tex")).
|
||||
@ -2191,7 +2193,7 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features,
|
||||
os << from_utf8(output_sync_macro) +"\n";
|
||||
else if (features.runparams().flavor == Flavor::LaTeX)
|
||||
os << "\\usepackage[active]{srcltx}\n";
|
||||
else if (features.runparams().flavor == Flavor::PdfLaTeX)
|
||||
else
|
||||
os << "\\synctex=-1\n";
|
||||
}
|
||||
|
||||
@ -2275,7 +2277,7 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features,
|
||||
if (!tmppreamble.str.empty())
|
||||
atlyxpreamble << "\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% "
|
||||
"LyX specific LaTeX commands.\n"
|
||||
<< move(tmppreamble)
|
||||
<< std::move(tmppreamble)
|
||||
<< '\n';
|
||||
}
|
||||
// the text class specific preamble
|
||||
@ -3440,8 +3442,20 @@ void BufferParams::writeEncodingPreamble(otexstream & os,
|
||||
if (features.isRequired("japanese")
|
||||
|| features.isProvided("inputenc"))
|
||||
break;
|
||||
os << "\\usepackage[" << from_ascii(encoding().latexName());
|
||||
if (features.runparams().flavor == Flavor::LuaTeX
|
||||
string const doc_encoding = encoding().latexName();
|
||||
// The 2022 release of ucs.sty uses the default utf8
|
||||
// inputenc encoding with 'utf8x' inputenc if the ucs
|
||||
// package is not loaded before inputenc.
|
||||
// This breaks existing documents that use utf8x
|
||||
// and also makes utf8x redundant.
|
||||
// Thus we load ucs.sty in order to keep functionality
|
||||
// that would otherwise be silently dropped.
|
||||
if (doc_encoding == "utf8x"
|
||||
&& features.isAvailable("ucs-2022/08/07")
|
||||
&& !features.isProvided("ucs"))
|
||||
os << "\\usepackage{ucs}\n";
|
||||
os << "\\usepackage[" << from_ascii(doc_encoding);
|
||||
if (features.runparams().flavor == Flavor::LuaTeX
|
||||
|| features.runparams().flavor == Flavor::DviLuaTeX)
|
||||
os << "]{luainputenc}\n";
|
||||
else
|
||||
@ -3805,6 +3819,7 @@ void BufferParams::copyForAdvFR(const BufferParams & bp)
|
||||
{
|
||||
string const & lang = bp.language->lang();
|
||||
setLanguage(lang);
|
||||
quotes_style = bp.quotes_style;
|
||||
layout_modules_ = bp.layout_modules_;
|
||||
string const & doc_class = bp.documentClass().name();
|
||||
setBaseClass(doc_class);
|
||||
|
@ -292,6 +292,8 @@ struct BufferView::Private
|
||||
bool clickable_inset_;
|
||||
/// shape of the caret
|
||||
frontend::CaretGeometry caret_geometry_;
|
||||
///
|
||||
bool mouse_selecting_ = false;
|
||||
};
|
||||
|
||||
|
||||
@ -1089,8 +1091,6 @@ void BufferView::makeDocumentClass()
|
||||
|
||||
void BufferView::updateDocumentClass(DocumentClassConstPtr olddc)
|
||||
{
|
||||
message(_("Converting document to new document class..."));
|
||||
|
||||
StableDocIterator backcur(d->cursor_);
|
||||
ErrorList & el = buffer_.errorList("Class Switch");
|
||||
cap::switchBetweenClasses(
|
||||
@ -1719,6 +1719,8 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
|
||||
}
|
||||
if (cur.selection())
|
||||
pattern = cur.selectionAsString(false);
|
||||
else if (!cur.inTexted())
|
||||
break; // not suitable for selectWord at cursor
|
||||
else {
|
||||
pos_type spos = cur.pos();
|
||||
cur.innerText()->selectWord(cur, WHOLE_WORD);
|
||||
@ -1874,16 +1876,14 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
|
||||
message += _("One word");
|
||||
message += "\n";
|
||||
if (chars_blanks != 1)
|
||||
message += bformat(_("%1$d characters (including blanks)"),
|
||||
chars_blanks);
|
||||
message += bformat(_("%1$d characters"), chars_blanks);
|
||||
else
|
||||
message += _("One character (including blanks)");
|
||||
message += _("One character");
|
||||
message += "\n";
|
||||
if (chars != 1)
|
||||
message += bformat(_("%1$d characters (excluding blanks)"),
|
||||
chars);
|
||||
message += bformat(_("%1$d characters (no blanks)"), chars);
|
||||
else
|
||||
message += _("One character (excluding blanks)");
|
||||
message += _("One character (no blanks)");
|
||||
|
||||
Alert::information(_("Statistics"), message);
|
||||
}
|
||||
@ -2468,6 +2468,12 @@ void BufferView::clearLastInset(Inset * inset) const
|
||||
}
|
||||
|
||||
|
||||
bool BufferView::mouseSelecting() const
|
||||
{
|
||||
return d->mouse_selecting_;
|
||||
}
|
||||
|
||||
|
||||
void BufferView::mouseEventDispatch(FuncRequest const & cmd0)
|
||||
{
|
||||
//lyxerr << "[ cmd0 " << cmd0 << "]" << endl;
|
||||
@ -2490,6 +2496,9 @@ void BufferView::mouseEventDispatch(FuncRequest const & cmd0)
|
||||
d->mouse_position_cache_.x_ = cmd.x();
|
||||
d->mouse_position_cache_.y_ = cmd.y();
|
||||
|
||||
d->mouse_selecting_ =
|
||||
cmd.action() == LFUN_MOUSE_MOTION && cmd.button() == mouse_button::button1;
|
||||
|
||||
if (cmd.action() == LFUN_MOUSE_MOTION && cmd.button() == mouse_button::none) {
|
||||
updateHoveredInset();
|
||||
return;
|
||||
|
@ -375,6 +375,8 @@ public:
|
||||
bool clickableInset() const;
|
||||
///
|
||||
void makeDocumentClass();
|
||||
/// Are we currently performing a selection with the mouse?
|
||||
bool mouseSelecting() const;
|
||||
|
||||
private:
|
||||
/// noncopyable
|
||||
|
@ -15,6 +15,7 @@
|
||||
#include "Buffer.h"
|
||||
#include "BufferParams.h"
|
||||
#include "ConverterCache.h"
|
||||
#include "TextClass.h"
|
||||
#include "Encoding.h"
|
||||
#include "ErrorList.h"
|
||||
#include "Format.h"
|
||||
@ -58,6 +59,8 @@ string const token_to("$$o");
|
||||
string const token_path("$$p");
|
||||
string const token_orig_path("$$r");
|
||||
string const token_orig_from("$$f");
|
||||
string const token_textclass("$$c");
|
||||
string const token_modules("$$m");
|
||||
string const token_encoding("$$e");
|
||||
string const token_latex_encoding("$$E");
|
||||
string const token_python("$${python}");
|
||||
@ -472,7 +475,7 @@ Converters::RetVal Converters::convert(Buffer const * buffer,
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
// buffer is only invalid for importing, and then runparams is not
|
||||
// buffer can only be null for importing, and then runparams is not
|
||||
// used anyway.
|
||||
OutputParams runparams(buffer ? &buffer->params().encoding() : nullptr);
|
||||
runparams.flavor = getFlavor(edgepath, buffer);
|
||||
@ -649,7 +652,15 @@ Converters::RetVal Converters::convert(Buffer const * buffer,
|
||||
command = subst(command, token_path, quoteName(onlyPath(infile.absFileName())));
|
||||
command = subst(command, token_orig_path, quoteName(onlyPath(orig_from.absFileName())));
|
||||
command = subst(command, token_orig_from, quoteName(onlyFileName(orig_from.absFileName())));
|
||||
command = subst(command, token_encoding, buffer ? buffer->params().encoding().iconvName() : string());
|
||||
command = subst(command, token_textclass,
|
||||
buffer ? quoteName(buffer->params().documentClass().name())
|
||||
: string());
|
||||
command = subst(command, token_modules,
|
||||
buffer ? quoteName(buffer->params().getModules().asString())
|
||||
: string());
|
||||
command = subst(command, token_encoding,
|
||||
buffer ? quoteName(buffer->params().encoding().iconvName())
|
||||
: string());
|
||||
command = subst(command, token_python, os::python());
|
||||
|
||||
if (!conv.parselog().empty())
|
||||
|
@ -421,6 +421,16 @@ void Counters::reset(docstring const & match)
|
||||
}
|
||||
|
||||
|
||||
bool Counters::copy(docstring const & cnt, docstring const & newcnt)
|
||||
{
|
||||
auto const it = counterList_.find(cnt);
|
||||
if (it == counterList_.end())
|
||||
return false;
|
||||
counterList_[newcnt] = it->second;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool Counters::remove(docstring const & cnt)
|
||||
{
|
||||
bool retval = counterList_.erase(cnt);
|
||||
|
@ -162,6 +162,8 @@ public:
|
||||
void reset();
|
||||
/// Reset counters matched by match string.
|
||||
void reset(docstring const & match);
|
||||
/// Copy counter \p cnt to \p newcnt.
|
||||
bool copy(docstring const & cnt, docstring const & newcnt);
|
||||
/// Remove counter \p cnt.
|
||||
bool remove(docstring const & cnt);
|
||||
/** returns the expanded string representation of counter \c
|
||||
|
@ -289,12 +289,25 @@ pasteSelectionHelper(DocIterator const & cur, ParagraphList const & parlist,
|
||||
Change::INSERTED : Change::UNCHANGED));
|
||||
}
|
||||
|
||||
bool const empty = pars[pit].empty();
|
||||
if (!empty) {
|
||||
// Make the buf exactly the same layout as the cursor
|
||||
// paragraph.
|
||||
bool const target_empty = pars[pit].empty();
|
||||
// Use the paste content's layout, if...
|
||||
bool const paste_layout =
|
||||
// if target paragraph is empty
|
||||
(target_empty
|
||||
// ... and its layout is default
|
||||
&& (pars[pit].layout() == defaultLayout
|
||||
// ... or plain
|
||||
|| pars[pit].layout() == plainLayout
|
||||
// ... or the paste content spans several paragraphs
|
||||
|| insertion.size() > 1))
|
||||
// or if pasting is done at the beginning of paragraph
|
||||
|| (pos == 0
|
||||
// and the paste content spans several paragraphs
|
||||
&& insertion.size() > 1);
|
||||
if (!paste_layout)
|
||||
// Give the first paragraph to insert the same layout as the
|
||||
// target paragraph.
|
||||
insertion.begin()->makeSameLayout(pars[pit]);
|
||||
}
|
||||
|
||||
// Prepare the paragraphs and insets for insertion.
|
||||
insertion.swap(in.paragraphs());
|
||||
@ -458,11 +471,17 @@ pasteSelectionHelper(DocIterator const & cur, ParagraphList const & parlist,
|
||||
insertion.swap(in.paragraphs());
|
||||
|
||||
// Split the paragraph for inserting the buf if necessary.
|
||||
if (!empty)
|
||||
if (!target_empty)
|
||||
breakParagraphConservative(buffer.params(), pars, pit, pos);
|
||||
|
||||
// If multiple paragraphs are inserted before the target paragraph,
|
||||
// the cursor is now in a new paragraph before it,
|
||||
// so use layout from paste content in that case.
|
||||
if (pos == 0 && insertion.size() > 1)
|
||||
pars[pit].makeSameLayout(* insertion.begin());
|
||||
|
||||
// Paste it!
|
||||
if (empty) {
|
||||
if (target_empty) {
|
||||
pars.insert(pars.iterator_at(pit),
|
||||
insertion.begin(), insertion.end());
|
||||
|
||||
@ -491,7 +510,7 @@ pasteSelectionHelper(DocIterator const & cur, ParagraphList const & parlist,
|
||||
|
||||
// Join (conditionally) last pasted paragraph with next one, i.e.,
|
||||
// the tail of the spliced document paragraph
|
||||
if (!empty && last_paste + 1 != pit_type(pars.size())) {
|
||||
if (!target_empty && last_paste + 1 != pit_type(pars.size())) {
|
||||
if (pars[last_paste + 1].hasSameLayout(pars[last_paste])) {
|
||||
mergeParagraph(buffer.params(), pars, last_paste);
|
||||
} else if (pars[last_paste + 1].empty()) {
|
||||
@ -1299,6 +1318,7 @@ bool pasteClipboardText(Cursor & cur, ErrorList & errorList, bool asParagraphs,
|
||||
Buffer buffer(string(), false);
|
||||
buffer.setInternal(true);
|
||||
buffer.setUnnamed(true);
|
||||
buffer.params() = cur.buffer()->params();
|
||||
available = buffer.importString(names[i], text, errorList);
|
||||
if (available)
|
||||
available = !buffer.paragraphs().empty();
|
||||
|
@ -160,29 +160,30 @@ void KeyMap::unbind(KeySequence * seq, FuncRequest const & func, unsigned int r)
|
||||
KeyModifier const mod2 = seq->modifiers[r].second;
|
||||
|
||||
// check if key is already there
|
||||
vector <Table::iterator> removes;
|
||||
Table::iterator end = table.end();
|
||||
Table::iterator remove = end;
|
||||
for (Table::iterator it = table.begin(); it != end; ++it) {
|
||||
if (code == it->code
|
||||
&& mod1 == it->mod.first
|
||||
&& mod2 == it->mod.second) {
|
||||
// remove
|
||||
if (r + 1 == seq->length()) {
|
||||
if (it->func == func) {
|
||||
remove = it;
|
||||
if (it->func == func || func == FuncRequest::unknown) {
|
||||
removes.push_back(it);
|
||||
if (it->prefixes)
|
||||
it->prefixes.reset();
|
||||
}
|
||||
} else if (it->prefixes) {
|
||||
it->prefixes->unbind(seq, func, r + 1);
|
||||
if (it->prefixes->empty())
|
||||
remove = it;
|
||||
removes.push_back(it);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (remove != end)
|
||||
table.erase(remove);
|
||||
|
||||
for (unsigned i = removes.size(); i > 0; --i)
|
||||
table.erase(removes[i-1]);
|
||||
}
|
||||
|
||||
|
||||
@ -333,7 +334,7 @@ KeyMap::ReturnValues KeyMap::readWithoutConv(FileName const & bind_file, KeyMap
|
||||
string cmd = lexrc.getString();
|
||||
|
||||
FuncRequest func = lyxaction.lookupFunc(cmd);
|
||||
if (func.action() == LFUN_UNKNOWN_ACTION) {
|
||||
if (func == FuncRequest::unknown) {
|
||||
lexrc.printError("BN_BIND: Unknown LyX function `$$Token'");
|
||||
error = true;
|
||||
break;
|
||||
@ -357,13 +358,16 @@ KeyMap::ReturnValues KeyMap::readWithoutConv(FileName const & bind_file, KeyMap
|
||||
break;
|
||||
}
|
||||
string cmd = lexrc.getString();
|
||||
|
||||
FuncRequest func = lyxaction.lookupFunc(cmd);
|
||||
if (func.action() == LFUN_UNKNOWN_ACTION) {
|
||||
lexrc.printError("BN_UNBIND: Unknown LyX"
|
||||
" function `$$Token'");
|
||||
error = true;
|
||||
break;
|
||||
FuncRequest func;
|
||||
if (cmd == "*")
|
||||
func = FuncRequest::unknown;
|
||||
else {
|
||||
func = lyxaction.lookupFunc(cmd);
|
||||
if (func == FuncRequest::unknown) {
|
||||
lexrc.printError("BN_UNBIND: Unknown LyX function `$$Token'");
|
||||
error = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (unbind_map)
|
||||
@ -409,17 +413,17 @@ void KeyMap::write(string const & bind_file, bool append, bool unbind) const
|
||||
<< "Format " << LFUN_FORMAT << "\n\n";
|
||||
|
||||
string tag = unbind ? "\\unbind" : "\\bind";
|
||||
BindingList const list = listBindings(false);
|
||||
BindingList::const_iterator it = list.begin();
|
||||
BindingList::const_iterator it_end = list.end();
|
||||
for (; it != it_end; ++it) {
|
||||
FuncCode action = it->request.action();
|
||||
string arg = to_utf8(it->request.argument());
|
||||
for (auto const & bnd : listBindings(false)) {
|
||||
FuncCode const action = bnd.request.action();
|
||||
string const arg = to_utf8(bnd.request.argument());
|
||||
|
||||
string const cmd = lyxaction.getActionName(action)
|
||||
+ (arg.empty() ? string() : " " + arg) ;
|
||||
string cmd;
|
||||
if (unbind && bnd.request == FuncRequest::unknown)
|
||||
cmd = "*";
|
||||
else
|
||||
cmd = lyxaction.getActionName(action) + (arg.empty() ? string() : " " + arg);
|
||||
os << tag << " \""
|
||||
<< to_utf8(it->sequence.print(KeySequence::BindFile))
|
||||
<< to_utf8(bnd.sequence.print(KeySequence::BindFile))
|
||||
<< "\" " << Lexer::quoteString(cmd)
|
||||
<< "\n";
|
||||
}
|
||||
|
@ -837,7 +837,7 @@ void addSnippet(std::list<TexString> & list, TexString ts, bool allow_dupes)
|
||||
return ts.str == ts2.str;
|
||||
})
|
||||
)
|
||||
list.push_back(move(ts));
|
||||
list.push_back(std::move(ts));
|
||||
}
|
||||
|
||||
|
||||
@ -854,7 +854,7 @@ TexString getSnippets(std::list<TexString> const & list)
|
||||
|
||||
void LaTeXFeatures::addPreambleSnippet(TexString snippet, bool allow_dupes)
|
||||
{
|
||||
addSnippet(preamble_snippets_, move(snippet), allow_dupes);
|
||||
addSnippet(preamble_snippets_, std::move(snippet), allow_dupes);
|
||||
}
|
||||
|
||||
|
||||
@ -1511,7 +1511,8 @@ string const LaTeXFeatures::getPackages() const
|
||||
}
|
||||
|
||||
// fixltx2e provides subscript
|
||||
if (mustProvide("subscript") && !isRequired("fixltx2e"))
|
||||
if (mustProvide("subscript") && !isRequired("fixltx2e")
|
||||
&& !isAvailable("LaTeX-2005/12/01"))
|
||||
packages << "\\usepackage{subscript}\n";
|
||||
|
||||
// footmisc must be loaded after setspace
|
||||
|
@ -53,6 +53,18 @@ bool LayoutModuleList::adaptToBaseClass(LayoutFile const * const lay,
|
||||
}
|
||||
|
||||
|
||||
string LayoutModuleList::asString() const
|
||||
{
|
||||
string mods;
|
||||
for (auto const & mod : lml_)
|
||||
mods += mod + ',';
|
||||
// remove trailing comma
|
||||
if (!mods.empty())
|
||||
mods.pop_back();
|
||||
return mods;
|
||||
}
|
||||
|
||||
|
||||
bool LayoutModuleList::moduleCanBeAdded(string const & modName,
|
||||
LayoutFile const * const lay) const
|
||||
{
|
||||
|
@ -55,6 +55,8 @@ public:
|
||||
/// This is needed in GuiDocument. It seems better than an
|
||||
/// implicit conversion.
|
||||
std::list<std::string> const & list() const { return lml_; }
|
||||
/// List of modules as a comma-separated string
|
||||
std::string asString() const;
|
||||
/// Checks to make sure module's requriements are satisfied, that it does
|
||||
/// not conflict with already-present modules, isn't already loaded, etc.
|
||||
bool moduleCanBeAdded(std::string const & modName,
|
||||
|
@ -843,8 +843,8 @@ void LyXAction::init()
|
||||
is able to detect such changes (e.g. ghostview for postscript).
|
||||
* \li Syntax: buffer-update [<FORMAT>]
|
||||
* \li Params: <FORMAT>: The format to display, where this is one of the
|
||||
formats defined (in the current GUI) in the
|
||||
Tools>Preferences>File Formats dialog.
|
||||
formats defined in the Tools>Preferences>File Formats dialog,
|
||||
use the "Short name" field.
|
||||
If no format is given, the default format as
|
||||
specified in the same dialog is used.
|
||||
* \li Origin: Dekel, 5 Aug 2000
|
||||
@ -4101,13 +4101,20 @@ void LyXAction::init()
|
||||
* \var lyx::FuncCode lyx::LFUN_UI_TOGGLE
|
||||
* \li Action: Various UI visibility-toggling actions.
|
||||
* \li Syntax: ui-toggle <statusbar|menubar|scrollbar|frame|fullscreen>
|
||||
* \li Params: statusbar : Toggle visibility of the statusbar.\n
|
||||
menubar : Toggle visibility of the menubar.\n
|
||||
scrollbar : Toggle visibility of the scrollbar.\n
|
||||
frame : Toggle visibility of the frames around editing window.\n
|
||||
fullscreen : Toggle fullscreen mode. This also covers calling the
|
||||
previous functions. However #LFUN_TOOLBAR_TOGGLE for the
|
||||
custom tweaks of the toolbars should be used.
|
||||
* \li Params: statusbar : Toggle visibility of the statusbar.\n
|
||||
menubar : Toggle visibility of the menubar.\n
|
||||
scrollbar : Toggle visibility of the scrollbar.\n
|
||||
frame : Toggle visibility of the frames around editing window.\n
|
||||
zoomslider : Toggle visibility of the zoom slider in statusbar.\n
|
||||
zoomlevel : Toggle visibility of the zoom level display in statusbar.\n
|
||||
statistics-w : Toggle visibility of the document word count in statusbar.\n
|
||||
statistics-cb : Toggle visibility of the document character count (incl. blanks)
|
||||
in statusbar.\n
|
||||
statistics-c : Toggle visibility of the document character count (excl. blanks)
|
||||
in statusbar.\n
|
||||
fullscreen : Toggle fullscreen mode. This also covers calling the
|
||||
previous functions. However #LFUN_TOOLBAR_TOGGLE for the
|
||||
custom tweaks of the toolbars should be used.
|
||||
* \li Origin: sanda, 9 Feb 2007
|
||||
* \endvar
|
||||
*/
|
||||
|
@ -33,7 +33,7 @@ namespace lyx {
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
|
||||
MetricsBase::MetricsBase(BufferView * b, FontInfo f, int w)
|
||||
: bv(b), font(move(f)), fontname("mathnormal"),
|
||||
: bv(b), font(std::move(f)), fontname("mathnormal"),
|
||||
textwidth(w), macro_nesting(0),
|
||||
solid_line_thickness_(1), solid_line_offset_(1), dotted_line_thickness_(1)
|
||||
{
|
||||
@ -75,11 +75,7 @@ Changer MetricsBase::changeFontSet(string const & name)
|
||||
&& ((isTextFont(oldname) && oldcolor != Color_foreground)
|
||||
|| (isMathFont(oldname) && oldcolor != Color_math)))
|
||||
font.setColor(oldcolor);
|
||||
#if __cplusplus >= 201402L
|
||||
return rc;
|
||||
#else
|
||||
return move(rc);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
@ -1927,7 +1927,8 @@ FontSpan Paragraph::fontSpan(pos_type pos) const
|
||||
|
||||
// This should not happen, but if so, we take no chances.
|
||||
LYXERR0("Paragraph::fontSpan: position not found in fontinfo table!");
|
||||
LASSERT(false, return FontSpan(pos, pos));
|
||||
LASSERT(false, /**/);
|
||||
return FontSpan(pos, pos);
|
||||
}
|
||||
|
||||
|
||||
@ -2788,9 +2789,11 @@ void Paragraph::latex(BufferParams const & bparams,
|
||||
os << '}';
|
||||
column += 1;
|
||||
}
|
||||
if (closeLanguage)
|
||||
if (closeLanguage) {
|
||||
// Force language closing
|
||||
current_font.setLanguage(basefont.language());
|
||||
langClosed = true;
|
||||
}
|
||||
Font const nextfont = (i == body_pos-1) ? basefont : current_font;
|
||||
bool needPar = false;
|
||||
column += running_font.latexWriteEndChanges(
|
||||
@ -2804,7 +2807,7 @@ void Paragraph::latex(BufferParams const & bparams,
|
||||
Change(Change::UNCHANGED), Change(Change::DELETED), rp);
|
||||
}
|
||||
// Has the language been closed in the latexWriteEndChanges() call above?
|
||||
langClosed = running_font.language() != basefont.language()
|
||||
langClosed |= running_font.language() != basefont.language()
|
||||
&& running_font.language() != nextfont.language()
|
||||
&& (running_font.language()->encoding()->package() != Encoding::CJK);
|
||||
running_font = basefont;
|
||||
@ -2908,9 +2911,14 @@ void Paragraph::latex(BufferParams const & bparams,
|
||||
column += Changes::latexMarkChange(os, bparams,
|
||||
Change(Change::UNCHANGED), change, rp);
|
||||
}
|
||||
} else {
|
||||
} else {// if fontswitch_inset
|
||||
if (current_font != running_font || !langClosed)
|
||||
// font is still open in fontswitch_insets if we have
|
||||
// a non-lang font difference or if the language
|
||||
// is the only difference but has not been forcedly
|
||||
// closed meanwhile
|
||||
open_font = true;
|
||||
running_font = current_font;
|
||||
open_font &= !langClosed;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2979,7 +2987,7 @@ void Paragraph::latex(BufferParams const & bparams,
|
||||
d->latexInset(bparams, os, rp, running_font,
|
||||
basefont, real_outerfont, open_font,
|
||||
runningChange, style, i, column, fontswitch_inset,
|
||||
closeLanguage, lang_switched_at_inset);
|
||||
closeLanguage, (lang_switched_at_inset || langClosed));
|
||||
if (fontswitch_inset) {
|
||||
if (open_font) {
|
||||
bool needPar = false;
|
||||
@ -4012,6 +4020,8 @@ docstring Paragraph::simpleLyXHTMLOnePar(Buffer const & buf,
|
||||
runparams, i);
|
||||
if (c == ' ' && (style.free_spacing || runparams.free_spacing))
|
||||
xs << XMLStream::ESCAPE_NONE << " ";
|
||||
else if (c == '\'')
|
||||
xs << XMLStream::ESCAPE_NONE << "’";
|
||||
else
|
||||
xs << c;
|
||||
}
|
||||
|
16
src/Row.cpp
16
src/Row.cpp
@ -144,7 +144,7 @@ bool Row::Element::splitAt(int const width, int next_width, bool force,
|
||||
isRTL(), wrap_any | force);
|
||||
|
||||
// if breaking did not really work, give up
|
||||
if (!force && breaks.front().wid > width) {
|
||||
if (!force && breaks.front().nspc_wid > width) {
|
||||
if (dim.wid == 0)
|
||||
dim.wid = fm.width(str);
|
||||
return false;
|
||||
@ -336,7 +336,7 @@ ostream & operator<<(ostream & os, Row const & row)
|
||||
<< " descent: " << row.dim_.des
|
||||
<< " separator: " << row.separator
|
||||
<< " label_hfill: " << row.label_hfill
|
||||
<< " right_boundary: " << row.right_boundary()
|
||||
<< " end_boundary: " << row.end_boundary()
|
||||
<< " flushed: " << row.flushed() << "\n";
|
||||
// We cannot use the operator above, unfortunately
|
||||
double x = row.left_margin;
|
||||
@ -562,7 +562,7 @@ Row::Elements Row::shortenIfNeeded(int const w, int const next_width)
|
||||
Element brk = *cit_brk;
|
||||
/* If the current element is an inset that allows breaking row
|
||||
* after itself, and if the row is already short enough after
|
||||
* this inset, then cut right after this element.
|
||||
* this element, then cut right after it.
|
||||
*/
|
||||
if (wid_brk <= w && brk.row_flags & CanBreakAfter) {
|
||||
end_ = brk.endpos;
|
||||
@ -572,6 +572,16 @@ Row::Elements Row::shortenIfNeeded(int const w, int const next_width)
|
||||
}
|
||||
// assume now that the current element is not there
|
||||
wid_brk -= brk.dim.wid;
|
||||
/* If the current element is an inset that allows breaking row
|
||||
* before itself, and if the row is already short enough before
|
||||
* this element, then cut right before it.
|
||||
*/
|
||||
if (wid_brk <= w && brk.row_flags & CanBreakBefore && cit_brk != beg) {
|
||||
end_ = (cit_brk -1)->endpos;
|
||||
dim_.wid = wid_brk;
|
||||
moveElements(elements_, cit_brk, tail);
|
||||
return tail;
|
||||
}
|
||||
/* We have found a suitable separable element. This is the common case.
|
||||
* Try to break it cleanly at a length that is both
|
||||
* - less than the available space on the row
|
||||
|
20
src/Row.h
20
src/Row.h
@ -89,14 +89,16 @@ public:
|
||||
*/
|
||||
pos_type x2pos(int &x) const;
|
||||
/** Break the element in two if possible, so that its width is less
|
||||
* than \param w.
|
||||
* \return a vector of elements containing the remainder of
|
||||
* the text (empty if nothing happened).
|
||||
* \param width maximum width of the row.
|
||||
* \param next_width available width on next row.
|
||||
* than the required values.
|
||||
* \return true if something has been done ; false if this is
|
||||
* not needed or not possible.
|
||||
* \param width: maximum width of the row.
|
||||
* \param next_width: available width on next rows.
|
||||
* \param force: if true, cut string at any place, even for
|
||||
* languages that wrap at word delimiters; if false, do not
|
||||
* break at all if first element would larger than \c width.
|
||||
* \param tail: a vector of elements where the remainder of
|
||||
* the text will be appended (empty if nothing happened).
|
||||
*/
|
||||
// FIXME: ideally last parameter should be Elements&, but it is not possible.
|
||||
bool splitAt(int width, int next_width, bool force, std::vector<Element> & tail);
|
||||
@ -139,7 +141,7 @@ public:
|
||||
Change change;
|
||||
// is it possible to add contents to this element?
|
||||
bool final = false;
|
||||
// properties with respect to row breaking (made of RowFlag enums)
|
||||
// properties with respect to row breaking (made of RowFlag enumerators)
|
||||
int row_flags = Inline;
|
||||
|
||||
friend std::ostream & operator<<(std::ostream & os, Element const & row);
|
||||
@ -204,9 +206,9 @@ public:
|
||||
///
|
||||
pos_type endpos() const { return end_; }
|
||||
///
|
||||
void right_boundary(bool b) { right_boundary_ = b; }
|
||||
void end_boundary(bool b) { end_boundary_ = b; }
|
||||
///
|
||||
bool right_boundary() const { return right_boundary_; }
|
||||
bool end_boundary() const { return end_boundary_; }
|
||||
///
|
||||
void flushed(bool b) { flushed_ = b; }
|
||||
///
|
||||
@ -366,7 +368,7 @@ private:
|
||||
/// one behind last pos covered by this row
|
||||
pos_type end_ = 0;
|
||||
// Is there a boundary at the end of the row (display inset...)
|
||||
bool right_boundary_ = false;
|
||||
bool end_boundary_ = false;
|
||||
// Shall the row be flushed when it is supposed to be justified?
|
||||
bool flushed_ = false;
|
||||
/// Row dimension.
|
||||
|
@ -16,10 +16,9 @@
|
||||
|
||||
namespace lyx {
|
||||
|
||||
/* The list of possible flags, that can be combined.
|
||||
* Some flags that should logically be here (e.g.,
|
||||
* CanBreakBefore), do not exist. This is because the need has not
|
||||
* been identitfied yet.
|
||||
/* The list of possible flags, that can be combined. Some flags that
|
||||
* should logically be here (e.g., AlwaysBreakBefore), do not exist.
|
||||
* This is because the need has not been identitfied yet.
|
||||
*
|
||||
* Priorities when before/after disagree:
|
||||
* AlwaysBreak* > NoBreak* > Break* or CanBreak*.
|
||||
@ -30,26 +29,28 @@ enum RowFlags {
|
||||
Inline = 0,
|
||||
// break row before this element if the row is not empty
|
||||
BreakBefore = 1 << 0,
|
||||
// break row whenever needed before this element
|
||||
CanBreakBefore = 1 << 1,
|
||||
// Avoid breaking row before this element
|
||||
NoBreakBefore = 1 << 1,
|
||||
NoBreakBefore = 1 << 2,
|
||||
// flush the row before this element (useful with BreakBefore)
|
||||
FlushBefore = 1 << 2,
|
||||
FlushBefore = 1 << 3,
|
||||
// force new (maybe empty) row after this element
|
||||
AlwaysBreakAfter = 1 << 3,
|
||||
AlwaysBreakAfter = 1 << 4,
|
||||
// break row after this element if there are more elements
|
||||
BreakAfter = 1 << 4,
|
||||
BreakAfter = 1 << 5,
|
||||
// break row whenever needed after this element
|
||||
CanBreakAfter = 1 << 5,
|
||||
CanBreakAfter = 1 << 6,
|
||||
// Avoid breaking row after this element
|
||||
NoBreakAfter = 1 << 6,
|
||||
NoBreakAfter = 1 << 7,
|
||||
// The contents of the row may be broken in two (e.g. string)
|
||||
CanBreakInside = 1 << 7,
|
||||
CanBreakInside = 1 << 8,
|
||||
// Flush the row that ends with this element
|
||||
Flush = 1 << 8,
|
||||
Flush = 1 << 9,
|
||||
// specify an alignment (left, right) for a display element
|
||||
// (default is center)
|
||||
AlignLeft = 1 << 9,
|
||||
AlignRight = 1 << 10,
|
||||
AlignLeft = 1 << 10,
|
||||
AlignRight = 1 << 11,
|
||||
// A display element breaks row at both ends
|
||||
Display = FlushBefore | BreakBefore | BreakAfter,
|
||||
// Flags that concern breaking after element
|
||||
|
@ -408,6 +408,11 @@ void LastCommandsSection::setNumberOfLastCommands(unsigned int no)
|
||||
|
||||
void LastCommandsSection::add(std::string const & command)
|
||||
{
|
||||
// remove traces of 'command' in history using the erase-remove idiom
|
||||
// https://en.wikipedia.org/wiki/Erase%E2%80%93remove_idiom
|
||||
lastcommands.erase(remove(lastcommands.begin(), lastcommands.end(), command),
|
||||
lastcommands.end());
|
||||
// add it at the end of the list.
|
||||
lastcommands.push_back(command);
|
||||
}
|
||||
|
||||
|
@ -302,7 +302,7 @@ public:
|
||||
void write(std::ostream & os) const override;
|
||||
|
||||
/// Return lastcommands container (vector)
|
||||
LastCommands const getcommands() const { return lastcommands; }
|
||||
LastCommands const & getcommands() const { return lastcommands; }
|
||||
|
||||
/** add command to lastcommands list
|
||||
@param command command to add
|
||||
|
@ -38,14 +38,14 @@ namespace lyx {
|
||||
|
||||
|
||||
TexString::TexString(docstring s)
|
||||
: str(move(s)), texrow(TexRow())
|
||||
: str(std::move(s)), texrow(TexRow())
|
||||
{
|
||||
texrow.setRows(1 + count(str.begin(), str.end(), '\n'));
|
||||
}
|
||||
|
||||
|
||||
TexString::TexString(docstring s, TexRow t)
|
||||
: str(move(s)), texrow(move(t))
|
||||
: str(std::move(s)), texrow(std::move(t))
|
||||
{
|
||||
validate();
|
||||
}
|
||||
@ -235,7 +235,7 @@ void TexRow::append(TexRow other)
|
||||
RowList::iterator it = other.rowlist_.begin();
|
||||
RowList::iterator const end = other.rowlist_.end();
|
||||
LASSERT(it != end, return);
|
||||
currentRow().append(move(*it++));
|
||||
currentRow().append(std::move(*it++));
|
||||
move(it, end, back_inserter(rowlist_));
|
||||
}
|
||||
|
||||
|
22
src/Text.cpp
22
src/Text.cpp
@ -1369,6 +1369,20 @@ void Text::selectWord(Cursor & cur, word_location loc)
|
||||
}
|
||||
|
||||
|
||||
void Text::expandWordSel(Cursor & cur)
|
||||
{
|
||||
// get selection of word around cur
|
||||
Cursor c = cur;
|
||||
c.selection(false);
|
||||
c.text()->selectWord(c, WHOLE_WORD);
|
||||
// use the correct word boundary, depending on selection direction
|
||||
if (cur.top() > cur.normalAnchor())
|
||||
cur.pos() = c.selEnd().pos();
|
||||
else
|
||||
cur.pos() = c.selBegin().pos();
|
||||
}
|
||||
|
||||
|
||||
void Text::selectAll(Cursor & cur)
|
||||
{
|
||||
LBUFERR(this == cur.text());
|
||||
@ -2367,7 +2381,8 @@ void Text::setMacrocontextPosition(DocIterator const & pos)
|
||||
bool Text::completionSupported(Cursor const & cur) const
|
||||
{
|
||||
Paragraph const & par = cur.paragraph();
|
||||
return !cur.selection()
|
||||
return !cur.buffer()->isReadonly()
|
||||
&& !cur.selection()
|
||||
&& cur.pos() > 0
|
||||
&& (cur.pos() >= par.size() || par.isWordSeparator(cur.pos()))
|
||||
&& !par.isWordSeparator(cur.pos() - 1);
|
||||
@ -2381,9 +2396,12 @@ CompletionList const * Text::createCompletionList(Cursor const & cur) const
|
||||
}
|
||||
|
||||
|
||||
bool Text::insertCompletion(Cursor & cur, docstring const & s, bool /*finished*/)
|
||||
bool Text::insertCompletion(Cursor & cur, docstring const & s)
|
||||
{
|
||||
LBUFERR(cur.bv().cursor() == cur);
|
||||
if (cur.buffer()->isReadonly())
|
||||
return false;
|
||||
cur.recordUndo();
|
||||
cur.insert(s);
|
||||
cur.bv().cursor() = cur;
|
||||
if (!(cur.result().screenUpdate() & Update::Force))
|
||||
|
@ -171,6 +171,8 @@ public:
|
||||
void getWord(CursorSlice & from, CursorSlice & to, word_location const) const;
|
||||
/// just selects the word the cursor is in
|
||||
void selectWord(Cursor & cur, word_location loc);
|
||||
/// expands the selection to the word the cursor is in
|
||||
void expandWordSel(Cursor & cur);
|
||||
/// select all text
|
||||
void selectAll(Cursor & cur);
|
||||
|
||||
@ -329,8 +331,9 @@ public:
|
||||
bool completionSupported(Cursor const & cur) const;
|
||||
///
|
||||
CompletionList const * createCompletionList(Cursor const & cur) const;
|
||||
///
|
||||
bool insertCompletion(Cursor & cur, docstring const & s, bool /*finished*/);
|
||||
/// Do a completion at the cursor position. Return true on success.
|
||||
/// The completion does not contain the prefix. Handles undo.
|
||||
bool insertCompletion(Cursor & cur, docstring const & s);
|
||||
///
|
||||
docstring completionPrefix(Cursor const & cur) const;
|
||||
/// find a paragraph before \p par with the given \p depth, if such
|
||||
|
@ -426,8 +426,12 @@ void Text::toggleFree(Cursor & cur, Font const & font, bool toggleall)
|
||||
cur.clearSelection();
|
||||
cur.top() = resetCursor;
|
||||
cur.resetAnchor();
|
||||
cur.setCurrentFont();
|
||||
}
|
||||
|
||||
// if there was no selection at all, the point was to change cursor font.
|
||||
// Otherwise, we want to reset it to local text font.
|
||||
if (cur.selection() || implicitSelection)
|
||||
cur.setCurrentFont();
|
||||
}
|
||||
|
||||
|
||||
|
@ -1876,17 +1876,8 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
|
||||
if (!bv->mouseSetCursor(cur, cmd.modifier() == ShiftModifier))
|
||||
cur.screenUpdateFlags(Update::SinglePar | Update::FitCursor);
|
||||
// FIXME: move this to mouseSetCursor?
|
||||
if (bvcur.wordSelection() && bvcur.inTexted()) {
|
||||
// select word around new position
|
||||
Cursor c = bvcur;
|
||||
c.selection(false);
|
||||
c.text()->selectWord(c, WHOLE_WORD);
|
||||
// use the correct word boundary, depending on selection direction
|
||||
if (bvcur.top() > bvcur.normalAnchor())
|
||||
bvcur.pos() = c.selEnd().pos();
|
||||
else
|
||||
bvcur.pos() = c.selBegin().pos();
|
||||
}
|
||||
if (bvcur.wordSelection() && bvcur.inTexted())
|
||||
expandWordSel(bvcur);
|
||||
break;
|
||||
|
||||
case mouse_button::button2:
|
||||
@ -1954,6 +1945,8 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
|
||||
// We continue with our existing selection or start a new one, so don't
|
||||
// reset the anchor.
|
||||
bvcur.setCursor(cur);
|
||||
if (bvcur.wordSelection() && bvcur.inTexted())
|
||||
expandWordSel(bvcur);
|
||||
bvcur.selection(true);
|
||||
bvcur.setCurrentFont();
|
||||
if (cur.top() == old) {
|
||||
@ -3191,15 +3184,22 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
|
||||
break;
|
||||
case LFUN_FLEX_INSERT: {
|
||||
code = FLEX_CODE;
|
||||
string s = cmd.getArg(0);
|
||||
InsetLayout il =
|
||||
cur.buffer()->params().documentClass().insetLayout(from_utf8(s));
|
||||
if (il.lyxtype() != InsetLyXType::CHARSTYLE &&
|
||||
il.lyxtype() != InsetLyXType::CUSTOM &&
|
||||
il.lyxtype ()!= InsetLyXType::STANDARD)
|
||||
docstring s = from_utf8(cmd.getArg(0));
|
||||
// Prepend "Flex:" prefix if not there
|
||||
if (!prefixIs(s, from_ascii("Flex:")))
|
||||
s = from_ascii("Flex:") + s;
|
||||
if (!cur.buffer()->params().documentClass().hasInsetLayout(s))
|
||||
enable = false;
|
||||
break;
|
||||
else {
|
||||
InsetLyXType ilt =
|
||||
cur.buffer()->params().documentClass().insetLayout(s).lyxtype();
|
||||
if (ilt != InsetLyXType::CHARSTYLE
|
||||
&& ilt != InsetLyXType::CUSTOM
|
||||
&& ilt != InsetLyXType::STANDARD)
|
||||
enable = false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case LFUN_BOX_INSERT:
|
||||
code = BOX_CODE;
|
||||
break;
|
||||
|
@ -691,7 +691,7 @@ TextClass::ReturnValues TextClass::read(Lexer & lexrc, ReadType rt)
|
||||
case TC_PKGOPTS : {
|
||||
lexrc.next();
|
||||
string const pkg = lexrc.getString();
|
||||
lexrc.next();
|
||||
lexrc.eatLine();
|
||||
string const options = lexrc.getString();
|
||||
package_options_[pkg] = options;
|
||||
break;
|
||||
|
@ -1059,7 +1059,7 @@ void cleanupRow(Row & row, bool at_end)
|
||||
if (!at_end && !row.flushed())
|
||||
row.back().rtrim();
|
||||
// boundary exists when there was no space at the end of row
|
||||
row.right_boundary(!at_end && row.back().endpos == row.endpos());
|
||||
row.end_boundary(!at_end && row.back().endpos == row.endpos());
|
||||
// make sure that the RTL elements are in reverse ordering
|
||||
row.reverseRTL();
|
||||
}
|
||||
@ -1368,7 +1368,7 @@ pos_type TextMetrics::getPosNearX(Row const & row, int & x,
|
||||
|| inset->lyxCode() == SEPARATOR_CODE))
|
||||
pos = row.back().pos;
|
||||
else
|
||||
boundary = row.right_boundary();
|
||||
boundary = row.end_boundary();
|
||||
}
|
||||
|
||||
x += xo - offset;
|
||||
|
@ -147,7 +147,7 @@ shared_ptr<Toc> TocBackend::toc(string const & type)
|
||||
TocBuilder & TocBackend::builder(string const & type)
|
||||
{
|
||||
auto p = lyx::make_unique<TocBuilder>(toc(type));
|
||||
return * builders_.insert(make_pair(type, move(p))).first->second;
|
||||
return * builders_.insert(make_pair(type, std::move(p))).first->second;
|
||||
}
|
||||
|
||||
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "support/convert.h"
|
||||
#include "support/Length.h"
|
||||
#include "support/lstrings.h"
|
||||
#include "support/qstring_helpers.h"
|
||||
|
||||
#include "support/lassert.h"
|
||||
|
||||
@ -207,7 +208,7 @@ docstring const VSpace::asGUIName() const
|
||||
result = _("Vertical fill");
|
||||
break;
|
||||
case LENGTH:
|
||||
result = from_ascii(len_.asString());
|
||||
result = locLengthDocString(from_ascii(len_.asString()));
|
||||
break;
|
||||
}
|
||||
if (keep_)
|
||||
|
@ -33,6 +33,9 @@ public:
|
||||
/// Initialize with the name of a key. F. ex. "space" or "a"
|
||||
void init(std::string const & symbolname);
|
||||
|
||||
/// Initialize with some platform specific sym value
|
||||
void init(int key);
|
||||
|
||||
/// Is this a valid key?
|
||||
bool isOK() const;
|
||||
|
||||
|
@ -34,7 +34,7 @@ namespace frontend {
|
||||
|
||||
Action::Action(FuncRequest func, QIcon const & icon, QString const & text,
|
||||
QString const & tooltip, QObject * parent)
|
||||
: QAction(parent), func_(make_shared<FuncRequest>(move(func))), icon_(icon)
|
||||
: QAction(parent), func_(make_shared<FuncRequest>(std::move(func))), icon_(icon)
|
||||
{
|
||||
init(text, tooltip);
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user