diff --git a/CMakeLists.txt b/CMakeLists.txt index 90ec0ab..4dbb510 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,16 +1,130 @@ +PROJECT (LAviewLatexStruct C) + CMAKE_MINIMUM_REQUIRED (VERSION 2.8) -PROJECT (LAview C) - -SET (LAVIEW_VERSION_MAJOR 0) -SET (LAVIEW_VERSION_MINOR 0) -SET (LAVIEW_VERSION_PATCH 1) -SET (LAVIEW_VERSION - ${LAVIEW_VERSION_MAJOR}.${LAVIEW_VERSION_MINOR}.${LAVIEW_VERSION_PATCH}) +SET (MAJOR 0) +SET (MINOR 0) +SET (PATCH 0) +SET (VERSION ${MAJOR}.${MINOR}.${PATCH}) LIST (APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) +INCLUDE (MacroOptionalAddSubdirectory) +INCLUDE (CPackDetectArch) -INCLUDE (FindVala) -INCLUDE (UseVala) +SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w") # supress Gcc warnings + +# configure a header file for Gettext +SET (GETTEXT_PACKAGE "laview-latex-struct") +ADD_DEFINITIONS (-DGETTEXT_PACKAGE="${GETTEXT_PACKAGE}") +IF (WIN32) + SET (LOCALEDIR "") +ELSE () + SET (LOCALEDIR "${CMAKE_INSTALL_PREFIX}/share/locale") +ENDIF () +SET (CUSTOM_LOCALEDIR "" CACHE STRING "Directory to install l10n files into") +IF (NOT CUSTOM_LOCALEDIR STREQUAL "") + SET (LOCALEDIR "${CUSTOM_LOCALEDIR}") + MESSAGE(STATUS "Using LOCALEDIR=${LOCALEDIR}") +ENDIF () +ADD_DEFINITIONS (-DLOCALEDIR="${LOCALEDIR}") +SET (LOCALE_INSTALL_DIR "share/locale") +MACRO_OPTIONAL_ADD_SUBDIRECTORY (po) + +# Avoid of "dll not found" messages +SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/run") + +# configure a header file for Gettext +CONFIGURE_FILE ( + "${PROJECT_SOURCE_DIR}/src/gettext-config.h.in" + "${PROJECT_BINARY_DIR}/src/gettext-config.h" + ) + +IF ( CMAKE_BUILD_TYPE STREQUAL "Debug" ) + SET (VALA_DEBUG "-g") +ENDIF () + +# configure pkg-config file +IF (WIN32) + SET (prefix "") +ELSE () + SET (prefix ${CMAKE_INSTALL_PREFIX}) +ENDIF () +SET (exec_prefix "\${prefix}") +SET (libdir "\${exec_prefix}/lib") +SET (prefincludedir "\${prefix}/include") +SET (link_lib1 "\${libdir}") +SET (link_lib2 "laview-latex-struct") +CONFIGURE_FILE ( + "${PROJECT_SOURCE_DIR}/laview-latex-struct.pc.in" + "${PROJECT_BINARY_DIR}/laview-latex-struct-${MAJOR}.pc" + ) + +SET (CMAKE_C_FLAGS_DEBUG "-ggdb3 -O0 -ftest-coverage -Wcoverage-mismatch ${CMAKE_C_FLAGS_DEBUG}") +SET (CMAKE_C_FLAGS_RELEASE "-O2 ${CMAKE_C_FLAGS_RELEASE}") ADD_SUBDIRECTORY (src) +ADD_SUBDIRECTORY (test) + +## CPack configuration ## +SET (CPACK_PACKAGE_CONTACT "backbone@backbone.ws") +SET (CPACK_PACKAGE_VENDOR "backbone@backbone.ws") +SET (CPACK_NSIS_MODIFY_PATH ON) +SET (CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON) +INCLUDE (InstallRequiredSystemLibraries) +SET (CPACK_RESOURCE_FILE_LICENSE + "${CMAKE_CURRENT_SOURCE_DIR}/COPYING") +SET (CPACK_PACKAGE_DESCRIPTION_FILE + "${CMAKE_CURRENT_SOURCE_DIR}/README") +INSTALL (FILES "${PROJECT_BINARY_DIR}/laview-latex-struct-${MAJOR}.pc" + DESTINATION lib/pkgconfig) +INSTALL (FILES "${PROJECT_BINARY_DIR}/src/laview-latex-struct-${MAJOR}.vapi" + DESTINATION share/vala/vapi) +#SET (CPACK_NSIS_PACKAGE_NAME "${PROJECT_NAME}") +#SET (CPACK_NSIS_DISPLAY_NAME "${PROJECT_NAME}") +SET (CPACK_PACKAGE_VERSION_MAJOR "${MAJOR}") +SET (CPACK_PACKAGE_VERSION_MINOR "${MINOR}") +SET (CPACK_PACKAGE_VERSION_PATCH "${PATCH}") +SET (CPACK_PACKAGE_VERSION "${VERSION}") + +IF (UNIX) + SET (CPACK_GENERATOR "DEB;RPM;STGZ;TBZ2;TGZ;TZ;ZIP") + SET (CPACK_SOURCE_GENERATOR "DEB;RPM;STGZ;TBZ2;TGZ;TZ;ZIP") + SET (CPACK_PACKAGE_NAME "laview-latex-struct") + SET (CPACK_PACKAGE_DESCRIPTION_SUMMARY "LaTeX representation in the memory") + SET (CPACK_PACKAGE_DESCRIPTION "LaTeX representation in the memory " + "Scanner + Generator + Operations on document objects.") + + # Debian specific options + SET (CPACK_DEBIAN_PACKAGE_DEPENDS "valac (>= 0.24), libglib2.0-bin (>= 2.33)") + SET (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") + # SET (CPACK_DEBIAN_PACKAGE_ARCHITECTURE "${ARCHITECTURE}") + # SET (CPACK_DEBIAN_PACKAGE_PRIORITY "optional") + SET (CPACK_DEBIAN_PACKAGE_RECOMMENDS "") + SET (CPACK_DEBIAN_PACKAGE_SUGGESTS "") + + # RPM specific options + # SET (CPACK_RPM_PACKAGE_ARCHITECTURE "${ARCHITECTURE}") + SET (CPACK_RPM_PACKAGE_LICENSE "LGPLv3+") + SET (CPACK_RPM_PACKAGE_GROUP "Applications/Text") + SET (CPACK_RPM_PACKAGE_REQUIRES "vala >= 0.24, glib >= 2.33") + SET (CPACK_RPM_PACKAGE_PROVIDES "laview-latex-struct") + + # http://public.kitware.com/Bug/view.php?id=12997 + SET(CPACK_PACKAGE_FILE_NAME + "${CPACK_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}_${ARCHITECTURE}") + +ELSEIF (WIN32) + SET (CPACK_GENERATOR "NSIS") + SET (CPACK_SOURCE_GENERATOR "NSIS") + SET (CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CMAKE_PROJECT_NAME}-${MAJOR}") + #SET (CPACK_NSIS_MENU_LINKS "${EWS_WEBSITE}" "Homepage for ${EWS_APP_NAME}") + #SET (CPACK_NSIS_INSTALLED_ICON_NAME bin\\\\${EXE_TARGET_NAME}.exe) + #SET (CPACK_NSIS_URL_INFO_ABOUT "${EWS_WEBSITE}") + #SET (CPACK_NSIS_HELP_LINK "${EWS_WEBSITE}") + SET (CPACK_PACKAGE_INSTALL_DIRECTORY "${CMAKE_PROJECT_NAME}-${MAJOR}") + SET (CPACK_UNINSTALL_NAME "LVLatStr-${MAJOR}") # <=10 symbols: https://redmine.backbone.ws/issues/83 +ENDIF () + +INCLUDE (CPack) + +INCLUDE (CTest) diff --git a/README b/README index 186e653..7db41d9 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ LaTeX representation in the memory + Parser (GScanner) + Generator. Git repo: https://git.backbone.ws/laview/latex-struct -Issue tracker: https://chili.backbone.ws/projects/latex-struct +Issue tracker: https://chili.backbone.ws/projects/latex-struct/issues diff --git a/cmake/CPackDetectArch.cmake b/cmake/CPackDetectArch.cmake new file mode 100644 index 0000000..e878179 --- /dev/null +++ b/cmake/CPackDetectArch.cmake @@ -0,0 +1,20 @@ +# Kernel of Operation System +EXECUTE_PROCESS (COMMAND uname -s COMMAND tr -d '\n' OUTPUT_VARIABLE OSKERNEL) +MESSAGE ("OSKERNEL = ${OSKERNEL}") +STRING (TOLOWER "${OSKERNEL}" OSKERNEL) + +# CPU Architecture +SET (CUSTOM_ARCHITECTURE "" CACHE STRING "Specify custom target architecutre") +SET (ARCHITECTURE "${CUSTOM_ARCHITECTURE}") +IF (ARCHITECTURE STREQUAL "") + # SET (ARCHITECTURE "${CMAKE_SYSTEM_PROCESSOR}") + # SET (ARCHITECTURE "${CMAKE_HOST_SYSTEM_PROCESSOR}") + EXECUTE_PROCESS(COMMAND uname -m COMMAND tr -d '\n' OUTPUT_VARIABLE ARCHITECTURE) + + # Replacements + STRING (REGEX REPLACE "^x86_64$" "amd64" ARCHITECTURE "${ARCHITECTURE}") + STRING (REGEX REPLACE "^i.86$" "i386" ARCHITECTURE "${ARCHITECTURE}") + STRING (REGEX REPLACE "^armv7l$" "armel" ARCHITECTURE "${ARCHITECTURE}") + +ENDIF () +MESSAGE ("ARCHITECTURE = ${ARCHITECTURE}") diff --git a/cmake/MacroOptionalAddSubdirectory.cmake b/cmake/MacroOptionalAddSubdirectory.cmake new file mode 100644 index 0000000..545048b --- /dev/null +++ b/cmake/MacroOptionalAddSubdirectory.cmake @@ -0,0 +1,31 @@ +# - MACRO_OPTIONAL_ADD_SUBDIRECTORY() combines ADD_SUBDIRECTORY() with an OPTION() +# MACRO_OPTIONAL_ADD_SUBDIRECTORY( ) +# If you use MACRO_OPTIONAL_ADD_SUBDIRECTORY() instead of ADD_SUBDIRECTORY(), +# this will have two effects +# 1 - CMake will not complain if the directory doesn't exist +# This makes sense if you want to distribute just one of the subdirs +# in a source package, e.g. just one of the subdirs in kdeextragear. +# 2 - If the directory exists, it will offer an option to skip the +# subdirectory. +# This is useful if you want to compile only a subset of all +# directories. + +# Copyright (c) 2007, Alexander Neundorf, +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + + +MACRO (MACRO_OPTIONAL_ADD_SUBDIRECTORY _dir ) + GET_FILENAME_COMPONENT(_fullPath ${_dir} ABSOLUTE) + IF(EXISTS ${_fullPath}) + IF(${ARGC} EQUAL 2) + OPTION(BUILD_${_dir} "Build directory ${_dir}" ${ARGV1}) + ELSE(${ARGC} EQUAL 2) + OPTION(BUILD_${_dir} "Build directory ${_dir}" TRUE) + ENDIF(${ARGC} EQUAL 2) + IF(BUILD_${_dir}) + ADD_SUBDIRECTORY(${_dir}) + ENDIF(BUILD_${_dir}) + ENDIF(EXISTS ${_fullPath}) +ENDMACRO (MACRO_OPTIONAL_ADD_SUBDIRECTORY) diff --git a/laview-latex-struct.pc.in b/laview-latex-struct.pc.in new file mode 100644 index 0000000..40fa22e --- /dev/null +++ b/laview-latex-struct.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@prefincludedir@ + +Name: LaTeX-Struct +Description: LaTeX representation in the memory + Scanner + Generator + Operations on document objects. +Version: @VERSION@ +Libs: -L@link_lib1@ -l@link_lib2@ +Libs.private: +Cflags: diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt new file mode 100644 index 0000000..a588e22 --- /dev/null +++ b/po/CMakeLists.txt @@ -0,0 +1,9 @@ +find_package(Gettext REQUIRED) +if (NOT GETTEXT_MSGMERGE_EXECUTABLE) +MESSAGE(FATAL_ERROR "Please install msgmerge binary") +endif (NOT GETTEXT_MSGMERGE_EXECUTABLE) +if (NOT GETTEXT_MSGFMT_EXECUTABLE) +MESSAGE(FATAL_ERROR "Please install msgmerge binary") +endif (NOT GETTEXT_MSGFMT_EXECUTABLE) +add_subdirectory(ru) +#add_subdirectory(de) diff --git a/po/laview-latex-struct-0.pot b/po/laview-latex-struct-0.pot new file mode 100644 index 0000000..6504219 --- /dev/null +++ b/po/laview-latex-struct-0.pot @@ -0,0 +1,61 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: laview-latex-struct-0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-07-18 18:10+0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: /home/kolan/projects/LAview/LaTeX-Struct/src/GlobParser.vala:58 +#, c-format +msgid "Begin tag sequence '%s' without end tag pair." +msgstr "" + +#: /home/kolan/projects/LAview/LaTeX-Struct/src/GlobParser.vala:127 +#: /home/kolan/projects/LAview/LaTeX-Struct/src/TableParser.vala:582 +#, c-format +msgid ": Unexpected end tag sequence '%s' without begin tag pair." +msgstr "" + +#: /home/kolan/projects/LAview/LaTeX-Struct/src/GlobParser.vala:148 +#: /home/kolan/projects/LAview/LaTeX-Struct/src/TableParser.vala:148 +#: /home/kolan/projects/LAview/LaTeX-Struct/src/TableParser.vala:179 +#: /home/kolan/projects/LAview/LaTeX-Struct/src/TableParser.vala:188 +#: /home/kolan/projects/LAview/LaTeX-Struct/src/TableParser.vala:205 +msgid "Error parsing subdoc." +msgstr "" + +#: /home/kolan/projects/LAview/LaTeX-Struct/src/LongtableParser.vala:44 +#, c-format +msgid "Incorrect longtable parameters doesn't match '%s' regexp." +msgstr "" + +#: /home/kolan/projects/LAview/LaTeX-Struct/src/TableParser.vala:413 +#, c-format +msgid "Unexpected end external tag sequence '%s' without begin tag pair." +msgstr "" + +#: /home/kolan/projects/LAview/LaTeX-Struct/src/TableParser.vala:449 +#, c-format +msgid "Begin tag sequence '%s':%d:%d without end tag pair." +msgstr "" + +#: /home/kolan/projects/LAview/LaTeX-Struct/src/TableParser.vala:612 +msgid "\\cline parameters doesn't match {number-number} regexp." +msgstr "" + +#: /home/kolan/projects/LAview/LaTeX-Struct/src/TabularParser.vala:43 +#, c-format +msgid "Incorrect tabular parameters doesn't match '%s' regexp." +msgstr "" diff --git a/po/ru/CMakeLists.txt b/po/ru/CMakeLists.txt new file mode 100644 index 0000000..5b39538 --- /dev/null +++ b/po/ru/CMakeLists.txt @@ -0,0 +1,2 @@ +file(GLOB _po_files *.po) +GETTEXT_PROCESS_PO_FILES(ru ALL INSTALL_DESTINATION ${LOCALE_INSTALL_DIR} PO_FILES ${_po_files} ) diff --git a/po/ru/laview-latex-struct-0.po b/po/ru/laview-latex-struct-0.po new file mode 100644 index 0000000..0b48ef4 --- /dev/null +++ b/po/ru/laview-latex-struct-0.po @@ -0,0 +1,67 @@ +# Russian translations for laview-latex-struct package. +# Copyright (C) 2014 THE laview-latex-struct'S COPYRIGHT HOLDER +# This file is distributed under the same license as the laview-latex-struct package. +# , 2014. +# +msgid "" +msgstr "" +"Project-Id-Version: laview-latex-struct-0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-07-18 18:10+0400\n" +"PO-Revision-Date: 2014-05-28 10:50+0400\n" +"Last-Translator: \n" +"Language-Team: Russian\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: /home/kolan/projects/LAview/LaTeX-Struct/src/GlobParser.vala:58 +#, c-format +msgid "Begin tag sequence '%s' without end tag pair." +msgstr "Стартовая последовательность тегов '%s' без соответствующей стоп-пары." + +#: /home/kolan/projects/LAview/LaTeX-Struct/src/GlobParser.vala:127 +#: /home/kolan/projects/LAview/LaTeX-Struct/src/TableParser.vala:582 +#, c-format +msgid ": Unexpected end tag sequence '%s' without begin tag pair." +msgstr "" +": Неожиданная завершающая последовательность тегов '%s' без соответствующей " +"старт-пары." + +#: /home/kolan/projects/LAview/LaTeX-Struct/src/GlobParser.vala:148 +#: /home/kolan/projects/LAview/LaTeX-Struct/src/TableParser.vala:148 +#: /home/kolan/projects/LAview/LaTeX-Struct/src/TableParser.vala:179 +#: /home/kolan/projects/LAview/LaTeX-Struct/src/TableParser.vala:188 +#: /home/kolan/projects/LAview/LaTeX-Struct/src/TableParser.vala:205 +msgid "Error parsing subdoc." +msgstr "Ошибка разбора поддокумента." + +#: /home/kolan/projects/LAview/LaTeX-Struct/src/LongtableParser.vala:44 +#, c-format +msgid "Incorrect longtable parameters doesn't match '%s' regexp." +msgstr "Неверные параметры longtable не удовлетворяют рег. выражению '%s'." + +#: /home/kolan/projects/LAview/LaTeX-Struct/src/TableParser.vala:413 +#, c-format +msgid "Unexpected end external tag sequence '%s' without begin tag pair." +msgstr "" +": Неожиданная завершающая последовательность внешних тегов '%s' без " +"соответствующей старт-пары." + +#: /home/kolan/projects/LAview/LaTeX-Struct/src/TableParser.vala:449 +#, c-format +msgid "Begin tag sequence '%s':%d:%d without end tag pair." +msgstr "" +"Стартовая последовательность тегов '%s':%d:%d без соответствующей стоп-пары." + +#: /home/kolan/projects/LAview/LaTeX-Struct/src/TableParser.vala:612 +msgid "\\cline parameters doesn't match {number-number} regexp." +msgstr "Параметры \\cline не соответствует рег. выражению {число-число}." + +#: /home/kolan/projects/LAview/LaTeX-Struct/src/TabularParser.vala:43 +#, c-format +msgid "Incorrect tabular parameters doesn't match '%s' regexp." +msgstr "Неверные параметры tabular не удовлетворяют рег. выражению '%s'." diff --git a/src/AddSpace.vala b/src/AddSpace.vala index e69de29..2fd6523 100644 --- a/src/AddSpace.vala +++ b/src/AddSpace.vala @@ -0,0 +1,45 @@ +namespace LAview { + + namespace Table { + + /** + * Vertical Space in any {@link ATable} + */ + public class AddSpace : ADoc { + + /** + * Value of the vertical space. + * + * Possible values: [0-9]+{bp,cc,cm,dd,em,ex,in,mm,pc,pt,sp} <
> + * or [0-9]+.[0-9][0-9]{\textwidth,columnwidth,paperwidth,linewidth,textheight,paperheight} + */ + public string height = ""; + + /** + * Constructs a new //AddSpace// based on value. + * + * @param height [0-9]+{bp,cc,cm,dd,em,ex,in,mm,pc,pt,sp} <
> + * or [0-9]+.[0-9][0-9]{\textwidth,columnwidth,paperwidth,linewidth,textheight,paperheight} + */ + public AddSpace.with_params (string height) { + this.height = height; + } + + private AddSpace () {} + + /** + * Gets a copy of the //AddSpace//. + */ + public override IDoc copy () { + return new AddSpace.with_params (height); + } + + /** + * Generates LaTeX string for the //AddSpace//. + */ + public override string generate () { + return height; + } + } + } +} diff --git a/src/AddSpaces.vala b/src/AddSpaces.vala index e69de29..a471dab 100644 --- a/src/AddSpaces.vala +++ b/src/AddSpaces.vala @@ -0,0 +1,61 @@ +namespace LAview { + + namespace Table { + + /** + * List of {@link AddSpace}-s. + */ + public class AddSpaces : ADocList { + + /** + * Style of the {@link AddSpace}/{@link Subtable}. + */ + public enum Style { + + /** + * Default style. + */ + DEFAULT = 0, + + /** + * Formal style. + */ + FORMAL + } + + /** + * Style of the {@link AddSpace}/{@link Subtable}. + */ + public Style style = Style.DEFAULT; + + /** + * Constructs a new empty //AddSpaces//. + */ + public AddSpaces () {} + + protected override ADocList create_default_instance () { return new AddSpaces (); } + + /** + * Gets a copy of the //AddSpaces//. + */ + public override IDoc copy () { + var clone = base.copy () as AddSpaces; + clone.style = style; + return clone; + } + + /** + * Generates LaTeX string for the //AddSpaces//. + */ + public override string generate () { + var result = new StringBuilder (); + + foreach (IDoc dociface in this) + result.append_printf (style == Style.FORMAL ? "\n\\addlinespace[%s]" + : "\n\\noalign{\\vskip%s}", dociface.generate ()); + + return result.str; + } + } + } +} diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 37e1e21..391ef48 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,18 +1,36 @@ +INCLUDE (FindVala) +INCLUDE (UseVala) + FIND_PACKAGE (PkgConfig REQUIRED) -PKG_CHECK_MODULES (GLIB REQUIRED glib-2.0) -INCLUDE_DIRECTORIES (${GLIB_INCLUDE_DIRS}) -LINK_DIRECTORIES (${GLIB_LIBRARY_DIRS}) +PKG_CHECK_MODULES (GEE REQUIRED gee-0.8) +INCLUDE_DIRECTORIES (${GEE_INCLUDE_DIRS}) FILE (GLOB_RECURSE LAviewSources RELATIVE ${CMAKE_SOURCE_DIR}/src *.vala) + VALA_PRECOMPILE (VALA_C ${LAviewSources} - PACKAGES - OPTIONS --thread + PACKAGES gee-0.8 posix + OPTIONS --thread ${VALA_DEBUG} CUSTOM_VAPIS - GENERATE_VAPI laview - GENERATE_HEADER laview + GENERATE_VAPI laview-latex-struct-${MAJOR} + GENERATE_HEADER laview-latex-struct-${MAJOR} ) -ADD_LIBRARY (laview SHARED ${VALA_C}) -TARGET_LINK_LIBRARIES (laview ${GLIB2_LIBRARIES}) -SET_TARGET_PROPERTIES (laview PROPERTIES VERSION ${LAVIEW_VERSION}) -SET_TARGET_PROPERTIES (laview PROPERTIES SOVERSION ${LAVIEW_VERSION_MAJOR}) +INCLUDE_DIRECTORIES ("${CMAKE_BINARY_DIR}") +ADD_LIBRARY (laview-latex-struct SHARED ${VALA_C} ${PROJECT_SOURCE_DIR}/src/vala_unsupported.c) +TARGET_LINK_LIBRARIES (laview-latex-struct ${GEE_LIBRARIES}) +SET_TARGET_PROPERTIES (laview-latex-struct PROPERTIES VERSION ${VERSION}) +SET_TARGET_PROPERTIES (laview-latex-struct PROPERTIES SOVERSION ${MAJOR}) +IF (WIN32) + SET_TARGET_PROPERTIES (laview-latex-struct PROPERTIES PREFIX "" IMPORT_PREFIX "" SUFFIX "-${MAJOR}.dll") +ENDIF (WIN32) + +IF (UNIX) + INSTALL (TARGETS laview-latex-struct DESTINATION lib) +ELSEIF (WIN32) + INSTALL (TARGETS laview-latex-struct + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +ENDIF (UNIX) + +INSTALL (FILES ${CMAKE_BINARY_DIR}/src/laview-latex-struct-${MAJOR}.h DESTINATION include) diff --git a/src/Cell.vala b/src/Cell.vala index e69de29..94ba9ad 100644 --- a/src/Cell.vala +++ b/src/Cell.vala @@ -0,0 +1,168 @@ +namespace LAview { + + namespace Table { + + /** + * Cell of any table. + */ + public class Cell : ADoc { + + /** + * Number of occupied cells. + */ + public uint ncells = 1; + + /** + * Cell's alignment. + * + * Possible values: "c", "r", "l", ">{\centering}p{0.07\paperwidth}", etc. + */ + public string align = ""; + + /** + * Number of left lines. + */ + public uint nllines; + + /** + * Number of right lines. + */ + public uint nrlines; + + /** + * Number of top lines. + */ + public uint noverlines; + + /** + * Number of bottom lines. + */ + public uint nunderlines; + + /** + * Contents of the cell. + */ + public Glob contents = new Glob (); + + /** + * Any text before the cell. + */ + public string before = ""; + + /** + * Any text after the cell. + */ + public string after = ""; + + /** + * Type of a cell indicates how much columns/rows does it occupy. + */ + public enum Multitype { + + /** + * Standard cell. + */ + SIMPLE = 0, + + /** + * Cell occupies several columns. + */ + MULTICOL, + + /** + * Cell occupies several rows. + */ + MULTIROW, + + /** + * Cell occupies several columns and rows. + */ + MULTICOLROW + } + + Multitype _multitype; + + /** + * Type of a cell indicates how much columns/rows does it occupy. + */ + public Multitype multitype { + set { + if (value != Multitype.MULTICOL && value != Multitype.MULTICOLROW) + nllines = nrlines = 0; + _multitype = value; + } + get { + return _multitype; + } + } + + /** + * Constructs a new //Cell// based on it's properties. + */ + public Cell.with_params (Multitype multitype, uint ncells, uint nllines, string align, + uint nrlines, uint noverlines, uint nunderlines, + Glob contents, string before, string after) { + this.ncells = ncells; + this.nllines = nllines; + this.align = align; + this.nrlines = nrlines; + this.noverlines = noverlines; + this.nunderlines = nunderlines; + this.contents = contents.copy () as Glob; + this.before = before; + this.after = after; + this.multitype = multitype; + } + + private Cell () {} + + /** + * Gets a copy of the //Cell//. + */ + public override IDoc copy () { + return new Cell.with_params (multitype, ncells, nllines, align, nrlines, + noverlines, nunderlines, contents, before, after); + } + + /** + * Generates LaTeX string for the //Cell//. + */ + public override string generate () { + var result = new StringBuilder (before), + params = new StringBuilder (), + contents = this.contents.generate (); + + if (align != "") { + for (uint i = 0; i < nllines; ++i) params.append_c ('|'); + params.append (align); + for (uint i = 0; i < nrlines; ++i) params.append_c ('|'); + } + + switch (multitype) { + case Multitype.SIMPLE: + result.append (contents); + break; + case Multitype.MULTICOL: + result.append_printf ("\\multicolumn{%u}{%s}{%s}", + ncells, params.str, contents); + break; + case Multitype.MULTIROW: + result.append_printf ("\\multirow{%u}{%s}{%s}", + ncells, params.str, contents); + break; + case Multitype.MULTICOLROW: + result.append_printf ("\\multicolumn{1}{%s}{\\multirow{%u}{*}{%s}}", + params.str, ncells, contents); + break; + default: + assert (multitype == Multitype.SIMPLE); + break; + } + + result.append (after); + + return result.str; + } + } + } +} diff --git a/src/ColParam.vala b/src/ColParam.vala index e69de29..9eae593 100644 --- a/src/ColParam.vala +++ b/src/ColParam.vala @@ -0,0 +1,65 @@ +namespace LAview { + + namespace Table { + + /** + * Parameter of the table's column. + */ + public class ColParam : ADoc { + + /** + * Column's alignment. + * + * Possible values: "c", "r", "l", ">{\centering}p{0.07\paperwidth}", etc. + */ + public string align = "c"; + + /** + * Number of left lines. + */ + public uint nllines = 1; + + /** + * Number of right lines. + */ + public uint nrlines; + + /** + * Constructs a new //ColParam// by it's properties. + */ + public ColParam.with_params (uint nllines = 1, + string align = "c", + uint nrlines = 0) { + this.nllines = nllines; + this.align = align; + this.nrlines = nrlines; + } + + private ColParam () {} + + /** + * Gets a copy of the //ColParam//. + */ + public override IDoc copy () { + return new ColParam.with_params (nllines, align, nrlines); + } + + /** + * Generates LaTeX string for the //ColParam//. + */ + public override string generate () { + var result = new StringBuilder (); + + for (uint i = 0; i < nllines; ++i) + result.append_c ('|'); + + result.append (align); + + for (uint i = 0; i < nrlines; ++i) + result.append_c ('|'); + + return result.str; + } + } + } +} diff --git a/src/ColParams.vala b/src/ColParams.vala index e69de29..453230b 100644 --- a/src/ColParams.vala +++ b/src/ColParams.vala @@ -0,0 +1,18 @@ +namespace LAview { + + namespace Table { + + /** + * List of Column Parameters. + */ + public class ColParams : ADocList { + + protected override ADocList create_default_instance () { return new ColParams (); } + + /** + * Constructs a new empty //ColParams//. + */ + public ColParams () {} + } + } +} diff --git a/src/Doc.vala b/src/Doc.vala deleted file mode 100644 index e69de29..0000000 diff --git a/src/DocIfaces.vala b/src/DocIfaces.vala new file mode 100644 index 0000000..cdb2b87 --- /dev/null +++ b/src/DocIfaces.vala @@ -0,0 +1,75 @@ +namespace LAview { + + /** + * Interface of any LaTeX Document. + */ + public interface IDoc : Object { + + /** + * Gets a copy of the //IDoc//. + */ + public abstract IDoc copy (); + + /** + * Generates LaTeX string for the //IDoc//. + */ + public abstract string generate (); + } + + /** + * Any non-iterable LaTeX Document. + */ + public abstract class ADoc : Object, IDoc { + + protected ADoc () {} + + /** + * Gets a copy of the //ADoc//. + */ + public virtual IDoc copy () { + return Object.new (this.get_type ()) as IDoc; + } + + /** + * Generates LaTeX string for the //ADoc//. + */ + public virtual string generate () { return ""; } + } + + /** + * Any iterable LaTeX Document. + */ + public abstract class ADocList : Gee.ArrayList, IDoc { + + protected ADocList () {} + + /** + * Object.new (this.get_type ()) doesn't work for me for ArrayList. + */ + protected abstract ADocList create_default_instance (); + + /** + * Gets a copy of the //ADocList//. + */ + public virtual IDoc copy () { + var clone = create_default_instance (); + + foreach (IDoc dociface in this) + clone.add (dociface.copy () as IDoc); + + return clone; + } + + /** + * Generates LaTeX string for the //ADocList//. + */ + public virtual string generate () { + var result = new StringBuilder (); + + foreach (IDoc dociface in this) + result.append (dociface.generate ()); + + return result.str; + } + } +} diff --git a/src/Glob.vala b/src/Glob.vala index e69de29..aa427b3 100644 --- a/src/Glob.vala +++ b/src/Glob.vala @@ -0,0 +1,15 @@ +namespace LAview { + + /** + * List of any LaTeX documents except Glob documents. + */ + public class Glob : ADocList { + + protected override ADocList create_default_instance () { return new Glob (); } + + /** + * Constructs a new empty //Glob//. + */ + public Glob () {} + } +} diff --git a/src/GlobParser.vala b/src/GlobParser.vala new file mode 100644 index 0000000..00ecf88 --- /dev/null +++ b/src/GlobParser.vala @@ -0,0 +1,191 @@ +namespace LAview { + + namespace Parsers { + + class GlobParser : Parser { + + public GlobParser (Array links) { + base (links); + } + + enum TagKind { + NONE = 0, + START, + STOP + } + + TokenType scan_tex_symbol (Glob document) throws ParseError { + + uint tag; + var matched_tag_length = fifo_is_tag (tokens, out tag); + TagKind tag_kind = TagKind.NONE; + + if (matched_tag_length != 0) { + tag_kind = TagKind.START; + } else { + matched_tag_length = fifo_is_tag (stop_tokens, out tag); + + if (matched_tag_length != 0) { + tag_kind = TagKind.STOP; + } else if (in_child_params) { + count_branches (); + + if (!in_child_params) { + tag_kind = TagKind.STOP; + tag = child_tag; + matched_tag_length = 1; + } + } + } + + var token = TokenType.NONE; + + uint matched_tag_abspos_left; + uint matched_tag_abspos_right; + uint matched_tag_line; + long matched_tag_pos; + + switch (tag_kind) { + case TagKind.NONE: + fifo_pop (); + + if (fifo_peek_head().token == TokenType.EOF) { + /* without end pair */ + if (child_tag != 0 || child_level != 0) { + assert (child_tag != 0 && child_level != 0); + string message = string.joinv (null, links.index (child_tag).begin); + /// Translators: please leave the '%s' construction without any changes. + prefix_error (subdoc_start, _("Begin tag sequence '%s' without end tag pair."), message); + token = TokenType.ERROR; + throw new ParseError.ORPHAN_BEGIN (err_str); + + } else { + var subcontents = contents.offset (subdoc_start.abspos); + var subparser = links.index (0).create (links); + var subdoc = subparser.parse (subcontents, subdoc_start.line, subdoc_start.pos); + document.add (subdoc); + token = TokenType.EOF; + } + } + break; + + case TagKind.START: + matched_tag_abspos_left = fifo_peek_head ().abspos; + matched_tag_abspos_right = fifo_peek_nth (matched_tag_length - 1).abspos + + fifo_peek_nth (matched_tag_length - 1).length; + matched_tag_line = fifo_peek_head ().line; + matched_tag_pos = fifo_peek_head ().pos; + + for (var i = 0; i < matched_tag_length; ++i) + fifo_pop (); + + if (child_tag != 0 || child_level != 0) { + assert (child_tag != 0 && child_level != 0); + if (links.index (tag).end.length != 0) + ++child_level; + } else { + assert (child_tag == 0 && child_level == 0); + var subcontents = contents[subdoc_start.abspos:matched_tag_abspos_left]; + var subparser = links.index (0).create (links); + var subdoc = subparser.parse (subcontents, subdoc_start.line, subdoc_start.pos); + document.add (subdoc); + + if (links.index (tag).end.length != 0) { + child_tag = tag; + child_level = 1; + } else if (fifo_peek_head ().token == TokenType.LEFT_CURLY + || fifo_peek_head ().token == TokenType.LEFT_BRACE) { + in_child_params = true; + child_tag = tag; + child_level = 1; + } + subdoc_start.abspos = matched_tag_abspos_right; + subdoc_start.line = matched_tag_line; + subdoc_start.pos = matched_tag_pos; + } + break; + + case TagKind.STOP: + matched_tag_abspos_left = fifo_peek_head ().abspos; + matched_tag_abspos_right = fifo_peek_nth (matched_tag_length - 1).abspos + + fifo_peek_nth (matched_tag_length - 1).length; + matched_tag_line = fifo_peek_head ().line; + matched_tag_pos = fifo_peek_head ().pos; + + if (links.index (tag).end.length == 0) + ++matched_tag_abspos_left; + + for (var i = 0; i < matched_tag_length; ++i) + fifo_pop (); + + /* without begin pair */ + if (child_tag == 0 || child_level == 0) { + assert (child_tag == 0 && child_level == 0); + var message = string.joinv (null, links.index (tag).end); + /// Translators: please leave the '%s' construction without any changes. + prefix_error (last_symb_pos, + _(": Unexpected end tag sequence '%s' without begin tag pair."), + message); + token = TokenType.ERROR; + throw new ParseError.ORPHAN_END (err_str); + } else { + assert (child_level != 0); + --child_level; + + if (tag == child_tag) { + if (child_level == 0) { + child_tag = 0; + var subcontents = contents[subdoc_start.abspos:matched_tag_abspos_left]; + var subparser = links.index (tag).create (links); + /* parse subdoc */ + var subdoc = subparser.parse (subcontents, subdoc_start.line, + subdoc_start.pos); + + if (subdoc != null) { + document.add (subdoc); + } else { + prefix_error (subdoc_start, + _("Error parsing subdoc.")); + token = TokenType.ERROR; + } + + subdoc_start.abspos = matched_tag_abspos_right; + subdoc_start.line = matched_tag_line; + subdoc_start.pos = matched_tag_pos; + } + } + } + break; + } + + return token; + } + + + public override IDoc parse (string contents, size_t line, long position) throws ParseError { + + this.contents = contents; + this.line = line; + this.position = position; + + scanner.input_text (contents, contents.length); + + TokenType expected_token = 0; + var doc = new Glob (); + + do { + expected_token = scan_tex_symbol (doc); + + } while (expected_token == TokenType.NONE + && fifo_peek_head().token != TokenType.EOF + && fifo_peek_head().token != TokenType.ERROR); + + if (expected_token == TokenType.ERROR) + scanner.unexp_token (expected_token, null, "symbol", null, null, true); + + return doc; + } + } + } +} + diff --git a/src/GlobScanner.vala b/src/GlobScanner.vala deleted file mode 100644 index e69de29..0000000 diff --git a/src/Graphics.vala b/src/Graphics.vala index e69de29..76c2a69 100644 --- a/src/Graphics.vala +++ b/src/Graphics.vala @@ -0,0 +1,93 @@ +namespace LAview { + + /** + * Graphics in the LaTeX document. + * + * Specified by '\includegraphics' tag in the LaTeX code. + */ + public class Graphics : ADoc { + + /** + * All unknown parameters. + */ + public string rest_params = ""; + + /** + * Path to the image on the disk. + */ + public string path = ""; + + /** + * Width of the image. + * + * For ex: 3.22, 128 + */ + public double width; + + /** + * Width units of the image. + * + * For ex: bp, cc, cm, dd, em, ex, in, mm, pc, pt, sp <
> + * or \textwidth, \columnwidth, \pagewidth, + * \linewidth, \textwidth, \paperwidth + */ + public string width_unit = ""; + + /** + * Height of the image. + * + * For ex: 3.22, 128 + */ + public double height; + + /** + * Height units of the image. + * + * For ex: bp, cc, cm, dd, em, ex, in, mm, pc, pt, sp <
> + * or \textwidth, \columnwidth, \pagewidth, + * \linewidth, \textwidth, \paperwidth + */ + public string height_unit = ""; + + /** + * Constructs a new //Graphics// by it's properties. + * + * @param path path to the image on the disk. + */ + public Graphics.with_params (string path = "") { + this.path = path; + } + + private Graphics () {} + + /** + * Gets a copy of the //Graphics//. + */ + public override IDoc copy () { + var clone = new Graphics.with_params (path); + clone.width = width; + clone.height = height; + clone.width_unit = width_unit; + clone.height_unit = height_unit; + clone.rest_params = rest_params; + return clone; + } + + /** + * Generates LaTeX string for the //Graphics//. + */ + public override string generate () { + var str = new StringBuilder ("\\includegraphics["); + if (width != 0) + str.append_printf ("width=%f%s,", width, width_unit); + if (height != 0) + str.append_printf ("height=%f%s,", height, height_unit); + if (rest_params != "") + str.append_printf ("%s,", rest_params); + if (str.str[str.len - 1] == ',') + str.len -= 1; + str.append_printf ("]{%s}", path); + return str.str; + } + } +} diff --git a/src/GraphicsParser.vala b/src/GraphicsParser.vala new file mode 100644 index 0000000..ed9b994 --- /dev/null +++ b/src/GraphicsParser.vala @@ -0,0 +1,153 @@ +namespace LAview { + + namespace Parsers { + + class GraphicsParser : Parser { + + public GraphicsParser (Array links) { + base (links); + } + + void remove_duplicate_params (List parlist) { + for (unowned List elem1 = parlist.first (); elem1 != null; elem1 = elem1.next) + for (unowned List elem2 = elem1.next; elem2 != null; elem2 = elem2.next) { + var eq_pos1 = elem1.data.index_of_char ('='), + eq_pos2 = elem2.data.index_of_char ('='); + size_t min_len = 0; + + if (-1 != eq_pos1) + min_len = eq_pos1; + + if (-1 != eq_pos2) + min_len = size_t.min (min_len, eq_pos2); + + if (0 != min_len && 0 == Posix.strncmp (elem1.data, elem2.data, min_len)) { + elem2.delete_link (elem2); + if (elem2 == null) break; + } + } + } + + string param_get_nvalue (string param) { + int i; + for (i = 0; param[i] != '\0' && param[i] != '='; ++i); + if (param[i] == '\0') return ""; + while (param[++i].isspace ()); + if (!param[i].isdigit ()) return ""; + return param.offset (i); + } + + string param_get_units (string param) { + int i; + for (i = 0; param[i] != '\0' && param[i] != '='; ++i); + if (param[i] == '\0') return ""; + while (param[++i].isspace ()); + if (!param[i].isdigit ()) return ""; + while (param[++i].isdigit ()); + if (param[i] == '.') + while (param[++i].isdigit ()); + while (param[i].isspace ()) ++i; + if (param[i] == '\0') return ""; + return param.offset (i); + } + + List split_params (string param_str) { + var parlist = new List (); + var vstr = param_str.split (","); + foreach (var str in vstr) { + str = str.strip (); + + if (str != "") + parlist.prepend (str); + } + + parlist.reverse (); + + remove_duplicate_params (parlist); + + return parlist; + } + + string concat_rest_params (List parlist) { + var str = new StringBuilder (); + + for (unowned List elem = parlist.first (); elem != null; elem = elem.next) { + str.append (elem.data); + if (elem.next != null) + str.append_c (','); + } + + return str.str; + } + + static int find_param_delegate (string a, string b) { + return Posix.strncmp (a, b, int.min (a.length, b.length)); + } + + void fill_known_params (Graphics graphics, string param_str) { + var parlist = split_params (param_str); + + unowned List elem; + + if (null != (elem = parlist.find_custom ("width", find_param_delegate))) { + string tmps1 = param_get_nvalue (elem.data); + string tmps2 = param_get_units (elem.data); + + if (tmps1 != "" && tmps2 != "") { + graphics.width = double.parse (tmps1); + graphics.width_unit = tmps2; + } + + parlist.delete_link (elem); + } + + if (null != (elem = parlist.find_custom ("height", find_param_delegate))) { + string tmps1 = param_get_nvalue (elem.data); + string tmps2 = param_get_units (elem.data); + + if (tmps1 != "" && tmps2 != "") { + graphics.height = double.parse (tmps1); + graphics.height_unit = tmps2; + } + + parlist.delete_link (elem); + } + + graphics.rest_params = concat_rest_params (parlist); + } + + public override IDoc parse (string contents, size_t line, long position) throws ParseError { + /* set TeX graphics contents */ + this.contents = contents; + this.line = line; + this.position = position; + + var graphics = new Graphics.with_params (); + + try { + var regex = new Regex ("\\[[^[\\]{}]+\\]"); + MatchInfo match_info; + regex.match (contents, 0, out match_info); + + if (match_info.matches ()) { + var word = match_info.fetch (0); + fill_known_params (graphics, word[1:word.length - 1]); + } + } catch (RegexError e) {} + + try { + var regex = new Regex ("\\{[^[\\]{}]+\\}"); + MatchInfo match_info; + regex.match (contents, 0, out match_info); + + if (match_info.matches ()) { + var word = match_info.fetch (0); + graphics.path = word[1:word.length - 1].compress (); + } + } catch (RegexError e) {} + + return graphics; + } + } + } +} diff --git a/src/GraphicsScanner.vala b/src/GraphicsScanner.vala deleted file mode 100644 index e69de29..0000000 diff --git a/src/Longtable.vala b/src/Longtable.vala index e69de29..ea89314 100644 --- a/src/Longtable.vala +++ b/src/Longtable.vala @@ -0,0 +1,64 @@ +namespace LAview { + + namespace Table { + + /** + * Longtable in the LaTeX document. + * + * Specified by '\begin{longtable}' tag in the LaTeX code. + */ + public class Longtable : ATable { + + /** + * Constructs a new //Longtable// with default parameters. + */ + public Longtable () {} + + /** + * Gets a copy of the //Longtable//. + */ + public override IDoc copy () { + return base.copy (); + } + + /** + * Generates LaTeX string for the //Longtable//. + */ + public override string generate () { + var s = new StringBuilder (); + + if (params.size == 0) return ""; + + s.append ("\\begin{longtable}"); + + if (align != '\0') + s.append_printf ("[%c]", align); + + s.append_c ('{'); + s.append (params.generate ()); + s.append_c ('}'); + + first_header.style = style; + header.style = style; + footer.style = style; + last_footer.style = style; + table.style = style; + + string tmps; + tmps = first_header.generate (); + if (tmps != "") s.append (tmps + "\\endfirsthead"); + tmps = header.generate (); + if (tmps != "") s.append (tmps + "\\endhead"); + tmps = footer.generate (); + if (tmps != "") s.append (tmps + "\\endfoot"); + tmps = last_footer.generate (); + if (tmps != "") s.append (tmps + "\\endlastfoot"); + s.append (table.generate ()); + + s.append ("\\end{longtable}"); + + return s.str; + } + } + } +} diff --git a/src/LongtableParser.vala b/src/LongtableParser.vala new file mode 100644 index 0000000..63880ad --- /dev/null +++ b/src/LongtableParser.vala @@ -0,0 +1,119 @@ +namespace LAview { + + namespace Parsers { + + using Table; + + class LongtableParser : TableParser { + + public LongtableParser (Array links) { + base (links); + } + + public override IDoc parse (string contents, size_t line, long position) throws ParseError { + + /* create empty longtable */ + var longtable = new Longtable (); + + /* set TeX longtable contents */ + this.contents = contents; + this.line = line; + this.position = position; + + /* get parameters string */ + var param_regex = "^(\\[(c|l|r)])?\\{[^{}]*([^{}]*\\{[^{}]*\\}[^{}]*)*\\}"; + + string params = ""; + + try { + var regex = new Regex (param_regex); + + MatchInfo match_info; + regex.match (contents, 0, out match_info); + + uint start_pos = 0, stop_pos = 0; + + if (match_info.matches ()) { + match_info.fetch_pos (0, out start_pos, out stop_pos); + /* set TeX document contents */ + this.contents = contents.offset (stop_pos); + params = match_info.fetch (0); + } else { + /// Translators: please leave the '%s' construction without any changes. + prefix_error (subdoc_start, + _("Incorrect longtable parameters doesn't match '%s' regexp."), + param_regex); + throw new ParseError.SUBDOC (err_str); + } + } catch (RegexError e) {} + + /* longtable align: [c], [l], [r] */ + if (params[0] == '[') { + longtable.align = params[1]; + params = params.offset (3); + } + + /* remove bound '{' '}' from params */ + params = params.substring (1, params.length - 2).reverse (); + var col_params = new ColParams (); + + /* match reversed params so '|' will be snapped to the right column */ + try { + var regex = new Regex ("(" + + "\\|*}[^{}]+{(p\\|*|m\\|*|b\\|*)(}[^{}]+{>(\\|+$|\\||)|\\|)?" + + "|" + + "\\|*(r|c|l)(}[^{}]+{@(p\\|*|m\\|*|b\\|*) (r|c|l))?(\\|+$|\\||)" + + ")"); + MatchInfo match_info; + regex.match_full (params, -1, 0, 0, out match_info); + while (match_info.matches ()) { + var col_param = new ColParam.with_params (0, "", 0); + var word = match_info.fetch (0).reverse ().compress (); + int nllines, nrlines; + for (nllines = 0; '|' == word[nllines]; ++nllines); + for (nrlines = word.length - 1; nrlines != 0 && '|' == word[nrlines]; --nrlines); + var wlen = word.length; + word = word[0:nrlines + 1]; + col_param.align = word.offset (nllines); + col_param.nllines = nllines; + col_param.nrlines = wlen - 1 - nrlines; + col_params.insert (0, col_param); + match_info.next (); + } + } catch (RegexError e) {} + + longtable.params = col_params; + + /* === Parsing subtables === */ + + /* feed in the text */ + scanner.input_text (this.contents, this.contents.length); + + row_abs_pos = 0; + row = new Row (); + subtable = new Subtable (); + in_caption = false; + cell_abs_pos = 0; + + TokenType expected_token = TokenType.NONE; + + /* scanning loop, we scan the input until it's end is reached, + * the self encountered a lexing err, or our sub routine came + * across invalid syntax + */ + do { + expected_token = scan_tex_symbol (longtable); + + } while (expected_token == TokenType.NONE + && fifo_peek_head ().token != TokenType.EOF + && fifo_peek_head ().token != TokenType.ERROR); + + /* give an err message upon syntax errors */ + if (expected_token == TokenType.ERROR) + scanner.unexp_token (expected_token, null, "symbol", null, null, true); + + return longtable; + } + } + } +} diff --git a/src/LongtableScanner.vala b/src/LongtableScanner.vala deleted file mode 100644 index e69de29..0000000 diff --git a/src/Object.vala b/src/Object.vala deleted file mode 100644 index e69de29..0000000 diff --git a/src/ObjectList.vala b/src/ObjectList.vala deleted file mode 100644 index e69de29..0000000 diff --git a/src/Parser.vala b/src/Parser.vala new file mode 100644 index 0000000..bd797e2 --- /dev/null +++ b/src/Parser.vala @@ -0,0 +1,358 @@ +namespace LAview { + + /** + * LaTeX Parsers. + */ + namespace Parsers { + + /** + * LaTeX Parser Error Type. + */ + public errordomain ParseError { + + /** + * Undefined Error. + */ + UNDEFINED, + + /** + * Cann't find end of subdoc. + */ + ORPHAN_BEGIN, + + /** + * End tag without begin tag. + */ + ORPHAN_END, + + /** + * Error in subdoc parsing. + */ + SUBDOC, + } + + abstract class Parser : Object { + + protected string err_str = ""; + + /* links to group of scanners */ + protected unowned Array links = null; + + /* escaped TeX document */ + protected unowned string contents = null; + + /* standard GLib Scanner */ + protected Scanner scanner = new Scanner (null); + + /* tokens_sequence->class table */ + protected Node tokens = new Node (); + protected Node stop_tokens = new Node (); + + /* local tokens_sequence->class table */ + protected Node local_tokens_to_class_start = new Node (); + protected Node local_tokens_to_class_stop = new Node (); + + /* contents location in global document */ + protected size_t line = 0; + protected long position = 0; + + /* fifo-queue of tokens */ + protected Queue symb_fifo = new Queue (); + + protected struct SymbPos { + public TokenType token; + public uint line; + public long pos; + public uint abspos; + public uint length; + } + + /* Last symbol position pushed to fifo */ + protected SymbPos last_symb_pos; + + /* Last symbol position pushed to fifo */ + protected SymbPos subdoc_start; + + /* child class and level */ + protected uint child_tag = 0; + protected uint child_level = 0; + protected bool in_child_params = false; + protected uint child_param_branch_level = 0; + + /* back-slash counter for one-line comments */ + protected uint back_slash_counter = 0; + + public Parser (Array links) { + + /* initializing scanner links */ + this.links = links; + + /* adjust lexing behaviour to suit our needs */ + scanner.config.cset_skip_characters = ""; + scanner.config.cset_identifier_first = CharacterSet.a_2_z + CharacterSet.DIGITS + "\\"; + scanner.config.cset_identifier_nth = CharacterSet.a_2_z + CharacterSet.A_2_Z + CharacterSet.DIGITS; + scanner.config.cpair_comment_single = "%\n"; + scanner.config.scan_float = false; + scanner.config.symbol_2_token = true; + scanner.config.scan_string_sq = false; // See bug #448 + scanner.config.scan_string_dq = false; // See bug #448 + + /* set custom error message handler */ + scanner.msg_handler = null; + + /* load symbols into the self using GLib Quarks */ + load_symbols (links); + + /* generate tokens table (tree) */ + build_tree (ref tokens, links, false); + + /* generate stop_tokens table (tree) */ + build_tree (ref stop_tokens, links, true); + + /* give the error handler an idea on how the input is named */ + scanner.input_name = "TeX text"; + } + + public abstract IDoc parse (string contents, size_t line, long position) throws ParseError; + + void vprefix_error (SymbPos symb_pos, string format, va_list args) { + err_str = "\n" + err_str; + + var line = symb_pos.line; + long position = symb_pos.pos; + + + if (line == 0) + position += this.position; + + size_t nlines; long i; + for (i = 0, nlines = 0; contents[i] != '\0' && nlines < line; ++i) + if ('\n' == contents[i] || '\r' == contents[i]) + ++nlines; + + var unparsed_str = contents[i:contents.length].split ("\n"); // FIXME: MacOS newline '\r' characters... + var str = unparsed_str[0][0:position]; + var compressed = str.compress (); + position = compressed.length + 1; + var arrow_str = string.nfill (position - 1, ' ') + "^"; + compressed = unparsed_str[0].compress (); + + str = format.vprintf (args); + err_str = "%s:%lu:%lu: %s\n%s\n%s\n%s".printf (get_type().name(), + this.line + line + 1, + position, + str, + compressed, + arrow_str, + err_str); + } + + protected void prefix_error (SymbPos symb_pos, string format, ...) { + var list = va_list (); + vprefix_error (symb_pos, format, list); + } + + protected void load_symbols (Array links) { + for (var i = 1; i < links.length; ++i) { + for (var j = 0; j < links.index (i).begin.length; ++j) + if (links.index (i).begin[j].length > 1) + scanner.scope_add_symbol (0, links.index (i).begin[j], (void*)(Quark.from_string (links.index (i).begin[j]) + TokenType.LAST)); + + for (var j = 0; j < links.index (i).end.length; ++j) + if (links.index (i).end[j].length > 1) + scanner.scope_add_symbol (0, links.index (i).end[j], (void*)(Quark.from_string (links.index (i).end[j]) + TokenType.LAST)); + } + } + + protected void build_tree (ref Node tokens, Array links, bool stop_tree) { + + /* generate tokens table (tree) */ + tokens = new Node (); + + for (var i = 1; i < links.length; ++i) { + + /* if current class has no begin tags */ + if (!stop_tree && links.index (i).begin.length == 0 + || stop_tree && links.index (i).end.length == 0) + continue; + + unowned Node parent_node = tokens; + + unowned string[] symb_seq = stop_tree ? links.index (i).end: links.index (i).begin; + + Quark symb_quark; + unowned Node child_node; + + /* insert begin tags of all links into tree */ + for (var j = 0; j < symb_seq.length; ++j) { + assert (symb_seq[j] != null && symb_seq.length != 0); + + if (symb_seq[j].length > 1) + symb_quark = Quark.from_string(symb_seq[j]) + TokenType.LAST; + else + symb_quark = symb_seq[j][0]; + + child_node = parent_node.find_child (TraverseFlags.NON_LEAVES, symb_quark); + + /* append node with symb_quark token */ + if (child_node == null) + child_node = parent_node.append_data (symb_quark); + + parent_node = child_node; + } + + /* check for identical tokens lists and be shure that we create leaf for class id */ + assert (parent_node.first_child () == null); + + /* append leaf with class id */ + parent_node.append_data (i); + } + } + + protected void count_branches () { + if (in_child_params) { + switch (fifo_peek_head ().token) { + case TokenType.LEFT_CURLY: + case TokenType.LEFT_BRACE: + ++child_param_branch_level; + break; + + case TokenType.RIGHT_CURLY: + case TokenType.RIGHT_BRACE: + --child_param_branch_level; + break; + + default: + break; + } + + if (child_param_branch_level == 0 + && TokenType.LEFT_CURLY != fifo_peek_nth(1).token + && TokenType.LEFT_BRACE != fifo_peek_nth(1).token) + in_child_params = false; + } + } + + protected uint fifo_is_tag (Node tokens, out uint tag) { + uint match_length; + + tag = 0; + + /* search for tokens subsequence in tokens tree */ + for (match_length = 0; ; ++match_length) { + if (tokens == null + || TokenType.ERROR == fifo_peek_nth (match_length).token + || TokenType.EOF == fifo_peek_nth (match_length).token) { + match_length = 0; + break; + } + + tokens = tokens.find_child (TraverseFlags.NON_LEAVES, + fifo_peek_nth (match_length).token); + + if (tokens != null && tokens.first_child().is_leaf()) { + tag = tokens.first_child().data; + ++match_length; + break; + } + } + + return match_length; + } + + protected void fifo_pop () { + var ret = fifo_peek_head (); + + if (ret.token != TokenType.ERROR && ret.token != TokenType.EOF) + symb_fifo.pop_head (); + } + + protected SymbPos fifo_peek_head () { + if (symb_fifo.length == 0) + fifo_push (); + return symb_fifo.peek_head(); + } + + protected SymbPos fifo_peek_nth (uint n) { + unowned SymbPos ret; + + while (n >= symb_fifo.length && fifo_push ()); + + if (n < symb_fifo.length) + ret = symb_fifo.peek_nth (n); + else + ret = symb_fifo.peek_tail (); + + return ret; + } + + bool fifo_push () { + var p = contents.offset (last_symb_pos.abspos); + + scanner.get_next_token (); + + if ('\\' == scanner.token) { + ++back_slash_counter; + + if (back_slash_counter % 4 == 0) + scanner.config.cpair_comment_single = "%\n"; + else if (back_slash_counter % 2 == 0) + scanner.config.cpair_comment_single = null; + + } else { + back_slash_counter = 0; + } + + scanner.peek_next_token (); + + if (scanner.token == TokenType.ERROR + || scanner.token == TokenType.EOF) { + if (symb_fifo.length == 0) { + var sp = SymbPos (); + sp.token = scanner.token; + symb_fifo.push_tail (sp); + } + + return false; + } + + var sp = SymbPos (); + + sp.token = scanner.token; + last_symb_pos.token = scanner.token; + sp.line = scanner.cur_line () - 1; + sp.pos = scanner.cur_position (); + sp.length = 1; + + if (scanner.token > 255 && ((Quark)(scanner.token - TokenType.LAST)).to_string() != null) { + sp.length = ((Quark)(scanner.token - TokenType.LAST)).to_string().length; + sp.pos -= sp.length; + } else if (sp.pos != 0) { + --sp.pos; + } + + last_symb_pos.length = sp.length; + + /* current scanner's abspos evaluation */ + while (last_symb_pos.line < sp.line + || last_symb_pos.line == sp.line && last_symb_pos.pos < sp.pos) { + if ('\n' == p[0] || '\r' == p[0]) { + ++last_symb_pos.line; + last_symb_pos.pos = 0; + } else { + ++last_symb_pos.pos; + } + + ++last_symb_pos.abspos; + p = p.offset (1); + } + + sp.abspos = last_symb_pos.abspos; + + symb_fifo.push_tail (sp); + + return true; + } + } + } +} diff --git a/src/ParserFactory.vala b/src/ParserFactory.vala new file mode 100644 index 0000000..5e1d333 --- /dev/null +++ b/src/ParserFactory.vala @@ -0,0 +1,55 @@ +namespace LAview { + + namespace Parsers { + + delegate Parser ParserDelegate (Array links); + + class Link { + + public string[] begin; + public string[] end; + public unowned ParserDelegate create; + + public Link (string[] begin, string[] end, ParserDelegate? create = null) { + this.begin = begin; this.end = end; this.create = create; + } + } + + class ParserFactory { + + public Array group = new Array (); + + public virtual TextParser make_text_parser (Array links) { + return new TextParser (links); + } + + public virtual LongtableParser make_longtable_parser (Array links) { + return new LongtableParser (links); + } + + public virtual GraphicsParser make_graphics_parser (Array links) { + return new GraphicsParser (links); + } + + public virtual TabularParser make_tabular_parser (Array links) { + return new TabularParser (links); + } + + public ParserFactory () { + group.append_val (new Link ({}, {}, + links => { return make_text_parser (links); })); + group.append_val (new Link ({"\\", "\\begin", "{", "longtable", "}"}, + {"\\", "\\end", "{", "longtable", "}"}, + links => { return make_longtable_parser (links); })); + group.append_val (new Link ({"\\", "\\includegraphics"}, {}, + links => { return make_graphics_parser (links); })); + group.append_val (new Link ({"\\", "\\begin", "{", "tabular", "}"}, + {"\\", "\\end", "{", "tabular", "}"}, + links => { return make_tabular_parser (links); })); + group.append_val (new Link ({"\\", "\\begin", "{", "tabular", "*", "}"}, + {"\\", "\\end", "{", "tabular", "*", "}"}, + links => { return make_tabular_parser (links); })); + } + } + } +} diff --git a/src/Row.vala b/src/Row.vala index e69de29..c6d5d59 100644 --- a/src/Row.vala +++ b/src/Row.vala @@ -0,0 +1,439 @@ +namespace LAview { + + namespace Table { + + /** + * Row in the {@link Subtable}. + */ + public class Row : ADocList { + + /** + * Expands {@link AddSpaces.Style}. + */ + public enum Style { + + /** + * Default style. + */ + DEFAULT = 0, + + /** + * Formal style for the first //Row// in the {@link Subtable}. + */ + FORMAL_FIRST, + + /** + * Formal style for the middle //Row// in the {@link Subtable}. + */ + FORMAL_REST, + + /** + * Formal style for the last //Row// in the {@link Subtable}. + */ + FORMAL_LAST, + + /** + * Formal style for a single //Row// in the {@link Subtable}. + */ + FORMAL_SINGLE + } + + /** + * Style of any operation on {@link ATable}/{@link Subtable} or //Row// + * for lines preserving/creation. + */ + public enum OpLineStyle { + + /** + * Do not anything with lines, "store as is". + */ + DEFAULT = 0, + + /** + * Preserve vertical border. + */ + HBORDER = 1, + + /** + * Preserve horizontal border. + */ + VBORDER = 2, + + /** + * Preserve both vertical and horizontal borders. + */ + BORDER = 3, + + /** + * Remove horizontal double lines. + */ + HDBLLINES = 4, + + /** + * Remove vertical double lines. + */ + VDBLLINES = 8, + + /** + * Remove both horizontal and vertical double lines. + */ + DBLLINES = 12, + + /** + * Preserve any borders and remove any double lines. + */ + BORDER_DBLLINES = 15, + } + + /** + * Any text before the //Row//. + */ + public string before = ""; + + /** + * Style of any operation on {@link ATable}/{@link Subtable} or //Row// + * for lines preserving/creation. + */ + public Style style; + + /** + * Top vertical spaces. + */ + public AddSpaces top = new AddSpaces (); + + /** + * Bottom vertical spaces. + */ + public AddSpace bottom = new AddSpace.with_params (""); + + /** + * Vertical spaces inside the {@link Subtable} + */ + public AddSpaces between = new AddSpaces (); + + /** + * Type of horizontal lines for the //Row//. + */ + public enum LinesType { + + /** + * //Row// has no horizontal lines. + */ + NONE = 0, + + /** + * //Row// has continuous horizontal line on the top. + */ + HLINE, + + /** + * //Row// has noncontinuous horizontal line on the top. + */ + CLINES + } + + /** + * Constructs a new empty //Row//. + */ + public Row () {} + + protected override ADocList create_default_instance () { return new Row (); } + + /** + * Gets a copy of the //Row//. + */ + public override IDoc copy () { + var clone = base.copy () as Row; + clone.before = before; + clone.style = style; + clone.top = top; + clone.bottom = bottom.copy () as AddSpace; + clone.between = between.copy () as AddSpaces; + return clone; + } + + enum Where { SEARCH_BEGIN = 0, SEARCH_END = 1 } + + string row_to_lines (bool overline) { + var s = new StringBuilder (); + var lcount_row = copy () as Row; + LinesType lines_type = LinesType.HLINE; + + while (lines_type != LinesType.NONE) { + lines_type = LinesType.NONE; + + foreach (var cell in lcount_row as Gee.ArrayList) { + if (overline && cell.noverlines != 0 + || !overline && cell.nunderlines != 0) { + if (lines_type == LinesType.NONE) { + if (lcount_row.index_of (cell) == 0) + lines_type = LinesType.HLINE; + else + lines_type = LinesType.CLINES; + } + } else { + if (lines_type == LinesType.HLINE) + lines_type = LinesType.CLINES; + } + } + + if (lines_type != LinesType.NONE) + s.append_c ('\n'); + + if (lines_type == LinesType.HLINE) { + string line_style = ""; + + switch (lcount_row.style) { + case Style.FORMAL_FIRST: + line_style = overline ? "\\toprule" : "\\midrule"; + break; + case Style.FORMAL_LAST: + line_style = overline ? "\\midrule" : "\\bottomrule"; + break; + case Style.FORMAL_SINGLE: + line_style = overline ? "\\toprule" : "\\bottomrule"; + break; + case Style.FORMAL_REST: + line_style = "\\midrule"; + break; + default: + line_style = "\\hline"; + break; + } + + s.append (line_style); + } else if (lines_type == LinesType.CLINES) { + var clines_added = false; + + uint cline_begin = 0, cline_end = 0; + var where = Where.SEARCH_BEGIN; + for (var idx = 0, max_idx = lcount_row.size; idx < max_idx; ++idx) { + var cell = lcount_row[idx] as Cell; + + switch (where) { + case Where.SEARCH_BEGIN: + if (overline && cell.noverlines != 0 + || !overline && cell.nunderlines != 0) { + + if (idx + 1 < max_idx + && (overline && (lcount_row[idx + 1] as Cell).noverlines != 0 + || !overline && (lcount_row[idx + 1] as Cell).nunderlines != 0)) { + cline_end = cline_begin + cell.ncells; + where = Where.SEARCH_END; + } else { + if (clines_added) + s.append_c (' '); + s.append_printf (lcount_row.style != Style.DEFAULT ? + "\\cmidrule{%d-%d}" : "\\cline{%d-%d}", + cline_begin + 1, + cline_begin + cell.ncells); + cline_begin += cell.ncells; + clines_added = true; + } + } else { + cline_begin += cell.ncells; + } + break; + case Where.SEARCH_END: + if (idx + 1 >= max_idx + || overline && (lcount_row[idx + 1] as Cell).noverlines == 0 + || !overline && (lcount_row[idx + 1] as Cell).nunderlines == 0) { + if (clines_added) + s.append_c (' '); + s.append_printf (lcount_row.style != Style.DEFAULT ? + "\\cmidrule{%d-%d}" : "\\cline{%d-%d}", + cline_begin + 1, + cline_end + cell.ncells); + cline_begin = cline_end + cell.ncells; + clines_added = true; + where = Where.SEARCH_BEGIN; + } else { + cline_end += cell.ncells; + } + break; + default: + assert (where == Where.SEARCH_BEGIN); + break; + } + } + } + + foreach (var cell in lcount_row as Gee.ArrayList) { + if (overline && cell.noverlines != 0 + || !overline && cell.nunderlines != 0) { + if (overline) + --cell.noverlines; + else + --cell.nunderlines; + } + } + } + + return s.str; + } + + void process_opline_insert (Cell cell, + int index, + OpLineStyle line_style) { + if (size == 0) return; + + if ((line_style & OpLineStyle.VBORDER) != 0) { + if (index < 0 || index >= size) { + var last_cell = get (size - 1) as Cell; + if (last_cell.multitype == Cell.Multitype.MULTICOL + || last_cell.multitype == Cell.Multitype.MULTICOLROW) + cell.nrlines = last_cell.nrlines; + } else if (index == 0) { + if ((get (index) as Cell).multitype == Cell.Multitype.MULTICOL + || (get (index) as Cell).multitype == Cell.Multitype.MULTICOLROW) + cell.nllines = (get (index) as Cell).nllines; + } + } + + if ((line_style & OpLineStyle.VDBLLINES) != 0) { + var prev_index = index - 1; + + if (index >= 0 && index < size) { // next == [index] + var idx_cell = get (index) as Cell; + if (idx_cell.multitype == Cell.Multitype.MULTICOL + || idx_cell.multitype == Cell.Multitype.MULTICOLROW ) { + idx_cell.nllines = cell.nrlines != 0 || idx_cell.nllines != 0 ? 1 : 0; + cell.nrlines = 0; + } + } else { + prev_index = size - 1; + } + + if (prev_index >= 0 && prev_index < size + && (cell.multitype == Cell.Multitype.MULTICOL + || cell.multitype == Cell.Multitype.MULTICOLROW)) { + var idx_cell = get (prev_index) as Cell; + cell.nllines = idx_cell.nrlines != 0 || cell.nllines != 0 ? 1 : 0; + idx_cell.nrlines = 0; + } + } + } + + /** + * Removes a {@link Cell} from the //Row//. + * + * @param cell {@link Cell} to remove. + * @param line_style {@link Row.OpLineStyle} of the operation. + */ + public new bool remove (Cell cell, Row.OpLineStyle line_style = Row.OpLineStyle.BORDER_DBLLINES) { + var index = index_of (cell); + if (index < 0 || index >= size) return false; + remove_at (index); + return true; + } + + /** + * Removes a {@link Cell} from the //Row// at specified position. + * + * @param index position of the {@link Cell} to remove. + * @param line_style {@link Row.OpLineStyle} of the operation. + */ + public new Cell remove_at (int index, Row.OpLineStyle line_style = Row.OpLineStyle.BORDER_DBLLINES) { + var cell = get (index) as Cell; + if ((line_style & OpLineStyle.VBORDER) != 0 + && (cell.multitype == Cell.Multitype.MULTICOL + || cell.multitype == Cell.Multitype.MULTICOLROW)) { + if (size > 1) { + if (index == 0) + (get (1) as Cell).nllines = cell.nllines; + else if (index == size - 1) + (get (size - 2) as Cell).nrlines = cell.nrlines; + } + + if ((line_style & OpLineStyle.VDBLLINES) != 0) { + if (index > 0 && index + 1 < size) { + var prev = get (index - 1) as Cell, + next = get (index + 1) as Cell; + if (next.multitype == Cell.Multitype.MULTICOL + || next.multitype == Cell.Multitype.MULTICOLROW) { + next.nllines = prev.nrlines != 0 || next.nllines != 0 ? 1 : 0; + prev.nrlines = 0; + } + } + } + } + + return base.remove_at (index) as Cell; + } + + /** + * Inserts a {@link Cell} to the //Row// to specified position. + * + * @param index position to insert the {@link Cell}. + * @param cell {@link Cell} to insert. + * @param line_style {@link Row.OpLineStyle} of the operation. + */ + public new void insert (int index, Cell cell, OpLineStyle line_style = OpLineStyle.BORDER_DBLLINES) { + process_opline_insert (cell, index, line_style); + base.insert (index, cell); + } + + /** + * Adds a {@link Cell} to the //Row//. + * + * @param cell {@link Cell} to add. + * @param line_style {@link Row.OpLineStyle} of the operation. + */ + public new bool add (Cell cell, OpLineStyle line_style = OpLineStyle.BORDER_DBLLINES) { + process_opline_insert (cell, -1, line_style); + return base.add (cell); + } + + /** + * Generates LaTeX string for the //Row//. + */ + public override string generate () { + var s = new StringBuilder (); + + /* {c,h}lines */ + string tmps = row_to_lines (true); + s.append (tmps); + + /* "top" additional space */ + if (top.size != 0) { + top.style = style == Style.DEFAULT ? AddSpaces.Style.DEFAULT + : AddSpaces.Style.FORMAL; + s.append (top.generate ()); + } + + /* spaces before self */ + if (before != "") + s.append (before); + + /* rows contents */ + foreach (var cell in this) { + if (this.index_of (cell) != 0) s.append_c ('&'); + s.append (cell.generate ()); + } + + s.append ("\\tabularnewline"); + + /* "bottom" additional space */ + if ((tmps = bottom.generate ()) != "") { + if (style == Style.DEFAULT) + s.append_printf ("[%s]", tmps); + else + s.append_printf ("\\addlinespace[%s]", tmps); + } + + /* "between" additional space */ + if (between.size != 0) { + between.style = style == Style.DEFAULT ? AddSpaces.Style.DEFAULT + : AddSpaces.Style.FORMAL; + s.append (between.generate ()); + } + + /* {c,h}lines */ + tmps = row_to_lines (false); + s.append (tmps); + + return s.str; + } + } + } +} diff --git a/src/Scanner.vala b/src/Scanner.vala deleted file mode 100644 index e69de29..0000000 diff --git a/src/Subtable.vala b/src/Subtable.vala index e69de29..3ef62e8 100644 --- a/src/Subtable.vala +++ b/src/Subtable.vala @@ -0,0 +1,353 @@ +namespace LAview { + + namespace Table { + + /** + * Subtable in the {@link ATable}. + */ + public class Subtable : ADocList { + + /** + * Caption of the table. + */ + public string caption = ""; + + /** + * Any text before the //Subtable//. + */ + public string before = ""; + + /** + * Any text after the //Subtable//. + */ + public string after = ""; + + /** + * Style of the table (Default/Formal). + */ + public AddSpaces.Style style; + + protected override ADocList create_default_instance () { return new Subtable (); } + + /** + * Constructs a new empty //Subtable//. + */ + public Subtable () {} + + /** + * Gets a copy of the //Subtable//. + */ + public override IDoc copy () { + var clone = base.copy () as Subtable; + clone.caption = caption; + clone.before = before; + clone.after = after; + clone.style = style; + return clone; + } + + void process_border_lines (Row dest_row, Row src_row, bool is_first) { + var si = 0, di = 0, max_si = src_row.size, max_di = dest_row.size; + uint dncells = 0, sncells = 0; + + while (si < max_si && di < max_di) { + var scell = src_row.get (si) as Cell; + var dcell = dest_row.get (di) as Cell; + + dncells = dncells != 0 ? dncells + : uint.max (1, dcell.multitype == Cell.Multitype.MULTICOL ? + dcell.ncells : 1); + sncells = sncells != 0 ? sncells + : uint.max (1, scell.multitype == Cell.Multitype.MULTICOL ? + scell.ncells : 1); + + if (is_first) + dcell.noverlines = scell.noverlines; + else + dcell.nunderlines = scell.nunderlines; + + if (--dncells == 0) ++di; + if (--sncells == 0) ++si; + } + } + + void process_double_lines (Row top_row, Row bottom_row) { + var ti = 0, bi = 0, max_ti = top_row.size, max_bi = bottom_row.size; + uint tncells = 0, bncells = 0; + + while (ti < max_ti && bi < max_bi) { + var tcell = top_row.get (ti) as Cell; + var bcell = bottom_row.get (bi) as Cell; + + tncells = tncells != 0 ? tncells + : uint.max (1, tcell.multitype == Cell.Multitype.MULTICOL ? + 1 : 0) != 0 ? tcell.ncells : 1; + bncells = bncells != 0 ? bncells + : uint.max (1, bcell.multitype == Cell.Multitype.MULTICOL ? + bcell.ncells : 1); + + bcell.noverlines = tcell.nunderlines + bcell.noverlines != 0 ? 1 : 0; + tcell.nunderlines = 0; + + if (--tncells == 0) ++ti; + if (--bncells == 0) ++bi; + } + } + + void process_opline_insert (Row row, Row? row2, Row.OpLineStyle line_style) { + if (size == 0) return; + + if ((line_style & Row.OpLineStyle.HBORDER) != 0) { + if (row2 == null) + process_border_lines (row, get (size - 1) as Row, false); + else if (index_of (row2) == 0) + process_border_lines (row, row2, true); + } + + if ((line_style & Row.OpLineStyle.HDBLLINES) != 0) { + Row prev = null; + + if (row2 != null) { // next == iter + prev = get (index_of (row2) - 1) as Row; + process_double_lines (row, row2); + } else { + prev = get (size - 1) as Row; + } + + if (prev != null) + process_double_lines (prev, row); + } + } + + /** + * Removes {@link Cell}-s in the column by specified index. + * + * @param index index of column to remove. + * @param line_style {@link Row.OpLineStyle} of the operation. + */ + public void remove_col (uint index, Row.OpLineStyle line_style = Row.OpLineStyle.BORDER_DBLLINES) { + foreach (Row row in this as Gee.ArrayList) { + uint mindx = 0; + + foreach (var cell in row as Gee.ArrayList) { + uint ncells = 1; + + if (cell.multitype == Cell.Multitype.MULTICOL) + ncells = cell.ncells; + + if (mindx + ncells > index) { + if (ncells == 1) + row.remove (cell, line_style); + else + cell.ncells--; + break; + } + + mindx += ncells; + } + } + } + + /** + * Clones column of {@link Cell}-s by specified indexes. + * + * @param src_index source position of the column. + * @param dest_index destination to clone the column. + * @param multicol preserve multicolumn property or not. + * @param line_style {@link Row.OpLineStyle} of the operation. + */ + public void clone_col (uint src_index, uint dest_index, + bool multicol, Row.OpLineStyle line_style = Row.OpLineStyle.BORDER_DBLLINES) { + foreach (var row in this as Gee.ArrayList) { + uint mindx = 0; + var sidx = -1; + var didx = -1; + + foreach (var cell in row as Gee.ArrayList) { + uint ncells = 1; + + if (cell.multitype == Cell.Multitype.MULTICOL) + ncells = cell.ncells; + + if (sidx == -1 && mindx + ncells > src_index) + sidx = row.index_of (cell); + + if (didx == -1 && mindx + ncells > dest_index) + didx = row.index_of (cell); + + if (sidx != -1 && didx != -1) { + var cell2 = row.get (sidx).copy () as Cell; + if (!multicol && cell2.multitype == Cell.Multitype.MULTICOL) + cell2.ncells = 1; + row.insert (didx, cell2, line_style); + + sidx = -1; + break; + } + + mindx += ncells; + } + + if (sidx != -1 && mindx <= dest_index) { + var empty_global_doc = new Glob (); + Cell cell; + + while (mindx < dest_index) { + var row_size = row.size; + cell = row.get (row_size - 1).copy () as Cell; + cell.contents = empty_global_doc; + cell.ncells = 1; + row.add (cell, line_style); + mindx++; + } + + cell = row.get (sidx).copy () as Cell; + if (!multicol && cell.multitype == Cell.Multitype.MULTICOL) + cell.ncells = 1; + row.add (cell, line_style); + } + } + } + + /** + * Removes {@link Row} from from //Subtable//. + * + * @param row {@link Row} to remove. + * @param line_style {@link Row.OpLineStyle} of the operation. + */ + public new bool remove (Row row, Row.OpLineStyle line_style = Row.OpLineStyle.BORDER_DBLLINES) { + var index = index_of (row); + if (index < 0 || index >= size) return false; + remove_at (index); + return true; + } + + /** + * Removes a {@link Row} from the //Subtable// at specified position. + * + * @param index position of the {@link Row} to remove. + * @param line_style {@link Row.OpLineStyle} of the operation. + */ + public new Row remove_at (int index, Row.OpLineStyle line_style = Row.OpLineStyle.BORDER_DBLLINES) { + if (size > 1 && 0 != line_style & Row.OpLineStyle.HBORDER) { + if (index == 0) + process_border_lines (get (1) as Row, get (index) as Row, true); + else if (index == size - 1) + process_border_lines (get (size - 2) as Row, get (index) as Row, false); + } + + if ((line_style & Row.OpLineStyle.HDBLLINES) != 0) + if (index > 0 && index + 1 < size) + process_double_lines (get (index + 1) as Row, + get (index - 1) as Row); + + return base.remove_at (index) as Row; + } + + /** + * Inserts a {@link Row} to the //Subtable// to specified position. + * + * @param index position to insert the {@link Row}. + * @param row {@link Row} to insert. + * @param line_style {@link Row.OpLineStyle} of the operation. + */ + public new void insert (int index, Row row, Row.OpLineStyle line_style = Row.OpLineStyle.BORDER_DBLLINES) { + process_opline_insert (row, get (index) as Row, line_style); + base.insert (index, row); + } + + /** + * Adds a {@link Row} to the //Subtable//. + * + * @param row {@link Row} to add. + * @param line_style {@link Row.OpLineStyle} of the operation. + */ + public new bool add (Row row, Row.OpLineStyle line_style = Row.OpLineStyle.BORDER_DBLLINES) { + process_opline_insert (row, null, line_style); + return base.add (row); + } + + enum RowPos { DEFAULT = 0, FIRST, LAST } + + Row rm_extra_lines (Row row) { + var ret = row.copy () as Row; + + var row_pos = RowPos.DEFAULT; + + if (index_of (row) == 0) + row_pos = RowPos.FIRST; + else if (index_of (row) == size - 1) + row_pos = RowPos.LAST; + else + row_pos = RowPos.DEFAULT; + + uint min_olines = 0, min_ulines = 0; + + foreach (var cell in row as Gee.ArrayList) { + min_olines = uint.min (min_olines, cell.noverlines); + min_ulines = uint.min (min_ulines, cell.nunderlines); + } + + foreach (var cell in row as Gee.ArrayList) { + switch (row_pos) { + case RowPos.FIRST: + cell.noverlines = uint.min (min_olines + 1, cell.noverlines); + cell.nunderlines = uint.min (min_ulines, cell.nunderlines); + break; + case RowPos.LAST: + cell.noverlines = uint.min (1, cell.noverlines); + cell.nunderlines = uint.min (min_ulines + 1, cell.nunderlines); + break; + default: + cell.noverlines = uint.min (1, cell.noverlines); + cell.nunderlines = uint.min (min_ulines, cell.nunderlines); + break; + } + } + + return ret; + } + + /** + * Generates LaTeX string for the //Subtable//. + */ + public override string generate () { + var s = new StringBuilder (); + + s.append (before); + + if (caption != "") { + s.append (caption); + if (size != 0) + s.append ("\\tabularnewline"); + } + + foreach (var row in this as Gee.ArrayList) { + var row_style = Row.Style.DEFAULT; + + if (style != AddSpaces.Style.DEFAULT) { + var len = size; + + if (len > 1 && index_of (row) == 0) + row_style = Row.Style.FORMAL_FIRST; + else if (len > 1 && index_of (row) == size - 1) + row_style = Row.Style.FORMAL_LAST; + else if (len == 1) + row_style = Row.Style.FORMAL_SINGLE; + else + row_style = Row.Style.FORMAL_REST; + } + + row.style = row_style; + var tmprow = rm_extra_lines (row); + var tmps = tmprow.generate (); + s.append (tmps); + } + + s.append (after); + + return s.str; + } + } + } +} diff --git a/src/Table.vala b/src/Table.vala new file mode 100644 index 0000000..c565863 --- /dev/null +++ b/src/Table.vala @@ -0,0 +1,181 @@ +namespace LAview { + + /** + * Tables and its components in the document. + */ + namespace Table { + + /** + * Any Table in the LaTeX document. + */ + public abstract class ATable : ADoc { + + /** + * Align of the table. + * + * Possible values: 't', 'b'. + */ + public char align; + + /** + * Style of the {@link AddSpace}/{@link Subtable}. + */ + public AddSpaces.Style style; + + /** + * Parameters of columns. + */ + public ColParams params = new ColParams (); + + /** + * Main sutable. + */ + public Subtable table = new Subtable (); + + /** + * First Header. + */ + public Subtable first_header = new Subtable (); + + /** + * Header. + */ + public Subtable header = new Subtable (); + + /** + * Footer. + */ + public Subtable footer = new Subtable (); + + /** + * Last Footer. + */ + public Subtable last_footer = new Subtable (); + + protected ATable () {} + + /** + * Gets a copy of the //Table//. + */ + public override IDoc copy () { + var clone = Object.new (this.get_type ()) as ATable; + + clone.align = align; + clone.style = style; + clone.params = params.copy () as ColParams; + clone.table = table.copy () as Subtable; + clone.first_header = first_header.copy () as Subtable; + clone.header = header.copy () as Subtable; + clone.footer = footer.copy () as Subtable; + clone.last_footer = last_footer.copy () as Subtable; + + return clone; + } + + /** + * Generates LaTeX string for the //Table//. + */ + public override string generate () { + assert (false); + return ""; + } + + /** + * Removes {@link Cell}-s in the column by specified index. + * + * @param index index of column to remove. + * @param line_style {@link Row.OpLineStyle} of the operation. + */ + public void remove_col (int index, Row.OpLineStyle line_style + = Row.OpLineStyle.BORDER_DBLLINES) { + if (index >= params.size) return; + + var param = params.get (index) as ColParam; + + if ((line_style & Row.OpLineStyle.VBORDER) != 0 && param.align != "") { + if (params.size > 1) { + if (index == 0) + (params.get (1) as ColParam).nllines = param.nllines; + else if (index == params.size - 1) + (params.get (params.size - 2) as ColParam).nrlines = param.nrlines; + } + } + + if ((line_style & Row.OpLineStyle.VDBLLINES) != 0) { + if (index > 0 && index < params.size - 1) { + var prev = params.get (index - 1) as ColParam, + next = params.get (index + 1) as ColParam; + next.nllines = prev.nrlines != 0 || next.nllines != 0 ? 1 : 0; + prev.nrlines = 0; + } + } + + params.remove_at (index); + + first_header.remove_col (index, line_style); + header.remove_col (index, line_style); + footer.remove_col (index, line_style); + last_footer.remove_col (index, line_style); + table.remove_col (index, line_style); + } + + /** + * Clones column of {@link Cell}-s by specified indexes. + * + * @param src_index source position of the column. + * @param dest_index destination to clone the column. + * @param multicol preserve multicolumn property or not. + * @param line_style {@link Row.OpLineStyle} of the operation. + */ + public void clone_col (int src_index, int dest_index, bool multicol, + Row.OpLineStyle line_style + = Row.OpLineStyle.BORDER_DBLLINES) { + if (src_index >= params.size || dest_index > params.size) return; + + var param = params.get (src_index).copy () as ColParam; + + if ((Row.OpLineStyle.VBORDER & line_style) != 0) { + if (dest_index >= params.size) { + var last_param = params.get (params.size - 1) as ColParam; + if (last_param.align != "") + param.nrlines = last_param.nrlines; + } else { + var first_param = params.get (0) as ColParam; + if (dest_index == 0 && first_param.align != "") + param.nllines = first_param.nllines; + } + } + + if ((Row.OpLineStyle.VDBLLINES & line_style) != 0) { + int prev_index; + bool prev_edit = false; + + if (dest_index < params.size) { + prev_index = dest_index > 0 ? dest_index - 1 : 0; + if (prev_index > 0) prev_edit = true; + var dest_param = params.get (dest_index) as ColParam; + dest_param.nllines = param.nrlines != 0 || dest_param.nllines != 0 ? 1 : 0; + param.nrlines = 0; + } else { + prev_edit = true; + prev_index = params.size - 1; + } + + if (prev_edit) { + var prev_param = params.get (prev_index) as ColParam; + param.nllines = prev_param.nrlines != 0 || param.nllines != 0 ? 1 : 0; + prev_param.nrlines = 0; + } + } + + params.insert (dest_index, param); + + first_header.clone_col (src_index, dest_index, multicol, line_style); + header.clone_col (src_index, dest_index, multicol, line_style); + footer.clone_col (src_index, dest_index, multicol, line_style); + last_footer.clone_col (src_index, dest_index, multicol, line_style); + table.clone_col (src_index, dest_index, multicol, line_style); + } + } + } +} diff --git a/src/TableParser.vala b/src/TableParser.vala new file mode 100644 index 0000000..17a82ec --- /dev/null +++ b/src/TableParser.vala @@ -0,0 +1,674 @@ +namespace LAview { + + namespace Parsers { + + using Table; + + abstract class TableParser : Parser { + + protected uint row_abs_pos; + protected Row row = new Row (); + protected Subtable subtable; + + protected Array group = new Array (); + + protected Row.LinesType lines_type; + protected List clines; + protected int nhlines; + protected uint cell_abs_pos; + + protected bool in_caption = false; + + public TableParser (Array links) { + base (links); + + group.append_val (new Link ({}, {})); + + group.append_val (new Link ({"\\", "\\caption"}, {})); + group.append_val (new Link ({"\\", "\\endfirsthead"}, {})); + group.append_val (new Link ({"\\", "\\endhead"}, {})); + group.append_val (new Link ({"\\", "\\endfoot"}, {})); + group.append_val (new Link ({"\\", "\\endlastfoot"}, {})); + + group.append_val (new Link ({"\\", "\\hline"}, {})); + group.append_val (new Link ({"\\", "\\cline"}, {})); + group.append_val (new Link ({"\\", "\\tabularnewline"}, {})); + group.append_val (new Link ({"\\", "\\", "\\", "\\"}, {})); + group.append_val (new Link ({"&"}, {})); + group.append_val (new Link ({"\\", "\\toprule"}, {})); + group.append_val (new Link ({"\\", "\\midrule"}, {})); + group.append_val (new Link ({"\\", "\\cmidrule"}, {})); + group.append_val (new Link ({"\\", "\\bottomrule"}, {})); + group.append_val (new Link ({"\\", "\\noalign"}, {})); + group.append_val (new Link ({"\\", "\\addlinespace"}, {})); + + /* load local symbols */ + load_symbols (group); + + /* generate local tokens table (tree) */ + build_tree (ref local_tokens_to_class_start, group, false); + + /* generate local stop_tokens table (tree) */ + build_tree (ref local_tokens_to_class_stop, group, true); + } + + public override IDoc parse (string contents, size_t line, long position) throws ParseError { + assert (false); + + return new Text (""); + } + + protected bool process_tabularnewline (uint tag, uint tag_left_abspos, + string subcontents, + uint matched_tag_abspos_right) throws ParseError { + // TODO: Similar ro TabularParser::process_tabularnewline (), make a template method? + if (in_caption) { + subtable.caption = contents[row_abs_pos:tag_left_abspos].compress (); + in_caption = false; + } else { + TokenType token = add_cell (subcontents); + + if (token == TokenType.ERROR) + return false; + + if (fifo_peek_head().token == TokenType.LEFT_BRACE) { + local_count_branches (tag); + } else { + subtable.add (row, Row.OpLineStyle.DEFAULT); + row = new Row (); + } + } + + lines_type = Row.LinesType.NONE; + clines = new List (); + nhlines = 0; + + row_abs_pos = matched_tag_abspos_right; + + return true; + } + + protected TokenType add_cell (string subcontents) throws ParseError { + /* remove leading linebreak and \newpage tag in first cell of row */ + if (row.size == 0) { + try { + var regex = new Regex ("^([ \t\r]|\\\\\\\\newpage)*\\n" + + "([ \t\r\n]*\\\\\\\\newpage[ \t\r\n]*)*"); + MatchInfo match_info; + regex.match (subcontents, 0, out match_info); + if (match_info.matches ()) { + var word = match_info.fetch (0); + uint stop_pos = 0; + match_info.fetch_pos (0, null, out stop_pos); + subcontents = subcontents.offset (stop_pos); + row.before = word.compress (); + } + } catch (RegexError e) { } + } + + var mtype = Cell.Multitype.SIMPLE; + var before = "", align = ""; + var ncells = 0; + var cell_contents = ""; + var after = ""; + + /* check cell for multi{column|row} */ + if (Regex.match_simple ("^[ \t\r\n]*\\\\\\\\multicolumn\\{1\\}\\{[^{}]+\\}" + + "\\{[ \t\r\n]*\\\\\\\\multirow\\{[0-9]+\\}" + + "\\{\\*\\}\\{", subcontents)) { + // Multitype.MULTICOLROW + mtype = Cell.Multitype.MULTICOLROW; + before = subcontents[0:subcontents.index_of_char('\\')]; + var pstart = subcontents.offset (subcontents.index_of_char ('{') + 1); + pstart = pstart.offset (pstart.index_of_char ('{')); + var len = pstart.index_of_char ('}'); + var pend = pstart.offset (len); + align = pstart[1:len].compress (); + pstart = pend.offset (pend.index_of_char ('{') + 1); + pstart = pstart.offset (pstart.index_of_char ('{')); + ncells = int.parse (pstart.offset (1)); + pstart = pstart.offset (1); + pstart = pstart.offset (pstart.index_of_char ('{') + 1); + pstart = pstart.offset (pstart.index_of_char ('{')); + var lev = 1; + len = 1; + pend = pstart.offset (1); + for (var max_len = pstart.length; len < max_len && lev != 0; ++len) { + switch (pstart[len]) { + case '{': ++lev; + break; + case '}': --lev; + break; + default: + break; + } + pend = pend.offset (1); + } + if (lev != 0) { + prefix_error (subdoc_start, _("Error parsing subdoc.")); + throw new ParseError.SUBDOC (err_str); + } + cell_contents = pstart.substring (1, len - 2); + after = pend.offset (1); + } else if (Regex.match_simple ("^[ \t\r\n]*\\\\\\\\multi(column|row)\\{[0-9]+\\}\\{", + subcontents)) { + // Multitype.MULTICOL + if (Regex.match_simple ("^[ \t\r\n]*\\\\\\\\multicolumn", subcontents)) + mtype = Cell.Multitype.MULTICOL; + else if (Regex.match_simple ("^[ \t\r\n]*\\\\\\\\multirow", subcontents)) + mtype = Cell.Multitype.MULTIROW; + + before = subcontents[0:subcontents.index_of_char ('\\')]; + var pstart = subcontents.offset (subcontents.index_of_char ('{')); + ncells = int.parse (pstart.offset (1)); + pstart = pstart.offset (1); + pstart = pstart.offset (pstart.index_of_char ('{')); + var lev = 1; + var len = 1; + for (var max_len = pstart.length; len < max_len && lev != 0; ++len) { + switch (pstart[len]) { + case '{': ++lev; + break; + case '}': --lev; + break; + default: + break; + } + } + if (lev != 0) { + prefix_error (subdoc_start, _("Error parsing subdoc.")); + throw new ParseError.SUBDOC (err_str); + } + + align = pstart.substring (1, len - 2).compress (); + pstart = pstart.offset (len); + pstart = pstart.offset (pstart.index_of_char ('{')); + + if (pstart == "") { + prefix_error (subdoc_start, _("Error parsing subdoc.")); + throw new ParseError.SUBDOC (err_str); + } + + lev = 1; + len = 1; + for (var max_len = pstart.length; len < max_len && lev != 0; ++len) { + switch (pstart[len]) { + case '{': ++lev; + break; + case '}': --lev; + break; + default: + break; + } + } + if (lev != 0) { + prefix_error (subdoc_start, _("Error parsing subdoc.")); + throw new ParseError.SUBDOC (err_str); + } + + cell_contents = pstart.substring (1, len - 2); + after = pstart.offset (len); + } else { + // Multitype.SIMPLE + ncells = 1; + mtype = Cell.Multitype.SIMPLE; + cell_contents = subcontents; + } + + var nllines = 0, nrlines = 0; + + if (align != "") { + var alen = align.length; + nllines = nrlines = 0; + + for (nllines = 0; nllines < alen && '|' == align[nllines]; ++nllines); + for (nrlines = alen - 1; nrlines > nllines && '|' == align[nrlines]; --nrlines); + + align = align[nllines:nrlines + 1]; + nrlines = alen - nrlines - 1; + } + + var subparserGlobal = new GlobParser (links); + var subdoc = subparserGlobal.parse (cell_contents, subdoc_start.line, subdoc_start.pos); + + unowned List clines_p = clines.first (); + foreach (var cell in row as Gee.ArrayList) { + if (clines_p == null) break; + + for (var i = 0, max_i = cell.ncells; i < max_i; ++i) { + if (clines_p == null) break; + clines_p = clines_p.next; + } + } + + var overline = nhlines + ((lines_type == Row.LinesType.CLINES && clines_p != null) ? + clines_p.data : 0) ; + var underline = 0; + + var cell = new Cell.with_params (mtype, ncells, nllines, align, nrlines, overline, + underline, subdoc as Glob, before, after); + row.add (cell, Row.OpLineStyle.DEFAULT); + + return TokenType.NONE; + } + + protected void lines_to_last_row () { + bool clear_lines = false; + + switch (lines_type) { + case Row.LinesType.HLINE: + if (subtable.size != 0) { + foreach (var cell in subtable.get (subtable.size - 1) as Gee.ArrayList) { + cell.nunderlines += nhlines; + clear_lines = true; + } + } + break; + case Row.LinesType.CLINES: + var tmp_row = row.size != 0 ? row : subtable.get (subtable.size - 1) as Row; + unowned List clines_p = clines.first (); + foreach (var cell in tmp_row as Gee.ArrayList) { + if (clines_p == null) break; + + if (clines_p != null && clines_p.data != 0) + ++cell.nunderlines; + + for (var i = 0; clines_p != null && i < cell.ncells; ++i) + clines_p = clines_p.next; + + clear_lines = true; + } + break; + } + + lines_type = Row.LinesType.NONE; + if (clear_lines) { + nhlines = 0; + clines = new List (); + } + } + + protected void local_count_branches (uint tag) { + if (group.index (tag).end.length != 0) { + child_tag = tag + links.length; + child_level = 1; + } else if (fifo_peek_head().token == TokenType.LEFT_CURLY + || fifo_peek_head().token == TokenType.LEFT_BRACE) { + in_child_params = true; + child_tag = tag + links.length; + child_level = 1; + } + } + + protected void process_spaces (Row.Style style, string subcontents) { + if (style == Row.Style.DEFAULT + && !Regex.match_simple ("\\\\vskip", subcontents)) + return; + + var tmp = subcontents.compress ()[0:-1]; + var add_space = new AddSpace.with_params (tmp.offset (style != Row.Style.DEFAULT ? 1 : 7)); + + Row last_row; + if (subtable.size != 0) + last_row = subtable.get(subtable.size-1) as Row; + else + last_row = new Row (); + + if (subtable.size != 0 && last_row.bottom.height == "" && subcontents != "") { + last_row.bottom = add_space; + } else if (row.top.size == 0 || subtable.size == 0) { + row.top.add (add_space); + } else if (row.top.size == 1 && subtable.size != 0) { + last_row.between.add (row.top.get (0) as AddSpace); + row.top.remove_at (0); + row.top.add (add_space); + } + } + + protected void spaces_to_last_row () { + var top = row.top; + if (top.size == 1 && subtable.size != 0) { + (subtable.get (subtable.size - 1) as Row).between.add (top.get (0) as AddSpace); + top.remove_at (0); + } + } + + enum TagKind { + NONE = 0, START_LOCAL, STOP_LOCAL, START_GLOBAL, STOP_GLOBAL + } + + enum TableTagType { + TEXT = 0, CAPTION, ENDFIRSTHEAD, ENDHEAD, ENDFOOT, ENDLASTFOOT, + HLINE, CLINE, TABULARNEWLINE, DBLBACKSLASHES, AMPERSAND, + TOPRULE, MIDRULE, CMIDRULE, BOTTOMRULE, NOALIGN, ADDLINESPACE + } + + void end_subtable (Table.ATable table, + TableTagType subtable_type, uint tag_left_abspos) { + if (in_caption) { + subtable.caption = contents[row_abs_pos:tag_left_abspos].compress (); + in_caption = false; + } else { + subtable.after = contents[row_abs_pos:tag_left_abspos]; + } + + lines_to_last_row (); + + switch (subtable_type) { + case TableTagType.ENDFIRSTHEAD: + table.first_header = subtable; + break; + + case TableTagType.ENDHEAD: + table.header = subtable; + break; + + case TableTagType.ENDFOOT: + table.footer = subtable; + break; + + case TableTagType.ENDLASTFOOT: + table.last_footer = subtable; + break; + + case TableTagType.TEXT: + table.table = subtable; + break; + + default: + break; + } + + subtable = new Subtable (); + } + + protected TokenType scan_tex_symbol (Table.ATable table) throws ParseError { + var tag = 0U; + var matched_tag_length = fifo_is_tag (local_tokens_to_class_start, out tag); + var message = ""; + TagKind tag_kind = TagKind.NONE; + + if (matched_tag_length != 0 && child_level == 0) { + tag_kind = TagKind.START_LOCAL; + } else { + matched_tag_length = fifo_is_tag (local_tokens_to_class_stop, out tag); + if (matched_tag_length != 0) { + tag_kind = TagKind.STOP_LOCAL; + } else { + matched_tag_length = fifo_is_tag (tokens, out tag); + + if (matched_tag_length != 0) { + tag_kind = TagKind.START_GLOBAL; + + if (links.index (tag).end.length != 0) + ++child_level; + for (var i = 0; i < matched_tag_length; ++i) fifo_pop (); + } else { + matched_tag_length = fifo_is_tag (stop_tokens, out tag); + if (matched_tag_length != 0) { + if (child_level == 0) { + message = string.joinv (null, links.index (tag).end); + /// Translators: please leave the '%s' construction without any changes. + prefix_error (last_symb_pos, + _("Unexpected end external tag sequence '%s' without begin tag pair."), + message); + throw new ParseError.ORPHAN_END (err_str); + } else { + tag_kind = TagKind.STOP_GLOBAL; + --child_level; + for (var i = 0; i < matched_tag_length; ++i) fifo_pop (); + } + } else if (in_child_params) { + count_branches (); + if (!in_child_params) { + tag_kind = TagKind.STOP_LOCAL; + tag = child_tag - links.length; + matched_tag_length = 1; + } + } + } + } + } + + var subcontents = ""; + + switch (tag_kind) { + case TagKind.NONE: + fifo_pop (); + + /* without end pair */ + if (fifo_peek_head ().token == TokenType.EOF + && (child_tag != 0 || child_level != 0)) { + assert (child_tag != 0 && child_level != 0); + if (child_tag < links.length) + message = string.joinv (null, links.index (child_tag).begin); + else + message = string.joinv (null, group.index (child_tag - links.length).begin); + /// Translators: please leave the '%s':%d:%d construction without any changes. + prefix_error (subdoc_start, + _("Begin tag sequence '%s':%d:%d without end tag pair."), + message, subdoc_start.line + 1, subdoc_start.pos + 1); + throw new ParseError.ORPHAN_BEGIN (err_str); + } + break; + + case TagKind.START_LOCAL: + var tag_left_abspos = fifo_peek_head ().abspos; + var matched_tag_abspos_right = fifo_peek_nth (matched_tag_length - 1).abspos + + fifo_peek_nth (matched_tag_length - 1).length; + var matched_tag_line = fifo_peek_head ().line; + var matched_tag_pos = fifo_peek_head ().pos; + for (var i = 0; i < matched_tag_length; ++i) fifo_pop (); + + if (child_tag != 0) { // inside local tags + assert (child_level != 0); + ++child_level; + } else if (child_level == 0) { // outside local tags + assert (child_tag == 0); + subcontents = contents[subdoc_start.abspos:tag_left_abspos]; + + var update_subdoc_start = true; + + switch (tag) { + case TableTagType.CAPTION: + in_caption = true; + local_count_branches (tag); + break; + + case TableTagType.ENDFIRSTHEAD: + end_subtable (table, TableTagType.ENDFIRSTHEAD, tag_left_abspos); + break; + + case TableTagType.ENDHEAD: + end_subtable (table, TableTagType.ENDHEAD, tag_left_abspos); + break; + + case TableTagType.ENDFOOT: + end_subtable (table, TableTagType.ENDFOOT, tag_left_abspos); + break; + + case TableTagType.ENDLASTFOOT: + end_subtable (table, TableTagType.ENDLASTFOOT, tag_left_abspos); + break; + + case TableTagType.TOPRULE: + case TableTagType.MIDRULE: + case TableTagType.BOTTOMRULE: + case TableTagType.HLINE: + if (tag == TableTagType.TOPRULE + || tag == TableTagType.MIDRULE + || tag == TableTagType.BOTTOMRULE) + table.style = AddSpaces.Style.FORMAL; + + switch (lines_type) { + case Row.LinesType.CLINES: + clines = new List (); + break; + case Row.LinesType.HLINE: + lines_to_last_row (); + break; + default: + break; + } + lines_type = Row.LinesType.HLINE; + ++nhlines; + + row_abs_pos = matched_tag_abspos_right; + break; + + case TableTagType.DBLBACKSLASHES: + case TableTagType.TABULARNEWLINE: + if (tag == TableTagType.DBLBACKSLASHES) { + var row_length = row.size; + + var col_param = ""; + if (row_length < table.params.size) + col_param = (table.params.get (row_length) as ColParam).align; + if (col_param != "" + && (col_param.index_of_char ('p') != -1 + || col_param.index_of_char ('b') != -1 + || col_param.index_of_char ('m') != -1)) { + update_subdoc_start = false; + break; + } + } + + if (!process_tabularnewline (tag, tag_left_abspos, subcontents, + matched_tag_abspos_right)) { + throw new ParseError.SUBDOC (err_str); + } + break; + + case TableTagType.AMPERSAND: + if (add_cell (subcontents) == TokenType.ERROR) + throw new ParseError.SUBDOC (err_str); + break; + + default: + /* do nothing */ + local_count_branches (tag); + break; + } + + if (update_subdoc_start) { + subdoc_start.abspos = matched_tag_abspos_right; + subdoc_start.line = matched_tag_line; + subdoc_start.pos = matched_tag_pos; + } + } else { // (!child_tag && child_level) - inside global tags + assert (tag_kind != 0 && child_level != 0); + if ((tag < links.length && links.index (tag).end.length != 0) + || (tag >= links.length && group.index (tag).end.length != 0)) // do not count NULL-end-tag objects + ++child_level; + } + break; + + case TagKind.STOP_LOCAL: + var tag_left_abspos = fifo_peek_head ().abspos; + var matched_tag_abspos_right = fifo_peek_nth (matched_tag_length - 1).abspos + + fifo_peek_nth (matched_tag_length - 1).length; + var matched_tag_line = fifo_peek_head ().line; + var matched_tag_pos = fifo_peek_head ().pos; + if (group.index (tag).end.length == 0) + ++tag_left_abspos; // '}' ']' is a part of NULL-end-object contents + for (var i = 0; i < matched_tag_length; ++i) fifo_pop (); + + /* without begin pair */ + if (child_tag == 0 || child_level == 0) { + assert (child_tag == 0 && child_level == 0); + message = string.joinv (null, group.index (tag).end); + /// Translators: please leave the '%s' construction without any changes. + prefix_error (last_symb_pos, + _(": Unexpected end tag sequence '%s' without begin tag pair."), + message); + throw new ParseError.ORPHAN_END (err_str); + } else if (tag + links.length == child_tag) { + assert (child_level != 0); + --child_level; + + if (child_level == 0) { + child_tag = 0; + subcontents = contents[subdoc_start.abspos:tag_left_abspos]; + + switch (tag) { + case TableTagType.CMIDRULE: + case TableTagType.CLINE: + if (tag == TableTagType.CMIDRULE) table.style = AddSpaces.Style.FORMAL; + + /* check is \cline's subcontents match {number-number} */ + if (Regex.match_simple ("^\\{[0-9]+-[0-9]+\\}$", subcontents)) { + if (Row.LinesType.CLINES != lines_type) + lines_to_last_row (); + lines_type = Row.LinesType.CLINES; + var cline_begin = int.parse (subcontents.offset (1)) - 1; + var cline_end = int.parse (subcontents.offset ( + subcontents.index_of_char ('-') + 1)) - 1; + while (clines.length () < cline_begin) + clines.append (0); + while (clines.length () <= cline_end) + clines.append (1); + } else { + prefix_error (subdoc_start, + _("\\cline parameters doesn't match {number-number} regexp.")); + throw new ParseError.SUBDOC (err_str); + } + break; + + case TableTagType.DBLBACKSLASHES: + case TableTagType.TABULARNEWLINE: + if (subcontents != "") { + var tmp = subcontents.compress (); + row.bottom = new AddSpace.with_params (tmp[1:-1]); + } + + subtable.add (row, Row.OpLineStyle.DEFAULT); + row = new Row (); + break; + + case TableTagType.NOALIGN: + process_spaces (Row.Style.DEFAULT, subcontents); + break; + + case TableTagType.ADDLINESPACE: + process_spaces (Row.Style.FORMAL_REST, subcontents); + break; + + default: + /* do nothing */ + break; + } + + subdoc_start.abspos = matched_tag_abspos_right; + subdoc_start.line = matched_tag_line; + subdoc_start.pos = matched_tag_pos; + } + } else { // (child_tag && child_level && tag+scanner->priv->nlinks != scanner->priv->child_tag) - global end + assert (child_level == 0); + + --child_level; + } + + break; + + default: + break; + } + + /* end of tabular */ + if (fifo_peek_head ().token == TokenType.EOF) { + subtable.after = contents.offset (subdoc_start.abspos).compress (); + + lines_to_last_row (); + + spaces_to_last_row (); + + table.table = subtable; + subtable = new Subtable (); + } + + return TokenType.NONE; + } + + } + } +} diff --git a/src/Tabular.vala b/src/Tabular.vala index e69de29..10cb847 100644 --- a/src/Tabular.vala +++ b/src/Tabular.vala @@ -0,0 +1,63 @@ +namespace LAview { + + namespace Table { + + /** + * Tabular in the LaTeX document. + * + * Specified by '\begin{tabular}' tag in the LaTeX code. + */ + public class Tabular : ATable { + + /** + * Constructs a new //Tabular// with default parameters. + */ + public Tabular () {} + + /** + * Width of the table. + * + * Possible values: [0-9]+(\.[0-9]+)?{bp,cc,cm,dd,em,ex,in,mm,pc,pt,sp, + * \textwidth,\columnwidth,\pagewidth,\linewidth, + * \textheight,\columnheight,\pageheight,\lineheight}. + */ + public string width = ""; + + /** + * Gets a copy of the //Tabular//. + */ + public override IDoc copy () { + var clone = base.copy () as Tabular; + clone.width = width; + return clone; + } + + /** + * Generates LaTeX string for the //Tabular//. + */ + public override string generate () { + var s = new StringBuilder (); + + if (params.size != 0) { + s.append_printf ("\\begin{tabular%s}", width != "" ? "*" : ""); + if (width != "") + s.append_printf ("{%s}", width); + else if (align != '\0') + s.append_printf ("[%c]", align); + + s.append_c ('{'); + s.append (params.generate ()); + s.append_c ('}'); + + table.style = style; + + s.append (table.generate ()); + + s.append_printf ("\\end{tabular%s}", width != "" ? "*" : ""); + } + + return s.str; + } + } + } +} diff --git a/src/TabularParser.vala b/src/TabularParser.vala new file mode 100644 index 0000000..d11061e --- /dev/null +++ b/src/TabularParser.vala @@ -0,0 +1,137 @@ +namespace LAview { + + namespace Parsers { + + using Table; + + class TabularParser : TableParser { + + public TabularParser (Array links) { + base (links); + } + + public override IDoc parse (string contents, size_t line, long position) throws ParseError { + + /* create empty tabular */ + var tabular = new Tabular (); + + /* set TeX tabular contents */ + this.contents = contents; + this.line = line; + this.position = position; + + /* get parameters string */ + var PARAM_REGEX_FIGBRANCHES = "\\{[^{}]*([^{}]*\\{[^{}]*\\}[^{}]*)*\\}"; + var param_regex = "^(\\[(t|b)])?" + PARAM_REGEX_FIGBRANCHES + "(" + + PARAM_REGEX_FIGBRANCHES + ")?"; + + string params = ""; + uint start_pos = 0, stop_pos = 0; + + try { + var regex = new Regex (param_regex); + + MatchInfo match_info; + regex.match (contents, 0, out match_info); + + if (match_info.matches ()) { + match_info.fetch_pos (0, out start_pos, out stop_pos); + params = match_info.fetch (0); + } else { + /// Translators: please leave the '%s' construction without any changes. + prefix_error (subdoc_start, + _("Incorrect tabular parameters doesn't match '%s' regexp."), + param_regex); + throw new ParseError.SUBDOC (err_str); + } + } catch (RegexError e) {} + + /* tabular align: [t], [b] */ + if (params[0] == '[') { + tabular.align = params[1]; + params = params.offset (3); + + } + + /* width */ + try { + if (Regex.match_simple (PARAM_REGEX_FIGBRANCHES + PARAM_REGEX_FIGBRANCHES, params)) { + var regex = new Regex (PARAM_REGEX_FIGBRANCHES); + MatchInfo match_info; + regex.match (params, 0, out match_info); + match_info.fetch_pos (0, out start_pos, out stop_pos); + var tmps = match_info.fetch (0); + tmps = tmps[1:tmps.length - 1]; + tmps = tmps.compress (); + tabular.width = tmps; + params = params.offset (stop_pos); + } + } catch (RegexError e) {} + + /* remove bound '{' '}' from params */ + params = params[1:params.length - 1]; + var col_params = new ColParams (); + + /* match reversed params so '|' will be snapped to the right column */ + try { + var regex = new Regex ("(" + + "\\|*}[^{}]+{(p\\|*|m\\|*|b\\|*)(}[^{}]+{>(\\|+$|\\||)|\\|)?" + + "|" + + "\\|*(r|c|l)(}[^{}]+{@(p\\|*|m\\|*|b\\|*) (r|c|l))?(\\|+$|\\||)" + + ")"); + params = params.reverse (); + MatchInfo match_info; + regex.match_full (params, -1, 0, 0, out match_info); + while (match_info.matches ()) { + var col_param = new ColParam.with_params (0, "", 0); + var word = match_info.fetch (0).reverse ().compress (); + int nllines, nrlines; + for (nllines = 0; '|' == word[nllines]; ++nllines); + for (nrlines = word.length - 1; nrlines != 0 && '|' == word[nrlines]; --nrlines); + var wlen = word.length; + word = word[0:nrlines + 1]; + col_param.align = word.offset (nllines); + col_param.nllines = nllines; + col_param.nrlines = wlen - 1 - nrlines; + col_params.insert (0, col_param); + match_info.next (); + } + } catch (RegexError e) {} + + /* === Parsing subtables === */ + tabular.params = col_params; + + /* set TeX document contents */ + this.contents = contents.offset (stop_pos); + + /* feed in the text */ + scanner.input_text (this.contents, this.contents.length); + + row_abs_pos = 0; + row = new Row (); + subtable = new Subtable (); + clines = new List (); + cell_abs_pos = 0; + + TokenType expected_token = TokenType.NONE; + + /* scanning loop, we scan the input until it's end is reached, + * the self encountered a lexing err, or our sub routine came + * across invalid syntax + */ + do { + expected_token = scan_tex_symbol (tabular); + + } while (expected_token == TokenType.NONE + && fifo_peek_head ().token != TokenType.EOF + && fifo_peek_head ().token != TokenType.ERROR); + + /* give an err message upon syntax errors */ + if (expected_token == TokenType.ERROR) + scanner.unexp_token (expected_token, null, "symbol", null, null, true); + + return tabular; + } + } + } +} diff --git a/src/TabularScanner.vala b/src/TabularScanner.vala deleted file mode 100644 index e69de29..0000000 diff --git a/src/Text.vala b/src/Text.vala index e69de29..6bb1995 100644 --- a/src/Text.vala +++ b/src/Text.vala @@ -0,0 +1,36 @@ +namespace LAview { + + /** + * Text in the LaTeX document. + */ + public class Text : ADoc { + + /** + * Plain text in UTF-8 string. + */ + public string text = ""; + + /** + * Constructs a new //Text//. + * + * @param text UTF-8 string. + */ + public Text (string text) { + this.text = text; + } + + /** + * Gets a copy of the //Text//. + */ + public override IDoc copy () { + return new Text (text); + } + + /** + * Generates LaTeX string for the //Text//. + */ + public override string generate () { + return text; + } + } +} diff --git a/src/TextParser.vala b/src/TextParser.vala new file mode 100644 index 0000000..3d5e224 --- /dev/null +++ b/src/TextParser.vala @@ -0,0 +1,21 @@ +namespace LAview { + + namespace Parsers { + + class TextParser : Parser { + + public TextParser (Array links) { + base (links); + } + + public override IDoc parse (string contents, size_t line, long position) throws ParseError { + + this.contents = contents; + this.line = line; + this.position = position; + + return new Text (contents.compress ()); + } + } + } +} diff --git a/src/TextScanner.vala b/src/TextScanner.vala deleted file mode 100644 index e69de29..0000000 diff --git a/src/gettext-config.h.in b/src/gettext-config.h.in new file mode 100644 index 0000000..e88d6ba --- /dev/null +++ b/src/gettext-config.h.in @@ -0,0 +1,11 @@ +#ifndef LAVIEW_LATEX_STRUCT_H +#define LAVIEW_LATEX_STRUCT_H + +#define GETTEXT_PACKAGE "laview-latex-struct-@LAVIEW_LATEX_STRUCT_VERSION_MAJOR@" +#include + +#ifdef WIN32 +#define _(String) dgettext (GETTEXT_PACKAGE, String) +#endif + +#endif // LAVIEW_LATEX_STRUCT_H diff --git a/src/main.vala b/src/main.vala index 82ff429..1f13b86 100644 --- a/src/main.vala +++ b/src/main.vala @@ -1,15 +1,99 @@ +/** + * LaTeX view. + * + * Public system of data view in the LaTeX format. + */ namespace LAview { - public errordomain ParseError { - UNEXPECTED_SYMBOL, - } - public void parse(string text) throws ParseError { - print("TeX successfully parsed!\n"); - if (0 != 0) - throw new ParseError.UNEXPECTED_SYMBOL("Parsing error!"); - } + string dos2unix (string dos_string) { + var unistring = new StringBuilder (); - public string plain_to_tex(string text) { - return "Parsed text here..."; + for (var i = 0; dos_string[i] != '\0'; ) { + if ('\r' == dos_string[i]) { + switch (dos_string[i + 1]) { + case '\r': + if ('\n' == dos_string[i + 2]) + i += 3; + break; + + case '\n': + i += 2; + break; + + default: + ++i; + break; + } + + unistring.append_c ('\n'); + } else { + unistring.append_c (dos_string[i++]); + } + } + + return unistring.str; + } + + /** + * Parses LaTeX plain text from UTF-8 string. + * + * @throws ParseError any error when parsing. + */ + public Glob parse(string text) throws Parsers.ParseError { + + /* escaping TeX document */ + var escaped_text = text.escape (" \n\r\t"); + + /* line breaks: dos -> unix */ + var u_escaped_text = dos2unix (escaped_text); + + /* TeX scanner initialization */ + var group = new Parsers.ParserFactory (); + var parser = new Parsers.GlobParser (group.group); + + /* parse TeX */ + var doc = parser.parse (u_escaped_text, 0, 0); + + return doc as Glob; + } + + /** + * Converts plain text string to LaTeX string. + */ + public string plain_to_tex(string text) { + var str = new StringBuilder (); + + for (var i = 0; text[i] != '\0'; ++i) { + switch (text[i]) { + case '$': + case '&': + case '%': + case '#': + case '_': + case '{': + case '}': + str.append_c ('\\'); + str.append_c (text[i]); + break; + + case '\\': + str.append ("\\textbackslash "); + break; + + case '~': + str.append ("\\~{}"); + break; + + case '^': + str.append ("\\^{}"); + break; + + default: + str.append_c (text[i]); + break; + } + } + + return str.str; } } diff --git a/src/vala_unsupported.c b/src/vala_unsupported.c new file mode 100644 index 0000000..5f69d31 --- /dev/null +++ b/src/vala_unsupported.c @@ -0,0 +1,34 @@ +#if defined(_WIN32) +#include +#endif + +#include "gettext-config.h" + +#if defined(_WIN32) +BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) +#elif defined (__GNUC__) +void __attribute__ ((constructor)) laview_latex_struct_load (void) +#endif +{ +#if defined(_WIN32) + gchar dllPath[FILENAME_MAX], + *dllDir, + *localePath; + + GetModuleFileName (hInstance, dllPath, FILENAME_MAX); + dllDir = g_path_get_dirname (dllPath); + localePath = g_build_filename (dllDir, "../share/locale", NULL); + g_free (dllDir); + bindtextdomain (GETTEXT_PACKAGE, localePath); + g_free (localePath); +#endif + +#if (!GLIB_CHECK_VERSION (2, 36, 0)) + g_type_init (); + + (void) dwReason; + (void) lpReserved; + return TRUE; +#endif +} + diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt new file mode 100644 index 0000000..6fac8b4 --- /dev/null +++ b/test/CMakeLists.txt @@ -0,0 +1,390 @@ +INCLUDE (FindVala) +INCLUDE (UseVala) + +FIND_PACKAGE (PkgConfig REQUIRED) + +PKG_CHECK_MODULES (GEE REQUIRED gee-0.8) +INCLUDE_DIRECTORIES (${GEE_INCLUDE_DIRS}) + +INCLUDE_DIRECTORIES ("${CMAKE_BINARY_DIR}") +INCLUDE_DIRECTORIES ("${CMAKE_BINARY_DIR}/src") + +# add the executable +FILE (GLOB_RECURSE ParseTestSources RELATIVE ${CMAKE_SOURCE_DIR}/test ParseTest.vala) +VALA_PRECOMPILE (ParseTest_C ${ParseTestSources} + PACKAGES gee-0.8 posix + OPTIONS --thread ${VALA_DEBUG} + CUSTOM_VAPIS ${PROJECT_BINARY_DIR}/src/laview-latex-struct-${MAJOR}.vapi + GENERATE_VAPI + GENERATE_HEADER + ) +ADD_EXECUTABLE (ParseTest ${ParseTest_C}) +TARGET_LINK_LIBRARIES (ParseTest laview-latex-struct ${GEE_LIBRARIES}) + +# add ltable_test executable +FILE (GLOB_RECURSE LTableTestSources RELATIVE ${CMAKE_SOURCE_DIR}/test LTableTest.vala) +VALA_PRECOMPILE (LTableTest_C ${LTableTestSources} + PACKAGES gee-0.8 posix + OPTIONS --thread ${VALA_DEBUG} + CUSTOM_VAPIS ${PROJECT_BINARY_DIR}/src/laview-latex-struct-${MAJOR}.vapi + GENERATE_VAPI + GENERATE_HEADER + ) +ADD_EXECUTABLE (LTableTest ${LTableTest_C}) +TARGET_LINK_LIBRARIES (LTableTest laview-latex-struct ${GEE_LIBRARIES}) + +# parsing test macro +MACRO (do_parse_test testname table_path etalon_path regexp) + IF ("${etalon_path}" STREQUAL "") + SET (extra_args "") + ELSE () + SET (extra_args --etalon ${etalon_path}) + ENDIF () + ADD_TEST (ParseTest-${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ParseTest --table ${table_path} ${extra_args}) + SET_TESTS_PROPERTIES (ParseTest-${testname} + PROPERTIES PASS_REGULAR_EXPRESSION ${regexp} + FAIL_REGULAR_EXPRESSION "CRITICAL;WARNING") +ENDMACRO (do_parse_test) + +# test throttle.tex +do_parse_test (throttleList ${PROJECT_SOURCE_DIR}/test/tex/throttle.tex "" +"list all objects +LAviewText +LAviewTableLongtable +LAviewText +LAviewTableTabular +LAviewText +end of objects + +") + +# test throttle.tex +do_parse_test (includegraphicsWalk ${PROJECT_SOURCE_DIR}/test/tex/includegraphics.tex "" +"Walk through all objects +LAviewText +LAviewGraphics + width=0.000000. height=3.000000pt. path=174. + gen..=.includegraphics.height=3.000000pt.angle=25.scale=3.{174} +resized gen.. = .includegraphics.width=0.500000pt.height=6.000000dd.angle=25.scale=3.{174} +LAviewText +LAviewGraphics + width=12.000000cm. height=25.000000cm. path=151. + gen..=.includegraphics.width=12.000000cm.height=25.000000cm.{151} +resized gen.. = .includegraphics.width=0.500000pt.height=50.000000dd.{151} +LAviewText +end of objects + +") + +# test throttle.tex +do_parse_test (throttleCmp ${PROJECT_SOURCE_DIR}/test/tex/throttle.tex "" +"Original and generated text are EQUAL .-.") + +# test throttle.tex +do_parse_test (throttleErr1 ${PROJECT_SOURCE_DIR}/test/tex/throttle_err1.tex "" +"Error parsing TeX document: LAviewParsersGlobParser:33:15: : Unexpected end tag sequence '..end{longtable}' without begin tag pair. +.end{longtable} + .") + +# test throttle.tex +do_parse_test (throttleErr2 ${PROJECT_SOURCE_DIR}/test/tex/throttle_err2.tex "" +"Error parsing TeX document: LAviewParsersGlobParser:33:1: Begin tag sequence '..begin{longtable}' without end tag pair. +.begin{longtable} +. +") + +# test throttle.tex +do_parse_test (throttleErr3 ${PROJECT_SOURCE_DIR}/test/tex/throttle_err3.tex "" +"Error parsing TeX document: LAviewParsersGlobParser:34:1: Error parsing subdoc. +.begin{longtable} +. +LAviewParsersLongtableParser:55:46: Stop external tag sequence '..end{longtable}' without begin tag pair. +.multicolumn{2}{|l|}{ЗМГ} & & .end{longtable} & & & & .tabularnewline + . +") + +# test throttle.tex +do_parse_test (throttleErr4 ${PROJECT_SOURCE_DIR}/test/tex/throttle_err4.tex "" +"Error parsing TeX document: LAviewParsersGlobParser:33:13: : Unexpected end tag sequence '..end{tabular}' without begin tag pair. +.end{tabular} + .") + +# test throttle.tex +do_parse_test (throttleErr5 ${PROJECT_SOURCE_DIR}/test/tex/throttle_err5.tex "" +"Error parsing TeX document: LAviewParsersGlobParser:33:1: Begin tag sequence '..begin{tabular}' without end tag pair. +.begin{tabular} +. +") + +# test throttle.tex +do_parse_test (throttleErr6 ${PROJECT_SOURCE_DIR}/test/tex/throttle_err6.tex "" +"Error parsing TeX document: LAviewParsersGlobParser:34:1: Error parsing subdoc. +.begin{tabular} +. +LAviewParsersTabularParser:55:46: Stop external tag sequence '..end{tabular}' without begin tag pair. +.multicolumn{2}{|l|}{ЗМГ} & & .end{tabular} & & & & .tabularnewline + . +") + +# test formular.tex +do_parse_test (formularList ${PROJECT_SOURCE_DIR}/test/tex/formular.tex "" +"list all objects +LAviewText +LAviewTableLongtable +LAviewText +LAviewTableLongtable +LAviewText +LAviewTableLongtable +LAviewText +LAviewTableTabular +LAviewText +LAviewTableTabular +LAviewText +LAviewTableTabular +LAviewText +end of objects + +") + +# test formular.tex +do_parse_test (formularWalk ${PROJECT_SOURCE_DIR}/test/tex/formular.tex "" +"Walk through all objects +LAviewText +LAviewTableLongtable +LAviewText +LAviewTableLongtable +LAviewText +LAviewTableLongtable +LAviewText +LAviewTableTabular +LAviewText +LAviewTableTabular +LAviewText +LAviewTableTabular +LAviewText +end of objects + +") + +# test formular.tex +do_parse_test (formularCmp ${PROJECT_SOURCE_DIR}/test/tex/formular.tex "" +"Original and generated text are EQUAL .-.") + +# test formular.tex +do_parse_test (formularErr1 ${PROJECT_SOURCE_DIR}/test/tex/formular_err1.tex "" +"Error parsing TeX document: LAviewParsersGlobParser:192:15: : Unexpected end tag sequence '..end{longtable}' without begin tag pair. +.end{longtable} + .") + +# test formular.tex +do_parse_test (formularErr2 ${PROJECT_SOURCE_DIR}/test/tex/formular_err2.tex "" +"Error parsing TeX document: LAviewParsersGlobParser:44:1: Begin tag sequence '..begin{longtable}' without end tag pair. +.begin{longtable} +. +") + +# test for caption in all_subtables.tex +do_parse_test (captionTest ${PROJECT_SOURCE_DIR}/test/tex/all_subtables.tex "" +".begin{document} +.begin{longtable}{.c.c.} +.caption{Caption of the table} +") + +# test all_subtables.tex +do_parse_test (all_subtablesCmp ${PROJECT_SOURCE_DIR}/test/tex/all_subtables.tex "" +"Original and generated text are EQUAL .-.") + +# test all_subtables.tex +do_parse_test (linesCmp ${PROJECT_SOURCE_DIR}/test/tex/lines.tex ${PROJECT_SOURCE_DIR}/test/tex/lines.etalon.tex +"Original and generated text are EQUAL .-.") + +# test ltable_embedded.tex +do_parse_test (ltable_embedded ${PROJECT_SOURCE_DIR}/test/tex/ltable_embedded.tex "" +"Original and generated text are EQUAL .-.") + +# test ltable_double_embedded.tex +do_parse_test (ltable_double_embedded ${PROJECT_SOURCE_DIR}/test/tex/ltable_double_embedded.tex "" +"Original and generated text are EQUAL .-.") + +# test throttle_VK2500.tex +do_parse_test (throttle_VK2500Cmp ${PROJECT_SOURCE_DIR}/test/tex/throttle_VK2500.tex "" +"Original and generated text are EQUAL .-.") + +# test throttle_VK2500.tex +do_parse_test (throttle_VK2500PSCmp ${PROJECT_SOURCE_DIR}/test/tex/throttle_VK2500PS.tex "" +"Original and generated text are EQUAL .-.") + +# test throttle_VK2500_dos_newlines_.tex +do_parse_test (throttle_VK2500PS_dos_newlines_ListWalk ${PROJECT_SOURCE_DIR}/test/tex/throttle_VK2500PS_dos_newlines.tex "" +"list all objects +LAviewText +LAviewTableLongtable +LAviewText +LAviewTableLongtable +LAviewText +LAviewTableLongtable +LAviewText +LAviewTableLongtable +LAviewText +LAviewTableLongtable +LAviewText +end of objects + +Walk through all objects +LAviewText +LAviewTableLongtable +LAviewText +LAviewTableLongtable +LAviewText +LAviewTableLongtable +LAviewText +LAviewTableLongtable +LAviewText +LAviewTableLongtable +LAviewText +end of objects +") + +# test graph_in_ltable.tex +do_parse_test (graph_in_ltable ${PROJECT_SOURCE_DIR}/test/tex/graph_in_ltable.tex "" +" +list all objects +LAviewText +LAviewTableTabular +LAviewText +LAviewTableTabular +LAviewText +LAviewTableTabular +LAviewText +LAviewTableLongtable + LAviewTableLongtable +LAviewText +LAviewTableLongtable + LAviewGraphics + LAviewTableLongtable +LAviewText +end of objects + +Walk through all objects +LAviewText +LAviewTableTabular +LAviewText +LAviewTableTabular +LAviewText +LAviewTableTabular +LAviewText +LAviewTableLongtable +LAviewText +LAviewTableLongtable +LAviewText +end of objects +") + +# test ltable_square_arg.tex +do_parse_test (ltable_square_arg ${PROJECT_SOURCE_DIR}/test/tex/ltable_square_arg.tex "" +"Original and generated text are EQUAL .-.") + +# test table_in_table.tex +do_parse_test (table_in_table ${PROJECT_SOURCE_DIR}/test/tex/table_in_table.tex "" +" +list all objects +") + +# test unary_quotes.tex +do_parse_test (unary_quotes ${PROJECT_SOURCE_DIR}/test/tex/unary_quotes.tex "" +" +list all objects +LAviewText +LAviewTableTabular +LAviewText +LAviewTableTabular +LAviewText +LAviewTableTabular +LAviewText +LAviewTableTabular +LAviewText +end of objects + +Walk through all objects +LAviewText +LAviewTableTabular +LAviewText +LAviewTableTabular +LAviewText +LAviewTableTabular +LAviewText +LAviewTableTabular +LAviewText +end of objects +") + +# test back_slashes_in_a_table.tex +do_parse_test (back_slashes_in_a_table ${PROJECT_SOURCE_DIR}/test/tex/back_slashes_in_a_table.tex ${PROJECT_SOURCE_DIR}/test/tex/back_slashes_in_a_table.etalon.tex +"Original and generated text are EQUAL .-.") + +# ltable_test macro +macro (ltable_test testname tex_path1 tex_path2 operation regexp) + add_test (ltable_test-${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/LTableTest ${tex_path1} ${tex_path2} ${operation}) +set_tests_properties (ltable_test-${testname} + PROPERTIES PASS_REGULAR_EXPRESSION ${regexp} + FAIL_REGULAR_EXPRESSION "CRITICAL;WARNING") +endmacro (ltable_test) + +# ltable_test rm0row +ltable_test (rm0row ${PROJECT_SOURCE_DIR}/test/tex/formular.tex ${PROJECT_SOURCE_DIR}/test/tex/ltable_rm0row.tex rm0row +"Etalon and generated text are EQUAL .-.") + +# ltable_test rm1row +ltable_test (rm1row ${PROJECT_SOURCE_DIR}/test/tex/formular.tex ${PROJECT_SOURCE_DIR}/test/tex/ltable_rm1row.tex rm1row +"Etalon and generated text are EQUAL .-.") + +# ltable_test rm1000row +ltable_test (rm1000row ${PROJECT_SOURCE_DIR}/test/tex/formular.tex ${PROJECT_SOURCE_DIR}/test/tex/ltable_rm1000row.tex rm1000row +"Etalon and generated text are EQUAL .-.") + +# ltable_test rm_last_row +ltable_test (rm_last_row ${PROJECT_SOURCE_DIR}/test/tex/formular.tex ${PROJECT_SOURCE_DIR}/test/tex/ltable_rm_last_row.tex rm_last_row +"Etalon and generated text are EQUAL .-.") + +# ltable_test clone_0_0 +ltable_test (clone_0_0 ${PROJECT_SOURCE_DIR}/test/tex/formular.tex ${PROJECT_SOURCE_DIR}/test/tex/ltable_clone_0_0.tex clone_0_0 +"Etalon and generated text are EQUAL .-.") + +# ltable_test clone_0_1 +ltable_test (clone_0_1 ${PROJECT_SOURCE_DIR}/test/tex/formular.tex ${PROJECT_SOURCE_DIR}/test/tex/ltable_clone_0_1.tex clone_0_1 +"Etalon and generated text are EQUAL .-.") + +# ltable_test clone_1_0 +ltable_test (clone_1_0 ${PROJECT_SOURCE_DIR}/test/tex/formular.tex ${PROJECT_SOURCE_DIR}/test/tex/ltable_clone_1_0.tex clone_1_0 +"Etalon and generated text are EQUAL .-.") + +# ltable_test clone_0_last +ltable_test (clone_0_last ${PROJECT_SOURCE_DIR}/test/tex/formular.tex ${PROJECT_SOURCE_DIR}/test/tex/ltable_clone_0_last.tex clone_0_last +"Etalon and generated text are EQUAL .-.") + +# ltable_test clone_last_0 +ltable_test (clone_last_0 ${PROJECT_SOURCE_DIR}/test/tex/formular.tex ${PROJECT_SOURCE_DIR}/test/tex/ltable_clone_last_0.tex clone_last_0 +"Etalon and generated text are EQUAL .-.") + +# ltable_test clone_0_lastp1 +ltable_test (clone_0_lastp1 ${PROJECT_SOURCE_DIR}/test/tex/formular.tex ${PROJECT_SOURCE_DIR}/test/tex/ltable_clone_0_lastp1.tex clone_0_lastp1 +"Etalon and generated text are EQUAL .-.") + +# ltable_test clone_lastp1_0 +ltable_test (clone_lastp1_0 ${PROJECT_SOURCE_DIR}/test/tex/formular.tex ${PROJECT_SOURCE_DIR}/test/tex/ltable_clone_lastp1_0.tex clone_lastp1_0 +"Etalon and generated text are EQUAL .-.") + +# ltable_test clone_0_1000 +ltable_test (clone_0_1000 ${PROJECT_SOURCE_DIR}/test/tex/formular.tex ${PROJECT_SOURCE_DIR}/test/tex/ltable_clone_0_1000.tex clone_0_1000 +"Etalon and generated text are EQUAL .-.") + +# ltable_test clone_1000_0 +ltable_test (clone_1000_0 ${PROJECT_SOURCE_DIR}/test/tex/formular.tex ${PROJECT_SOURCE_DIR}/test/tex/ltable_clone_1000_0.tex clone_1000_0 +"Etalon and generated text are EQUAL .-.") + +# ltable_test append_row0 +ltable_test (append_row0 ${PROJECT_SOURCE_DIR}/test/tex/table_rows.tex ${PROJECT_SOURCE_DIR}/test/tex/table_rows.etalon.tex append_row0 +"Etalon and generated text are EQUAL .-.") + +# enable testing +ENABLE_TESTING () diff --git a/test/LTableTest.vala b/test/LTableTest.vala new file mode 100644 index 0000000..2e25d86 --- /dev/null +++ b/test/LTableTest.vala @@ -0,0 +1,122 @@ +using LAview; + +public class Main : Object { + public static int main (string[] args) { + + Intl.setlocale (LocaleCategory.ALL, ""); + + assert (args.length == 4 || args.length == 5); + + /* load file contents */ + string contents; + try { + FileUtils.get_contents (args[1], out contents); + } catch (FileError e) { + stderr.printf ("error: %s\n", e.message); + return -1; + } + assert (contents != null && contents != ""); + + /* load etalon */ + string generated_etalon; + try { + FileUtils.get_contents (args[2], out generated_etalon); + } catch (FileError e) { + stderr.printf ("error: %s\n", e.message); + return -1; + } + assert (generated_etalon != null && generated_etalon != ""); + + /* parse TeX */ + Glob doc; + try { + doc = LAview.parse (contents); + stdout.printf ("TeX document successfully parsed\n"); + + } catch (Parsers.ParseError e) { + stderr.printf ("error: %s\n", e.message); + return -1; + } + + /* Perform several col/row operations */ + stdout.printf ("Walk through all objects\n"); + + foreach (var subdoc in doc) { + stdout.printf ("%s\n", subdoc.get_type ().name ()); + + if (subdoc.get_type ().name () == "LAviewTableLongtable") { + var ltable = subdoc as Table.Longtable; + + if (args[3] == "rm0row") { + ltable.remove_col (0); + } else if (args[3] == "rm1row") { + ltable.remove_col (1); + } else if (args[3] == "rm1000row") { + ltable.remove_col (1000); + } else if (args[3] == "rm_last_row") { + ltable.remove_col (ltable.params.size - 1); + } else if (args[3] == "clone_0_0") { + ltable.clone_col (0, 0, true); + } else if (args[3] == "clone_0_1") { + ltable.clone_col (0, 0, false); + } else if (args[3] == "clone_1_0") { + ltable.clone_col (1, 0, true); + } else if (args[3] == "clone_0_last") { + ltable.clone_col (0, ltable.params.size - 1, false); + } else if (args[3] == "clone_last_0") { + ltable.clone_col (ltable.params.size - 1, 0, true); + } else if (args[3] == "clone_0_lastp1") { + ltable.clone_col (0, ltable.params.size, false); + } else if (args[3] == "clone_lastp1_0") { + ltable.clone_col (ltable.params.size, 0, true); + } else if (args[3] == "clone_0_1000") { + ltable.clone_col (0, 1000, false); + } else if (args[3] == "clone_1000_0") { + ltable.clone_col (1000, 0, true); + } else if (args[3] == "append_row0") { + var table = ltable.table; + table.add (table.get (0).copy () as Table.Row); + } else { + stdout.printf ("Incorrect operation '%s' specified.\n", args[3]); + return -1; + } + } else if (subdoc.get_type ().name () == "LAviewTableTabular") { + if (args[3] == "append_row0") { + var tabular = subdoc as Table.Tabular; + var table = tabular.table; + table.add (table.get (0).copy () as Table.Row); + } + } + } + + /* generate plain-TeX document */ + var generated = doc.generate (); + + if (args[2] != null) { + try { + FileUtils.get_contents (args[2], out contents); + } catch (FileError e) { + stderr.printf ("error: %s\n", e.message); + return -1; + } + } + + if (contents == generated) + stdout.printf ("Etalon and generated text are EQUAL ;-)\n"); + else + stdout.printf ("Etalon and generated text are NOT EQUAL ;-(\n"); + + stdout.printf ("--- Generated plain-TeX (generated) ---\n%s", generated); + + if (args[4] != null ) { + try { + FileUtils.set_contents (args[4], generated); + } catch (FileError e) { + stderr.printf ("error: %s\n", e.message); + return -1; + } + } + + return 0; + } +} diff --git a/test/ParseTest.vala b/test/ParseTest.vala new file mode 100644 index 0000000..b4283a0 --- /dev/null +++ b/test/ParseTest.vala @@ -0,0 +1,141 @@ +using LAview; + +public class Main : Object { + + static string fname_table = ""; + static string fname_etalon = ""; + static string fname_write = ""; + + const OptionEntry [] options = { + { "table", 't', 0, OptionArg.FILENAME, ref fname_table, "File with a table", null }, + { "etalon", 'e', 0, OptionArg.FILENAME, ref fname_etalon, "File with etalon table", null }, + { "write", 'w', 0, OptionArg.FILENAME, ref fname_write, "File to write", null }, + { null } + }; + + public static int main (string[] args) { + + Intl.setlocale (LocaleCategory.ALL, ""); + + /* commandline arguments processing */ + try { + var opt_context = new OptionContext ("- tests LaTeX parser"); + opt_context.set_help_enabled (true); + opt_context.add_main_entries (options, null); + opt_context.parse (ref args); + } catch (OptionError e) { + stderr.printf ("error: %s\n", e.message); + stderr.printf ("Run '%s --help' to see a full list of available command line options.\n", args[0]); + return -1; + } + + /* read table */ + if (fname_table == null) { + stderr.printf ("Specify file with a table or read help (%s --help)", args[0]); + return -1; + } + + /* load file contents */ + string contents; + try { + FileUtils.get_contents (fname_table, out contents); + } catch (FileError e) { + stderr.printf ("error: %s\n", e.message); + return -1; + } + + /* parse TeX */ + Glob doc; + try { + doc = LAview.parse (contents); + stdout.printf ("TeX document successfully parsed\n"); + + } catch (Parsers.ParseError e) { + stderr.printf ("Error parsing TeX document: %s\n", e.message); + return -1; + } + + /* list all objects */ + stdout.printf ("list all objects\n"); + foreach (var subdoc in doc) { + stdout.printf ("%s\n", subdoc.get_type ().name ()); + + if (subdoc.get_type ().name () == "LAviewTableTabular" + || subdoc.get_type ().name () == "LAviewTableLongtable") { + + unowned Table.Subtable subtable = null; + + if (subdoc.get_type ().name () == "LAviewTableTabular") + subtable = (subdoc as Table.Tabular).table; + else + subtable = (subdoc as Table.Longtable).table; + + foreach (var row in subtable) { + foreach (var cell in (row as Table.Row)) { + var glob = (cell as Table.Cell).contents; + + foreach (var glob_subdoc in glob) { + if (glob_subdoc.get_type ().name () != "LAviewText") { + stdout.printf (" %s\n", glob_subdoc.get_type ().name ()); + } + } + } + } + } + } + stdout.printf ("end of objects\n\n"); + + /* walk through all objects */ + stdout.printf ("Walk through all objects\n"); + foreach (var subdoc in doc) { + stdout.printf ("%s\n", subdoc.get_type ().name ()); + + if (subdoc.get_type ().name () == "LAviewGraphics") { + var graphics = subdoc as Graphics; + stdout.printf (" width=%f%s, height=%f%s, path=%s,\n gen()=%s\n", + graphics.width, graphics.width_unit, graphics.height, graphics.height_unit, + graphics.path, graphics.generate ()); + + graphics = graphics.copy () as Graphics; + graphics.width = 1; + graphics.width /= 2; + graphics.width_unit = "pt"; + graphics.height *= 2; + graphics.height_unit = "dd"; + stdout.printf ("resized gen() = %s\n", graphics.generate ()); + } + } + stdout.printf ("end of objects\n\n"); + + /* generate plain-TeX document */ + var generated = doc.generate (); + + /* load etalon file */ + if (fname_etalon != null) { + try { + FileUtils.get_contents (fname_etalon, out contents); + } catch (FileError e) { + stderr.printf ("error: %s\n", e.message); + return -1; + } + } + + if (contents == generated) + stdout.printf ("Original and generated text are EQUAL ;-)\n"); + else + stdout.printf ("Original and generated text are NOT EQUAL ;-(\n"); + + stdout.printf ("--- Generated plain-TeX (generated) ---\n%s", generated); + + /* write to file */ + if (fname_write != null ) + try { + FileUtils.set_contents (fname_write, generated); + } catch (FileError e) { + stderr.printf ("error: %s\n", e.message); + return -1; + } + + return 0; + } +} diff --git a/test/tex/151.bmp b/test/tex/151.bmp new file mode 100644 index 0000000..985844e Binary files /dev/null and b/test/tex/151.bmp differ diff --git a/test/tex/174.jpg b/test/tex/174.jpg new file mode 100644 index 0000000..f913414 Binary files /dev/null and b/test/tex/174.jpg differ diff --git a/test/tex/CMakeLists.txt b/test/tex/CMakeLists.txt new file mode 100644 index 0000000..3d847d4 --- /dev/null +++ b/test/tex/CMakeLists.txt @@ -0,0 +1,386 @@ +FIND_PACKAGE (PkgConfig REQUIRED) +PKG_CHECK_MODULES (GLIB2 REQUIRED glib-2.0) +PKG_CHECK_MODULES (GOBJECT2 REQUIRED gobject-2.0) + +INCLUDE_DIRECTORIES (${GLIB2_INCLUDE_DIRS} ${GOBJECT2_INCLUDE_DIRS}) +LINK_DIRECTORIES (${GLIB2_LIBRARY_DIRS} ${GOBJECT2_LIBRARY_DIRS}) + +IF (CMAKE_COMPILER_IS_GNUCC) + ADD_DEFINITIONS (${GLIB2_CFLAGS_OTHER} ${GOBJECT2_CFLAGS_OTHER}) +ENDIF () + +# add the executable +ADD_EXECUTABLE (txr_parse_test txr_parse_test.c) +TARGET_LINK_LIBRARIES (txr_parse_test txr-texparser ${GLIB2_LIBRARIES} ${GOBJECT2_LIBRARIES}) + +# add ltable_test executable +ADD_EXECUTABLE (ltable_test ltable_test.c) +TARGET_LINK_LIBRARIES (ltable_test txr-texparser ${GLIB2_LIBRARIES} ${GOBJECT2_LIBRARIES}) + +# add the install targets and files +# INSTALL (TARGETS txr_parse_test ltable_test DESTINATION bin) + +# parsing test macro +MACRO (do_parse_test testname table_path etalon_path regexp) + IF ("${etalon_path}" STREQUAL "") + SET (extra_args "") + ELSE () + SET (extra_args --etalon ${etalon_path}) + ENDIF () + ADD_TEST (txr_parse_test-${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/txr_parse_test --table ${table_path} ${extra_args}) + SET_TESTS_PROPERTIES (txr_parse_test-${testname} + PROPERTIES PASS_REGULAR_EXPRESSION ${regexp} + FAIL_REGULAR_EXPRESSION "CRITICAL;WARNING") +ENDMACRO (do_parse_test) + +# test throttle.tex +do_parse_test (throttleList ${PROJECT_SOURCE_DIR}/test/throttle.tex "" +"list all objects +TXRText +TXRLongtable +TXRText +TXRTabular +TXRText +TXRGraphics +TXRText +end of objects + +") + +# test throttle.tex +do_parse_test (throttleWalk ${PROJECT_SOURCE_DIR}/test/throttle.tex "" +"Walk through all objects +TXRText +TXRLongtable +TXRText +TXRTabular +TXRText +TXRGraphics + width=0.000000.null., height=0.000000.null., path=174, + gen..=.includegraphics., angle=25, scale=3,angle=70 , , .{174} +resized gen.. = .includegraphics.angle=25,scale=3.{174} +TXRText +end of objects + +") + +# test throttle.tex +do_parse_test (throttleCmp ${PROJECT_SOURCE_DIR}/test/throttle.tex "" +"Original and generated text are EQUAL .-.") + +# test throttle.tex +do_parse_test (throttleErr1 ${PROJECT_SOURCE_DIR}/test/throttle_err1.tex "" +"Error parsing TeX document: TXRGlobScanner:33:15: : Unexpected stop tag sequence '..end{longtable}' without start tag pair. +.end{longtable} + .") + +# test throttle.tex +do_parse_test (throttleErr2 ${PROJECT_SOURCE_DIR}/test/throttle_err2.tex "" +"Error parsing TeX document: TXRGlobScanner:33:1: Start tag sequence '..begin{longtable}' without stop tag pair. +.begin{longtable} +. +") + +# test throttle.tex +do_parse_test (throttleErr3 ${PROJECT_SOURCE_DIR}/test/throttle_err3.tex "" +"Error parsing TeX document: TXRGlobScanner:34:1: Error parsing subdoc. +.begin{longtable} +. +TXRLongtableScanner:55:46: Stop external tag sequence '..end{longtable}' without start tag pair. +.multicolumn{2}{|l|}{ЗМГ} & & .end{longtable} & & & & .tabularnewline + . +") + +# test throttle.tex +do_parse_test (throttleErr4 ${PROJECT_SOURCE_DIR}/test/throttle_err4.tex "" +"Error parsing TeX document: TXRGlobScanner:33:13: : Unexpected stop tag sequence '..end{tabular}' without start tag pair. +.end{tabular} + .") + +# test throttle.tex +do_parse_test (throttleErr5 ${PROJECT_SOURCE_DIR}/test/throttle_err5.tex "" +"Error parsing TeX document: TXRGlobScanner:33:1: Start tag sequence '..begin{tabular}' without stop tag pair. +.begin{tabular} +. +") + +# test throttle.tex +do_parse_test (throttleErr6 ${PROJECT_SOURCE_DIR}/test/throttle_err6.tex "" +"Error parsing TeX document: TXRGlobScanner:34:1: Error parsing subdoc. +.begin{tabular} +. +TXRTabularScanner:55:46: Stop external tag sequence '..end{tabular}' without start tag pair. +.multicolumn{2}{|l|}{ЗМГ} & & .end{tabular} & & & & .tabularnewline + . +") + +# test formular.tex +do_parse_test (formularList ${PROJECT_SOURCE_DIR}/test/formular.tex "" +"list all objects +TXRText +TXRLongtable +TXRText +TXRLongtable +TXRText +TXRLongtable +TXRText +TXRTabular +TXRText +TXRTabular +TXRText +TXRTabular +TXRText +TXRGraphics +TXRText +end of objects + +") + +# test formular.tex +do_parse_test (formularWalk ${PROJECT_SOURCE_DIR}/test/formular.tex "" +"Walk through all objects +TXRText +TXRLongtable +TXRText +TXRLongtable +TXRText +TXRLongtable +TXRText +TXRTabular +TXRText +TXRTabular +TXRText +TXRTabular +TXRText +TXRGraphics + width=12.000000cm, height=25.000000cm, path=151, + gen..=.includegraphics.width=12cm,height=25cm.{151} +resized gen.. = .includegraphics.width=6.000000pt,height=50.000000dd.{151} +TXRText +end of objects + +") + +# test formular.tex +do_parse_test (formularCmp ${PROJECT_SOURCE_DIR}/test/formular.tex "" +"Original and generated text are EQUAL .-.") + +# test formular.tex +do_parse_test (formularErr1 ${PROJECT_SOURCE_DIR}/test/formular_err1.tex "" +"Error parsing TeX document: TXRGlobScanner:192:15: : Unexpected stop tag sequence '..end{longtable}' without start tag pair. +.end{longtable} + .") + +# test formular.tex +do_parse_test (formularErr2 ${PROJECT_SOURCE_DIR}/test/formular_err2.tex "" +"Error parsing TeX document: TXRGlobScanner:44:1: Start tag sequence '..begin{longtable}' without stop tag pair. +.begin{longtable} +. +") + +# test for caption in all_subtables.tex +do_parse_test (captionTest ${PROJECT_SOURCE_DIR}/test/all_subtables.tex "" +".begin{document} +.begin{longtable}{.c.c.} +.caption{Caption of the table} +") + +# test all_subtables.tex +do_parse_test (all_subtablesCmp ${PROJECT_SOURCE_DIR}/test/all_subtables.tex "" +"Original and generated text are EQUAL .-.") + +# test all_subtables.tex +do_parse_test (linesCmp ${PROJECT_SOURCE_DIR}/test/lines.tex ${PROJECT_SOURCE_DIR}/test/lines.etalon.tex +"Original and generated text are EQUAL .-.") + +# test ltable_embedded.tex +do_parse_test (ltable_embedded ${PROJECT_SOURCE_DIR}/test/ltable_embedded.tex "" +"Original and generated text are EQUAL .-.") + +# test ltable_double_embedded.tex +do_parse_test (ltable_double_embedded ${PROJECT_SOURCE_DIR}/test/ltable_double_embedded.tex "" +"Original and generated text are EQUAL .-.") + +# test throttle_VK2500.tex +do_parse_test (throttle_VK2500Cmp ${PROJECT_SOURCE_DIR}/test/throttle_VK2500.tex "" +"Original and generated text are EQUAL .-.") + +# test throttle_VK2500.tex +do_parse_test (throttle_VK2500PSCmp ${PROJECT_SOURCE_DIR}/test/throttle_VK2500PS.tex "" +"Original and generated text are EQUAL .-.") + +# test throttle_VK2500_dos_newlines_.tex +do_parse_test (throttle_VK2500PS_dos_newlines_ListWalk ${PROJECT_SOURCE_DIR}/test/throttle_VK2500PS_dos_newlines.tex "" +"list all objects +TXRText +TXRLongtable +TXRText +TXRLongtable +TXRText +TXRLongtable +TXRText +TXRLongtable +TXRText +TXRLongtable +TXRText +end of objects + +Walk through all objects +TXRText +TXRLongtable +TXRText +TXRLongtable +TXRText +TXRLongtable +TXRText +TXRLongtable +TXRText +TXRLongtable +TXRText +end of objects +") + +# test graph_in_ltable.tex +do_parse_test (graph_in_ltable ${PROJECT_SOURCE_DIR}/test/graph_in_ltable.tex "" +" +list all objects +TXRText +TXRTabular +TXRText +TXRTabular +TXRText +TXRTabular +TXRText +TXRLongtable + TXRLongtable +TXRText +TXRLongtable + TXRGraphics + TXRLongtable +TXRText +end of objects + +Walk through all objects +TXRText +TXRTabular +TXRText +TXRTabular +TXRText +TXRTabular +TXRText +TXRLongtable +TXRText +TXRLongtable +TXRText +end of objects +") + +# test ltable_square_arg.tex +do_parse_test (ltable_square_arg ${PROJECT_SOURCE_DIR}/test/ltable_square_arg.tex "" +"Original and generated text are EQUAL .-.") + +# test table_in_table.tex +do_parse_test (table_in_table ${PROJECT_SOURCE_DIR}/test/table_in_table.tex "" +" +list all objects +") + +# test unary_quotes.tex +do_parse_test (unary_quotes ${PROJECT_SOURCE_DIR}/test/unary_quotes.tex "" +" +list all objects +TXRText +TXRTabular +TXRText +TXRTabular +TXRText +TXRTabular +TXRText +TXRTabular +TXRText +end of objects + +Walk through all objects +TXRText +TXRTabular +TXRText +TXRTabular +TXRText +TXRTabular +TXRText +TXRTabular +TXRText +end of objects +") + +# test back_slashes_in_a_table.tex +do_parse_test (back_slashes_in_a_table ${PROJECT_SOURCE_DIR}/test/back_slashes_in_a_table.tex ${PROJECT_SOURCE_DIR}/test/back_slashes_in_a_table.etalon.tex +"Original and generated text are EQUAL .-.") + + +# ltable_test macro +macro (ltable_test testname tex_path1 tex_path2 operation regexp) + add_test (ltable_test-${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ltable_test ${tex_path1} ${tex_path2} ${operation}) +set_tests_properties (ltable_test-${testname} + PROPERTIES PASS_REGULAR_EXPRESSION ${regexp} + FAIL_REGULAR_EXPRESSION "CRITICAL;WARNING") +endmacro (ltable_test) + +# ltable_test rm0row +ltable_test (rm0row ${PROJECT_SOURCE_DIR}/test/formular.tex ${PROJECT_SOURCE_DIR}/test/ltable_rm0row.tex rm0row +"Etalon and generated text are EQUAL .-.") + +# ltable_test rm1row +ltable_test (rm1row ${PROJECT_SOURCE_DIR}/test/formular.tex ${PROJECT_SOURCE_DIR}/test/ltable_rm1row.tex rm1row +"Etalon and generated text are EQUAL .-.") + +# ltable_test rm1000row +ltable_test (rm1000row ${PROJECT_SOURCE_DIR}/test/formular.tex ${PROJECT_SOURCE_DIR}/test/ltable_rm1000row.tex rm1000row +"Etalon and generated text are EQUAL .-.") + +# ltable_test rm_last_row +ltable_test (rm_last_row ${PROJECT_SOURCE_DIR}/test/formular.tex ${PROJECT_SOURCE_DIR}/test/ltable_rm_last_row.tex rm_last_row +"Etalon and generated text are EQUAL .-.") + +# ltable_test clone_0_0 +ltable_test (clone_0_0 ${PROJECT_SOURCE_DIR}/test/formular.tex ${PROJECT_SOURCE_DIR}/test/ltable_clone_0_0.tex clone_0_0 +"Etalon and generated text are EQUAL .-.") + +# ltable_test clone_0_1 +ltable_test (clone_0_1 ${PROJECT_SOURCE_DIR}/test/formular.tex ${PROJECT_SOURCE_DIR}/test/ltable_clone_0_1.tex clone_0_1 +"Etalon and generated text are EQUAL .-.") + +# ltable_test clone_1_0 +ltable_test (clone_1_0 ${PROJECT_SOURCE_DIR}/test/formular.tex ${PROJECT_SOURCE_DIR}/test/ltable_clone_1_0.tex clone_1_0 +"Etalon and generated text are EQUAL .-.") + +# ltable_test clone_0_last +ltable_test (clone_0_last ${PROJECT_SOURCE_DIR}/test/formular.tex ${PROJECT_SOURCE_DIR}/test/ltable_clone_0_last.tex clone_0_last +"Etalon and generated text are EQUAL .-.") + +# ltable_test clone_last_0 +ltable_test (clone_last_0 ${PROJECT_SOURCE_DIR}/test/formular.tex ${PROJECT_SOURCE_DIR}/test/ltable_clone_last_0.tex clone_last_0 +"Etalon and generated text are EQUAL .-.") + +# ltable_test clone_0_lastp1 +ltable_test (clone_0_lastp1 ${PROJECT_SOURCE_DIR}/test/formular.tex ${PROJECT_SOURCE_DIR}/test/ltable_clone_0_lastp1.tex clone_0_lastp1 +"Etalon and generated text are EQUAL .-.") + +# ltable_test clone_lastp1_0 +ltable_test (clone_lastp1_0 ${PROJECT_SOURCE_DIR}/test/formular.tex ${PROJECT_SOURCE_DIR}/test/ltable_clone_lastp1_0.tex clone_lastp1_0 +"Etalon and generated text are EQUAL .-.") + +# ltable_test clone_0_1000 +ltable_test (clone_0_1000 ${PROJECT_SOURCE_DIR}/test/formular.tex ${PROJECT_SOURCE_DIR}/test/ltable_clone_0_1000.tex clone_0_1000 +"Etalon and generated text are EQUAL .-.") + +# ltable_test clone_1000_0 +ltable_test (clone_1000_0 ${PROJECT_SOURCE_DIR}/test/formular.tex ${PROJECT_SOURCE_DIR}/test/ltable_clone_1000_0.tex clone_1000_0 +"Etalon and generated text are EQUAL .-.") + +# ltable_test append_row0 +ltable_test (append_row0 ${PROJECT_SOURCE_DIR}/test/table_rows.tex ${PROJECT_SOURCE_DIR}/test/table_rows.etalon.tex append_row0 +"Etalon and generated text are EQUAL .-.") + +# enable testing +ENABLE_TESTING () diff --git a/test/tex/all_subtables.lyx b/test/tex/all_subtables.lyx new file mode 100644 index 0000000..41bebbf --- /dev/null +++ b/test/tex/all_subtables.lyx @@ -0,0 +1,1124 @@ +#LyX 2.0 created this file. For more info see http://www.lyx.org/ +\lyxformat 413 +\begin_document +\begin_header +\textclass article +\use_default_options true +\maintain_unincluded_children false +\language english +\language_package default +\inputencoding auto +\fontencoding global +\font_roman default +\font_sans default +\font_typewriter default +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 +\font_tt_scale 100 + +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize default +\use_hyperref false +\papersize default +\use_geometry false +\use_amsmath 1 +\use_esint 1 +\use_mhchem 1 +\use_mathdots 1 +\cite_engine basic +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\use_refstyle 1 +\index Index +\shortcut idx +\color #008000 +\end_index +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\quotes_language english +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Standard +\begin_inset Tabular + + + + + + +\begin_inset Text + +\begin_layout Plain Layout +firsthead +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +firsthead +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +head +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +head +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +\begin_inset Caption + +\begin_layout Plain Layout +Caption of the table +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +foot +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +foot +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +lastfoot +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +lastfoot +\end_layout + +\end_inset + + + + +\end_inset + + +\end_layout + +\end_body +\end_document diff --git a/test/tex/all_subtables.tex b/test/tex/all_subtables.tex new file mode 100644 index 0000000..8584508 --- /dev/null +++ b/test/tex/all_subtables.tex @@ -0,0 +1,129 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[english]{article} +\usepackage[T1]{fontenc} +\usepackage[latin9]{inputenc} +\usepackage{longtable} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +\makeatother + +\usepackage{babel} +\begin{document} +\begin{longtable}{|c|c|} +\caption{Caption of the table} +\tabularnewline +\hline +firsthead & firsthead\tabularnewline +\endfirsthead +\hline +head & head\tabularnewline +\endhead +foot & foot\tabularnewline +\hline +\endfoot +\hline +lastfoot & lastfoot\tabularnewline +\hline +\endlastfoot +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\hline + & \tabularnewline +\end{longtable} +\end{document} diff --git a/test/tex/back_slashes_in_a_table.etalon.tex b/test/tex/back_slashes_in_a_table.etalon.tex new file mode 100644 index 0000000..708caae --- /dev/null +++ b/test/tex/back_slashes_in_a_table.etalon.tex @@ -0,0 +1,48 @@ +\documentclass[russian]{report} +\usepackage{array} + +\begin{document} + +% use of \tabularnewline +\begin{tabular}{|>{\centering}p{0.08\paperwidth}|>{\centering}b{0.08\paperwidth}|>{\centering}m{0.08\paperwidth}|} +\hline +A1 \\ aa A1 & B1 \\ aa B1 & C1 \\ aa C1 \tabularnewline +\hline +A1 & B1 & C1 \tabularnewline +\hline +A2 & B2 & C2 \tabularnewline +\hline +\end{tabular} + +% old style row endings +\begin{tabular}{|c|c|c|} +A \tabularnewline & B \tabularnewline & C \tabularnewline +A & B & C \tabularnewline C +\end{tabular} +\begin{tabular}{|c|c|c|} +A & B & C \tabularnewline +A & B & C \tabularnewline +\end{tabular} + +% use of \tabularnewline +\begin{longtable}{|>{\centering}p{0.08\paperwidth}|>{\centering}b{0.08\paperwidth}|>{\centering}m{0.08\paperwidth}|} +\hline +A1 \\ aa A1 & B1 \\ aa B1 & C1 \\ aa C1 \tabularnewline +\hline +A1 & B1 & C1 \tabularnewline +\hline +A2 & B2 & C2 \tabularnewline +\hline +\end{longtable} + +% old style row endings +\begin{longtable}{|c|c|c|} +A \tabularnewline & B \tabularnewline & C \tabularnewline +A & B & C \tabularnewline C +\end{longtable} +\begin{longtable}{|c|c|c|} +A & B & C \tabularnewline +A & B & C \tabularnewline +\end{longtable} + +\end{document} diff --git a/test/tex/back_slashes_in_a_table.tex b/test/tex/back_slashes_in_a_table.tex new file mode 100644 index 0000000..3be5d3a --- /dev/null +++ b/test/tex/back_slashes_in_a_table.tex @@ -0,0 +1,50 @@ +\documentclass[russian]{report} +\usepackage{array} + +\begin{document} + +% use of \tabularnewline +\begin{tabular}{|>{\centering}p{0.08\paperwidth}|>{\centering}b{0.08\paperwidth}|>{\centering}m{0.08\paperwidth}|} +\hline +A1 \\ aa A1 & B1 \\ aa B1 & C1 \\ aa C1 \tabularnewline +\hline +A1 & B1 & C1 \tabularnewline +\hline +A2 & B2 & C2 \tabularnewline +\hline +\end{tabular} + +% old style row endings +\begin{tabular}{|c|c|c|} +A \\ & B \\ & C \\ +A & B & C \\ +A & B & C +\end{tabular} +\begin{tabular}{|c|c|c|} +A & B & C \\ +A & B & C \\ +\end{tabular} + +% use of \tabularnewline +\begin{longtable}{|>{\centering}p{0.08\paperwidth}|>{\centering}b{0.08\paperwidth}|>{\centering}m{0.08\paperwidth}|} +\hline +A1 \\ aa A1 & B1 \\ aa B1 & C1 \\ aa C1 \tabularnewline +\hline +A1 & B1 & C1 \tabularnewline +\hline +A2 & B2 & C2 \tabularnewline +\hline +\end{longtable} + +% old style row endings +\begin{longtable}{|c|c|c|} +A \\ & B \\ & C \\ +A & B & C \\ +A & B & C +\end{longtable} +\begin{longtable}{|c|c|c|} +A & B & C \\ +A & B & C \\ +\end{longtable} + +\end{document} diff --git a/test/tex/formular.lyx b/test/tex/formular.lyx new file mode 100644 index 0000000..e6f0602 --- /dev/null +++ b/test/tex/formular.lyx @@ -0,0 +1,4377 @@ +#LyX file created by tex2lyx 2.0.3 +\lyxformat 413 +\begin_document +\begin_header +\textclass article +\begin_preamble +\usepackage{multirow} + + + +\usepackage{babel} + + + + + + + +\usepackage{babel} + + + + + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + +\usepackage{babel} + +\end_preamble +\use_default_options false +\language russian +\language_package default +\inputencoding utf8x +\fontencoding T1 +\font_roman default +\font_sans default +\font_typewriter default +\font_default_family default +\font_sc false +\font_osf false +\font_sf_scale 100 +\font_tt_scale 100 +\graphics default +\paperfontsize default +\spacing single +\use_hyperref 0 +\papersize default +\use_geometry true +\use_amsmath 1 +\use_esint 1 +\use_mhchem 0 +\use_mathdots 0 +\cite_engine basic +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\use_refstyle 0 +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\quotes_language french +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Standard +\align right + +ф. 07-726А +\end_layout + +\begin_layout Standard +\align center + + +\series bold +Формулярные данные по 06В.00.0100ВТУ +\series default + +\end_layout + +\begin_layout Standard +\align center + +двигателя ТВ7-117В № +\begin_inset CommandInset line +LatexCommand rule +offset "-1pt" +width "3.5cm" +height "0.4pt" + +\end_inset + + Температура наружного воздуха +\begin_inset Formula $t_{\text{н}}$ +\end_inset + +, +\begin_inset CommandInset line +LatexCommand rule +offset "-1pt" +width "1cm" +height "0.4pt" + +\end_inset + +, +\begin_inset Formula $\,^{\circ}\mbox{C}$ +\end_inset + + +\end_layout + +\begin_layout Standard + +от__________ +\begin_inset Quotes ard +\end_inset + + +\begin_inset CommandInset line +LatexCommand rule +offset "-1pt" +width "1.1cm" +height "0.4pt" + +\end_inset + + +\begin_inset Quotes ald +\end_inset + + +\begin_inset CommandInset line +LatexCommand rule +offset "-1pt" +width "2.5cm" +height "0.4pt" + +\end_inset + + 20 +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + +г. +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + +Давление наружного воздуха, +\begin_inset Formula $P_{\text{Н}}$ +\end_inset + + +\begin_inset CommandInset line +LatexCommand rule +offset "-1pt" +width "1cm" +height "0.4pt" + +\end_inset + + мм. рт. ст. +\end_layout + +\begin_layout Standard + +Drossel55.Table1 +\end_layout + +\begin_layout Standard + + +\begin_inset Tabular + + + + + + + + + + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.11 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperwidth +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + + +\begin_inset Newline linebreak +\end_inset + + Режим работы двигателя +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.1 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperwidth +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + + +\series bold + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + + +\series default + +\begin_inset Newline linebreak +\end_inset + + Мощность на выводном валу +\series bold +N л.с. +\series default + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Частота вращения ротора +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.1 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperwidth +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + +Температура газа перед свободнойтурбиной не более +\series bold +t +\begin_inset Formula $_{4}$ +\end_inset + + +\series default +, +\begin_inset Formula $\,^{\circ}\mbox{C}$ +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.09 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperwidth +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + +Удельный расход топлива не более +\series bold +C +\begin_inset Formula $_{R\text{ пр}}$ +\end_inset + + +\series default +г/л.с.ч. +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +турбо-компрессора не более +\series bold +n +\begin_inset Formula $_{\text{тк пр}}$ +\end_inset + + +\series default +, % +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +свободной турбины +\series bold +n +\begin_inset Formula $_{\lyxmathsym{ст}}$ +\end_inset + + +\series default +, % +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.11 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperwidth +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +*2,5-минутной мощности +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +ТУ +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +101,0 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +98 +\begin_inset Formula $\pm$ +\end_inset + +0,5 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +805 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +- +\end_layout + +\end_inset + + + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Факт +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.11 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperwidth +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +30-минутной мощности +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +ТУ +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +3000 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +98,5 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +98 +\begin_inset Formula $\pm$ +\end_inset + +0,5 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +795 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +- +\end_layout + +\end_inset + + + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Факт +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.11 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperwidth +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +ВЗЛ +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +ТУ +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +2800 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +97,5 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +98 +\begin_inset Formula $\pm$ +\end_inset + +0,5 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +775 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +205 +\end_layout + +\end_inset + + + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Факт +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.11 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperwidth +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +МП +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +ТУ +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +2100 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +94,0 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +98 +\begin_inset Formula $\pm$ +\end_inset + +0,5 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +705 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +- +\end_layout + +\end_inset + + + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Факт +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.11 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperwidth +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +МКр +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +ТУ +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +1900 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +93,0 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +98 +\begin_inset Formula $\pm$ +\end_inset + +0,5 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +680 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +221 +\end_layout + +\end_inset + + + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Факт +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.11 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperwidth +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +* ЗМГ +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +ТУ +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +- +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +- +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +80 +\begin_inset Formula $\pm$ +\end_inset + +0,5 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +- +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +- +\end_layout + +\end_inset + + + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Факт +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\end_inset + + +\end_layout + +\begin_layout Standard +\align left + +* - измеренные параметры +\begin_inset space \hspace*{} +\length 1in +\end_inset + + +\series bold + +\shape smallcaps +Настроечные параметры +\shape default + +\series default + +\end_layout + +\begin_layout Standard +\align left + +Drossel55.Table2 +\lang english + +\lang english + +\begin_inset Tabular + + + + + + + + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + + +\series bold +Параметр +\series default + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.1 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperwidth +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + + +\series bold + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + +Обозначение +\series default + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.1 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperwidth +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + + +\series bold + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + +Режим +\series default + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.1 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperwidth +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + + +\series bold + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + +Значение, полученное при испытании +\series default + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + + +\series bold +Наименование и единица измерения +\series default + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + + 1 +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +2 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +3 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +4 +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset Box Frameless +position "t" +hor_pos "c" +has_inner_box 1 +inner_pos "t" +use_parbox 0 +use_makebox 0 +width "45col%" +special "none" +height "1in" +height_special "totalheight" +status open + + +\begin_layout Plain Layout + +Настроечная величина частоты вращения +\end_layout + +\begin_layout Plain Layout + +ротора турбокомпрессора, % +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + + +\begin_inset Formula $n_{\text{тк\_мг}}0$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +МГ +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset Box Frameless +position "t" +hor_pos "c" +has_inner_box 1 +inner_pos "t" +use_parbox 0 +use_makebox 0 +width "45col%" +special "none" +height "1in" +height_special "totalheight" +status open + + +\begin_layout Plain Layout + +Настроечная величина частоты вращения +\end_layout + +\begin_layout Plain Layout + +ротора турбокомпрессора, % +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + + +\begin_inset Formula $n_{\text{тк\_взл}}0$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset Quotes ard +\end_inset + +Взлёт +\begin_inset Quotes ald +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset Box Frameless +position "c" +hor_pos "c" +has_inner_box 1 +inner_pos "c" +use_parbox 0 +use_makebox 0 +width "45col%" +special "none" +height "1in" +height_special "totalheight" +status open + + +\begin_layout Plain Layout + +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, % +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + + +\begin_inset Formula $n_{\text{тк\_мин}}0$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +МГ +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset Box Frameless +position "t" +hor_pos "c" +has_inner_box 1 +inner_pos "t" +use_parbox 0 +use_makebox 0 +width "45col%" +special "none" +height "1in" +height_special "totalheight" +status open + + +\begin_layout Plain Layout + +Настроечная величина перестройки частоты вращения ротора турбокомпрессора при +\begin_inset Quotes ard +\end_inset + +Разрешении РПМ +\begin_inset Quotes ald +\end_inset + +,% +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + + +\begin_inset Formula $\Delta n_{\text{тк\_взл}}0$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset Quotes ard +\end_inset + +Взлёт +\begin_inset Quotes ald +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset Box Frameless +position "t" +hor_pos "c" +has_inner_box 1 +inner_pos "t" +use_parbox 0 +use_makebox 0 +width "45col%" +special "none" +height "1in" +height_special "totalheight" +status open + + +\begin_layout Plain Layout + +Настроечная величина перестройки частоты вращения ротора турбокомпрессора по команде +\begin_inset Quotes ard +\end_inset + +Тренировочный режим +\begin_inset Quotes ald +\end_inset + +, % +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + + +\begin_inset Formula $\Delta n_{\text{тк\_тр}}0$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset Quotes ard +\end_inset + +Взлёт +\begin_inset Quotes ald +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset Box Frameless +position "t" +hor_pos "c" +has_inner_box 1 +inner_pos "t" +use_parbox 0 +use_makebox 0 +width "45col%" +special "none" +height "1in" +height_special "totalheight" +status open + + +\begin_layout Plain Layout + +Расходный коэффициент 1-го контура форсунок +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + + +\begin_inset Formula $\Psi_{(\mu F)}$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +- +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset Box Frameless +position "t" +hor_pos "c" +has_inner_box 1 +inner_pos "t" +use_parbox 0 +use_makebox 0 +width "45col%" +special "none" +height "1in" +height_special "totalheight" +status open + + +\begin_layout Plain Layout + +Программный расход топлива в РС, кг/ч +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + + +\begin_inset Formula $G_{\text{т прог РС МГ}}$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +- +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.15 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperwidth +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +Параметры измерителя крутящего момента +\lang english + +\lang english + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Начальное смещение, град +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + + +\begin_inset Formula $\phi_{\text{икм}}0$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.1 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperwidth +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + +- +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Коэффициент характеристики +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + + +\begin_inset Formula $K$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\end_inset + + +\end_layout + +\begin_layout Standard + +Расход масла, л/ч +\begin_inset CommandInset line +LatexCommand rule +offset "-1pt" +width "2cm" +height "0.4pt" + +\end_inset + + (не более 0,2) +\end_layout + +\begin_layout Standard +\align left + + +\series bold +Зависимость между положением дозирующей иглы и расходом топлива +\begin_inset Formula $G_{\text{т}}=f(\alpha_{\text{дк}})$ +\end_inset + + +\series default + +\end_layout + +\begin_layout Standard +\align left + +Drossel55.Table3 +\end_layout + +\begin_layout Standard +\align left + + +\begin_inset Tabular + + + + + + + + + + + + + + + + +\begin_inset Text + +\begin_layout Standard + +Параметр +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Значение, полученное при испытании +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +Наименование и единица измерения +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Обозначение +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +1 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +2 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +3 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +4 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +5 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +6 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +7 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +8 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +9 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +10 +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +Положение дозирующей иглы, град +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset Formula $(\alpha_{\text{дк}})$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +Расход топлива, кг/ч +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset Formula $G_{\text{Т}}$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +Исполнитель +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Инженер по испытаниям +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset Box Frameless +position "t" +hor_pos "c" +has_inner_box 1 +inner_pos "t" +use_parbox 0 +use_makebox 0 +width "10col%" +special "none" +height "1in" +height_special "totalheight" +status open + + +\begin_layout Plain Layout + +Начальник БТК ИК +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset Box Frameless +position "t" +hor_pos "c" +has_inner_box 1 +inner_pos "t" +use_parbox 0 +use_makebox 0 +width "15col%" +special "none" +height "1in" +height_special "totalheight" +status open + + +\begin_layout Plain Layout + +Начальник участка ИД +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset Box Frameless +position "t" +hor_pos "c" +has_inner_box 1 +inner_pos "t" +use_parbox 0 +use_makebox 0 +width "15col%" +special "none" +height "1in" +height_special "totalheight" +status open + + +\begin_layout Plain Layout + +Представитель заказчика +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\end_inset + + +\end_layout + +\begin_layout Standard + + +\begin_inset Graphics + filename 151.eps + width 12cm + height 25cm + +\end_inset + + +\end_layout + +\end_body +\end_document diff --git a/test/tex/formular.tex b/test/tex/formular.tex new file mode 100644 index 0000000..c71d52a --- /dev/null +++ b/test/tex/formular.tex @@ -0,0 +1,359 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[english,russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage{geometry} +\geometry{verbose} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{amstext} +\usepackage{graphicx} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +\newcommand{\lyxmathsym}[1]{\ifmmode\begingroup\def\b@ld{bold} + \text{\ifx\math@version\b@ld\bfseries\fi#1}\endgroup\else#1\fi} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + +\usepackage{babel} + + +\makeatother + +\usepackage{babel} +\begin{document} +\begin{flushright} +ф. 07-726А +\par\end{flushright} + +\begin{center} +\textbf{Формулярные данные по 06В.00.0100ВТУ} +\par\end{center} + +\begin{center} +двигателя ТВ7-117В №\rule[-1pt]{3.5cm}{0.4pt} Температура наружного +воздуха $t_{\text{н}}$, \rule[-1pt]{1cm}{0.4pt}, $\,^{\circ}\mbox{C}$ +\par\end{center} + +от\_\_\_\_\_\_\_\_\_\_ <<\rule[-1pt]{1.1cm}{0.4pt}>> \rule[-1pt]{2.5cm}{0.4pt} +20~~~~г.~~~~~~Давление наружного воздуха, $P_{\text{Н}}$\rule[-1pt]{1cm}{0.4pt} +мм. рт. ст. + +Drossel55.Table1 + +\begin{longtable}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\end{longtable} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{longtable}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\multicolumn{2}{|>{\centering}m{0.2\paperwidth}|}{\centering{}\textbf{Параметр} } & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Обозначение}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Режим}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Значение, +полученное при испытании}} \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ \textbf{Наименование и единица измерения} } & & & \tabularnewline +\endhead +\hline\newpage +\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{longtable} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{longtable}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule +Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\midrule +Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\midrule +\newpage Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{longtable} +\par\end{flushleft} + +\begin{tabular}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\end{tabular} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{tabular}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\hline\newpage +\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{tabular} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{tabular}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule +Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\midrule +Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\midrule +\newpage Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{tabular} +\par\end{flushleft} + + +\end{document} diff --git a/test/tex/formular_err1.tex b/test/tex/formular_err1.tex new file mode 100644 index 0000000..07b85d8 --- /dev/null +++ b/test/tex/formular_err1.tex @@ -0,0 +1,220 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[english,russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage{geometry} +\geometry{verbose} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{amstext} +\usepackage{graphicx} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +\newcommand{\lyxmathsym}[1]{\ifmmode\begingroup\def\b@ld{bold} + \text{\ifx\math@version\b@ld\bfseries\fi#1}\endgroup\else#1\fi} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + +\usepackage{babel} + + +\makeatother + +\usepackage{babel} +\begin{document} +\begin{flushright} +ф. 07-726А +\par\end{flushright} + +\begin{center} +\textbf{Формулярные данные по 06В.00.0100ВТУ} +\par\end{center} + +\begin{center} +двигателя ТВ7-117В №\rule[-1pt]{3.5cm}{0.4pt} Температура наружного +воздуха $t_{\text{н}}$, \rule[-1pt]{1cm}{0.4pt}, $\,^{\circ}\mbox{C}$ +\par\end{center} + +от\_\_\_\_\_\_\_\_\_\_ <<\rule[-1pt]{1.1cm}{0.4pt}>> \rule[-1pt]{2.5cm}{0.4pt} +20~~~~г.~~~~~~Давление наружного воздуха, $P_{\text{Н}}$\rule[-1pt]{1cm}{0.4pt} +мм. рт. ст. + +Drossel55.Table1 + +\begin{longtable}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\end{longtable} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{longtable}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\multicolumn{2}{|>{\centering}m{0.2\paperwidth}|}{\centering{}\textbf{Параметр} } & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Обозначение}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Режим}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Значение, +полученное при испытании}} \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ \textbf{Наименование и единица измерения} } & & & \tabularnewline +\endhead +\hline +\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{longtable} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} +\end{longtable} +\begin{flushleft} +\begin{longtable}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\hline +\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\hline +Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\hline +Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\hline +Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\hline +Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\hline + & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\hline +\end{longtable} +\par\end{flushleft} + +\end{document} diff --git a/test/tex/formular_err2.tex b/test/tex/formular_err2.tex new file mode 100644 index 0000000..7687596 --- /dev/null +++ b/test/tex/formular_err2.tex @@ -0,0 +1,220 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[english,russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage{geometry} +\geometry{verbose} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{amstext} +\usepackage{graphicx} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +\newcommand{\lyxmathsym}[1]{\ifmmode\begingroup\def\b@ld{bold} + \text{\ifx\math@version\b@ld\bfseries\fi#1}\endgroup\else#1\fi} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + +\begin{longtable} + + +\usepackage{babel} + + + + + +\usepackage{babel} + + +\makeatother + +\usepackage{babel} +\begin{document} +\begin{flushright} +ф. 07-726А +\par\end{flushright} + +\begin{center} +\textbf{Формулярные данные по 06В.00.0100ВТУ} +\par\end{center} + +\begin{center} +двигателя ТВ7-117В №\rule[-1pt]{3.5cm}{0.4pt} Температура наружного +воздуха $t_{\text{н}}$, \rule[-1pt]{1cm}{0.4pt}, $\,^{\circ}\mbox{C}$ +\par\end{center} + +от\_\_\_\_\_\_\_\_\_\_ <<\rule[-1pt]{1.1cm}{0.4pt}>> \rule[-1pt]{2.5cm}{0.4pt} +20~~~~г.~~~~~~Давление наружного воздуха, $P_{\text{Н}}$\rule[-1pt]{1cm}{0.4pt} +мм. рт. ст. + +Drossel55.Table1 + +\begin{longtable}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\end{longtable} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{longtable}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\multicolumn{2}{|>{\centering}m{0.2\paperwidth}|}{\centering{}\textbf{Параметр} } & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Обозначение}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Режим}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Значение, +полученное при испытании}} \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ \textbf{Наименование и единица измерения} } & & & \tabularnewline +\endhead +\hline +\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{longtable} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{longtable}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\hline +\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\hline +Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\hline +Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\hline +Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\hline +Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\hline + & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\hline +\end{longtable} +\par\end{flushleft} + +\end{document} diff --git a/test/tex/get_tags.sh b/test/tex/get_tags.sh new file mode 100755 index 0000000..534c3bb --- /dev/null +++ b/test/tex/get_tags.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +cat $@ | iconv -f koi8-r -t utf-8 | sed 's/\\/\n\\/g' | grep '^\\[a-z]' | sed 's/\\\([a-z]*\).*$/\1/g' | sort | uniq | sed 's/\(.*\)/#define\t\1 "\1\"/g' diff --git a/test/tex/graph_in_ltable.tex b/test/tex/graph_in_ltable.tex new file mode 100644 index 0000000..5442085 --- /dev/null +++ b/test/tex/graph_in_ltable.tex @@ -0,0 +1,225 @@ +%% LyX 2.0.4 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[russian]{report} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage[landscape,a4paper]{geometry} +\geometry{verbose,tmargin=3cm,bmargin=3cm,lmargin=0cm,rmargin=0cm,headheight=50pt,headsep=5mm,footskip=40pt} +\usepackage{fancyhdr} +\pagestyle{fancy} +\setcounter{secnumdepth}{-1} +\setcounter{tocdepth}{3} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{graphicx} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\renewcommand{\headrulewidth}{0pt} + + +\usepackage{multirow} + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + + + + + + + + + + + + +\usepackage{babel} + + + + + + + + + + + + + + + +\usepackage{babel} + + + + + + + + + + + + + + +\usepackage{babel} + + + + + + + + + + + + +\usepackage{babel} + + + + + + + + + + + +\usepackage{babel} + + + + + + + + + + + +\usepackage{babel} + + + + + + + + + + +\usepackage{babel} + + + + + + + + + +\usepackage{babel} + + + + + + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + +\usepackage{babel} + +\makeatother + +\usepackage{babel} +\begin{document} + +\chead{% +\begin{tabular}{c} +\textbf{Стенд № {[}Value.First.Stend{]}}{\large{} }\tabularnewline +Изделие {[}Value.Last.EngineData{]} ~~ Дата: {[}Value.Last.Time2{]}\tabularnewline +\tabularnewline +\end{tabular}} + +\begin{tabular}[b]{c} +\textbf{Стенд № {[}Value.First.Stend{]}}{\large{} }\tabularnewline +Изделие {[}Value.Last.EngineData{]} ~~ Дата: {[}Value.Last.Time2{]}\tabularnewline +\tabularnewline +\end{tabular} + +\cfoot{% +\begin{tabular*}{0.01\textwidth}{|c|c|} +\hline +Оператор гр. АИС & Инженер по испытаниям \tabularnewline +\hline + & \tabularnewline + & \tabularnewline +\hline +\end{tabular*}} + + +\begin{longtable}{lc} +\begin{longtable}[l]{|c|} +\hline +{[}direction.down{]}{[}Value.0.nst{]}\tabularnewline +\hline +\end{longtable}\tabularnewline +\end{longtable} + + + +\begin{longtable}{lc} +\includegraphics[bb=0bp 0bp 1203bp 100cm,clip,width=5cm,height=10cm,bb = 0 0 200 100, draft, type=eps]{test.bmp}& % +\begin{longtable}[l]{|c|} +\hline +{[}direction.down{]}{[}Value.0.nst{]}\tabularnewline +\hline +\end{longtable}\tabularnewline +\end{longtable} +\end{document} diff --git a/test/tex/includegraphics.tex b/test/tex/includegraphics.tex new file mode 100644 index 0000000..bbe07b9 --- /dev/null +++ b/test/tex/includegraphics.tex @@ -0,0 +1,4 @@ +\begin{document} +\includegraphics[, angle=25, scale=3,angle=70 , , , height=3pt, height=5]{174} +\includegraphics[width=12cm,height=25cm]{151} +\end{document} diff --git a/test/tex/lines.etalon.tex b/test/tex/lines.etalon.tex new file mode 100644 index 0000000..9693ccc --- /dev/null +++ b/test/tex/lines.etalon.tex @@ -0,0 +1,262 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[english]{article} +\usepackage[T1]{fontenc} +\usepackage[latin9]{inputenc} +\usepackage{longtable} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +\makeatother + +\usepackage{babel} +\begin{document} +\begin{longtable}{|||l|c|r|||c|c|c||||} +\caption{caption of the table} +\endfirsthead +\hline +\hline +\hline +\cline{1-3} \cline{5-6} +\noalign{\vskip0.16\textheight} +\noalign{\vskip1bp} +\noalign{\vskip3cm} +head & head & head & head & head & head\tabularnewline[1bp] +\noalign{\vskip2cc} +\hline +\hline +\cline{1-2} \cline{4-6} +\noalign{\vskip3cm} +firsthead & firsthead & firsthead & firsthead & firsthead & firsthead\tabularnewline[2cc] +\noalign{\vskip4dd} +\hline +\noalign{\vskip5em} +foot & foot & foot & foot & foot & foot\tabularnewline[3cm] +\noalign{\vskip6ex} +\noalign{\vskip7in} +\noalign{\vskip5em} +\hline +\hline +\noalign{\vskip9pc} +lastfoot & lastfoot & lastfoot & lastfoot & lastfoot & lastfoot\tabularnewline[4dd] +\noalign{\vskip8mm} +\noalign{\vskip9pc} +cell & cell & cell & cell & cell & cell\tabularnewline[5em] +\noalign{\vskip10pt} +\hline +\hline +\hline +\noalign{\vskip11sp} +cell & cell & cell & cell & cell & cell\tabularnewline[6ex] +\cline{1-5} +\noalign{\vskip0.12\textwidth} +cell & cell & cell & cell & cell & cell\tabularnewline[7in] +\cline{1-3} \cline{5-5} +\noalign{\vskip0.13\columnwidth} +cell & cell & cell & cell & cell & cell\tabularnewline[8mm] +\noalign{\vskip0.14\paperwidth} +\hline +\hline +\noalign{\vskip0.15\linewidth} +cell & cell & cell & cell & cell & cell\tabularnewline[9pc] +\noalign{\vskip10pt} +\noalign{\vskip0.16\textheight} +\noalign{\vskip0.16\textheight} +\noalign{\vskip2cc} +\hline +\hline +\hline +\cline{1-3} \cline{5-5} +\end{longtable} +\begin{longtable}{|c|c|c|c|c|c|} +\caption{caption of the table} +\endfirsthead +\hline +\hline +\noalign{\vskip0.17\paperheight} +head & head & head & head & head & head\tabularnewline[10pt] +\noalign{\vskip1bp} +\hline +\hline +\hline +\hline +\cline{1-3} \cline{5-5} +\noalign{\vskip2cc} +firsthead & firsthead & firsthead & firsthead & firsthead & firsthead\tabularnewline[11sp] +\hline +\noalign{\vskip3cm} +foot & foot & foot & foot & foot & foot\tabularnewline[0.12\textwidth] +\hline +\hline +\cline{1-1} \cline{4-4} \cline{6-6} +\noalign{\vskip4dd} +lastfoot & lastfoot & lastfoot & lastfoot & lastfoot & lastfoot\tabularnewline[0.13\columnwidth] +cell & cell & cell & cell & cell & cell\tabularnewline[0.14\paperwidth] +\hline +\hline +\hline +\noalign{\vskip5em} +cell & cell & cell & cell & cell & cell\tabularnewline[0.15\linewidth] +\noalign{\vskip6ex} +\cline{1-5} +\noalign{\vskip7in} +cell & cell & cell & cell & cell & cell\tabularnewline[0.16\textheight] +\cline{1-3} \cline{5-5} +cell & cell & cell & cell & cell & cell\tabularnewline[0.17\paperheight] +\hline +\hline +\hline +\cline{3-4} \cline{6-6} +\noalign{\vskip8mm} +cell & cell & cell & cell & cell & cell\tabularnewline[9pc] +\hline +\hline +\hline +\hline +\hline +\end{longtable} +\begin{longtable}{|||l|c|r|||c|c|c||||} +\caption{caption of the table} +\endfirsthead +\toprule +\toprule +\toprule +\cmidrule{1-3} \cmidrule{5-6} +\addlinespace[2cc] +\addlinespace[1bp] +\addlinespace[3cm] +head & head & head & head & head & head\tabularnewline\addlinespace[1bp] +\addlinespace[2cc] +\midrule +\midrule +\cmidrule{1-2} \cmidrule{4-6} +\addlinespace[3cm] +firsthead & firsthead & firsthead & firsthead & firsthead & firsthead\tabularnewline\addlinespace[2cc] +\addlinespace[4dd] +\midrule +\addlinespace[5em] +foot & foot & foot & foot & foot & foot\tabularnewline\addlinespace[3cm] +\addlinespace[6ex] +\midrule +\midrule +\addlinespace[7in] +lastfoot & lastfoot & lastfoot & lastfoot & lastfoot & lastfoot\tabularnewline\addlinespace[4dd] +\addlinespace[8mm] +\addlinespace[9pc] +cell & cell & cell & cell & cell & cell\tabularnewline\addlinespace[5em] +\addlinespace[10pt] +\addlinespace[0.14\paperwidth] +\addlinespace[0.15\linewidth] +\midrule +\midrule +\midrule +\addlinespace[11sp] +cell & cell & cell & cell & cell & cell\tabularnewline\addlinespace[6ex] +\cmidrule{1-5} +\addlinespace[0.12\textwidth] +cell & cell & cell & cell & cell & cell\tabularnewline\addlinespace[7in] +\cmidrule{1-3} \cmidrule{5-5} +\addlinespace[0.13\columnwidth] +cell & cell & cell & cell & cell & cell\tabularnewline\addlinespace[8mm] +\addlinespace[0.14\paperwidth] +\midrule +\midrule +\addlinespace[0.15\linewidth] +cell & cell & cell & cell & cell & cell\tabularnewline\addlinespace[9pc] +\addlinespace[0.16\textheight] +\addlinespace[0.14\paperwidth] +\addlinespace[0.15\linewidth] +\bottomrule +\bottomrule +\bottomrule +\cmidrule{1-3} \cmidrule{5-5} +\end{longtable} +\begin{longtable}{|c|c|c|c|c|c|} +\caption{caption of the table} +\endfirsthead +\toprule +\toprule +\addlinespace[0.17\paperheight] +head & head & head & head & head & head\tabularnewline\addlinespace[10pt] +\addlinespace[1bp] +\midrule +\midrule +\midrule +\midrule +\cmidrule{1-3} \cmidrule{5-5} +\addlinespace[2cc] +firsthead & firsthead & firsthead & firsthead & firsthead & firsthead\tabularnewline\addlinespace[11sp] +\midrule +\addlinespace[3cm] +foot & foot & foot & foot & foot & foot\tabularnewline\addlinespace[0.12\textwidth] +\midrule +\midrule +\cmidrule{1-1} \cmidrule{4-4} \cmidrule{6-6} +\addlinespace[4dd] +lastfoot & lastfoot & lastfoot & lastfoot & lastfoot & lastfoot\tabularnewline\addlinespace[0.13\columnwidth] +cell & cell & cell & cell & cell & cell\tabularnewline\addlinespace[0.14\paperwidth] +\midrule +\midrule +\midrule +\addlinespace[5em] +cell & cell & cell & cell & cell & cell\tabularnewline\addlinespace[0.15\linewidth] +\addlinespace[6ex] +\cmidrule{1-5} +\addlinespace[7in] +cell & cell & cell & cell & cell & cell\tabularnewline\addlinespace[0.16\textheight] +\cmidrule{1-3} \cmidrule{5-5} +cell & cell & cell & cell & cell & cell\tabularnewline\addlinespace[0.17\paperheight] +\midrule +\midrule +\midrule +\cmidrule{3-4} \cmidrule{6-6} +\addlinespace[8mm] +cell & cell & cell & cell & cell & cell\tabularnewline\addlinespace[9pc] +\bottomrule +\bottomrule +\bottomrule +\bottomrule +\bottomrule +\end{longtable} +% one line/col table +\begin{longtable}{|||l|||||} +\caption{caption of the table} +\endfirsthead +\hline +\hline +\hline +\cline{1-3} \cline{5-6} +\noalign{\vskip0.16\textheight} +\noalign{\vskip1bp} +\noalign{\vskip3cm} +head & head & head & head & head & head\tabularnewline[1bp] +\noalign{\vskip2cc} +\noalign{\vskip3cm} +\noalign{\vskip10pt} +\noalign{\vskip0.16\textheight} +\noalign{\vskip0.16\textheight} +\noalign{\vskip2cc} +\hline +\hline +\cline{1-2} \cline{4-6} +\end{longtable} +\begin{longtable}{|||l|||||} +\toprule +\toprule +\toprule +\cmidrule{1-3} \cmidrule{5-6} +\addlinespace[2cc] +\addlinespace[1bp] +\addlinespace[3cm] +head & head & head & head & head & head\tabularnewline\addlinespace[1bp] +\addlinespace[2cc] +\addlinespace[3cm] +\bottomrule +\bottomrule +\cmidrule{1-2} \cmidrule{4-6} +\end{longtable} +\end{document} diff --git a/test/tex/lines.lyx b/test/tex/lines.lyx new file mode 100644 index 0000000..a83c704 --- /dev/null +++ b/test/tex/lines.lyx @@ -0,0 +1,648 @@ +#LyX 2.0 created this file. For more info see http://www.lyx.org/ +\lyxformat 413 +\begin_document +\begin_header +\textclass article +\use_default_options true +\maintain_unincluded_children false +\language english +\language_package default +\inputencoding auto +\fontencoding global +\font_roman default +\font_sans default +\font_typewriter default +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 +\font_tt_scale 100 + +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize default +\use_hyperref false +\papersize default +\use_geometry false +\use_amsmath 1 +\use_esint 1 +\use_mhchem 1 +\use_mathdots 1 +\cite_engine basic +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\use_refstyle 1 +\index Index +\shortcut idx +\color #008000 +\end_index +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\quotes_language english +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Standard +\begin_inset Tabular + + + + + + + + + + +\begin_inset Text + +\begin_layout Plain Layout +head +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +head +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +head +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +head +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +head +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +head +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +firsthead +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +firsthead +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +firsthead +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +firsthead +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +firsthead +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +firsthead +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +foot +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +foot +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +foot +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +foot +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +foot +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +foot +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +lastfoot +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +lastfoot +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +lastfoot +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +lastfoot +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +lastfoot +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +lastfoot +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +\begin_inset Caption + +\begin_layout Plain Layout +caption of the table +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +cell +\end_layout + +\end_inset + + + + +\end_inset + + +\end_layout + +\end_body +\end_document diff --git a/test/tex/lines.tex b/test/tex/lines.tex new file mode 100644 index 0000000..7e2b185 --- /dev/null +++ b/test/tex/lines.tex @@ -0,0 +1,289 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[english]{article} +\usepackage[T1]{fontenc} +\usepackage[latin9]{inputenc} +\usepackage{longtable} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +\makeatother + +\usepackage{babel} +\begin{document} +\begin{longtable}{|||l|c|r|||c|c|c||||} +\caption{caption of the table} +\endfirsthead +\noalign{\vskip0.16\textheight} +\hline +\cline{1-1} \cline{4-4} \cline{6-6} +\hline +\hline +\cline{1-3} \cline{5-6} +\noalign{\vskip1bp} +\noalign{\vskip3cm} +head & head & head & head & head & head\\[1bp] +\cline{1-2} \cline{5-6} +\noalign{\vskip2cc} +\hline +\hline +\cline{1-2} \cline{4-6} +\noalign{\vskip3cm} +firsthead & firsthead & firsthead & firsthead & firsthead & firsthead\tabularnewline[2cc] +\noalign{\vskip4dd} +\hline +\noalign{\vskip5em} +foot & foot & foot & foot & foot & foot\\[3cm] +\noalign{\vskip6ex} +\noalign{\vskip7in} +\hline +\hline +\noalign{\vskip5em} +\noalign{\vskip9pc} +lastfoot & lastfoot & lastfoot & lastfoot & lastfoot & lastfoot\\[4dd] +\noalign{\vskip8mm} +\noalign{\vskip9pc} +cell & cell & cell & cell & cell & cell\tabularnewline[5em] +\cline{1-1} \cline{4-4} \cline{6-6} +\noalign{\vskip10pt} +\hline +\hline +\hline +\noalign{\vskip11sp} +cell & cell & cell & cell & cell & cell\tabularnewline[6ex] +\cline{1-5} +\noalign{\vskip0.12\textwidth} +cell & cell & cell & cell & cell & cell\tabularnewline[7in] +\cline{1-3} \cline{5-5} +\noalign{\vskip0.13\columnwidth} +cell & cell & cell & cell & cell & cell\\[8mm] +\hline +\cline{3-4} \cline{6-6} +\hline +\noalign{\vskip0.14\paperwidth} +\noalign{\vskip0.15\linewidth} +cell & cell & cell & cell & cell & cell\tabularnewline[9pc] +\hline +\hline +\hline +\cline{1-3} \cline{5-5} +\cline{1-3} \cline{5-5} +\noalign{\vskip10pt} +\noalign{\vskip0.16\textheight} +\noalign{\vskip0.16\textheight} +\noalign{\vskip2cc} +\end{longtable} +\begin{longtable}{|c|c|c|c|c|c|} +\caption{caption of the table} +\endfirsthead +\cline{1-3} \cline{5-5} +\hline +\hline +\noalign{\vskip0.17\paperheight} +head & head & head & head & head & head\tabularnewline[10pt] +\hline +\hline +\hline +\hline +\cline{1-3} \cline{5-5} +\noalign{\vskip1bp} +\noalign{\vskip2cc} +firsthead & firsthead & firsthead & firsthead & firsthead & firsthead\tabularnewline[11sp] +\hline +\noalign{\vskip3cm} +foot & foot & foot & foot & foot & foot\tabularnewline[0.12\textwidth] +\hline +\hline +\cline{1-1} \cline{4-4} \cline{6-6} +\cline{1-1} \cline{4-4} \cline{6-6} +\noalign{\vskip4dd} +lastfoot & lastfoot & lastfoot & lastfoot & lastfoot & lastfoot\tabularnewline[0.13\columnwidth] +cell & cell & cell & cell & cell & cell\tabularnewline[0.14\paperwidth] +\cline{1-1} \cline{4-4} \cline{6-6} +\hline +\hline +\hline +\noalign{\vskip5em} +cell & cell & cell & cell & cell & cell\\[0.15\linewidth] +\cline{1-5} +\noalign{\vskip6ex} +\noalign{\vskip7in} +cell & cell & cell & cell & cell & cell\tabularnewline[0.16\textheight] +\cline{1-3} \cline{5-5} +cell & cell & cell & cell & cell & cell\tabularnewline[0.17\paperheight] +\hline +\hline +\hline +\cline{3-4} \cline{6-6} +\cline{3-4} \cline{6-6} +\noalign{\vskip8mm} +cell & cell & cell & cell & cell & cell\tabularnewline[9pc] +\hline +\hline +\cline{1-3} \cline{5-5} +\hline +\cline{1-3} \cline{5-5} +\hline +\hline +\end{longtable} +\begin{longtable}{|||l|c|r|||c|c|c||||} +\caption{caption of the table} +\endfirsthead +\toprule +\addlinespace[2cc] +\cmidrule{1-1} \cmidrule{4-4} \cmidrule{6-6} +\toprule +\toprule +\cmidrule{1-3} \cmidrule{5-6} +\addlinespace[1bp] +\addlinespace[3cm] +head & head & head & head & head & head\tabularnewline\addlinespace[1bp] +\cmidrule{1-2} \cmidrule{5-6} +\addlinespace[2cc] +\midrule +\midrule +\cmidrule{1-2} \cmidrule{4-6} +\addlinespace[3cm] +firsthead & firsthead & firsthead & firsthead & firsthead & firsthead\\\addlinespace[2cc] +\addlinespace[4dd] +\midrule +\addlinespace[5em] +foot & foot & foot & foot & foot & foot\tabularnewline\addlinespace[3cm] +\addlinespace[6ex] +\midrule +\midrule +\addlinespace[7in] +lastfoot & lastfoot & lastfoot & lastfoot & lastfoot & lastfoot\tabularnewline\addlinespace[4dd] +\addlinespace[8mm] +\addlinespace[9pc] +cell & cell & cell & cell & cell & cell\tabularnewline\addlinespace[5em] +\cmidrule{1-1} \cmidrule{4-4} \cmidrule{6-6} +\addlinespace[10pt] +\midrule +\addlinespace[0.14\paperwidth] +\addlinespace[0.15\linewidth] +\midrule +\midrule +\addlinespace[11sp] +cell & cell & cell & cell & cell & cell\tabularnewline\addlinespace[6ex] +\cmidrule{1-5} +\addlinespace[0.12\textwidth] +cell & cell & cell & cell & cell & cell\tabularnewline\addlinespace[7in] +\cmidrule{1-3} \cmidrule{5-5} +\addlinespace[0.13\columnwidth] +cell & cell & cell & cell & cell & cell\tabularnewline\addlinespace[8mm] +\midrule +\cmidrule{3-4} \cmidrule{6-6} +\midrule +\addlinespace[0.14\paperwidth] +\addlinespace[0.15\linewidth] +cell & cell & cell & cell & cell & cell\tabularnewline\addlinespace[9pc] +\bottomrule +\bottomrule +\bottomrule +\cmidrule{1-3} \cmidrule{5-5} +\cmidrule{1-3} \cmidrule{5-5} +\addlinespace[0.16\textheight] +\addlinespace[0.14\paperwidth] +\addlinespace[0.15\linewidth] +\end{longtable} +\begin{longtable}{|c|c|c|c|c|c|} +\caption{caption of the table} +\endfirsthead +\cmidrule{1-3} \cmidrule{5-5} +\toprule +\toprule +\addlinespace[0.17\paperheight] +head & head & head & head & head & head\\\addlinespace[10pt] +\midrule +\midrule +\midrule +\midrule +\cmidrule{1-3} \cmidrule{5-5} +\addlinespace[1bp] +\addlinespace[2cc] +firsthead & firsthead & firsthead & firsthead & firsthead & firsthead\tabularnewline\addlinespace[11sp] +\midrule +\addlinespace[3cm] +foot & foot & foot & foot & foot & foot\tabularnewline\addlinespace[0.12\textwidth] +\midrule +\midrule +\cmidrule{1-1} \cmidrule{4-4} \cmidrule{6-6} +\cmidrule{1-1} \cmidrule{4-4} \cmidrule{6-6} +\addlinespace[4dd] +lastfoot & lastfoot & lastfoot & lastfoot & lastfoot & lastfoot\tabularnewline\addlinespace[0.13\columnwidth] +cell & cell & cell & cell & cell & cell\tabularnewline\addlinespace[0.14\paperwidth] +\cmidrule{1-1} \cmidrule{4-4} \cmidrule{6-6} +\midrule +\midrule +\midrule +\addlinespace[5em] +cell & cell & cell & cell & cell & cell\tabularnewline\addlinespace[0.15\linewidth] +\cmidrule{1-5} +\addlinespace[6ex] +\addlinespace[7in] +cell & cell & cell & cell & cell & cell\\\addlinespace[0.16\textheight] +\cmidrule{1-3} \cmidrule{5-5} +cell & cell & cell & cell & cell & cell\tabularnewline\addlinespace[0.17\paperheight] +\midrule +\midrule +\midrule +\cmidrule{3-4} \cmidrule{6-6} +\cmidrule{3-4} \cmidrule{6-6} +\addlinespace[8mm] +cell & cell & cell & cell & cell & cell\tabularnewline +\bottomrule +\bottomrule +\cmidrule{1-3} \cmidrule{5-5} +\bottomrule +\cmidrule{1-3} \cmidrule{5-5} +\bottomrule +\bottomrule +\addlinespace[9pc] +\end{longtable} +% one line/col table +\begin{longtable}{|||l|||||} +\caption{caption of the table} +\endfirsthead +\noalign{\vskip0.16\textheight} +\hline +\cline{1-1} \cline{4-4} \cline{6-6} +\hline +\hline +\cline{1-3} \cline{5-6} +\noalign{\vskip1bp} +\noalign{\vskip3cm} +head & head & head & head & head & head\\[1bp] +\cline{1-2} \cline{5-6} +\noalign{\vskip2cc} +\hline +\hline +\cline{1-2} \cline{4-6} +\noalign{\vskip3cm} +\noalign{\vskip10pt} +\noalign{\vskip0.16\textheight} +\noalign{\vskip0.16\textheight} +\noalign{\vskip2cc} +\end{longtable} +\begin{longtable}{|||l|||||} +\toprule +\addlinespace[2cc] +\cmidrule{1-1} \cmidrule{4-4} \cmidrule{6-6} +\toprule +\toprule +\cmidrule{1-3} \cmidrule{5-6} +\addlinespace[1bp] +\addlinespace[3cm] +head & head & head & head & head & head\tabularnewline\addlinespace[1bp] +\cmidrule{1-2} \cmidrule{5-6} +\addlinespace[2cc] +\bottomrule +\bottomrule +\cmidrule{1-2} \cmidrule{4-6} +\addlinespace[3cm] +\end{longtable} +\end{document} diff --git a/test/tex/ltable_clone_0_0.tex b/test/tex/ltable_clone_0_0.tex new file mode 100644 index 0000000..d45c7c6 --- /dev/null +++ b/test/tex/ltable_clone_0_0.tex @@ -0,0 +1,389 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[english,russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage{geometry} +\geometry{verbose} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{amstext} +\usepackage{graphicx} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +\newcommand{\lyxmathsym}[1]{\ifmmode\begingroup\def\b@ld{bold} + \text{\ifx\math@version\b@ld\bfseries\fi#1}\endgroup\else#1\fi} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + +\usepackage{babel} + + +\makeatother + +\usepackage{babel} +\begin{document} +\begin{flushright} +ф. 07-726А +\par\end{flushright} + +\begin{center} +\textbf{Формулярные данные по 06В.00.0100ВТУ} +\par\end{center} + +\begin{center} +двигателя ТВ7-117В №\rule[-1pt]{3.5cm}{0.4pt} Температура наружного +воздуха $t_{\text{н}}$, \rule[-1pt]{1cm}{0.4pt}, $\,^{\circ}\mbox{C}$ +\par\end{center} + +от\_\_\_\_\_\_\_\_\_\_ <<\rule[-1pt]{1.1cm}{0.4pt}>> \rule[-1pt]{2.5cm}{0.4pt} +20~~~~г.~~~~~~Давление наружного воздуха, $P_{\text{Н}}$\rule[-1pt]{1cm}{0.4pt} +мм. рт. ст. + +Drossel55.Table1 + +\begin{longtable}{|>{\raggedright}m{0.11\paperwidth}|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} &\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} &\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} &\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} &\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage && Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} &\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} &\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + & & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} &\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & & Факт & & & & & \tabularnewline +\hline +\end{longtable} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{longtable}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\multicolumn{2}{|>{\centering}m{0.2\paperwidth}}{\centering{}\textbf{Параметр} } &\multicolumn{2}{|>{\centering}m{0.2\paperwidth}|}{\centering{}\textbf{Параметр} } & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Обозначение}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Режим}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Значение, +полученное при испытании}} \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}}{ \textbf{Наименование и единица измерения} } &\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ \textbf{Наименование и единица измерения} } & & & \tabularnewline +\endhead +\hline\newpage +\multicolumn{2}{|c}{ 1 } &\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} &\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} &\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} &\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage +\multicolumn{2}{|c}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} &\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.08\paperwidth}}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} &\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} &\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} &\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } &\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{longtable} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{longtable}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{2}{|c}{Параметр} &\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule +Наименование и единица измерения &Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage Положение дозирующей иглы, град &Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\midrule +Расход топлива, кг/ч &Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\midrule +\newpage Исполнитель &Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{longtable} +\par\end{flushleft} + +\begin{tabular}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\end{tabular} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{tabular}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\hline\newpage +\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{tabular} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{tabular}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule +Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\midrule +Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\midrule +\newpage Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{tabular} +\par\end{flushleft} + + +\end{document} diff --git a/test/tex/ltable_clone_0_1.tex b/test/tex/ltable_clone_0_1.tex new file mode 100644 index 0000000..cfae5c1 --- /dev/null +++ b/test/tex/ltable_clone_0_1.tex @@ -0,0 +1,389 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[english,russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage{geometry} +\geometry{verbose} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{amstext} +\usepackage{graphicx} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +\newcommand{\lyxmathsym}[1]{\ifmmode\begingroup\def\b@ld{bold} + \text{\ifx\math@version\b@ld\bfseries\fi#1}\endgroup\else#1\fi} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + +\usepackage{babel} + + +\makeatother + +\usepackage{babel} +\begin{document} +\begin{flushright} +ф. 07-726А +\par\end{flushright} + +\begin{center} +\textbf{Формулярные данные по 06В.00.0100ВТУ} +\par\end{center} + +\begin{center} +двигателя ТВ7-117В №\rule[-1pt]{3.5cm}{0.4pt} Температура наружного +воздуха $t_{\text{н}}$, \rule[-1pt]{1cm}{0.4pt}, $\,^{\circ}\mbox{C}$ +\par\end{center} + +от\_\_\_\_\_\_\_\_\_\_ <<\rule[-1pt]{1.1cm}{0.4pt}>> \rule[-1pt]{2.5cm}{0.4pt} +20~~~~г.~~~~~~Давление наружного воздуха, $P_{\text{Н}}$\rule[-1pt]{1cm}{0.4pt} +мм. рт. ст. + +Drossel55.Table1 + +\begin{longtable}{|>{\raggedright}m{0.11\paperwidth}|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} &\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} &\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} &\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} &\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage && Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} &\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} &\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + & & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} &\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & & Факт & & & & & \tabularnewline +\hline +\end{longtable} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{longtable}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\multicolumn{1}{|>{\centering}m{0.2\paperwidth}}{\centering{}\textbf{Параметр} } &\multicolumn{2}{|>{\centering}m{0.2\paperwidth}|}{\centering{}\textbf{Параметр} } & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Обозначение}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Режим}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Значение, +полученное при испытании}} \tabularnewline +\hline +\multicolumn{1}{|>{\centering}p{0.2\paperwidth}}{ \textbf{Наименование и единица измерения} } &\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ \textbf{Наименование и единица измерения} } & & & \tabularnewline +\endhead +\hline\newpage +\multicolumn{1}{|c}{ 1 } &\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{1}{|>{\centering}p{0.2\paperwidth}}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} &\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{1}{|>{\centering}p{0.08\paperwidth}}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} &\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{1}{|c}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} &\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage +\multicolumn{1}{|c}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} &\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage\multicolumn{1}{|>{\centering}p{0.08\paperwidth}}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} &\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{1}{|c}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} &\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{1}{|>{\centering}p{0.1\paperwidth}}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} &\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } &\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{longtable} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{longtable}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{1}{|c}{Параметр} &\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule +Наименование и единица измерения &Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage Положение дозирующей иглы, град &Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\midrule +Расход топлива, кг/ч &Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\midrule +\newpage Исполнитель &Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{longtable} +\par\end{flushleft} + +\begin{tabular}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\end{tabular} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{tabular}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\hline\newpage +\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{tabular} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{tabular}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule +Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\midrule +Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\midrule +\newpage Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{tabular} +\par\end{flushleft} + + +\end{document} diff --git a/test/tex/ltable_clone_0_1000.tex b/test/tex/ltable_clone_0_1000.tex new file mode 100644 index 0000000..c71d52a --- /dev/null +++ b/test/tex/ltable_clone_0_1000.tex @@ -0,0 +1,359 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[english,russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage{geometry} +\geometry{verbose} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{amstext} +\usepackage{graphicx} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +\newcommand{\lyxmathsym}[1]{\ifmmode\begingroup\def\b@ld{bold} + \text{\ifx\math@version\b@ld\bfseries\fi#1}\endgroup\else#1\fi} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + +\usepackage{babel} + + +\makeatother + +\usepackage{babel} +\begin{document} +\begin{flushright} +ф. 07-726А +\par\end{flushright} + +\begin{center} +\textbf{Формулярные данные по 06В.00.0100ВТУ} +\par\end{center} + +\begin{center} +двигателя ТВ7-117В №\rule[-1pt]{3.5cm}{0.4pt} Температура наружного +воздуха $t_{\text{н}}$, \rule[-1pt]{1cm}{0.4pt}, $\,^{\circ}\mbox{C}$ +\par\end{center} + +от\_\_\_\_\_\_\_\_\_\_ <<\rule[-1pt]{1.1cm}{0.4pt}>> \rule[-1pt]{2.5cm}{0.4pt} +20~~~~г.~~~~~~Давление наружного воздуха, $P_{\text{Н}}$\rule[-1pt]{1cm}{0.4pt} +мм. рт. ст. + +Drossel55.Table1 + +\begin{longtable}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\end{longtable} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{longtable}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\multicolumn{2}{|>{\centering}m{0.2\paperwidth}|}{\centering{}\textbf{Параметр} } & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Обозначение}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Режим}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Значение, +полученное при испытании}} \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ \textbf{Наименование и единица измерения} } & & & \tabularnewline +\endhead +\hline\newpage +\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{longtable} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{longtable}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule +Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\midrule +Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\midrule +\newpage Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{longtable} +\par\end{flushleft} + +\begin{tabular}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\end{tabular} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{tabular}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\hline\newpage +\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{tabular} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{tabular}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule +Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\midrule +Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\midrule +\newpage Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{tabular} +\par\end{flushleft} + + +\end{document} diff --git a/test/tex/ltable_clone_0_last.tex b/test/tex/ltable_clone_0_last.tex new file mode 100644 index 0000000..d071dfe --- /dev/null +++ b/test/tex/ltable_clone_0_last.tex @@ -0,0 +1,389 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[english,russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage{geometry} +\geometry{verbose} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{amstext} +\usepackage{graphicx} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +\newcommand{\lyxmathsym}[1]{\ifmmode\begingroup\def\b@ld{bold} + \text{\ifx\math@version\b@ld\bfseries\fi#1}\endgroup\else#1\fi} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + +\usepackage{babel} + + +\makeatother + +\usepackage{babel} +\begin{document} +\begin{flushright} +ф. 07-726А +\par\end{flushright} + +\begin{center} +\textbf{Формулярные данные по 06В.00.0100ВТУ} +\par\end{center} + +\begin{center} +двигателя ТВ7-117В №\rule[-1pt]{3.5cm}{0.4pt} Температура наружного +воздуха $t_{\text{н}}$, \rule[-1pt]{1cm}{0.4pt}, $\,^{\circ}\mbox{C}$ +\par\end{center} + +от\_\_\_\_\_\_\_\_\_\_ <<\rule[-1pt]{1.1cm}{0.4pt}>> \rule[-1pt]{2.5cm}{0.4pt} +20~~~~г.~~~~~~Давление наружного воздуха, $P_{\text{Н}}$\rule[-1pt]{1cm}{0.4pt} +мм. рт. ст. + +Drossel55.Table1 + +\begin{longtable}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} &\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 &\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & -\tabularnewline +\hline + & Факт & & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 &\multirow{2}{0.11\paperwidth}{30-минутной мощности} & -\tabularnewline +\hline + & Факт & & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 &\multirow{2}{0.11\paperwidth}{ВЗЛ} & 205\tabularnewline +\hline +\newpage & Факт & & & & && \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 &\multirow{2}{0.11\paperwidth}{МП} & -\tabularnewline +\hline + & Факт & & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 &\multirow{2}{0.11\paperwidth}{МКр} & 221\tabularnewline +\hline \newpage + & Факт & & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - &\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & -\tabularnewline +\hline + & Факт & & & & & & \tabularnewline +\hline +\end{longtable} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{longtable}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\multicolumn{2}{|>{\centering}m{0.2\paperwidth}|}{\centering{}\textbf{Параметр} } & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Обозначение}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Режим}} &\multicolumn{1}{|>{\centering}m{0.2\paperwidth}|}{\centering{}\textbf{Параметр} } & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Значение, +полученное при испытании}} \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ \textbf{Наименование и единица измерения} } & & &\multicolumn{1}{|>{\centering}p{0.2\paperwidth}|}{ \textbf{Наименование и единица измерения} } & \tabularnewline +\endhead +\hline\newpage +\multicolumn{2}{|c|}{ 1 } & 2 & 3 &\multicolumn{1}{|c|}{ 1 } & 4 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ &\multicolumn{1}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> &\multicolumn{1}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ &\multicolumn{1}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \tabularnewline +\hline\newpage +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> &\multicolumn{1}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> &\multicolumn{1}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - &\multicolumn{1}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - &\multicolumn{1}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} &\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & \tabularnewline +\hline + & Коэффициент характеристики & \centering{}$K$ & & & \tabularnewline +\hline +\end{longtable} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{longtable}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{2}{|c}{Параметр} &\multicolumn{1}{|c}{Параметр} & \multicolumn{10}{|c|}{Значение, полученное при испытании}\tabularnewline +\midrule +Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 &Наименование и единица измерения & 10\tabularnewline +\midrule + \newpage Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & &Положение дозирующей иглы, град & \tabularnewline +\midrule +Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & &Расход топлива, кг/ч & \tabularnewline +\midrule +\newpage Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} &Исполнитель & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{longtable} +\par\end{flushleft} + +\begin{tabular}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\end{tabular} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{tabular}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\hline\newpage +\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{tabular} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{tabular}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule +Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\midrule +Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\midrule +\newpage Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{tabular} +\par\end{flushleft} + + +\end{document} diff --git a/test/tex/ltable_clone_0_lastp1.tex b/test/tex/ltable_clone_0_lastp1.tex new file mode 100644 index 0000000..bac9502 --- /dev/null +++ b/test/tex/ltable_clone_0_lastp1.tex @@ -0,0 +1,389 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[english,russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage{geometry} +\geometry{verbose} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{amstext} +\usepackage{graphicx} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +\newcommand{\lyxmathsym}[1]{\ifmmode\begingroup\def\b@ld{bold} + \text{\ifx\math@version\b@ld\bfseries\fi#1}\endgroup\else#1\fi} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + +\usepackage{babel} + + +\makeatother + +\usepackage{babel} +\begin{document} +\begin{flushright} +ф. 07-726А +\par\end{flushright} + +\begin{center} +\textbf{Формулярные данные по 06В.00.0100ВТУ} +\par\end{center} + +\begin{center} +двигателя ТВ7-117В №\rule[-1pt]{3.5cm}{0.4pt} Температура наружного +воздуха $t_{\text{н}}$, \rule[-1pt]{1cm}{0.4pt}, $\,^{\circ}\mbox{C}$ +\par\end{center} + +от\_\_\_\_\_\_\_\_\_\_ <<\rule[-1pt]{1.1cm}{0.4pt}>> \rule[-1pt]{2.5cm}{0.4pt} +20~~~~г.~~~~~~Давление наружного воздуха, $P_{\text{Н}}$\rule[-1pt]{1cm}{0.4pt} +мм. рт. ст. + +Drossel55.Table1 + +\begin{longtable}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\raggedright}m{0.11\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}&\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} \tabularnewline +\hline + & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -&\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} \tabularnewline +\hline + & Факт & & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -&\multirow{2}{0.11\paperwidth}{30-минутной мощности} \tabularnewline +\hline + & Факт & & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205&\multirow{2}{0.11\paperwidth}{ВЗЛ} \tabularnewline +\hline +\newpage & Факт & & & & & &\tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -&\multirow{2}{0.11\paperwidth}{МП} \tabularnewline +\hline + & Факт & & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221&\multirow{2}{0.11\paperwidth}{МКр} \tabularnewline +\hline \newpage + & Факт & & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -&\multirow{2}{0.11\paperwidth}{{*} ЗМГ} \tabularnewline +\hline + & Факт & & & & & & \tabularnewline +\hline +\end{longtable} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{longtable}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|>{\centering}m{0.15\paperwidth}|} +\hline +\multicolumn{2}{|>{\centering}m{0.2\paperwidth}|}{\centering{}\textbf{Параметр} } & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Обозначение}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Режим}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Значение, +полученное при испытании}} &\multicolumn{1}{|>{\centering}m{0.2\paperwidth}|}{\centering{}\textbf{Параметр} } \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ \textbf{Наименование и единица измерения} } & & & &\multicolumn{1}{|>{\centering}p{0.2\paperwidth}|}{ \textbf{Наименование и единица измерения} } \tabularnewline +\endhead +\hline\newpage +\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 &\multicolumn{1}{|c|}{ 1 } \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & &\multicolumn{1}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & &\multicolumn{1}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & &\multicolumn{1}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} \tabularnewline +\hline\newpage +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & &\multicolumn{1}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} \tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & &\multicolumn{1}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & &\multicolumn{1}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & &\multicolumn{1}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & &\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } \tabularnewline +\hline + & Коэффициент характеристики & \centering{}$K$ & & & \tabularnewline +\hline +\end{longtable} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{longtable}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.15\paperwidth}|} +\toprule +\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c}{Значение, полученное при испытании}&\multicolumn{1}{|c|}{Параметр} \tabularnewline +\midrule +Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10&Наименование и единица измерения \tabularnewline +\midrule + \newpage Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & &Положение дозирующей иглы, град \tabularnewline +\midrule +Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & &Расход топлива, кг/ч \tabularnewline +\midrule +\newpage Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}&Исполнитель \tabularnewline +\midrule + & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}& \tabularnewline +\bottomrule +\end{longtable} +\par\end{flushleft} + +\begin{tabular}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\end{tabular} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{tabular}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\hline\newpage +\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{tabular} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{tabular}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule +Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\midrule +Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\midrule +\newpage Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{tabular} +\par\end{flushleft} + + +\end{document} diff --git a/test/tex/ltable_clone_1000_0.tex b/test/tex/ltable_clone_1000_0.tex new file mode 100644 index 0000000..c71d52a --- /dev/null +++ b/test/tex/ltable_clone_1000_0.tex @@ -0,0 +1,359 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[english,russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage{geometry} +\geometry{verbose} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{amstext} +\usepackage{graphicx} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +\newcommand{\lyxmathsym}[1]{\ifmmode\begingroup\def\b@ld{bold} + \text{\ifx\math@version\b@ld\bfseries\fi#1}\endgroup\else#1\fi} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + +\usepackage{babel} + + +\makeatother + +\usepackage{babel} +\begin{document} +\begin{flushright} +ф. 07-726А +\par\end{flushright} + +\begin{center} +\textbf{Формулярные данные по 06В.00.0100ВТУ} +\par\end{center} + +\begin{center} +двигателя ТВ7-117В №\rule[-1pt]{3.5cm}{0.4pt} Температура наружного +воздуха $t_{\text{н}}$, \rule[-1pt]{1cm}{0.4pt}, $\,^{\circ}\mbox{C}$ +\par\end{center} + +от\_\_\_\_\_\_\_\_\_\_ <<\rule[-1pt]{1.1cm}{0.4pt}>> \rule[-1pt]{2.5cm}{0.4pt} +20~~~~г.~~~~~~Давление наружного воздуха, $P_{\text{Н}}$\rule[-1pt]{1cm}{0.4pt} +мм. рт. ст. + +Drossel55.Table1 + +\begin{longtable}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\end{longtable} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{longtable}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\multicolumn{2}{|>{\centering}m{0.2\paperwidth}|}{\centering{}\textbf{Параметр} } & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Обозначение}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Режим}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Значение, +полученное при испытании}} \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ \textbf{Наименование и единица измерения} } & & & \tabularnewline +\endhead +\hline\newpage +\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{longtable} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{longtable}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule +Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\midrule +Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\midrule +\newpage Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{longtable} +\par\end{flushleft} + +\begin{tabular}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\end{tabular} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{tabular}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\hline\newpage +\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{tabular} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{tabular}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule +Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\midrule +Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\midrule +\newpage Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{tabular} +\par\end{flushleft} + + +\end{document} diff --git a/test/tex/ltable_clone_1_0.tex b/test/tex/ltable_clone_1_0.tex new file mode 100644 index 0000000..86fb056 --- /dev/null +++ b/test/tex/ltable_clone_1_0.tex @@ -0,0 +1,387 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[english,russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage{geometry} +\geometry{verbose} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{amstext} +\usepackage{graphicx} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +\newcommand{\lyxmathsym}[1]{\ifmmode\begingroup\def\b@ld{bold} + \text{\ifx\math@version\b@ld\bfseries\fi#1}\endgroup\else#1\fi} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + +\usepackage{babel} + + +\makeatother + +\usepackage{babel} +\begin{document} +\begin{flushright} +ф. 07-726А +\par\end{flushright} + +\begin{center} +\textbf{Формулярные данные по 06В.00.0100ВТУ} +\par\end{center} + +\begin{center} +двигателя ТВ7-117В №\rule[-1pt]{3.5cm}{0.4pt} Температура наружного +воздуха $t_{\text{н}}$, \rule[-1pt]{1cm}{0.4pt}, $\,^{\circ}\mbox{C}$ +\par\end{center} + +от\_\_\_\_\_\_\_\_\_\_ <<\rule[-1pt]{1.1cm}{0.4pt}>> \rule[-1pt]{2.5cm}{0.4pt} +20~~~~г.~~~~~~Давление наружного воздуха, $P_{\text{Н}}$\rule[-1pt]{1cm}{0.4pt} +мм. рт. ст. + +Drossel55.Table1 + +\begin{longtable}{|>{\centering}m{0.04\paperwidth}|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage + &\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline + ТУ &\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + Факт & & Факт & & & & & \tabularnewline +\hline + ТУ &\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + Факт & & Факт & & & & & \tabularnewline +\hline + ТУ &\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage Факт && Факт & & & & & \tabularnewline +\hline + ТУ &\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + Факт & & Факт & & & & & \tabularnewline +\hline + ТУ &\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + Факт & & Факт & & & & & \tabularnewline +\hline + ТУ &\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + Факт & & Факт & & & & & \tabularnewline +\hline +\end{longtable} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{longtable}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\multicolumn{2}{|>{\centering}m{0.2\paperwidth}}{\centering{}\textbf{Параметр} } &\multicolumn{2}{|>{\centering}m{0.2\paperwidth}|}{\centering{}\textbf{Параметр} } & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Обозначение}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Режим}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Значение, +полученное при испытании}} \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}}{ \textbf{Наименование и единица измерения} } &\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ \textbf{Наименование и единица измерения} } & & & \tabularnewline +\endhead +\hline\newpage +\multicolumn{2}{|c}{ 1 } &\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} &\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} &\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} &\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage +\multicolumn{2}{|c}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} &\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.08\paperwidth}}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} &\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} &\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} &\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline + Начальное смещение, град &\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + Коэффициент характеристики & & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{longtable} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{longtable}{|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{2}{|c}{Параметр} &\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule + Обозначение &Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage $(\alpha_{\text{дк}})$ &Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\midrule + $G_{\text{Т}}$ &Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\midrule +\newpage Инженер по испытаниям &Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{longtable} +\par\end{flushleft} + +\begin{tabular}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\end{tabular} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{tabular}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\hline\newpage +\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{tabular} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{tabular}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule +Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\midrule +Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\midrule +\newpage Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{tabular} +\par\end{flushleft} + + +\end{document} diff --git a/test/tex/ltable_clone_last_0.tex b/test/tex/ltable_clone_last_0.tex new file mode 100644 index 0000000..c208749 --- /dev/null +++ b/test/tex/ltable_clone_last_0.tex @@ -0,0 +1,364 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[english,russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage{geometry} +\geometry{verbose} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{amstext} +\usepackage{graphicx} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +\newcommand{\lyxmathsym}[1]{\ifmmode\begingroup\def\b@ld{bold} + \text{\ifx\math@version\b@ld\bfseries\fi#1}\endgroup\else#1\fi} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + +\usepackage{babel} + + +\makeatother + +\usepackage{babel} +\begin{document} +\begin{flushright} +ф. 07-726А +\par\end{flushright} + +\begin{center} +\textbf{Формулярные данные по 06В.00.0100ВТУ} +\par\end{center} + +\begin{center} +двигателя ТВ7-117В №\rule[-1pt]{3.5cm}{0.4pt} Температура наружного +воздуха $t_{\text{н}}$, \rule[-1pt]{1cm}{0.4pt}, $\,^{\circ}\mbox{C}$ +\par\end{center} + +от\_\_\_\_\_\_\_\_\_\_ <<\rule[-1pt]{1.1cm}{0.4pt}>> \rule[-1pt]{2.5cm}{0.4pt} +20~~~~г.~~~~~~Давление наружного воздуха, $P_{\text{Н}}$\rule[-1pt]{1cm}{0.4pt} +мм. рт. ст. + +Drossel55.Table1 + +\begin{longtable}{|>{\centering}m{0.09\paperwidth}|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage + \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}&\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline + -&\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & & Факт & & & & & \tabularnewline +\hline + -&\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & & Факт & & & & & \tabularnewline +\hline + 205&\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage && Факт & & & & & \tabularnewline +\hline + -&\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & & Факт & & & & & \tabularnewline +\hline + 221&\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + & & Факт & & & & & \tabularnewline +\hline + -&\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & & Факт & & & & & \tabularnewline +\hline +\end{longtable} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{longtable}{|>{\raggedright}m{0.19\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline + \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Значение, +полученное при испытании}} &\multicolumn{2}{|>{\centering}m{0.2\paperwidth}|}{\centering{}\textbf{Параметр} } & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Обозначение}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Режим}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Значение, +полученное при испытании}} \tabularnewline +\hline + &\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ \textbf{Наименование и единица измерения} } & & & \tabularnewline +\endhead +\hline\newpage + 4 &\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline + &\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline + &\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline + &\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage + &\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage &\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline + &\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline + &\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline + &\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{longtable} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{longtable}{|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule + \multicolumn{10}{|c}{Значение, полученное при испытании}&\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule + 10&Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage &Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\midrule + &Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\midrule +\newpage \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}&Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + \multicolumn{3}{c|}{}& & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{longtable} +\par\end{flushleft} + +\begin{tabular}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\end{tabular} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{tabular}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\hline\newpage +\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{tabular} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{tabular}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule +Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\midrule +Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\midrule +\newpage Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{tabular} +\par\end{flushleft} + + +\end{document} diff --git a/test/tex/ltable_clone_lastp1_0.tex b/test/tex/ltable_clone_lastp1_0.tex new file mode 100644 index 0000000..c71d52a --- /dev/null +++ b/test/tex/ltable_clone_lastp1_0.tex @@ -0,0 +1,359 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[english,russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage{geometry} +\geometry{verbose} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{amstext} +\usepackage{graphicx} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +\newcommand{\lyxmathsym}[1]{\ifmmode\begingroup\def\b@ld{bold} + \text{\ifx\math@version\b@ld\bfseries\fi#1}\endgroup\else#1\fi} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + +\usepackage{babel} + + +\makeatother + +\usepackage{babel} +\begin{document} +\begin{flushright} +ф. 07-726А +\par\end{flushright} + +\begin{center} +\textbf{Формулярные данные по 06В.00.0100ВТУ} +\par\end{center} + +\begin{center} +двигателя ТВ7-117В №\rule[-1pt]{3.5cm}{0.4pt} Температура наружного +воздуха $t_{\text{н}}$, \rule[-1pt]{1cm}{0.4pt}, $\,^{\circ}\mbox{C}$ +\par\end{center} + +от\_\_\_\_\_\_\_\_\_\_ <<\rule[-1pt]{1.1cm}{0.4pt}>> \rule[-1pt]{2.5cm}{0.4pt} +20~~~~г.~~~~~~Давление наружного воздуха, $P_{\text{Н}}$\rule[-1pt]{1cm}{0.4pt} +мм. рт. ст. + +Drossel55.Table1 + +\begin{longtable}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\end{longtable} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{longtable}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\multicolumn{2}{|>{\centering}m{0.2\paperwidth}|}{\centering{}\textbf{Параметр} } & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Обозначение}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Режим}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Значение, +полученное при испытании}} \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ \textbf{Наименование и единица измерения} } & & & \tabularnewline +\endhead +\hline\newpage +\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{longtable} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{longtable}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule +Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\midrule +Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\midrule +\newpage Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{longtable} +\par\end{flushleft} + +\begin{tabular}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\end{tabular} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{tabular}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\hline\newpage +\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{tabular} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{tabular}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule +Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\midrule +Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\midrule +\newpage Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{tabular} +\par\end{flushleft} + + +\end{document} diff --git a/test/tex/ltable_double_embedded.tex b/test/tex/ltable_double_embedded.tex new file mode 100644 index 0000000..5d8b023 --- /dev/null +++ b/test/tex/ltable_double_embedded.tex @@ -0,0 +1,11 @@ +\begin{longtable}{c} +\begin{longtable}{c}aaa\begin{longtable}{c}bbb\end{longtable}\end{longtable}\tabularnewline + +% success +\begin{longtable}{c} +aaa\begin{longtable}{c}bbb\end{longtable}\end{longtable}\tabularnewline + +% fail +\multirow{2}{0.11\paperwidth}{\begin{longtable}{c}aaa\begin{longtable}{c}bbb\end{longtable}\end{longtable}\tabularnewline +\end{longtable} +Немного русского текста в конце документа diff --git a/test/tex/ltable_embedded.tex b/test/tex/ltable_embedded.tex new file mode 100644 index 0000000..78c605c --- /dev/null +++ b/test/tex/ltable_embedded.tex @@ -0,0 +1,3 @@ +\begin{longtable}{c} +\begin{longtable}{c}\end{longtable}\end{longtable} +Немного русского текста в конце документа diff --git a/test/tex/ltable_rm0row.tex b/test/tex/ltable_rm0row.tex new file mode 100644 index 0000000..bc6881f --- /dev/null +++ b/test/tex/ltable_rm0row.tex @@ -0,0 +1,357 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[english,russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage{geometry} +\geometry{verbose} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{amstext} +\usepackage{graphicx} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +\newcommand{\lyxmathsym}[1]{\ifmmode\begingroup\def\b@ld{bold} + \text{\ifx\math@version\b@ld\bfseries\fi#1}\endgroup\else#1\fi} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + +\usepackage{babel} + + +\makeatother + +\usepackage{babel} +\begin{document} +\begin{flushright} +ф. 07-726А +\par\end{flushright} + +\begin{center} +\textbf{Формулярные данные по 06В.00.0100ВТУ} +\par\end{center} + +\begin{center} +двигателя ТВ7-117В №\rule[-1pt]{3.5cm}{0.4pt} Температура наружного +воздуха $t_{\text{н}}$, \rule[-1pt]{1cm}{0.4pt}, $\,^{\circ}\mbox{C}$ +\par\end{center} + +от\_\_\_\_\_\_\_\_\_\_ <<\rule[-1pt]{1.1cm}{0.4pt}>> \rule[-1pt]{2.5cm}{0.4pt} +20~~~~г.~~~~~~Давление наружного воздуха, $P_{\text{Н}}$\rule[-1pt]{1cm}{0.4pt} +мм. рт. ст. + +Drossel55.Table1 + +\begin{longtable}{|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage + & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline + ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + Факт & & & & & \tabularnewline +\hline + ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + Факт & & & & & \tabularnewline +\hline + ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage Факт & & & & & \tabularnewline +\hline + ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + Факт & & & & & \tabularnewline +\hline + ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + Факт & & & & & \tabularnewline +\hline + ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + Факт & & & & & \tabularnewline +\hline +\end{longtable} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{longtable}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\multicolumn{1}{|>{\centering}m{0.2\paperwidth}|}{\centering{}\textbf{Параметр} } & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Обозначение}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Режим}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Значение, +полученное при испытании}} \tabularnewline +\hline +\multicolumn{1}{|>{\centering}p{0.2\paperwidth}|}{ \textbf{Наименование и единица измерения} } & & & \tabularnewline +\endhead +\hline\newpage +\multicolumn{1}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{1}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{1}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{1}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage +\multicolumn{1}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage\multicolumn{1}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{1}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{1}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline + Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{longtable} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{longtable}{|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{1}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule + Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\midrule + $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\midrule +\newpage Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{longtable} +\par\end{flushleft} + +\begin{tabular}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\end{tabular} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{tabular}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\hline\newpage +\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{tabular} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{tabular}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule +Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\midrule +Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\midrule +\newpage Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{tabular} +\par\end{flushleft} + + +\end{document} diff --git a/test/tex/ltable_rm1000row.tex b/test/tex/ltable_rm1000row.tex new file mode 100644 index 0000000..c71d52a --- /dev/null +++ b/test/tex/ltable_rm1000row.tex @@ -0,0 +1,359 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[english,russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage{geometry} +\geometry{verbose} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{amstext} +\usepackage{graphicx} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +\newcommand{\lyxmathsym}[1]{\ifmmode\begingroup\def\b@ld{bold} + \text{\ifx\math@version\b@ld\bfseries\fi#1}\endgroup\else#1\fi} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + +\usepackage{babel} + + +\makeatother + +\usepackage{babel} +\begin{document} +\begin{flushright} +ф. 07-726А +\par\end{flushright} + +\begin{center} +\textbf{Формулярные данные по 06В.00.0100ВТУ} +\par\end{center} + +\begin{center} +двигателя ТВ7-117В №\rule[-1pt]{3.5cm}{0.4pt} Температура наружного +воздуха $t_{\text{н}}$, \rule[-1pt]{1cm}{0.4pt}, $\,^{\circ}\mbox{C}$ +\par\end{center} + +от\_\_\_\_\_\_\_\_\_\_ <<\rule[-1pt]{1.1cm}{0.4pt}>> \rule[-1pt]{2.5cm}{0.4pt} +20~~~~г.~~~~~~Давление наружного воздуха, $P_{\text{Н}}$\rule[-1pt]{1cm}{0.4pt} +мм. рт. ст. + +Drossel55.Table1 + +\begin{longtable}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\end{longtable} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{longtable}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\multicolumn{2}{|>{\centering}m{0.2\paperwidth}|}{\centering{}\textbf{Параметр} } & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Обозначение}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Режим}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Значение, +полученное при испытании}} \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ \textbf{Наименование и единица измерения} } & & & \tabularnewline +\endhead +\hline\newpage +\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{longtable} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{longtable}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule +Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\midrule +Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\midrule +\newpage Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{longtable} +\par\end{flushleft} + +\begin{tabular}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\end{tabular} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{tabular}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\hline\newpage +\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{tabular} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{tabular}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule +Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\midrule +Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\midrule +\newpage Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{tabular} +\par\end{flushleft} + + +\end{document} diff --git a/test/tex/ltable_rm1row.tex b/test/tex/ltable_rm1row.tex new file mode 100644 index 0000000..1c77930 --- /dev/null +++ b/test/tex/ltable_rm1row.tex @@ -0,0 +1,359 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[english,russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage{geometry} +\geometry{verbose} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{amstext} +\usepackage{graphicx} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +\newcommand{\lyxmathsym}[1]{\ifmmode\begingroup\def\b@ld{bold} + \text{\ifx\math@version\b@ld\bfseries\fi#1}\endgroup\else#1\fi} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + +\usepackage{babel} + + +\makeatother + +\usepackage{babel} +\begin{document} +\begin{flushright} +ф. 07-726А +\par\end{flushright} + +\begin{center} +\textbf{Формулярные данные по 06В.00.0100ВТУ} +\par\end{center} + +\begin{center} +двигателя ТВ7-117В №\rule[-1pt]{3.5cm}{0.4pt} Температура наружного +воздуха $t_{\text{н}}$, \rule[-1pt]{1cm}{0.4pt}, $\,^{\circ}\mbox{C}$ +\par\end{center} + +от\_\_\_\_\_\_\_\_\_\_ <<\rule[-1pt]{1.1cm}{0.4pt}>> \rule[-1pt]{2.5cm}{0.4pt} +20~~~~г.~~~~~~Давление наружного воздуха, $P_{\text{Н}}$\rule[-1pt]{1cm}{0.4pt} +мм. рт. ст. + +Drossel55.Table1 + +\begin{longtable}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & & & & & \tabularnewline +\hline +\end{longtable} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{longtable}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\multicolumn{1}{|>{\centering}m{0.2\paperwidth}|}{\centering{}\textbf{Параметр} } & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Обозначение}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Режим}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Значение, +полученное при испытании}} \tabularnewline +\hline +\multicolumn{1}{|>{\centering}p{0.2\paperwidth}|}{ \textbf{Наименование и единица измерения} } & & & \tabularnewline +\endhead +\hline\newpage +\multicolumn{1}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{1}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{1}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{1}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage +\multicolumn{1}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage\multicolumn{1}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{1}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{1}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & \centering{}$K$ & & \tabularnewline +\hline +\end{longtable} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{longtable}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{1}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule +Наименование и единица измерения & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage Положение дозирующей иглы, град & & & & & & & & & & \tabularnewline +\midrule +Расход топлива, кг/ч & & & & & & & & & & \tabularnewline +\midrule +\newpage Исполнитель & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{longtable} +\par\end{flushleft} + +\begin{tabular}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\end{tabular} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{tabular}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\hline\newpage +\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{tabular} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{tabular}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule +Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\midrule +Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\midrule +\newpage Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{tabular} +\par\end{flushleft} + + +\end{document} diff --git a/test/tex/ltable_rm_last_row.tex b/test/tex/ltable_rm_last_row.tex new file mode 100644 index 0000000..f6f0a86 --- /dev/null +++ b/test/tex/ltable_rm_last_row.tex @@ -0,0 +1,357 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[english,russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage{geometry} +\geometry{verbose} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{amstext} +\usepackage{graphicx} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +\newcommand{\lyxmathsym}[1]{\ifmmode\begingroup\def\b@ld{bold} + \text{\ifx\math@version\b@ld\bfseries\fi#1}\endgroup\else#1\fi} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + + +\usepackage{babel} + + + + + +\usepackage{babel} + + +\makeatother + +\usepackage{babel} +\begin{document} +\begin{flushright} +ф. 07-726А +\par\end{flushright} + +\begin{center} +\textbf{Формулярные данные по 06В.00.0100ВТУ} +\par\end{center} + +\begin{center} +двигателя ТВ7-117В №\rule[-1pt]{3.5cm}{0.4pt} Температура наружного +воздуха $t_{\text{н}}$, \rule[-1pt]{1cm}{0.4pt}, $\,^{\circ}\mbox{C}$ +\par\end{center} + +от\_\_\_\_\_\_\_\_\_\_ <<\rule[-1pt]{1.1cm}{0.4pt}>> \rule[-1pt]{2.5cm}{0.4pt} +20~~~~г.~~~~~~Давление наружного воздуха, $P_{\text{Н}}$\rule[-1pt]{1cm}{0.4pt} +мм. рт. ст. + +Drossel55.Table1 + +\begin{longtable}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} \tabularnewline +\hline + & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 \tabularnewline +\hline + & Факт & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 \tabularnewline +\hline + & Факт & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 \tabularnewline +\hline +\newpage & Факт & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 \tabularnewline +\hline + & Факт & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 \tabularnewline +\hline \newpage + & Факт & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - \tabularnewline +\hline + & Факт & & & & \tabularnewline +\hline +\end{longtable} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{longtable}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|} +\hline +\multicolumn{2}{|>{\centering}m{0.2\paperwidth}|}{\centering{}\textbf{Параметр} } & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Обозначение}} & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}Режим}} \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ \textbf{Наименование и единица измерения} } & & \tabularnewline +\endhead +\hline\newpage +\multicolumn{2}{|c|}{ 1 } & 2 & 3 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ \tabularnewline +\hline\newpage +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> \tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} \tabularnewline +\hline + & Коэффициент характеристики & \centering{}$K$ & \tabularnewline +\hline +\end{longtable} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{longtable}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{2}{|c|}{Параметр} & \multicolumn{9}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule +Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 \tabularnewline +\midrule + \newpage Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & \tabularnewline +\midrule +Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & \tabularnewline +\midrule +\newpage Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{2}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{2}{c|}{}\tabularnewline +\bottomrule +\end{longtable} +\par\end{flushleft} + +\begin{tabular}{|>{\raggedright}m{0.11\paperwidth}|>{\centering}m{0.04\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.09\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.09\paperwidth}|} +\hline + \newpage +\multirow{2}{0.11\paperwidth}{\centering{}\linebreak{} + Режим работы двигателя} & & \multirow{2}{0.1\paperwidth}{\textbf{\centering{}}\linebreak{} + Мощность на выводном валу \textbf{N л.с.} } & \multicolumn{2}{c|}{Частота вращения ротора} & \multirow{2}{0.1\paperwidth}{\centering{}Температура газа +перед свободнойтурбиной не более \textbf{t$_{4}$},$\,^{\circ}\mbox{C}$} & \multirow{2}{0.09\paperwidth}{\centering{}Удельный расход +топлива не более \textbf{C$_{R\text{ пр}}$}г/л.с.ч.}\tabularnewline +\hline + & & & турбо-компрессора не более \textbf{n$_{\text{тк пр}}$}, \% & свободной турбины \textbf{n$_{\lyxmathsym{ст}}$}, \% & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*}2,5-минутной мощности} & ТУ & & 101,0 & 98$\pm$0,5 & 805 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{30-минутной мощности} & ТУ & 3000 & 98,5 & 98$\pm$0,5 & 795 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{ВЗЛ} & ТУ & 2800 & 97,5 & 98$\pm$0,5 & 775 & 205\tabularnewline +\hline +\newpage & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МП} & ТУ & 2100 & 94,0 & 98$\pm$0,5 & 705 & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{МКр} & ТУ & 1900 & 93,0 & 98$\pm$0,5 & 680 & 221\tabularnewline +\hline \newpage + & Факт & & & & & \tabularnewline +\hline +\multirow{2}{0.11\paperwidth}{{*} ЗМГ} & ТУ & - & - & 80$\pm$0,5 & - & -\tabularnewline +\hline + & Факт & & & & & \tabularnewline +\hline +\end{tabular} + +\begin{flushleft} +{*} - измеренные параметры\hspace*{1in}\textbf{\textsc{Настроечные +параметры}} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table2\foreignlanguage{english}{}% +\begin{tabular}{|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.15\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\centering}m{0.1\paperwidth}|>{\raggedright}m{0.19\paperwidth}|} +\hline +\hline\newpage +\multicolumn{2}{|c|}{ 1 } & 2 & 3 & 4 \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.2\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_мг}}0$ & МГ & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина частоты вращения + +ротора турбокомпрессора, \%% +\end{minipage}} & \centering{}$n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[c]{0.45\columnwidth}% +Настроечная величина минимальной частоты вращения ротора турбокомпрессора, +\%% +\end{minipage}} & \centering{}$n_{\text{тк\_мин}}0$ & МГ & \tabularnewline +\hline\newpage +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +при <<Разрешении РПМ>>,\%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_взл}}0$ & <<Взлёт>> & \tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.08\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Настроечная величина перестройки частоты вращения ротора турбокомпрессора +по команде <<Тренировочный режим>>, \%% +\end{minipage}} & \centering{}$\Delta n_{\text{тк\_тр}}0$ & <<Взлёт>> & \tabularnewline +\hline +\multicolumn{2}{|c|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Расходный коэффициент 1-го контура форсунок% +\end{minipage}} & \centering{}$\Psi_{(\mu F)}$ & - & \tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.1\paperwidth}|}{ % +\begin{minipage}[t]{0.45\columnwidth}% +Программный расход топлива в РС, кг/ч% +\end{minipage}} & \centering{}$G_{\text{т прог РС МГ}}$ & - & \tabularnewline +\hline +\multirow{2}{0.15\paperwidth}{Параметры измерителя крутящего +момента\foreignlanguage{english}{ } } & Начальное смещение, град & \centering{}$\phi_{\text{икм}}0$ & \multirow{2}{0.1\paperwidth}{\centering{}-} & \tabularnewline +\hline + & Коэффициент характеристики & \centering{}$K$ & & \tabularnewline +\hline +\end{tabular} +\par\end{flushleft} + +Расход масла, л/ч \rule[-1pt]{2cm}{0.4pt} (не более 0,2) + +\begin{flushleft} +\textbf{Зависимость между положением дозирующей иглы и расходом топлива +$G_{\text{т}}=f(\alpha_{\text{дк}})$} +\par\end{flushleft} + +\begin{flushleft} +Drossel55.Table3 +\par\end{flushleft} + +\begin{flushleft} +\begin{tabular}{|>{\centering}p{0.15\paperwidth}|>{\centering}p{0.1\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|>{\centering}p{0.03\paperwidth}|} +\toprule +\multicolumn{2}{|c|}{Параметр} & \multicolumn{10}{c|}{Значение, полученное при испытании}\tabularnewline +\midrule +Наименование и единица измерения & Обозначение & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10\tabularnewline +\midrule + \newpage Положение дозирующей иглы, град & $(\alpha_{\text{дк}})$ & & & & & & & & & & \tabularnewline +\midrule +Расход топлива, кг/ч & $G_{\text{Т}}$ & & & & & & & & & & \tabularnewline +\midrule +\newpage Исполнитель & Инженер по испытаниям & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.1\columnwidth}% +Начальник БТК ИК% +\end{minipage}} & \multicolumn{4}{>{\centering}p{0.15\paperwidth}|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Начальник участка ИД% +\end{minipage}} & \multicolumn{3}{c|}{% +\begin{minipage}[t]{0.15\columnwidth}% +Представитель заказчика% +\end{minipage}}\tabularnewline +\midrule + & & \multicolumn{3}{c|}{} & \multicolumn{4}{c|}{} & \multicolumn{3}{c|}{}\tabularnewline +\bottomrule +\end{tabular} +\par\end{flushleft} + + +\end{document} diff --git a/test/tex/ltable_square_arg.lyx b/test/tex/ltable_square_arg.lyx new file mode 100644 index 0000000..a65220c --- /dev/null +++ b/test/tex/ltable_square_arg.lyx @@ -0,0 +1,126 @@ +#LyX 2.0 created this file. For more info see http://www.lyx.org/ +\lyxformat 413 +\begin_document +\begin_header +\textclass article +\use_default_options true +\maintain_unincluded_children false +\language english +\language_package default +\inputencoding auto +\fontencoding global +\font_roman default +\font_sans default +\font_typewriter default +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 +\font_tt_scale 100 + +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize default +\use_hyperref false +\papersize default +\use_geometry false +\use_amsmath 1 +\use_esint 1 +\use_mhchem 1 +\use_mathdots 1 +\cite_engine basic +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\use_refstyle 1 +\index Index +\shortcut idx +\color #008000 +\end_index +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\quotes_language english +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Standard +\begin_inset Tabular + + + + + +\begin_inset Text + +\begin_layout Plain Layout +Center +\end_layout + +\end_inset + + + + +\end_inset + + +\begin_inset Tabular + + + + + +\begin_inset Text + +\begin_layout Plain Layout +Left +\end_layout + +\end_inset + + + + +\end_inset + + +\begin_inset Tabular + + + + + +\begin_inset Text + +\begin_layout Plain Layout +Right +\end_layout + +\end_inset + + + + +\end_inset + + +\end_layout + +\end_body +\end_document diff --git a/test/tex/ltable_square_arg.tex b/test/tex/ltable_square_arg.tex new file mode 100644 index 0000000..55653f4 --- /dev/null +++ b/test/tex/ltable_square_arg.tex @@ -0,0 +1,27 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[english]{article} +\usepackage[T1]{fontenc} +\usepackage[latin9]{inputenc} +\usepackage{longtable} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +\makeatother + +\usepackage{babel} +\begin{document} +\begin{longtable}[c]{c} +Center\tabularnewline +\end{longtable}% +\begin{longtable}[l]{c} +Left\tabularnewline +\end{longtable}% +\begin{longtable}[r]{c} +Right\tabularnewline +\end{longtable} +\end{document} diff --git a/test/tex/ltable_test.c b/test/tex/ltable_test.c new file mode 100644 index 0000000..2105a30 --- /dev/null +++ b/test/tex/ltable_test.c @@ -0,0 +1,177 @@ +///@cond INTERNAL +#include + +#include +#include + +#include + +#include "txr-texparser.h" + +int main (int argc, char *argv[]) +{ + GError *parse_error = NULL; + GError *error = NULL; + gchar *contents = NULL, + *generated = NULL, + *generated_etalon = NULL; + TXRGlob *doc = NULL; + TXRGlobIter it; + + setlocale (LC_ALL, ""); + +#if (!GLIB_CHECK_VERSION (2, 36, 0)) + g_type_init (); +#endif + + /* warning stub */ + g_assert (4 == argc || 5 == argc); + + /* load file contents + */ + if (!g_file_get_contents (argv[1], &contents, NULL, &error)) + { + g_printf ("Unable to read file: %s\n", error->message); + goto err; + } + g_assert ((contents == NULL && error != NULL) + || (contents != NULL && error == NULL)); + + if (!g_file_get_contents (argv[2], &generated_etalon, NULL, &error)) + { + g_printf ("Unable to read file: %s\n", error->message); + goto err; + } + g_assert ((generated_etalon == NULL && error != NULL) + || (generated_etalon != NULL && error == NULL)); + + /* parse TeX */ + doc = txr_parse (contents, &parse_error); + + if (parse_error) + { + g_print ("Error parsing TeX document: %s\n", parse_error->message); + goto err; + } + + else + { + puts ("TeX document successfully parsed\n"); + } + + /* Perform several col/row operations */ + g_printf ("Walk through all objects\n"); + for (it = txr_glob_first (doc); it; it = txr_glob_iter_next (it)) + { + g_printf ("%s\n", G_OBJECT_TYPE_NAME (*it)); + + if (!g_strcmp0 ("TXRLongtable", G_OBJECT_TYPE_NAME (*it))) + { + TXRLongtable *ltable = TXR_LONGTABLE (*it); + guint last_row = txr_col_params_length (txr_longtable_get_col_params (ltable)) - 1; + + if (!g_strcmp0 ("rm0row", argv[3])) + txr_longtable_remove_col (ltable, 0, TXR_TABLE_OP_LINE_STYLE_BORDER | TXR_TABLE_OP_LINE_STYLE_DBLLINES); + else if (!g_strcmp0 ("rm1row", argv[3])) + txr_longtable_remove_col (ltable, 1, TXR_TABLE_OP_LINE_STYLE_BORDER | TXR_TABLE_OP_LINE_STYLE_DBLLINES); + else if (!g_strcmp0 ("rm1000row", argv[3])) + txr_longtable_remove_col (ltable, 1000, TXR_TABLE_OP_LINE_STYLE_BORDER | TXR_TABLE_OP_LINE_STYLE_DBLLINES); + else if (!g_strcmp0 ("rm_last_row", argv[3])) + txr_longtable_remove_col (ltable, last_row, TXR_TABLE_OP_LINE_STYLE_BORDER | TXR_TABLE_OP_LINE_STYLE_DBLLINES); + else if (!g_strcmp0 ("clone_0_0", argv[3])) + txr_longtable_clone_col (ltable, 0, 0, TRUE, TXR_TABLE_OP_LINE_STYLE_BORDER | TXR_TABLE_OP_LINE_STYLE_DBLLINES); + else if (!g_strcmp0 ("clone_0_1", argv[3])) + txr_longtable_clone_col (ltable, 0, 1, FALSE, TXR_TABLE_OP_LINE_STYLE_BORDER | TXR_TABLE_OP_LINE_STYLE_DBLLINES); + else if (!g_strcmp0 ("clone_1_0", argv[3])) + txr_longtable_clone_col (ltable, 1, 0, TRUE, TXR_TABLE_OP_LINE_STYLE_BORDER | TXR_TABLE_OP_LINE_STYLE_DBLLINES); + else if (!g_strcmp0 ("clone_0_last", argv[3])) + txr_longtable_clone_col (ltable, 0, last_row, FALSE, TXR_TABLE_OP_LINE_STYLE_BORDER | TXR_TABLE_OP_LINE_STYLE_DBLLINES); + else if (!g_strcmp0 ("clone_last_0", argv[3])) + txr_longtable_clone_col (ltable, last_row, 0, TRUE, TXR_TABLE_OP_LINE_STYLE_BORDER | TXR_TABLE_OP_LINE_STYLE_DBLLINES); + else if (!g_strcmp0 ("clone_0_lastp1", argv[3])) + txr_longtable_clone_col (ltable, 0, last_row + 1, FALSE, TXR_TABLE_OP_LINE_STYLE_BORDER | TXR_TABLE_OP_LINE_STYLE_DBLLINES); + else if (!g_strcmp0 ("clone_lastp1_0", argv[3])) + txr_longtable_clone_col (ltable, last_row + 1, 0, TRUE, TXR_TABLE_OP_LINE_STYLE_BORDER | TXR_TABLE_OP_LINE_STYLE_DBLLINES); + else if (!g_strcmp0 ("clone_0_1000", argv[3])) + txr_longtable_clone_col (ltable, 0, 1000, FALSE, TXR_TABLE_OP_LINE_STYLE_BORDER | TXR_TABLE_OP_LINE_STYLE_DBLLINES); + else if (!g_strcmp0 ("clone_1000_0", argv[3])) + txr_longtable_clone_col (ltable, 1000, 0, TRUE, TXR_TABLE_OP_LINE_STYLE_BORDER | TXR_TABLE_OP_LINE_STYLE_DBLLINES); + else if (!g_strcmp0 ("append_row0", argv[3])) + { + TXRSubtable *table = txr_longtable_get_table (ltable); + + if (table) + { + TXRSubtableIter table_it; + TXRRow *row; + + table_it = txr_subtable_first (table); + if (table_it && NULL != (row = TXR_ROW (*table_it))) + txr_subtable_append (table, txr_row_clone (row), + TXR_TABLE_OP_LINE_STYLE_BORDER | TXR_TABLE_OP_LINE_STYLE_DBLLINES); + } + } + else + { + g_print ("Incorrect operation '%s' specified.\n", argv[3]); + goto err; + } + } + else if (!g_strcmp0 ("TXRTabular", G_OBJECT_TYPE_NAME (*it))) + { + TXRTabular *tabular = TXR_TABULAR (*it); + + if (!g_strcmp0 ("append_row0", argv[3])) + { + TXRSubtable *table = txr_tabular_get_table (tabular); + + if (table) + { + TXRSubtableIter table_it; + TXRRow *row; + + table_it = txr_subtable_first (table); + if (table_it && NULL != (row = TXR_ROW (*table_it))) + txr_subtable_append (table, txr_row_clone (row), + TXR_TABLE_OP_LINE_STYLE_BORDER | TXR_TABLE_OP_LINE_STYLE_DBLLINES); + } + } + } + } + g_printf ("end of objects\n\n"); + + + /* generate plain-TeX document */ + generated = txr_glob_gen (doc); + + if (!g_strcmp0 (generated_etalon, generated)) + g_printf ("Etalon and generated text are EQUAL ;-)\n"); + else + g_printf ("Etalon and generated text are NOT EQUAL ;-(\n"); + + g_printf ("--- Generated plain-TeX (generated) ---\n%s", generated); + + if (argv[4]) + g_file_set_contents (argv[4], generated, -1, NULL); + +err: +//end: + g_free (contents); + g_free (generated); + g_free (generated_etalon); + + if (parse_error) + { + g_error_free (parse_error); + } + + if (error) + { + g_error_free (error); + } + + txr_glob_unref (doc); + + return 0; +} +///@endcond diff --git a/test/tex/old_tex_parser.geany b/test/tex/old_tex_parser.geany new file mode 100644 index 0000000..1e8e15d --- /dev/null +++ b/test/tex/old_tex_parser.geany @@ -0,0 +1,47 @@ + +[indentation] +indent_width=8 +indent_type=1 +indent_hard_tab_width=8 +detect_indent=false +indent_mode=2 + +[project] +name=tex_parser +base_path=/home/kolan/dev/c/tex_parser/ +description= + +[long line marker] +long_line_behaviour=1 +long_line_column=72 + +[files] +current_page=3 +FILE_NAME_0=259;C;0;16;1;1;1;/home/kolan/dev/c/tex_parser/tex_parser_test.c;0 +FILE_NAME_1=3895;C;0;16;1;1;1;/home/kolan/dev/c/tex_parser/tex_parser.c;0 +FILE_NAME_2=3453;C;0;16;1;1;1;/home/kolan/dev/c/tex_parser/tex_parser.h;0 +FILE_NAME_3=579;C;0;16;1;1;1;/home/kolan/dev/c/tex_parser/tex_parser_tags.h;0 + +[build-menu] +NF_00_LB=_Сделать +NF_00_CM=make +NF_00_WD=%p +NF_01_LB=Сделать заданную _цель +NF_01_CM=make +NF_01_WD=%p +NF_02_LB=Сделать _объект +NF_02_CM=make %e.o +NF_02_WD=%p +CFT_00_LB=_Скомпилировать +CFT_00_CM=gcc -Wall -c "%f" +CFT_00_WD=%p +CFT_01_LB=_Сборка +CFT_01_CM=gcc -Wall -o "%e" "%f" -lhash +CFT_01_WD=%p +CFT_02_LB= +CFT_02_CM= +CFT_02_WD=%p +filetypes=C; +EX_00_LB=_Выполнить +EX_00_CM=./tex_parser_test ex1.tex +EX_00_WD=%p diff --git a/test/tex/table_in_table.tex b/test/tex/table_in_table.tex new file mode 100644 index 0000000..7959128 --- /dev/null +++ b/test/tex/table_in_table.tex @@ -0,0 +1,161 @@ +%% LyX 2.0.5 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass{article} +\usepackage[T1]{fontenc} +\usepackage[latin9]{inputenc} +\usepackage{longtable} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +\makeatother + +\begin{document} +\begin{longtable}{|c|c|c|c|c|} +\caption{} +\tabularnewline +\caption{} +\tabularnewline +\endfirsthead +\caption{} +\tabularnewline +\endhead +\caption{} +\tabularnewline +\endfoot +\caption{} +\tabularnewline +\endlastfoot +\hline + & & & & \tabularnewline +\hline +\hline + & & % +\begin{tabular}{|c|c|c|c|} +\hline + & & & \tabularnewline +\hline +\hline + & & & \tabularnewline +\hline + & & & \tabularnewline +\hline + & & & \tabularnewline +\hline + & & & \tabularnewline +\hline +\end{tabular} & & \tabularnewline +\hline + & & & & \tabularnewline +\hline + & & & & \tabularnewline +\hline +\end{longtable} + +\begin{tabular}{|c|c|c|c|c|} +\hline + & & & & \tabularnewline +\hline +\hline + & & & & \tabularnewline +\hline + & & % +\begin{tabular}{|c|c|c|c|} +\hline + & & & \tabularnewline +\hline +\hline + & & & \tabularnewline +\hline + & & & \tabularnewline +\hline + & & & \tabularnewline +\hline +\end{tabular} & & \tabularnewline +\hline + & & & & \tabularnewline +\hline + & & & & \tabularnewline +\hline + & & & & \tabularnewline +\hline +\end{tabular} + +\begin{tabular}{|c|c|c|c|c|} +\hline + & & & & \tabularnewline +\hline +\hline + & & & & \tabularnewline +\hline + & & % +\begin{longtable}{|c|c|c|c|} +\hline + & & & \tabularnewline +\hline +\hline + & & & \tabularnewline +\hline + & & & \tabularnewline +\hline + & & & \tabularnewline +\hline +\end{longtable} & & \tabularnewline +\hline + & & & & \tabularnewline +\hline + & & & & \tabularnewline +\hline + & & & & \tabularnewline +\hline +\end{tabular} + +\begin{longtable}{|c|c|c|c|c|} +\caption{} +\tabularnewline +\caption{} +\tabularnewline +\endfirsthead +\caption{} +\tabularnewline +\endhead +\caption{} +\tabularnewline +\endfoot +\caption{} +\tabularnewline +\endlastfoot +\hline + & & & & \tabularnewline +\hline +\hline + & & % +\begin{tabular}{|c|c|c|c|} +\hline + & & & \tabularnewline +\hline +\hline + & & & \tabularnewline +\hline + & & & \tabularnewline +\hline + & & & \tabularnewline +\hline + & & & \tabularnewline +\hline +\end{tabular} & & \tabularnewline +\hline + & & & & \tabularnewline +\hline + & & & & \tabularnewline +\hline +\end{longtable} + +\begin{tabular}{|c|c|c|c|c|} +\begin{tabular}{|c|c|c|c|}intext\tabularnewline\end{tabular}\tabularnewline +outtext +\end{tabular} +\end{document} diff --git a/test/tex/table_rows.etalon.tex b/test/tex/table_rows.etalon.tex new file mode 100644 index 0000000..dd4fd18 --- /dev/null +++ b/test/tex/table_rows.etalon.tex @@ -0,0 +1,55 @@ +%% LyX 2.0.5 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass{article} +\usepackage[T1]{fontenc} +\usepackage[latin9]{inputenc} +\usepackage{longtable} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +\makeatother + +\begin{document} +\begin{longtable}{ccccc} + ldskjf & sdlf & sdfl ja & dspfaj & sdlfj \tabularnewline + ldskjf & sdlf & sdfl ja & dspfaj & sdlfj \tabularnewline +\end{longtable} + +fdsa + +sdf + +s + +\begin{tabular}{ccccc} + ldskfj & sdfjap & dslkfj & sdlaf;j & afksjd \tabularnewline + ldskfj & sdfjap & dslkfj & sdlaf;j & afksjd \tabularnewline +\end{tabular} + +\begin{longtable}{ccccc} +\hline + ldskjf & sdlf & sdfl ja & dspfaj & sdlfj \tabularnewline +\hline + ldskjf & sdlf & sdfl ja & dspfaj & sdlfj \tabularnewline +\hline +\end{longtable} + +fdsa + +sdf + +s + +\begin{tabular}{ccccc} +\hline + ldskfj & sdfjap & dslkfj & sdlaf;j & afksjd \tabularnewline +\hline + ldskfj & sdfjap & dslkfj & sdlaf;j & afksjd \tabularnewline +\hline +\end{tabular} + +\end{document} diff --git a/test/tex/table_rows.tex b/test/tex/table_rows.tex new file mode 100644 index 0000000..d29770b --- /dev/null +++ b/test/tex/table_rows.tex @@ -0,0 +1,49 @@ +%% LyX 2.0.5 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass{article} +\usepackage[T1]{fontenc} +\usepackage[latin9]{inputenc} +\usepackage{longtable} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +\makeatother + +\begin{document} +\begin{longtable}{ccccc} + ldskjf & sdlf & sdfl ja & dspfaj & sdlfj \tabularnewline +\end{longtable} + +fdsa + +sdf + +s + +\begin{tabular}{ccccc} + ldskfj & sdfjap & dslkfj & sdlaf;j & afksjd \tabularnewline +\end{tabular} + +\begin{longtable}{ccccc} +\hline + ldskjf & sdlf & sdfl ja & dspfaj & sdlfj \tabularnewline +\hline +\end{longtable} + +fdsa + +sdf + +s + +\begin{tabular}{ccccc} +\hline + ldskfj & sdfjap & dslkfj & sdlaf;j & afksjd \tabularnewline +\hline +\end{tabular} + +\end{document} diff --git a/test/tex/throttle.lyx b/test/tex/throttle.lyx new file mode 100644 index 0000000..b7ef81c --- /dev/null +++ b/test/tex/throttle.lyx @@ -0,0 +1,4609 @@ +#LyX file created by tex2lyx 2.0.3 +\lyxformat 413 +\begin_document +\begin_header +\textclass article +\begin_preamble +\usepackage{multirow} + + + +\usepackage{babel} + +\end_preamble +\use_default_options false +\language russian +\language_package default +\inputencoding utf8x +\fontencoding T1 +\font_roman default +\font_sans default +\font_typewriter default +\font_default_family default +\font_sc false +\font_osf false +\font_sf_scale 100 +\font_tt_scale 100 +\graphics default +\paperfontsize default +\spacing single +\use_hyperref 0 +\papersize default +\use_geometry true +\use_amsmath 1 +\use_esint 1 +\use_mhchem 0 +\use_mathdots 0 +\cite_engine basic +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\use_refstyle 0 +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\quotes_language french +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Standard + +DrosselTable1 +\end_layout + +\begin_layout Standard + + +\begin_inset Tabular + + + + + + + + + + + + +\begin_inset Text + +\begin_layout Standard + +Сводный протокол результатов испытания двигателя ТВ7-117В № +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +Стенд №18 +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + ИУД СИК +\begin_inset space ~ + +\end_inset + + Дата: +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + г. Время: +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + Рн = +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + мм рт ст +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + tвх = +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset Formula $\,^{\circ}\mbox{C}$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +Характеристика +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + +\begin_inset space ~ + +\end_inset + + Акт сдачи, контрольные точки +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + +Составил +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Инженер по испытаниям +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Начальник БТК +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Начальник участка УИД СИК +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Представитель заказчика +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + + +\shape italic +Подпись +\shape default + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\shape italic +Подпись +\shape default + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + + +\shape italic +Подпись +\shape default + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + + +\shape italic +Подпись +\shape default + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\shape italic +Подпись +\shape default + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + + +\shape italic +фамилия +\shape default + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\shape italic +фамилия +\shape default + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\shape italic +фамилия +\shape default + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\shape italic +фамилия +\shape default + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\shape italic +фамилия +\shape default + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +Усреднённые значения по режимам +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +Параметр +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Nепр +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Ce +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Gт пр +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +nтк пр +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +t*z ст пр +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Пк +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +Режим +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +ЗМГ +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +0,4 мП +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +Ne1650 +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +Мкр +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +МП +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +Ne2500 +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +Взл +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +30-мин.м. +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +Замеренные параметры +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +Параметр +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Ne +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Ce +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Gт +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +nтк +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +t*z ст +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Пк +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +ЗМГ +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +2,5 мин.м. +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +Оценка режимов по ТУ +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +Параметр +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.07 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperwidth +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + +Neпр +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.07 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperwidth +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + +не более nтк пр,% +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.07 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperheight +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + +nст,% +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.07 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperheight +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + +не более t*z ст пр, +\begin_inset Formula $\,^{\circ}\mbox{C}$ +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.07 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperheight +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + +не более Ce г/л.с.ч. +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.07 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperheight +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + +Gт пр, кг/час +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +Режим +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +ТУ +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +1900 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +93,0 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +98,0 +\begin_inset Formula $\pm$ +\end_inset + +0,5 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +680 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +221 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +- +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +Мкр +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Факт +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Откл. +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +ТУ +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +2100 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +94,0 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +98,0 +\begin_inset Formula $\pm$ +\end_inset + +0,5 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +705 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +- +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +- +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +МП +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Факт +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Откл. +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +ТУ +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +2800 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +97,5 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +98,0 +\begin_inset Formula $\pm$ +\end_inset + +0,5 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +775 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +205 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +- +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +Взл +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Факт +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Откл. +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +ТУ +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +3000 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +98,5 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +98,0 +\begin_inset Formula $\pm$ +\end_inset + +0,5 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +795 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +- +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +- +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +30-мин.м. +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Факт +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Откл. +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +Замеренные параметры +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +Параметр +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.07 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperwidth +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + +Ne +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.07 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperwidth +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + +не более nтк,% +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.07 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperheight +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + +nст,% +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.07 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperheight +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + +не более t*z ст, +\begin_inset Formula $\,^{\circ}\mbox{C}$ +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.07 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperheight +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + +не более Ce г/л.с.ч. +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +multirow +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +2 +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + +0.07 +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +paperheight +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{ +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + + +\backslash +centering +\end_layout + +\end_inset + + +\begin_inset ERT +status collapsed + +\begin_layout Standard + +{} +\end_layout + +\end_inset + +Gт, кг/час +\begin_inset ERT +status collapsed + +\begin_layout Standard + +} +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +Режим +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +ТУ +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +- +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +80,0 +\begin_inset Formula $\pm$ +\end_inset + +0,5 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +- +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +- +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +- +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +ЗМГ +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Факт +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Откл. +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +ТУ +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +- +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +101,0 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +98,0 +\begin_inset Formula $\pm$ +\end_inset + +0,5 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +805 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +- +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +- +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +2,5 мин.м. +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Факт +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\begin_layout Standard + +Откл. +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +A0 +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +A1 +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +A2 +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +СКО +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\begin_inset Text + +\begin_layout Standard + +Примечание +\end_layout + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + +\begin_inset Text + +\end_inset + + + + +\end_inset + + +\end_layout + +\begin_layout Standard + + +\begin_inset Graphics + filename 174.eps + scale 300 + rotateAngle 25 + +\end_inset + + +\end_layout + +\end_body +\end_document diff --git a/test/tex/throttle.tex b/test/tex/throttle.tex new file mode 100644 index 0000000..06b60b7 --- /dev/null +++ b/test/tex/throttle.tex @@ -0,0 +1,232 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage{geometry} +\geometry{verbose} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{multirow} +\usepackage{graphicx} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + +\makeatother + +\usepackage{babel} +\begin{document} +DrosselTable1 + +\begin{longtable}{|||>{\centering}p{0.11\linewidth}|||||||||>{\raggedright}p{0.05\linewidth}|>{\centering}p{0.07\paperwidth}|p{0.07\paperwidth}|||||>{\centering}m{0.07\paperheight}|>{\centering}m{0.07\paperheight}|>{\centering}p{0.07\paperheight}|>{\centering}p{0.07\paperheight}|||} +\hline +\multicolumn{8}{|c|}{Сводный протокол результатов испытания двигателя ТВ7-117В №}\tabularnewline +\multicolumn{8}{|c|}{Стенд №18 ~~ ИУД СИК ~ Дата: ~~~~~~~~ г. Время: ~~~~~~~~~ +Рн = ~~~ мм рт ст~~ tвх = ~~~ $\,^{\circ}\mbox{C}$}\tabularnewline +\multicolumn{8}{|c|}{Характеристика ~~~~~~~ Акт сдачи, контрольные точки}\tabularnewline +\hline +\endhead +\multicolumn{2}{|>{\centering}m{0.11\linewidth}|}{\centering{}Составил} & \multicolumn{2}{c|}{Инженер по испытаниям} & Начальник БТК & Начальник участка УИД СИК & \multicolumn{2}{c|}{Представитель заказчика}\tabularnewline +\hline +\newpage\multicolumn{2}{|>{\centering}p{0.11\linewidth}|}{\centering{}\textit{Подпись}} & \multicolumn{2}{c|}{\textit{Подпись}} & \centering{}\textit{Подпись} & \centering{}\textit{Подпись} & \multicolumn{2}{c|}{\textit{Подпись}}\tabularnewline +\multicolumn{2}{|>{\centering}p{0.11\linewidth}|}{\textit{фамилия}} & \multicolumn{2}{c|}{\textit{фамилия}} & \multicolumn{1}{c|}{\textit{фамилия}} & \textit{фамилия} & \multicolumn{2}{c|}{\textit{фамилия}}\tabularnewline +\hline +\endfoot +\multicolumn{8}{|l|}{Усреднённые значения по режимам}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & Nепр & Ce & Gт пр & nтк пр & t{*}z ст пр & Пк\tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.07\paperwidth}|}{\centering{Режим}} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{ЗМГ} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{0,4 мП} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Ne1650} & & & & & & \tabularnewline +\hline\newpage +\multicolumn{2}{|l|}{Мкр} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{МП} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Ne2500} & & \multicolumn{1}{c}{\multirow{2}{*}{Много текста}} & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Взл} & & & \multicolumn{1}{||c||}{\multirow{4}{*}{Много текста}} & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{30-мин.м.} & & & & & & \tabularnewline +\hline \newpage +\multicolumn{8}{|c|}{Замеренные параметры}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & Ne & Ce & Gт & nтк & t{*}z ст & Пк\tabularnewline +\hline +\multicolumn{2}{|l|}{ЗМГ} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{2,5 мин.м.} & & & & & & \tabularnewline +\hline + \newpage \multicolumn{8}{|c|}{Оценка режимов по ТУ}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & \multirow{2}{0.07\paperwidth}{\centering{}Neпр} & \multirow{2}{0.07\paperwidth}{\centering{}не более nтк пр,\%} & \multirow{2}{0.07\paperheight}{\centering{}nст,\%} & \multirow{2}{0.07\paperheight}{\centering{}не более t{*}z ст пр,$\,^{\circ}\mbox{C}$} & \multirow{2}{0.07\paperheight}{\centering{}не более Ce г/л.с.ч.} & \multirow{2}{0.07\paperheight}{\centering{}Gт пр, кг/час}\tabularnewline +\cline{1-2} +\multicolumn{2}{|c|}{Режим} & & & & & & \tabularnewline +\hline + & ТУ & 1900 & 93,0 & 98,0$\pm$0,5 & 680 & 221 & -\tabularnewline +\hline +\cline{1-1} \cline{3-3} \cline{5-6} +Мкр & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & 2100 & 94,0 & 98,0$\pm$0,5 & 705 & - & -\tabularnewline +\hline +МП & Факт & \ \ \ \ & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & 2800 & 97,5 & 98,0$\pm$0,5 & 775 & 205 & -\tabularnewline +\hline +Взл & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & 3000 & 98,5 & 98,0$\pm$0,5 & 795 & - & -\tabularnewline +\hline +30-мин.м. & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline +\newpage \multicolumn{8}{|c|}{Замеренные параметры}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & \multirow{2}{0.07\paperwidth}{\centering{}Ne} & \multirow{2}{0.07\paperwidth}{\centering{}не более nтк,\%} & \multirow{2}{0.07\paperheight}{\centering{}nст,\%} & \multirow{2}{0.07\paperheight}{\centering{}не более t{*}z ст,$\,^{\circ}\mbox{C}$} & \multirow{2}{0.07\paperheight}{\centering{}не более Ce г/л.с.ч.} & \multirow{2}{0.07\paperheight}{\centering{}Gт, кг/час}\tabularnewline +\cline{1-2} +\multicolumn{2}{|c|}{Режим} & & & & & & \tabularnewline +\hline \newpage + & ТУ & - & & 80,0$\pm$0,5 & - & - & -\tabularnewline +\hline +ЗМГ & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & - & 101,0 & 98,0$\pm$0,5 & 805 & - & -\tabularnewline +\hline +2,5 мин.м. & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{A0} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{A1} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{A2} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{СКО} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{Примечание} & \multicolumn{5}{c|}{}\tabularnewline +\hline +\end{longtable} + +\begin{tabular}{|||>{\centering}p{0.11\linewidth}|||||||||>{\raggedright}p{0.05\linewidth}|p{0.07\paperwidth}|>{\centering}p{0.07\paperwidth}|||||>{\centering}m{0.07\paperheight}|>{\centering}m{0.07\paperheight}|>{\centering}p{0.07\paperheight}|>{\centering}p{0.07\paperheight}|||} +\hline +\multicolumn{8}{|l|}{Усреднённые значения по режимам}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & Nепр & Ce & Gт пр & nтк пр & t{*}z ст пр & Пк\tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.07\paperwidth}|}{\centering{Режим}} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{ЗМГ} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{0,4 мП} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Ne1650} & \ \ \ \ \ \ \ & & & & & \tabularnewline +\hline\newpage +\multicolumn{2}{|l|}{Мкр} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{МП} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Ne2500} & & \multicolumn{1}{c}{\multirow{2}{*}{Много текста}} & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Взл} & & & \multicolumn{1}{||c||}{\multirow{4}{*}{Много текста}} & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{30-мин.м.} & & & & & & \tabularnewline +\hline \newpage +\multicolumn{8}{|c|}{Замеренные параметры}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & Ne & Ce & Gт & nтк & t{*}z ст & Пк\tabularnewline +\hline +\multicolumn{2}{|l|}{ЗМГ} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{2,5 мин.м.} & & & & & & \tabularnewline +\hline + \newpage \multicolumn{8}{|c|}{Оценка режимов по ТУ}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & \multirow{2}{0.07\paperwidth}{\centering{}Neпр} & \multirow{2}{0.07\paperwidth}{\centering{}не более nтк пр,\%} & \multirow{2}{0.07\paperheight}{\centering{}nст,\%} & \multirow{2}{0.07\paperheight}{\centering{}не более t{*}z ст пр,$\,^{\circ}\mbox{C}$} & \multirow{2}{0.07\paperheight}{\centering{}не более Ce г/л.с.ч.} & \multirow{2}{0.07\paperheight}{\centering{}Gт пр, кг/час}\tabularnewline +\cline{1-2} +\multicolumn{2}{|c|}{Режим} & & & & & & \tabularnewline +\hline + & ТУ & 1900 & 93,0 & 98,0$\pm$0,5 & 680 & 221 & -\tabularnewline +\hline +\cline{1-1} \cline{3-3} \cline{5-6} +Мкр & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & 2100 & 94,0 & 98,0$\pm$0,5 & 705 & - & -\tabularnewline +\hline +МП & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & 2800 & 97,5 & 98,0$\pm$0,5 & 775 & 205 & -\tabularnewline +\hline +Взл & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & 3000 & 98,5 & 98,0$\pm$0,5 & 795 & - & -\tabularnewline +\hline +30-мин.м. & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline +\newpage \multicolumn{8}{|c|}{Замеренные параметры}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & \multirow{2}{0.07\paperwidth}{\centering{}Ne} & \multirow{2}{0.07\paperwidth}{\centering{}не более nтк,\%} & \multirow{2}{0.07\paperheight}{\centering{}nст,\%} & \multirow{2}{0.07\paperheight}{\centering{}не более t{*}z ст,$\,^{\circ}\mbox{C}$} & \multirow{2}{0.07\paperheight}{\centering{}не более Ce г/л.с.ч.} & \multirow{2}{0.07\paperheight}{\centering{}Gт, кг/час}\tabularnewline +\cline{1-2} +\multicolumn{2}{|c|}{Режим} & & & & & & \tabularnewline +\hline \newpage + & ТУ & - & & 80,0$\pm$0,5 & - & - & -\tabularnewline +\hline +ЗМГ & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & - & 101,0 & 98,0$\pm$0,5 & 805 & - & -\tabularnewline +\hline +2,5 мин.м. & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{A0} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{A1} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{A2} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{СКО} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{Примечание} & \multicolumn{5}{c|}{}\tabularnewline +\hline +\end{tabular} + +\end{document} diff --git a/test/tex/throttle_VK2500.tex b/test/tex/throttle_VK2500.tex new file mode 100644 index 0000000..62a748d --- /dev/null +++ b/test/tex/throttle_VK2500.tex @@ -0,0 +1,135 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage[a4paper]{geometry} +\geometry{verbose,tmargin=1cm,bmargin=2cm,lmargin=2cm,rmargin=1cm} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{multirow} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + + + +\usepackage{babel} + +\makeatother + +\usepackage{babel} +\begin{document} +Номера замеров: {[}Zamer.List{]} + +{[}Zamer.Stend.Last{]} + +\begin{flushright} +Форма 07-622 +\par\end{flushright} + +\begin{longtable}{|>{\centering}p{0.11\linewidth}||>{\raggedright}p{0.05\linewidth}|c|c|c|c|c|c|} +\hline +\multicolumn{8}{|c|}{\textbf{\large Сводный протокол результатов испытания двигателя }}\tabularnewline +\multicolumn{8}{|c|}{\textbf{\large ВК-2500-02 № {[}Zamer.EngineData.Last{]}}}\tabularnewline +\multicolumn{8}{|c|}{Стенд № {[}Zamer.Stend.Last{]} ~~ ИУД СИК ~ Дата: {[}Zamer.Time2.Last{]} }\tabularnewline +\multicolumn{8}{|c|}{Рн = {[}Zamer.Ph.Last{]} мм рт ст~~ tвх = {[}Zamer.tvh\_zv.Last{]} +$\,^{\circ}\mbox{C}$}\tabularnewline +\multicolumn{8}{|c|}{Характеристика ~~~~~~~ Акт сдачи, контрольные точки}\tabularnewline +\endhead +\hline +\multicolumn{2}{|c|}{} & Nе & nтк & tг & Gт & Gв & Пк\tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.07\paperwidth}|}{Режим МГ} & \multicolumn{6}{c|}{}\tabularnewline +\hline +\multicolumn{2}{|l|}{Факт.} & {[}AvZam.Ne.modeMG{]} & {[}AvZam.ntk.modeMG{]} & {[}AvZam.tg.modeMG{]} & {[}AvZam.Gt.modeMG{]} & {[}AvZam.Gv.modeMG{]} & {[}AvZam.Pik.modeMG{]}\tabularnewline +\hline +\multicolumn{2}{|l|}{ТУ} & {[}TU.Ne.modeMG{]} & {[}TU.ntk.modeMG{]} & {[}TU.tg.modeMG{]} & {[}TU.Gt.modeMG{]} & {[}TU.Gv.modeMG{]} & {[}TU.Pik.modeMG{]}\tabularnewline +\hline +\multicolumn{2}{|l|}{Откл.} & {[}Diff.Ne.modeMG{]} & {[}Diff.ntk.modeMG{]} & {[}Diff.tg.modeMG{]} & {[}Diff.Gt.modeMG{]} & {[}Diff.Gv.modeMG{]} & {[}Diff.Pik.modeMG{]}\tabularnewline +\hline +\end{longtable}% +\begin{longtable}{|c|c|c|c|c|c|c|c|} +\hline +Режим & Ne пр & nтк пр & tг пр & Gт пр & Ce & Gв пр & Пк\tabularnewline +\hline +ЧР & {[}AvZam.Ne\_pr.modeChR{]} & {[}AvZam.ntk\_pr.modeChR{]} & {[}AvZam.tg\_pr.modeChR{]} & {[}AvZam.Gt\_pr.modeChR{]} & {[}AvZam.Ce.modeChR{]} & {[}AvZam.Gv\_pr.modeChR{]} & {[}AvZam.Pik.modeChR{]}\tabularnewline +\hline +Взлет & {[}AvZam.Ne\_pr.modeVZL{]} & {[}AvZam.ntk\_pr.modeVZL{]} & {[}AvZam.tg\_pr.modeVZL{]} & {[}AvZam.Gt\_pr.modeVZL{]} & {[}AvZam.Ce.modeVZL{]} & {[}AvZam.Gv\_pr.modeVzl{]} & {[}AvZam.Pik.modeVzl{]}\tabularnewline +\hline +Номинал & {[}AvZam.Ne\_pr.modeMP{]} & {[}AvZam.ntk\_pr.modeMP{]} & {[}AvZam.tg\_pr.modeMP{]} & {[}AvZam.Gt\_pr.modeMP{]} & {[}AvZam.Ce.modeMP{]} & {[}AvZam.Gv\_pr.modeMP{]} & {[}AvZam.Pik.modeMP{]}\tabularnewline +\hline +1крейс. & {[}AvZam.Ne\_pr.mode1KR{]} & {[}AvZam.ntk\_pr.mode1KR{]} & {[}AvZam.tg\_pr.mode1KR{]} & {[}AvZam.Gt\_pr.mode1KR{]} & {[}AvZam.Ce.mode1KR{]} & {[}AvZam.Gv\_pr.mode1KR{]} & {[}AvZam.Pik.mode1KR{]}\tabularnewline +\hline +2крейс. & {[}AvZam.Ne\_pr.mode2KR{]} & {[}AvZam.ntk\_pr.mode2KR{]} & {[}AvZam.tg\_pr.mode2KR{]} & {[}AvZam.Gt\_pr.mode2KR{]} & {[}AvZam.Ce.mode2KR{]} & {[}AvZam.Gv\_pr.mode2KR{]} & {[}AvZam.Pik.mode2KR{]}\tabularnewline +\hline +\multicolumn{2}{|c|}{А0} & {[}Coef.ntk\_pr.0{]} & {[}Coef.tg\_pr.0{]} & {[}Coef.Gt\_pr.0{]} & {[}Coef.Ce.0{]} & {[}Coef.Gv\_pr.0{]} & {[}Coef.Pik.0{]}\tabularnewline +\hline +\multicolumn{2}{|c|}{А1} & {[}Coef.ntk\_pr.1{]} & {[}Coef.tg\_pr.1{]} & {[}Coef.Gt\_pr.1{]} & {[}Coef.Ce.1{]} & {[}Coef.Gv\_pr.1{]} & {[}Coef.Pik.1{]}\tabularnewline +\hline +\multicolumn{2}{|c|}{А2} & {[}Coef.ntk\_pr.2{]} & {[}Coef.tg\_pr.2{]} & {[}Coef.Gt\_pr.2{]} & {[}Coef.Ce.2{]} & {[}Coef.Gv\_pr.2{]} & {[}Coef.Pik.2{]}\tabularnewline +\hline +\multicolumn{2}{|c|}{СКО} & {[}Coef.ntk\_pr.SKO{]} & {[}Coef.tg\_pr.SKO{]} & {[}Coef.Gt\_pr.SKO{]} & {[}Coef.Ce.SKO{]} & {[}Coef.Gv\_pr.SKO{]} & {[}Coef.Pik.SKO{]}\tabularnewline +\hline +\end{longtable}% +\begin{longtable}{|c|c|c|c|c|c|c|} +\hline + & Режим & ЧР & Взлет & Номинал & 1 крейс. & 2 крейс\tabularnewline +\hline +Парам. & Ne пр & {[}TU.Ne\_pr.modeChR{]} & {[}TU.Ne\_pr.modeVZL{]} & {[}TU.Ne\_pr.modeMP{]} & {[}TU.Ne\_pr.mode1KR{]} & {[}TU.Ne\_pr.mode2KR{]}\tabularnewline +\hline +Gт пр & Факт. & {[}Aprox.Gt\_pr.modeChR{]} & {[}Aprox.Gt\_pr.modeVZL{]} & {[}Aprox.Gt\_pr.modeMP{]} & {[}Aprox.Gt\_pr.mode1KR{]} & {[}Aprox.Gt\_pr.mode2KR{]}\tabularnewline +\hline +\multirow{3}{*}{Ce} & Факт. & {[}Aprox.Ce.modeChR{]} & {[}Aprox.Ce.modeVzl{]} & {[}Aprox.Ce.modeMP{]} & {[}Aprox.Ce.mode1KR{]} & {[}Aprox.Ce.mode2KR{]}\tabularnewline +\cline{2-7} + & ТУ & {[}TU.Ce.modeChR{]} & - & - & - & -\tabularnewline +\cline{2-7} + & Откл. & {[}Diff.Ce.modeChR{]} & - & - & - & -\tabularnewline +\hline +\multirow{3}{*}{nтк пр} & Факт. & {[}Aprox.ntk\_pr.modeChR{]} & {[}Aprox.ntk\_pr.modeVzl{]} & {[}Aprox.ntk\_pr.modeMP{]} & {[}Aprox.ntk\_pr.mode1KR{]} & {[}Aprox.ntk\_pr.mode2KR{]}\tabularnewline +\cline{2-7} + & ТУ & {[}TU.ntk\_pr.modeChR{]} & {[}TU.ntk\_pr.modeVzl{]} & {[}TU.ntk\_pr.modeMP{]} & {[}TU.ntk\_pr.mode1KR{]} & {[}TU.ntk\_pr.mode2KR{]}\tabularnewline +\cline{2-7} + & Откл. & {[}Diff.ntk\_pr\_modeChR{]} & {[}Diff.ntk\_pr\_modeVzl{]} & {[}Diff.ntk\_pr\_modeMP{]} & {[}Diff.ntk\_pr\_mode1KR{]} & {[}Diff.ntk\_pr\_mode2KR{]}\tabularnewline +\hline +\multirow{3}{*}{tг пр} & Факт. & {[}Aprox.tg\_pr.modeChR{]} & {[}Aprox.tg\_pr.modeVzl{]} & {[}Aprox.tg\_pr.modeMP{]} & {[}Aprox.tg\_pr.mode1KR{]} & {[}Aprox.tg\_pr.mode2KR{]}\tabularnewline +\cline{2-7} + & ТУ & {[}TU.tg\_pr.modeChR{]} & {[}TU.tg\_pr.modeVzl{]} & {[}TU.tg\_pr.modeMP{]} & {[}TU.tg\_pr.mode1KR{]} & {[}TU.tg\_pr.mode2KR{]}\tabularnewline +\cline{2-7} + & Откл. & {[}Diff.tg\_pr.modeChR{]} & {[}Diff.tg\_pr.modeVzl{]} & {[}Diff.tg\_pr.modeMP{]} & {[}Diff.tg\_pr.mode1KR{]} & {[}Diff.tg\_pr.mode2KR{]}\tabularnewline +\hline +\multirow{3}{*}{Gв пр} & Факт. & {[}Aprox.Gv\_pr.modeChR{]} & {[}Aprox.Gv\_pr.modeVzl{]} & {[}Aprox.Gv\_pr.modeMP{]} & {[}Aprox.Gv\_pr.mode1KR{]} & {[}Aprox.Gv\_pr.mode2KR{]}\tabularnewline +\cline{2-7} + & ТУ & {[}TU.Gv\_pr.modeChR{]} & - & - & - & -\tabularnewline +\cline{2-7} + & Откл. & {[}Diff.Gv\_pr.modeChR{]} & - & - & - & -\tabularnewline +\hline +\multirow{3}{*}{Пк} & Факт. & {[}Aprox.Pik.modeChR{]} & {[}Aprox.Pik.modeVzl{]} & {[}Aprox.Pik.modeMP{]} & {[}Aprox.Pik.mode1KR{]} & {[}Aprox.Pik.mode2KR{]}\tabularnewline +\cline{2-7} + & ТУ & {[}TU.Pik.modeChR{]} & - & - & - & -\tabularnewline +\cline{2-7} + & Откл. & {[}Diff.Pik.modeChR{]} & - & - & - & -\tabularnewline +\hline +\end{longtable}% +\begin{longtable}{|c|c|c|c|} +\hline +Инженер по испытаниям & Начальник БТК & Начальник УИД СИК & Представитель заказчика\tabularnewline +\hline + & & & \tabularnewline + & & & {[}Test1{]}\tabularnewline +\hline +\endfoot +\end{longtable}{[}Test2{]} +\end{document} diff --git a/test/tex/throttle_VK2500PS.tex b/test/tex/throttle_VK2500PS.tex new file mode 100644 index 0000000..6f238c2 --- /dev/null +++ b/test/tex/throttle_VK2500PS.tex @@ -0,0 +1,144 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage[a4paper]{geometry} +\geometry{verbose,tmargin=1cm,bmargin=2cm,lmargin=2cm,rmargin=1cm} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{multirow} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + + + +\usepackage{babel} + +\makeatother + +\usepackage{babel} +\begin{document} +Номера замеров: {[}Zamer.List{]} + +\begin{flushright} +Форма 07-622 +\par\end{flushright} + +\begin{longtable}{|c|>{\raggedright}p{0.05\linewidth}|c|c|c|c|c|c|} +\hline +\multicolumn{8}{|c}{\textbf{\large Сводный протокол результатов испытания двигателя }}\tabularnewline +\multicolumn{8}{|c}{\textbf{\large {[}Zamer.EngineData.Last{]}}}\tabularnewline +\multicolumn{8}{|c}{Стенд № {[}Zamer.Stend.Last{]} ~~ ИУД СИК ~ Дата: {[}Zamer.Time2.Last{]} }\tabularnewline +\multicolumn{8}{|c}{Рн = {[}Zamer.Ph.Last{]} мм рт.ст.~~ tвх = {[}Zamer.tvh\_zv.Last{]} +$\,^{\circ}\mbox{C}$}\tabularnewline +\multicolumn{8}{|c}{Характеристика ~~~~~~~ Акт сдачи, контрольные точки}\tabularnewline +\endhead +\hline +\multicolumn{2}{|c|}{} & Nе & nтк & tг & Gт & Gв пр & Пк\tabularnewline +\hline +\multirow{3}{*}{МГ} & Факт. & {[}AvZam.Ne.modeMG{]} & {[}AvZam.ntk.modeMG{]} & {[}AvZam.tg.modeMG{]} & {[}AvZam.Gt.modeMG{]} & {[}AvZam.Gv\_pr.modeMG{]} & {[}AvZam.Pik.modeMG{]}\tabularnewline +\cline{2-8} + & ТУ & - & {[}TUAver.ntk.modeMG{]} & {[}TUAver.tg.modeMG{]} & {[}TUAver.Gt.modeMG{]} & - & -\tabularnewline +\cline{2-8} + & Откл. & - & {[}DiffAver.ntk.modeMG{]} & {[}DiffAver.tg.modeMG{]} & {[}DiffAver.Gt.modeMG{]} & - & -\tabularnewline +\hline +\multirow{3}{*}{2,5-мин. м.} & Факт. & {[}AvZam.Ne.mode\_2\_5\_min{]} & {[}AvZam.ntk.mode\_2\_5\_min{]} & {[}AvZam.tg.mode\_2\_5\_min{]} & {[}AvZam.Gt.mode\_2\_5\_min{]} & {[}AvZam.Gv\_pr.mode\_2\_5\_min{]} & {[}AvZam.Pik.mode\_2\_5\_min{]}\tabularnewline +\cline{2-8} + & ТУ & {[}TUAver.Ne.mode\_2\_5\_min{]} & {[}TUAver.ntk.mode\_2\_5\_min{]} & {[}TUAver.tg.mode\_2\_5\_min{]} & - & - & -\tabularnewline +\cline{2-8} + & Откл. & {[}DiffAver.Ne.mode\_2\_5\_min{]} & {[}DiffAver.ntk.mode\_2\_5\_min{]} & {[}DiffAver.tg.mode\_2\_5\_min{]} & - & - & -\tabularnewline +\hline +\end{longtable}% +\begin{longtable}{|c|c|c|c|c|c|c|c|} +\hline +Режим & Ne пр & nтк пр & tг пр & Gт пр & Ce & Gв пр & Пк\tabularnewline +\hline +30 мин. м. & {[}AvZam.Ne\_pr.mode\_30\_min{]} & {[}AvZam.ntk\_pr.mode\_30\_min{]} & {[}AvZam.tg\_pr.mode\_30\_min{]} & {[}AvZam.Gt\_pr.mode\_30\_min{]} & {[}AvZam.Ce.mode\_30\_min{]} & {[}AvZam.Gv\_pr.mode\_30\_min{]} & {[}AvZam.Pik.mode\_30\_min{]}\tabularnewline +\hline +Взлет & {[}AvZam.Ne\_pr.modeVZL{]} & {[}AvZam.ntk\_pr.modeVZL{]} & {[}AvZam.tg\_pr.modeVZL{]} & {[}AvZam.Gt\_pr.modeVZL{]} & {[}AvZam.Ce.modeVZL{]} & {[}AvZam.Gv\_pr.modeVzl{]} & {[}AvZam.Pik.modeVzl{]}\tabularnewline +\hline +МП & {[}AvZam.Ne\_pr.modeMP{]} & {[}AvZam.ntk\_pr.modeMP{]} & {[}AvZam.tg\_pr.modeMP{]} & {[}AvZam.Gt\_pr.modeMP{]} & {[}AvZam.Ce.modeMP{]} & {[}AvZam.Gv\_pr.modeMP{]} & {[}AvZam.Pik.modeMP{]}\tabularnewline +\hline +1крейс. & {[}AvZam.Ne\_pr.mode1KR{]} & {[}AvZam.ntk\_pr.mode1KR{]} & {[}AvZam.tg\_pr.mode1KR{]} & {[}AvZam.Gt\_pr.mode1KR{]} & {[}AvZam.Ce.mode1KR{]} & {[}AvZam.Gv\_pr.mode1KR{]} & {[}AvZam.Pik.mode1KR{]}\tabularnewline +\hline +2крейс. & {[}AvZam.Ne\_pr.mode2KR{]} & {[}AvZam.ntk\_pr.mode2KR{]} & {[}AvZam.tg\_pr.mode2KR{]} & {[}AvZam.Gt\_pr.mode2KR{]} & {[}AvZam.Ce.mode2KR{]} & {[}AvZam.Gv\_pr.mode2KR{]} & {[}AvZam.Pik.mode2KR{]}\tabularnewline +\hline +\multicolumn{2}{|c|}{А0} & {[}Coef.ntk\_pr.0{]} & {[}Coef.tg\_pr.0{]} & {[}Coef.Gt\_pr.0{]} & {[}Coef.Ce.0{]} & {[}Coef.Gv\_pr.0{]} & {[}Coef.Pik.0{]}\tabularnewline +\hline +\multicolumn{2}{|c|}{А1} & {[}Coef.ntk\_pr.1{]} & {[}Coef.tg\_pr.1{]} & {[}Coef.Gt\_pr.1{]} & {[}Coef.Ce.1{]} & {[}Coef.Gv\_pr.1{]} & {[}Coef.Pik.1{]}\tabularnewline +\hline +\multicolumn{2}{|c|}{А2} & {[}Coef.ntk\_pr.2{]} & {[}Coef.tg\_pr.2{]} & {[}Coef.Gt\_pr.2{]} & {[}Coef.Ce.2{]} & {[}Coef.Gv\_pr.2{]} & {[}Coef.Pik.2{]}\tabularnewline +\hline +\multicolumn{2}{|c|}{СКО} & {[}SKO.ntk\_pr{]} & {[}SKO.tg\_pr{]} & {[}SKO.Gt\_pr{]} & {[}SKO.Ce{]} & {[}SKO.Gv\_pr{]} & {[}SKO.Pik{]}\tabularnewline +\hline +\end{longtable}% +\begin{longtable}{|c|c|c|c|c|c|c|} +\hline + & Режим & 30-мин. м. & Взлет & МП & 1крейс. & 2крейс.\tabularnewline +\hline +Парам. & Ne пр & {[}TU.Ne\_pr.mode\_30\_min{]} & {[}TU.Ne\_pr.modeVZL{]} & {[}TU.Ne\_pr.modeMP{]} & {[}TU.Ne\_pr.mode1KR{]} & {[}TU.Ne\_pr.mode2KR{]}\tabularnewline +\hline +Gт пр & Факт. & {[}Aprox.Gt\_pr.mode\_30\_min{]} & {[}Aprox.Gt\_pr.modeVZL{]} & {[}Aprox.Gt\_pr.modeMP{]} & {[}Aprox.Gt\_pr.mode1KR{]} & {[}Aprox.Gt\_pr.mode2KR{]}\tabularnewline +\hline +\multirow{3}{*}{Ce} & Факт. & {[}Aprox.Ce.mode\_30\_min{]} & {[}Aprox.Ce.modeVzl{]} & {[}Aprox.Ce.modeMP{]} & {[}Aprox.Ce.mode1KR{]} & {[}Aprox.Ce.mode2KR{]}\tabularnewline +\cline{2-7} + & ТУ & - & {[}TU.Ce.modeVzl{]} & - & - & -\tabularnewline +\cline{2-7} + & Откл. & - & {[}Diff.Ce.modeVzl{]} & - & - & -\tabularnewline +\hline +\multirow{3}{*}{nтк пр} & Факт. & {[}Aprox.ntk\_pr.mode\_30\_min{]} & {[}Aprox.ntk\_pr.modeVzl{]} & {[}Aprox.ntk\_pr.modeMP{]} & {[}Aprox.ntk\_pr.mode1KR{]} & {[}Aprox.ntk\_pr.mode2KR{]}\tabularnewline +\cline{2-7} + & ТУ & {[}TU.ntk\_pr.mode\_30\_min{]} & {[}TU.ntk\_pr.modeVzl{]} & {[}TU.ntk\_pr.modeMP{]} & {[}TU.ntk\_pr.mode1KR{]} & {[}TU.ntk\_pr.mode2KR{]}\tabularnewline +\cline{2-7} + & Откл. & {[}Diff.ntk\_pr.mode\_30\_min{]} & {[}Diff.ntk\_pr.modeVzl{]} & {[}Diff.ntk\_pr.modeMP{]} & {[}Diff.ntk\_pr.mode1KR{]} & {[}Diff.ntk\_pr.mode2KR{]}\tabularnewline +\hline +\multirow{3}{*}{tг пр} & Факт. & {[}Aprox.tg\_pr.mode\_30\_min{]} & {[}Aprox.tg\_pr.modeVzl{]} & {[}Aprox.tg\_pr.modeMP{]} & {[}Aprox.tg\_pr.mode1KR{]} & {[}Aprox.tg\_pr.mode2KR{]}\tabularnewline +\cline{2-7} + & ТУ & {[}TU.tg\_pr.mode\_30\_min{]} & {[}TU.tg\_pr.modeVzl{]} & {[}TU.tg\_pr.modeMP{]} & {[}TU.tg\_pr.mode1KR{]} & {[}TU.tg\_pr.mode2KR{]}\tabularnewline +\cline{2-7} + & Откл. & {[}Diff.tg\_pr.mode\_30\_min{]} & {[}Diff.tg\_pr.modeVzl{]} & {[}Diff.tg\_pr.modeMP{]} & {[}Diff.tg\_pr.mode1KR{]} & {[}Diff.tg\_pr.mode2KR{]}\tabularnewline +\hline +\multirow{3}{*}{Gв пр} & Факт. & {[}Aprox.Gv\_pr.mode\_30\_min{]} & {[}Aprox.Gv\_pr.modeVzl{]} & {[}Aprox.Gv\_pr.modeMP{]} & {[}Aprox.Gv\_pr.mode1KR{]} & {[}Aprox.Gv\_pr.mode2KR{]}\tabularnewline +\cline{2-7} + & ТУ & - & - & - & - & -\tabularnewline +\cline{2-7} + & Откл. & - & - & - & - & -\tabularnewline +\hline +\multirow{3}{*}{Пк} & Факт. & {[}Aprox.Pik.mode\_30\_min{]} & {[}Aprox.Pik.modeVzl{]} & {[}Aprox.Pik.modeMP{]} & {[}Aprox.Pik.mode1KR{]} & {[}Aprox.Pik.mode2KR{]}\tabularnewline +\cline{2-7} + & ТУ & - & - & - & - & -\tabularnewline +\cline{2-7} + & Откл. & - & - & - & - & -\tabularnewline +\hline +\end{longtable}% +\begin{longtable}{l} +Gв пр = {[}Aprox.Gv\_pr.2400{]} при Ne пр = 2400 ТУ {[}TU.Gv\_pr.2400{]} +Откл. = {[}Diff.Gv\_pr.2400{]}\tabularnewline +Пк = {[}Aprox.Pik.2400{]} при Ne пр = 2400 ТУ {[}TU.Pik.2400{]} Откл. += {[}Diff.Pik.2400{]}\tabularnewline +\end{longtable} + +\begin{longtable}{|c|c|c|c|} +\hline +Инженер по испытаниям & Начальник БТК & Начальник УИД СИК & Представитель заказчика\tabularnewline +\hline + & & & \tabularnewline + & & & \tabularnewline +\hline +\endfoot +\end{longtable} +\end{document} diff --git a/test/tex/throttle_VK2500PS_dos_newlines.tex b/test/tex/throttle_VK2500PS_dos_newlines.tex new file mode 100644 index 0000000..8560085 --- /dev/null +++ b/test/tex/throttle_VK2500PS_dos_newlines.tex @@ -0,0 +1,144 @@ + +%% Do not edit unless you really know what you are doing. +\documentclass[russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage[a4paper]{geometry} +\geometry{verbose,tmargin=1cm,bmargin=2cm,lmargin=2cm,rmargin=1cm} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{multirow} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + + + +\usepackage{babel} + +\makeatother + +\usepackage{babel} +\begin{document} +Номера замеров: {[}Zamer.List{]} + +\begin{flushright} +Форма 07-622 +\par\end{flushright} + +\begin{longtable}{|c|>{\raggedright}p{0.05\linewidth}|c|c|c|c|c|c|} +\hline +\multicolumn{8}{|c}{\textbf{\large Сводный протокол результатов испытания двигателя }}\tabularnewline +\multicolumn{8}{|c}{\textbf{\large {[}Zamer.EngineData.Last{]}}}\tabularnewline +\multicolumn{8}{|c}{Стенд № {[}Zamer.Stend.Last{]} ~~ ИУД СИК ~ Дата: {[}Zamer.Time2.Last{]} }\tabularnewline +\multicolumn{8}{|c}{Рн = {[}Zamer.Ph.Last{]} мм рт.ст.~~ tвх = {[}Zamer.tvh\_zv.Last{]} +$\,^{\circ}\mbox{C}$}\tabularnewline +\multicolumn{8}{|c}{Характеристика ~~~~~~~ Акт сдачи, контрольные точки}\tabularnewline +\endhead +\hline +\multicolumn{2}{|c|}{} & Nе & nтк & tг & Gт & Gв пр & Пк\tabularnewline +\hline +\multirow{3}{*}{МГ} & Факт. & {[}AvZam.Ne.modeMG{]} & {[}AvZam.ntk.modeMG{]} & {[}AvZam.tg.modeMG{]} & {[}AvZam.Gt.modeMG{]} & {[}AvZam.Gv\_pr.modeMG{]} & {[}AvZam.Pik.modeMG{]}\tabularnewline +\cline{2-8} + & ТУ & - & {[}TUAver.ntk.modeMG{]} & {[}TUAver.tg.modeMG{]} & {[}TUAver.Gt.modeMG{]} & - & -\tabularnewline +\cline{2-8} + & Откл. & - & {[}DiffAver.ntk.modeMG{]} & {[}DiffAver.tg.modeMG{]} & {[}DiffAver.Gt.modeMG{]} & - & -\tabularnewline +\hline +\multirow{3}{*}{2,5-мин. м.} & Факт. & {[}AvZam.Ne.mode\_2\_5\_min{]} & {[}AvZam.ntk.mode\_2\_5\_min{]} & {[}AvZam.tg.mode\_2\_5\_min{]} & {[}AvZam.Gt.mode\_2\_5\_min{]} & {[}AvZam.Gv\_pr.mode\_2\_5\_min{]} & {[}AvZam.Pik.mode\_2\_5\_min{]}\tabularnewline +\cline{2-8} + & ТУ & {[}TUAver.Ne.mode\_2\_5\_min{]} & {[}TUAver.ntk.mode\_2\_5\_min{]} & {[}TUAver.tg.mode\_2\_5\_min{]} & - & - & -\tabularnewline +\cline{2-8} + & Откл. & {[}DiffAver.Ne.mode\_2\_5\_min{]} & {[}DiffAver.ntk.mode\_2\_5\_min{]} & {[}DiffAver.tg.mode\_2\_5\_min{]} & - & - & -\tabularnewline +\hline +\end{longtable}% +\begin{longtable}{|c|c|c|c|c|c|c|c|} +\hline +Режим & Ne пр & nтк пр & tг пр & Gт пр & Ce & Gв пр & Пк\tabularnewline +\hline +30 мин. м. & {[}AvZam.Ne\_pr.mode\_30\_min{]} & {[}AvZam.ntk\_pr.mode\_30\_min{]} & {[}AvZam.tg\_pr.mode\_30\_min{]} & {[}AvZam.Gt\_pr.mode\_30\_min{]} & {[}AvZam.Ce.mode\_30\_min{]} & {[}AvZam.Gv\_pr.mode\_30\_min{]} & {[}AvZam.Pik.mode\_30\_min{]}\tabularnewline +\hline +Взлет & {[}AvZam.Ne\_pr.modeVZL{]} & {[}AvZam.ntk\_pr.modeVZL{]} & {[}AvZam.tg\_pr.modeVZL{]} & {[}AvZam.Gt\_pr.modeVZL{]} & {[}AvZam.Ce.modeVZL{]} & {[}AvZam.Gv\_pr.modeVzl{]} & {[}AvZam.Pik.modeVzl{]}\tabularnewline +\hline +МП & {[}AvZam.Ne\_pr.modeMP{]} & {[}AvZam.ntk\_pr.modeMP{]} & {[}AvZam.tg\_pr.modeMP{]} & {[}AvZam.Gt\_pr.modeMP{]} & {[}AvZam.Ce.modeMP{]} & {[}AvZam.Gv\_pr.modeMP{]} & {[}AvZam.Pik.modeMP{]}\tabularnewline +\hline +1крейс. & {[}AvZam.Ne\_pr.mode1KR{]} & {[}AvZam.ntk\_pr.mode1KR{]} & {[}AvZam.tg\_pr.mode1KR{]} & {[}AvZam.Gt\_pr.mode1KR{]} & {[}AvZam.Ce.mode1KR{]} & {[}AvZam.Gv\_pr.mode1KR{]} & {[}AvZam.Pik.mode1KR{]}\tabularnewline +\hline +2крейс. & {[}AvZam.Ne\_pr.mode2KR{]} & {[}AvZam.ntk\_pr.mode2KR{]} & {[}AvZam.tg\_pr.mode2KR{]} & {[}AvZam.Gt\_pr.mode2KR{]} & {[}AvZam.Ce.mode2KR{]} & {[}AvZam.Gv\_pr.mode2KR{]} & {[}AvZam.Pik.mode2KR{]}\tabularnewline +\hline +\multicolumn{2}{|c|}{А0} & {[}Coef.ntk\_pr.0{]} & {[}Coef.tg\_pr.0{]} & {[}Coef.Gt\_pr.0{]} & {[}Coef.Ce.0{]} & {[}Coef.Gv\_pr.0{]} & {[}Coef.Pik.0{]}\tabularnewline +\hline +\multicolumn{2}{|c|}{А1} & {[}Coef.ntk\_pr.1{]} & {[}Coef.tg\_pr.1{]} & {[}Coef.Gt\_pr.1{]} & {[}Coef.Ce.1{]} & {[}Coef.Gv\_pr.1{]} & {[}Coef.Pik.1{]}\tabularnewline +\hline +\multicolumn{2}{|c|}{А2} & {[}Coef.ntk\_pr.2{]} & {[}Coef.tg\_pr.2{]} & {[}Coef.Gt\_pr.2{]} & {[}Coef.Ce.2{]} & {[}Coef.Gv\_pr.2{]} & {[}Coef.Pik.2{]}\tabularnewline +\hline +\multicolumn{2}{|c|}{СКО} & {[}SKO.ntk\_pr{]} & {[}SKO.tg\_pr{]} & {[}SKO.Gt\_pr{]} & {[}SKO.Ce{]} & {[}SKO.Gv\_pr{]} & {[}SKO.Pik{]}\tabularnewline +\hline +\end{longtable}% +\begin{longtable}{|c|c|c|c|c|c|c|} +\hline + & Режим & 30-мин. м. & Взлет & МП & 1крейс. & 2крейс.\tabularnewline +\hline +Парам. & Ne пр & {[}TU.Ne\_pr.mode\_30\_min{]} & {[}TU.Ne\_pr.modeVZL{]} & {[}TU.Ne\_pr.modeMP{]} & {[}TU.Ne\_pr.mode1KR{]} & {[}TU.Ne\_pr.mode2KR{]}\tabularnewline +\hline +Gт пр & Факт. & {[}Aprox.Gt\_pr.mode\_30\_min{]} & {[}Aprox.Gt\_pr.modeVZL{]} & {[}Aprox.Gt\_pr.modeMP{]} & {[}Aprox.Gt\_pr.mode1KR{]} & {[}Aprox.Gt\_pr.mode2KR{]}\tabularnewline +\hline +\multirow{3}{*}{Ce} & Факт. & {[}Aprox.Ce.mode\_30\_min{]} & {[}Aprox.Ce.modeVzl{]} & {[}Aprox.Ce.modeMP{]} & {[}Aprox.Ce.mode1KR{]} & {[}Aprox.Ce.mode2KR{]}\tabularnewline +\cline{2-7} + & ТУ & - & {[}TU.Ce.modeVzl{]} & - & - & -\tabularnewline +\cline{2-7} + & Откл. & - & {[}Diff.Ce.modeVzl{]} & - & - & -\tabularnewline +\hline +\multirow{3}{*}{nтк пр} & Факт. & {[}Aprox.ntk\_pr.mode\_30\_min{]} & {[}Aprox.ntk\_pr.modeVzl{]} & {[}Aprox.ntk\_pr.modeMP{]} & {[}Aprox.ntk\_pr.mode1KR{]} & {[}Aprox.ntk\_pr.mode2KR{]}\tabularnewline +\cline{2-7} + & ТУ & {[}TU.ntk\_pr.mode\_30\_min{]} & {[}TU.ntk\_pr.modeVzl{]} & {[}TU.ntk\_pr.modeMP{]} & {[}TU.ntk\_pr.mode1KR{]} & {[}TU.ntk\_pr.mode2KR{]}\tabularnewline +\cline{2-7} + & Откл. & {[}Diff.ntk\_pr.mode\_30\_min{]} & {[}Diff.ntk\_pr.modeVzl{]} & {[}Diff.ntk\_pr.modeMP{]} & {[}Diff.ntk\_pr.mode1KR{]} & {[}Diff.ntk\_pr.mode2KR{]}\tabularnewline +\hline +\multirow{3}{*}{tг пр} & Факт. & {[}Aprox.tg\_pr.mode\_30\_min{]} & {[}Aprox.tg\_pr.modeVzl{]} & {[}Aprox.tg\_pr.modeMP{]} & {[}Aprox.tg\_pr.mode1KR{]} & {[}Aprox.tg\_pr.mode2KR{]}\tabularnewline +\cline{2-7} + & ТУ & {[}TU.tg\_pr.mode\_30\_min{]} & {[}TU.tg\_pr.modeVzl{]} & {[}TU.tg\_pr.modeMP{]} & {[}TU.tg\_pr.mode1KR{]} & {[}TU.tg\_pr.mode2KR{]}\tabularnewline +\cline{2-7} + & Откл. & {[}Diff.tg\_pr.mode\_30\_min{]} & {[}Diff.tg\_pr.modeVzl{]} & {[}Diff.tg\_pr.modeMP{]} & {[}Diff.tg\_pr.mode1KR{]} & {[}Diff.tg\_pr.mode2KR{]}\tabularnewline +\hline +\multirow{3}{*}{Gв пр} & Факт. & {[}Aprox.Gv\_pr.mode\_30\_min{]} & {[}Aprox.Gv\_pr.modeVzl{]} & {[}Aprox.Gv\_pr.modeMP{]} & {[}Aprox.Gv\_pr.mode1KR{]} & {[}Aprox.Gv\_pr.mode2KR{]}\tabularnewline +\cline{2-7} + & ТУ & - & - & - & - & -\tabularnewline +\cline{2-7} + & Откл. & - & - & - & - & -\tabularnewline +\hline +\multirow{3}{*}{Пк} & Факт. & {[}Aprox.Pik.mode\_30\_min{]} & {[}Aprox.Pik.modeVzl{]} & {[}Aprox.Pik.modeMP{]} & {[}Aprox.Pik.mode1KR{]} & {[}Aprox.Pik.mode2KR{]}\tabularnewline +\cline{2-7} + & ТУ & - & - & - & - & -\tabularnewline +\cline{2-7} + & Откл. & - & - & - & - & -\tabularnewline +\hline +\end{longtable}% +\begin{longtable}{l} +Gв пр = {[}Aprox.Gv\_pr.2400{]} при Ne пр = 2400 ТУ {[}TU.Gv\_pr.2400{]} +Откл. = {[}Diff.Gv\_pr.2400{]}\tabularnewline +Пк = {[}Aprox.Pik.2400{]} при Ne пр = 2400 ТУ {[}TU.Pik.2400{]} Откл. += {[}Diff.Pik.2400{]}\tabularnewline +\end{longtable} + +\begin{longtable}{|c|c|c|c|} +\hline +Инженер по испытаниям & Начальник БТК & Начальник УИД СИК & Представитель заказчика\tabularnewline +\hline + & & & \tabularnewline + & & & \tabularnewline +\hline +\endfoot +\end{longtable} +\end{document} diff --git a/test/tex/throttle_err1.tex b/test/tex/throttle_err1.tex new file mode 100644 index 0000000..25d6485 --- /dev/null +++ b/test/tex/throttle_err1.tex @@ -0,0 +1,139 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage{geometry} +\geometry{verbose} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{multirow} +\usepackage{graphicx} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + +\makeatother + +\usepackage{babel} +\begin{document} +DrosselTable1 +\end{longtable} +\begin{longtable}{|>{\centering}p{0.11\linewidth}|>{\raggedright}p{0.05\linewidth}|>{\centering}p{0.07\paperwidth}|>{\centering}p{0.07\paperwidth}|>{\centering}m{0.07\paperheight}|>{\centering}m{0.07\paperheight}|>{\centering}p{0.07\paperheight}|>{\centering}p{0.07\paperheight}|} +\hline +\multicolumn{8}{|c|}{Сводный протокол результатов испытания двигателя ТВ7-117В №}\tabularnewline +\multicolumn{8}{|c|}{Стенд №18 ~~ ИУД СИК ~ Дата: ~~~~~~~~ г. Время: ~~~~~~~~~ +Рн = ~~~ мм рт ст~~ tвх = ~~~ $\,^{\circ}\mbox{C}$}\tabularnewline +\multicolumn{8}{|c|}{Характеристика ~~~~~~~ Акт сдачи, контрольные точки}\tabularnewline +\hline +\endhead +\multicolumn{2}{|>{\centering}m{0.11\linewidth}|}{\centering{}Составил} & \multicolumn{2}{c|}{Инженер по испытаниям} & Начальник БТК & Начальник участка УИД СИК & \multicolumn{2}{c|}{Представитель заказчика}\tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.11\linewidth}|}{\centering{}\textit{Подпись}} & \multicolumn{2}{c|}{\textit{Подпись}} & \centering{}\textit{Подпись} & \centering{}\textit{Подпись} & \multicolumn{2}{c|}{\textit{Подпись}}\tabularnewline +\multicolumn{2}{|>{\centering}p{0.11\linewidth}|}{\textit{фамилия}} & \multicolumn{2}{c|}{\textit{фамилия}} & \multicolumn{1}{c|}{\textit{фамилия}} & \textit{фамилия} & \multicolumn{2}{c|}{\textit{фамилия}}\tabularnewline +\hline +\endfoot +\multicolumn{8}{|l|}{Усреднённые значения по режимам}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & Nепр & Ce & Gт пр & nтк пр & t{*}z ст пр & Пк\tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.07\paperwidth}|}{\centering{Режим}} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{ЗМГ} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{0,4 мП} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Ne1650} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Мкр} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{МП} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Ne2500} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Взл} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{30-мин.м.} & & & & & & \tabularnewline +\hline +\multicolumn{8}{|c|}{Замеренные параметры}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & Ne & Ce & Gт & nтк & t{*}z ст & Пк\tabularnewline +\hline +\multicolumn{2}{|l|}{ЗМГ} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{2,5 мин.м.} & & & & & & \tabularnewline +\hline +\multicolumn{8}{|c|}{Оценка режимов по ТУ}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & \multirow{2}{0.07\paperwidth}{\centering{}Neпр} & \multirow{2}{0.07\paperwidth}{\centering{}не более nтк пр,\%} & \multirow{2}{0.07\paperheight}{\centering{}nст,\%} & \multirow{2}{0.07\paperheight}{\centering{}не более t{*}z ст пр,$\,^{\circ}\mbox{C}$} & \multirow{2}{0.07\paperheight}{\centering{}не более Ce г/л.с.ч.} & \multirow{2}{0.07\paperheight}{\centering{}Gт пр, кг/час}\tabularnewline +\cline{1-2} +\multicolumn{2}{|c|}{Режим} & & & & & & \tabularnewline +\hline + & ТУ & 1900 & 93,0 & 98,0$\pm$0,5 & 680 & 221 & -\tabularnewline +\hline +Мкр & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & 2100 & 94,0 & 98,0$\pm$0,5 & 705 & - & -\tabularnewline +\hline +МП & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & 2800 & 97,5 & 98,0$\pm$0,5 & 775 & 205 & -\tabularnewline +\hline +Взл & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & 3000 & 98,5 & 98,0$\pm$0,5 & 795 & - & -\tabularnewline +\hline +30-мин.м. & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline +\multicolumn{8}{|c|}{Замеренные параметры}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & \multirow{2}{0.07\paperwidth}{\centering{}Ne} & \multirow{2}{0.07\paperwidth}{\centering{}не более nтк,\%} & \multirow{2}{0.07\paperheight}{\centering{}nст,\%} & \multirow{2}{0.07\paperheight}{\centering{}не более t{*}z ст,$\,^{\circ}\mbox{C}$} & \multirow{2}{0.07\paperheight}{\centering{}не более Ce г/л.с.ч.} & \multirow{2}{0.07\paperheight}{\centering{}Gт, кг/час}\tabularnewline +\cline{1-2} +\multicolumn{2}{|c|}{Режим} & & & & & & \tabularnewline +\hline + & ТУ & - & & 80,0$\pm$0,5 & - & - & -\tabularnewline +\hline +ЗМГ & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & - & 101,0 & 98,0$\pm$0,5 & 805 & - & -\tabularnewline +\hline +2,5 мин.м. & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{A0} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{A1} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{A2} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{СКО} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{Примечание} & \multicolumn{5}{c|}{}\tabularnewline +\hline +\end{longtable} + +\includegraphics[angle=25,scale=3]{174} +\end{document} diff --git a/test/tex/throttle_err2.tex b/test/tex/throttle_err2.tex new file mode 100644 index 0000000..c19b4da --- /dev/null +++ b/test/tex/throttle_err2.tex @@ -0,0 +1,139 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage{geometry} +\geometry{verbose} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{multirow} +\usepackage{graphicx} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + +\makeatother + +\usepackage{babel} +\begin{document} +DrosselTable1 +\begin{longtable} +\begin{longtable}{|>{\centering}p{0.11\linewidth}|>{\raggedright}p{0.05\linewidth}|>{\centering}p{0.07\paperwidth}|>{\centering}p{0.07\paperwidth}|>{\centering}m{0.07\paperheight}|>{\centering}m{0.07\paperheight}|>{\centering}p{0.07\paperheight}|>{\centering}p{0.07\paperheight}|} +\hline +\multicolumn{8}{|c|}{Сводный протокол результатов испытания двигателя ТВ7-117В №}\tabularnewline +\multicolumn{8}{|c|}{Стенд №18 ~~ ИУД СИК ~ Дата: ~~~~~~~~ г. Время: ~~~~~~~~~ +Рн = ~~~ мм рт ст~~ tвх = ~~~ $\,^{\circ}\mbox{C}$}\tabularnewline +\multicolumn{8}{|c|}{Характеристика ~~~~~~~ Акт сдачи, контрольные точки}\tabularnewline +\hline +\endhead +\multicolumn{2}{|>{\centering}m{0.11\linewidth}|}{\centering{}Составил} & \multicolumn{2}{c|}{Инженер по испытаниям} & Начальник БТК & Начальник участка УИД СИК & \multicolumn{2}{c|}{Представитель заказчика}\tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.11\linewidth}|}{\centering{}\textit{Подпись}} & \multicolumn{2}{c|}{\textit{Подпись}} & \centering{}\textit{Подпись} & \centering{}\textit{Подпись} & \multicolumn{2}{c|}{\textit{Подпись}}\tabularnewline +\multicolumn{2}{|>{\centering}p{0.11\linewidth}|}{\textit{фамилия}} & \multicolumn{2}{c|}{\textit{фамилия}} & \multicolumn{1}{c|}{\textit{фамилия}} & \textit{фамилия} & \multicolumn{2}{c|}{\textit{фамилия}}\tabularnewline +\hline +\endfoot +\multicolumn{8}{|l|}{Усреднённые значения по режимам}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & Nепр & Ce & Gт пр & nтк пр & t{*}z ст пр & Пк\tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.07\paperwidth}|}{\centering{Режим}} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{ЗМГ} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{0,4 мП} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Ne1650} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Мкр} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{МП} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Ne2500} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Взл} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{30-мин.м.} & & & & & & \tabularnewline +\hline +\multicolumn{8}{|c|}{Замеренные параметры}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & Ne & Ce & Gт & nтк & t{*}z ст & Пк\tabularnewline +\hline +\multicolumn{2}{|l|}{ЗМГ} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{2,5 мин.м.} & & & & & & \tabularnewline +\hline +\multicolumn{8}{|c|}{Оценка режимов по ТУ}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & \multirow{2}{0.07\paperwidth}{\centering{}Neпр} & \multirow{2}{0.07\paperwidth}{\centering{}не более nтк пр,\%} & \multirow{2}{0.07\paperheight}{\centering{}nст,\%} & \multirow{2}{0.07\paperheight}{\centering{}не более t{*}z ст пр,$\,^{\circ}\mbox{C}$} & \multirow{2}{0.07\paperheight}{\centering{}не более Ce г/л.с.ч.} & \multirow{2}{0.07\paperheight}{\centering{}Gт пр, кг/час}\tabularnewline +\cline{1-2} +\multicolumn{2}{|c|}{Режим} & & & & & & \tabularnewline +\hline + & ТУ & 1900 & 93,0 & 98,0$\pm$0,5 & 680 & 221 & -\tabularnewline +\hline +Мкр & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & 2100 & 94,0 & 98,0$\pm$0,5 & 705 & - & -\tabularnewline +\hline +МП & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & 2800 & 97,5 & 98,0$\pm$0,5 & 775 & 205 & -\tabularnewline +\hline +Взл & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & 3000 & 98,5 & 98,0$\pm$0,5 & 795 & - & -\tabularnewline +\hline +30-мин.м. & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline +\multicolumn{8}{|c|}{Замеренные параметры}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & \multirow{2}{0.07\paperwidth}{\centering{}Ne} & \multirow{2}{0.07\paperwidth}{\centering{}не более nтк,\%} & \multirow{2}{0.07\paperheight}{\centering{}nст,\%} & \multirow{2}{0.07\paperheight}{\centering{}не более t{*}z ст,$\,^{\circ}\mbox{C}$} & \multirow{2}{0.07\paperheight}{\centering{}не более Ce г/л.с.ч.} & \multirow{2}{0.07\paperheight}{\centering{}Gт, кг/час}\tabularnewline +\cline{1-2} +\multicolumn{2}{|c|}{Режим} & & & & & & \tabularnewline +\hline + & ТУ & - & & 80,0$\pm$0,5 & - & - & -\tabularnewline +\hline +ЗМГ & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & - & 101,0 & 98,0$\pm$0,5 & 805 & - & -\tabularnewline +\hline +2,5 мин.м. & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{A0} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{A1} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{A2} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{СКО} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{Примечание} & \multicolumn{5}{c|}{}\tabularnewline +\hline +\end{longtable} + +\includegraphics[angle=25,scale=3]{174} +\end{document} diff --git a/test/tex/throttle_err3.tex b/test/tex/throttle_err3.tex new file mode 100644 index 0000000..95642af --- /dev/null +++ b/test/tex/throttle_err3.tex @@ -0,0 +1,140 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage{geometry} +\geometry{verbose} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{multirow} +\usepackage{graphicx} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + +\makeatother + +\usepackage{babel} +\begin{document} +DrosselTable1 + +\begin{longtable} +\begin{longtable}{|>{\centering}p{0.11\linewidth}|>{\raggedright}p{0.05\linewidth}|>{\centering}p{0.07\paperwidth}|>{\centering}p{0.07\paperwidth}|>{\centering}m{0.07\paperheight}|>{\centering}m{0.07\paperheight}|>{\centering}p{0.07\paperheight}|>{\centering}p{0.07\paperheight}|} +\hline +\multicolumn{8}{|c|}{Сводный протокол результатов испытания двигателя ТВ7-117В №}\tabularnewline +\multicolumn{8}{|c|}{Стенд №18 ~~ ИУД СИК ~ Дата: ~~~~~~~~ г. Время: ~~~~~~~~~ +Рн = ~~~ мм рт ст~~ tвх = ~~~ $\,^{\circ}\mbox{C}$}\tabularnewline +\multicolumn{8}{|c|}{Характеристика ~~~~~~~ Акт сдачи, контрольные точки}\tabularnewline +\hline +\endhead +\multicolumn{2}{|>{\centering}m{0.11\linewidth}|}{\centering{}Составил} & \multicolumn{2}{c|}{Инженер по испытаниям} & Начальник БТК & Начальник участка УИД СИК & \multicolumn{2}{c|}{Представитель заказчика}\tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.11\linewidth}|}{\centering{}\textit{Подпись}} & \multicolumn{2}{c|}{\textit{Подпись}} & \centering{}\textit{Подпись} & \centering{}\textit{Подпись} & \multicolumn{2}{c|}{\textit{Подпись}}\tabularnewline +\multicolumn{2}{|>{\centering}p{0.11\linewidth}|}{\textit{фамилия}} & \multicolumn{2}{c|}{\textit{фамилия}} & \multicolumn{1}{c|}{\textit{фамилия}} & \textit{фамилия} & \multicolumn{2}{c|}{\textit{фамилия}}\tabularnewline +\hline +\endfoot +\multicolumn{8}{|l|}{Усреднённые значения по режимам}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & Nепр & Ce & Gт пр & nтк пр & t{*}z ст пр & Пк\tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.07\paperwidth}|}{\centering{Режим}} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{ЗМГ} & & \end{longtable} & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{0,4 мП} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Ne1650} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Мкр} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{МП} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Ne2500} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Взл} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{30-мин.м.} & & & & & & \tabularnewline +\hline +\multicolumn{8}{|c|}{Замеренные параметры}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & Ne & Ce & Gт & nтк & t{*}z ст & Пк\tabularnewline +\hline +\multicolumn{2}{|l|}{ЗМГ} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{2,5 мин.м.} & & & & & & \tabularnewline +\hline +\multicolumn{8}{|c|}{Оценка режимов по ТУ}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & \multirow{2}{0.07\paperwidth}{\centering{}Neпр} & \multirow{2}{0.07\paperwidth}{\centering{}не более nтк пр,\%} & \multirow{2}{0.07\paperheight}{\centering{}nст,\%} & \multirow{2}{0.07\paperheight}{\centering{}не более t{*}z ст пр,$\,^{\circ}\mbox{C}$} & \multirow{2}{0.07\paperheight}{\centering{}не более Ce г/л.с.ч.} & \multirow{2}{0.07\paperheight}{\centering{}Gт пр, кг/час}\tabularnewline +\cline{1-2} +\multicolumn{2}{|c|}{Режим} & & & & & & \tabularnewline +\hline + & ТУ & 1900 & 93,0 & 98,0$\pm$0,5 & 680 & 221 & -\tabularnewline +\hline +Мкр & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & 2100 & 94,0 & 98,0$\pm$0,5 & 705 & - & -\tabularnewline +\hline +МП & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & 2800 & 97,5 & 98,0$\pm$0,5 & 775 & 205 & -\tabularnewline +\hline +Взл & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & 3000 & 98,5 & 98,0$\pm$0,5 & 795 & - & -\tabularnewline +\hline +30-мин.м. & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline +\multicolumn{8}{|c|}{Замеренные параметры}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & \multirow{2}{0.07\paperwidth}{\centering{}Ne} & \multirow{2}{0.07\paperwidth}{\centering{}не более nтк,\%} & \multirow{2}{0.07\paperheight}{\centering{}nст,\%} & \multirow{2}{0.07\paperheight}{\centering{}не более t{*}z ст,$\,^{\circ}\mbox{C}$} & \multirow{2}{0.07\paperheight}{\centering{}не более Ce г/л.с.ч.} & \multirow{2}{0.07\paperheight}{\centering{}Gт, кг/час}\tabularnewline +\cline{1-2} +\multicolumn{2}{|c|}{Режим} & & & & & & \tabularnewline +\hline + & ТУ & - & & 80,0$\pm$0,5 & - & - & -\tabularnewline +\hline +ЗМГ & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & - & 101,0 & 98,0$\pm$0,5 & 805 & - & -\tabularnewline +\hline +2,5 мин.м. & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{A0} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{A1} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{A2} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{СКО} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{Примечание} & \multicolumn{5}{c|}{}\tabularnewline +\hline +\end{longtable} + +\includegraphics[angle=25,scale=3]{174} +\end{document} diff --git a/test/tex/throttle_err4.tex b/test/tex/throttle_err4.tex new file mode 100644 index 0000000..200a78b --- /dev/null +++ b/test/tex/throttle_err4.tex @@ -0,0 +1,139 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage{geometry} +\geometry{verbose} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{multirow} +\usepackage{graphicx} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + +\makeatother + +\usepackage{babel} +\begin{document} +DrosselTable1 +\end{tabular} +\begin{tabular}{|>{\centering}p{0.11\linewidth}|>{\raggedright}p{0.05\linewidth}|>{\centering}p{0.07\paperwidth}|>{\centering}p{0.07\paperwidth}|>{\centering}m{0.07\paperheight}|>{\centering}m{0.07\paperheight}|>{\centering}p{0.07\paperheight}|>{\centering}p{0.07\paperheight}|} +\hline +\multicolumn{8}{|c|}{Сводный протокол результатов испытания двигателя ТВ7-117В №}\tabularnewline +\multicolumn{8}{|c|}{Стенд №18 ~~ ИУД СИК ~ Дата: ~~~~~~~~ г. Время: ~~~~~~~~~ +Рн = ~~~ мм рт ст~~ tвх = ~~~ $\,^{\circ}\mbox{C}$}\tabularnewline +\multicolumn{8}{|c|}{Характеристика ~~~~~~~ Акт сдачи, контрольные точки}\tabularnewline +\hline +\endhead +\multicolumn{2}{|>{\centering}m{0.11\linewidth}|}{\centering{}Составил} & \multicolumn{2}{c|}{Инженер по испытаниям} & Начальник БТК & Начальник участка УИД СИК & \multicolumn{2}{c|}{Представитель заказчика}\tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.11\linewidth}|}{\centering{}\textit{Подпись}} & \multicolumn{2}{c|}{\textit{Подпись}} & \centering{}\textit{Подпись} & \centering{}\textit{Подпись} & \multicolumn{2}{c|}{\textit{Подпись}}\tabularnewline +\multicolumn{2}{|>{\centering}p{0.11\linewidth}|}{\textit{фамилия}} & \multicolumn{2}{c|}{\textit{фамилия}} & \multicolumn{1}{c|}{\textit{фамилия}} & \textit{фамилия} & \multicolumn{2}{c|}{\textit{фамилия}}\tabularnewline +\hline +\endfoot +\multicolumn{8}{|l|}{Усреднённые значения по режимам}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & Nепр & Ce & Gт пр & nтк пр & t{*}z ст пр & Пк\tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.07\paperwidth}|}{\centering{Режим}} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{ЗМГ} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{0,4 мП} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Ne1650} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Мкр} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{МП} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Ne2500} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Взл} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{30-мин.м.} & & & & & & \tabularnewline +\hline +\multicolumn{8}{|c|}{Замеренные параметры}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & Ne & Ce & Gт & nтк & t{*}z ст & Пк\tabularnewline +\hline +\multicolumn{2}{|l|}{ЗМГ} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{2,5 мин.м.} & & & & & & \tabularnewline +\hline +\multicolumn{8}{|c|}{Оценка режимов по ТУ}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & \multirow{2}{0.07\paperwidth}{\centering{}Neпр} & \multirow{2}{0.07\paperwidth}{\centering{}не более nтк пр,\%} & \multirow{2}{0.07\paperheight}{\centering{}nст,\%} & \multirow{2}{0.07\paperheight}{\centering{}не более t{*}z ст пр,$\,^{\circ}\mbox{C}$} & \multirow{2}{0.07\paperheight}{\centering{}не более Ce г/л.с.ч.} & \multirow{2}{0.07\paperheight}{\centering{}Gт пр, кг/час}\tabularnewline +\cline{1-2} +\multicolumn{2}{|c|}{Режим} & & & & & & \tabularnewline +\hline + & ТУ & 1900 & 93,0 & 98,0$\pm$0,5 & 680 & 221 & -\tabularnewline +\hline +Мкр & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & 2100 & 94,0 & 98,0$\pm$0,5 & 705 & - & -\tabularnewline +\hline +МП & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & 2800 & 97,5 & 98,0$\pm$0,5 & 775 & 205 & -\tabularnewline +\hline +Взл & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & 3000 & 98,5 & 98,0$\pm$0,5 & 795 & - & -\tabularnewline +\hline +30-мин.м. & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline +\multicolumn{8}{|c|}{Замеренные параметры}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & \multirow{2}{0.07\paperwidth}{\centering{}Ne} & \multirow{2}{0.07\paperwidth}{\centering{}не более nтк,\%} & \multirow{2}{0.07\paperheight}{\centering{}nст,\%} & \multirow{2}{0.07\paperheight}{\centering{}не более t{*}z ст,$\,^{\circ}\mbox{C}$} & \multirow{2}{0.07\paperheight}{\centering{}не более Ce г/л.с.ч.} & \multirow{2}{0.07\paperheight}{\centering{}Gт, кг/час}\tabularnewline +\cline{1-2} +\multicolumn{2}{|c|}{Режим} & & & & & & \tabularnewline +\hline + & ТУ & - & & 80,0$\pm$0,5 & - & - & -\tabularnewline +\hline +ЗМГ & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & - & 101,0 & 98,0$\pm$0,5 & 805 & - & -\tabularnewline +\hline +2,5 мин.м. & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{A0} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{A1} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{A2} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{СКО} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{Примечание} & \multicolumn{5}{c|}{}\tabularnewline +\hline +\end{tabular} + +\includegraphics[angle=25,scale=3]{174} +\end{document} diff --git a/test/tex/throttle_err5.tex b/test/tex/throttle_err5.tex new file mode 100644 index 0000000..e05afbb --- /dev/null +++ b/test/tex/throttle_err5.tex @@ -0,0 +1,139 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage{geometry} +\geometry{verbose} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{multirow} +\usepackage{graphicx} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + +\makeatother + +\usepackage{babel} +\begin{document} +DrosselTable1 +\begin{tabular} +\begin{tabular}{|>{\centering}p{0.11\linewidth}|>{\raggedright}p{0.05\linewidth}|>{\centering}p{0.07\paperwidth}|>{\centering}p{0.07\paperwidth}|>{\centering}m{0.07\paperheight}|>{\centering}m{0.07\paperheight}|>{\centering}p{0.07\paperheight}|>{\centering}p{0.07\paperheight}|} +\hline +\multicolumn{8}{|c|}{Сводный протокол результатов испытания двигателя ТВ7-117В №}\tabularnewline +\multicolumn{8}{|c|}{Стенд №18 ~~ ИУД СИК ~ Дата: ~~~~~~~~ г. Время: ~~~~~~~~~ +Рн = ~~~ мм рт ст~~ tвх = ~~~ $\,^{\circ}\mbox{C}$}\tabularnewline +\multicolumn{8}{|c|}{Характеристика ~~~~~~~ Акт сдачи, контрольные точки}\tabularnewline +\hline +\endhead +\multicolumn{2}{|>{\centering}m{0.11\linewidth}|}{\centering{}Составил} & \multicolumn{2}{c|}{Инженер по испытаниям} & Начальник БТК & Начальник участка УИД СИК & \multicolumn{2}{c|}{Представитель заказчика}\tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.11\linewidth}|}{\centering{}\textit{Подпись}} & \multicolumn{2}{c|}{\textit{Подпись}} & \centering{}\textit{Подпись} & \centering{}\textit{Подпись} & \multicolumn{2}{c|}{\textit{Подпись}}\tabularnewline +\multicolumn{2}{|>{\centering}p{0.11\linewidth}|}{\textit{фамилия}} & \multicolumn{2}{c|}{\textit{фамилия}} & \multicolumn{1}{c|}{\textit{фамилия}} & \textit{фамилия} & \multicolumn{2}{c|}{\textit{фамилия}}\tabularnewline +\hline +\endfoot +\multicolumn{8}{|l|}{Усреднённые значения по режимам}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & Nепр & Ce & Gт пр & nтк пр & t{*}z ст пр & Пк\tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.07\paperwidth}|}{\centering{Режим}} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{ЗМГ} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{0,4 мП} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Ne1650} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Мкр} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{МП} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Ne2500} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Взл} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{30-мин.м.} & & & & & & \tabularnewline +\hline +\multicolumn{8}{|c|}{Замеренные параметры}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & Ne & Ce & Gт & nтк & t{*}z ст & Пк\tabularnewline +\hline +\multicolumn{2}{|l|}{ЗМГ} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{2,5 мин.м.} & & & & & & \tabularnewline +\hline +\multicolumn{8}{|c|}{Оценка режимов по ТУ}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & \multirow{2}{0.07\paperwidth}{\centering{}Neпр} & \multirow{2}{0.07\paperwidth}{\centering{}не более nтк пр,\%} & \multirow{2}{0.07\paperheight}{\centering{}nст,\%} & \multirow{2}{0.07\paperheight}{\centering{}не более t{*}z ст пр,$\,^{\circ}\mbox{C}$} & \multirow{2}{0.07\paperheight}{\centering{}не более Ce г/л.с.ч.} & \multirow{2}{0.07\paperheight}{\centering{}Gт пр, кг/час}\tabularnewline +\cline{1-2} +\multicolumn{2}{|c|}{Режим} & & & & & & \tabularnewline +\hline + & ТУ & 1900 & 93,0 & 98,0$\pm$0,5 & 680 & 221 & -\tabularnewline +\hline +Мкр & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & 2100 & 94,0 & 98,0$\pm$0,5 & 705 & - & -\tabularnewline +\hline +МП & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & 2800 & 97,5 & 98,0$\pm$0,5 & 775 & 205 & -\tabularnewline +\hline +Взл & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & 3000 & 98,5 & 98,0$\pm$0,5 & 795 & - & -\tabularnewline +\hline +30-мин.м. & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline +\multicolumn{8}{|c|}{Замеренные параметры}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & \multirow{2}{0.07\paperwidth}{\centering{}Ne} & \multirow{2}{0.07\paperwidth}{\centering{}не более nтк,\%} & \multirow{2}{0.07\paperheight}{\centering{}nст,\%} & \multirow{2}{0.07\paperheight}{\centering{}не более t{*}z ст,$\,^{\circ}\mbox{C}$} & \multirow{2}{0.07\paperheight}{\centering{}не более Ce г/л.с.ч.} & \multirow{2}{0.07\paperheight}{\centering{}Gт, кг/час}\tabularnewline +\cline{1-2} +\multicolumn{2}{|c|}{Режим} & & & & & & \tabularnewline +\hline + & ТУ & - & & 80,0$\pm$0,5 & - & - & -\tabularnewline +\hline +ЗМГ & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & - & 101,0 & 98,0$\pm$0,5 & 805 & - & -\tabularnewline +\hline +2,5 мин.м. & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{A0} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{A1} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{A2} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{СКО} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{Примечание} & \multicolumn{5}{c|}{}\tabularnewline +\hline +\end{tabular} + +\includegraphics[angle=25,scale=3]{174} +\end{document} diff --git a/test/tex/throttle_err6.tex b/test/tex/throttle_err6.tex new file mode 100644 index 0000000..08e7efa --- /dev/null +++ b/test/tex/throttle_err6.tex @@ -0,0 +1,140 @@ +%% LyX 2.0.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[russian]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage{geometry} +\geometry{verbose} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{multirow} +\usepackage{graphicx} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\DeclareRobustCommand{\cyrtext}{% + \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}} +\DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}} +\AtBeginDocument{\DeclareFontEncoding{T2A}{}{}} + +%% Because html converters don't know tabularnewline +\providecommand{\tabularnewline}{\\} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{multirow} + +\makeatother + +\usepackage{babel} +\begin{document} +DrosselTable1 + +\begin{tabular} +\begin{tabular}{|>{\centering}p{0.11\linewidth}|>{\raggedright}p{0.05\linewidth}|>{\centering}p{0.07\paperwidth}|>{\centering}p{0.07\paperwidth}|>{\centering}m{0.07\paperheight}|>{\centering}m{0.07\paperheight}|>{\centering}p{0.07\paperheight}|>{\centering}p{0.07\paperheight}|} +\hline +\multicolumn{8}{|c|}{Сводный протокол результатов испытания двигателя ТВ7-117В №}\tabularnewline +\multicolumn{8}{|c|}{Стенд №18 ~~ ИУД СИК ~ Дата: ~~~~~~~~ г. Время: ~~~~~~~~~ +Рн = ~~~ мм рт ст~~ tвх = ~~~ $\,^{\circ}\mbox{C}$}\tabularnewline +\multicolumn{8}{|c|}{Характеристика ~~~~~~~ Акт сдачи, контрольные точки}\tabularnewline +\hline +\endhead +\multicolumn{2}{|>{\centering}m{0.11\linewidth}|}{\centering{}Составил} & \multicolumn{2}{c|}{Инженер по испытаниям} & Начальник БТК & Начальник участка УИД СИК & \multicolumn{2}{c|}{Представитель заказчика}\tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.11\linewidth}|}{\centering{}\textit{Подпись}} & \multicolumn{2}{c|}{\textit{Подпись}} & \centering{}\textit{Подпись} & \centering{}\textit{Подпись} & \multicolumn{2}{c|}{\textit{Подпись}}\tabularnewline +\multicolumn{2}{|>{\centering}p{0.11\linewidth}|}{\textit{фамилия}} & \multicolumn{2}{c|}{\textit{фамилия}} & \multicolumn{1}{c|}{\textit{фамилия}} & \textit{фамилия} & \multicolumn{2}{c|}{\textit{фамилия}}\tabularnewline +\hline +\endfoot +\multicolumn{8}{|l|}{Усреднённые значения по режимам}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & Nепр & Ce & Gт пр & nтк пр & t{*}z ст пр & Пк\tabularnewline +\hline +\multicolumn{2}{|>{\centering}p{0.07\paperwidth}|}{\centering{Режим}} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{ЗМГ} & & \end{tabular} & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{0,4 мП} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Ne1650} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Мкр} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{МП} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Ne2500} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{Взл} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{30-мин.м.} & & & & & & \tabularnewline +\hline +\multicolumn{8}{|c|}{Замеренные параметры}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & Ne & Ce & Gт & nтк & t{*}z ст & Пк\tabularnewline +\hline +\multicolumn{2}{|l|}{ЗМГ} & & & & & & \tabularnewline +\hline +\multicolumn{2}{|l|}{2,5 мин.м.} & & & & & & \tabularnewline +\hline +\multicolumn{8}{|c|}{Оценка режимов по ТУ}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & \multirow{2}{0.07\paperwidth}{\centering{}Neпр} & \multirow{2}{0.07\paperwidth}{\centering{}не более nтк пр,\%} & \multirow{2}{0.07\paperheight}{\centering{}nст,\%} & \multirow{2}{0.07\paperheight}{\centering{}не более t{*}z ст пр,$\,^{\circ}\mbox{C}$} & \multirow{2}{0.07\paperheight}{\centering{}не более Ce г/л.с.ч.} & \multirow{2}{0.07\paperheight}{\centering{}Gт пр, кг/час}\tabularnewline +\cline{1-2} +\multicolumn{2}{|c|}{Режим} & & & & & & \tabularnewline +\hline + & ТУ & 1900 & 93,0 & 98,0$\pm$0,5 & 680 & 221 & -\tabularnewline +\hline +Мкр & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & 2100 & 94,0 & 98,0$\pm$0,5 & 705 & - & -\tabularnewline +\hline +МП & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & 2800 & 97,5 & 98,0$\pm$0,5 & 775 & 205 & -\tabularnewline +\hline +Взл & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & 3000 & 98,5 & 98,0$\pm$0,5 & 795 & - & -\tabularnewline +\hline +30-мин.м. & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline +\multicolumn{8}{|c|}{Замеренные параметры}\tabularnewline +\hline +\multicolumn{2}{|c|}{Параметр} & \multirow{2}{0.07\paperwidth}{\centering{}Ne} & \multirow{2}{0.07\paperwidth}{\centering{}не более nтк,\%} & \multirow{2}{0.07\paperheight}{\centering{}nст,\%} & \multirow{2}{0.07\paperheight}{\centering{}не более t{*}z ст,$\,^{\circ}\mbox{C}$} & \multirow{2}{0.07\paperheight}{\centering{}не более Ce г/л.с.ч.} & \multirow{2}{0.07\paperheight}{\centering{}Gт, кг/час}\tabularnewline +\cline{1-2} +\multicolumn{2}{|c|}{Режим} & & & & & & \tabularnewline +\hline + & ТУ & - & & 80,0$\pm$0,5 & - & - & -\tabularnewline +\hline +ЗМГ & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline + & ТУ & - & 101,0 & 98,0$\pm$0,5 & 805 & - & -\tabularnewline +\hline +2,5 мин.м. & Факт & & & & & & \tabularnewline +\hline + & Откл. & & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{A0} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{A1} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{A2} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{СКО} & & & & & \tabularnewline +\hline +\multicolumn{3}{|c|}{Примечание} & \multicolumn{5}{c|}{}\tabularnewline +\hline +\end{tabular} + +\includegraphics[angle=25,scale=3]{174} +\end{document} diff --git a/test/tex/txr_parse_test.c b/test/tex/txr_parse_test.c new file mode 100644 index 0000000..d817d4b --- /dev/null +++ b/test/tex/txr_parse_test.c @@ -0,0 +1,219 @@ +///@cond INTERNAL +#include +#include + +#include +#include + +#include + +#include "txr-texparser.h" + +static gchar *fnameTable = NULL; +static gchar *fnameEtalon = NULL; +static gchar *fnameWrite = NULL; + +static GOptionEntry entries[] = +{ + { "table", 't', 0, G_OPTION_ARG_FILENAME, &fnameTable, "File with a table", NULL }, + { "etalon", 'e', 0, G_OPTION_ARG_FILENAME, &fnameEtalon, "File with etalon table", NULL }, + { "write", 'w', 0, G_OPTION_ARG_FILENAME, &fnameWrite, "File to write", NULL }, + { NULL, 0, 0, 0, NULL, NULL, NULL } +}; + +int main (int argc, char *argv[]) +{ + GOptionContext *context; + GError *error = NULL; + + GError *parse_error = NULL; + gchar *contents = NULL, + *generated = NULL, + *gentext; + TXRGlob *doc = NULL; + TXRGlobIter it; + + //MamanBar *bar; + //MamanBar *bar1; + +//#if (!GLIB_CHECK_VERSION (2, 36, 0)) +// g_type_init (); +//#endif + + //bar = g_object_new (MAMAN_BAR_TYPE, NULL); + //g_printf ("type = %s\n", G_OBJECT_TYPE_NAME (bar)); + //g_object_unref (bar); + //bar1 = g_object_new (MAMAN_BAR_TYPE, NULL); + //g_object_unref (bar1); + //(void) bar1; + //return 0; + + setlocale (LC_ALL, ""); + +#if (!GLIB_CHECK_VERSION (2, 36, 0)) + g_type_init (); +#endif + + /* commandline arguments processing */ + context = g_option_context_new ("- tests LaTeX parser"); + g_option_context_add_main_entries (context, entries, NULL);//GETTEXT_PACKAGE); + // g_option_context_add_group (context, gtk_get_option_group (TRUE)); + if (!g_option_context_parse (context, &argc, &argv, &error)) + { + fprintf (stderr, "option parsing failed: %s\n", error->message); + exit (1); + } + g_option_context_free (context); + + /* read table */ + if (!fnameTable) + { + fprintf (stderr, "Specify file with a table"); + goto err; + } + /* load file contents + */ + if (!g_file_get_contents (fnameTable, &contents, NULL, &error)) + { + g_printf ("Unable to read file: %s\n", error->message); + goto err; + } + g_free (fnameTable); + + g_assert ((contents == NULL && error != NULL) + || (contents != NULL && error == NULL)); + + /* parse TeX */ + doc = txr_parse (contents, &parse_error); + + if (parse_error) + { + g_print ("Error parsing TeX document: %s\n", parse_error->message); + goto err; + } + + else + { + puts ("TeX document successfully parsed\n"); + } + + /* list all objects */ + g_printf ("list all objects\n"); + for (it = txr_glob_first (doc); it; it = txr_glob_iter_next (it)) + { + g_printf ("%s\n", G_OBJECT_TYPE_NAME (*it)); + + if ( !g_strcmp0 ("TXRTabular", G_OBJECT_TYPE_NAME (*it)) + || !g_strcmp0 ("TXRLongtable", G_OBJECT_TYPE_NAME (*it))) + { + TXRSubtable *subtable; + TXRSubtableIter st_it; + + if (!g_strcmp0 ("TXRTabular", G_OBJECT_TYPE_NAME (*it))) + subtable = txr_tabular_get_table (TXR_TABULAR (*it)); + else + subtable = txr_longtable_get_table (TXR_LONGTABLE (*it)); + + for (st_it = txr_subtable_first (subtable); st_it; st_it = txr_subtable_iter_next (st_it)) + { + TXRRow *row = TXR_ROW (*st_it); + TXRRowIter row_it; + + for (row_it = txr_row_first (row); row_it; row_it = txr_row_iter_next (row_it)) + { + TXRCell *cell = TXR_CELL (*row_it); + TXRGlob *glob = txr_cell_get_contents (cell); + TXRGlobIter glob_it; + + for (glob_it = txr_glob_first (glob); glob_it; glob_it = txr_glob_iter_next (glob_it)) + { + if (g_strcmp0 ("TXRText", G_OBJECT_TYPE_NAME (*glob_it))) + g_printf (" %s\n", G_OBJECT_TYPE_NAME (*glob_it)); + } + } + } + } + } + + g_printf ("end of objects\n\n"); + + /* walk through all objects */ + g_printf ("Walk through all objects\n"); + for (it = txr_glob_first (doc); it; it = txr_glob_iter_next (it)) + { + g_printf ("%s\n", G_OBJECT_TYPE_NAME (*it)); + + if (!g_strcmp0 ("TXRGraphics", G_OBJECT_TYPE_NAME (*it))) + { + gdouble width = 0, + height = 0; + gchar *w_unit = NULL, + *h_unit = NULL; + TXRGraphics *graphics = txr_graphics_clone (TXR_GRAPHICS (*it)); + txr_graphics_get_size (graphics, &width, &w_unit, &height, &h_unit); + gentext = txr_glob_gen ((TXRGlob *) graphics); + g_printf (" width=%f%s, height=%f%s, path=%s,\n gen()=%s\n", + width, w_unit, height, h_unit, + txr_graphics_get_path (graphics), + gentext); + g_free (gentext); + /* test txr_graphics_set_size () */ + txr_graphics_set_size (graphics, width / 2, "pt", height * 2, "dd"); + gentext = txr_glob_gen ((TXRGlob *) graphics); + g_printf ("resized gen() = %s\n", gentext); + g_free (gentext); + txr_graphics_unref (graphics); + g_free (w_unit); + g_free (h_unit); + } + } + g_printf ("end of objects\n\n"); + + /* generate plain-TeX document */ + generated = txr_glob_gen (doc); + + /* load etalon file + */ + if (fnameEtalon) + { + g_free (contents); + if (!g_file_get_contents (fnameEtalon, &contents, NULL, &error)) + { + g_printf ("Unable to read file: %s\n", error->message); + goto err; + } + } + g_free (fnameEtalon); + + if (!g_strcmp0 (contents, generated)) + g_printf ("Original and generated text are EQUAL ;-)\n"); + else + g_printf ("Original and generated text are NOT EQUAL ;-(\n"); + + g_printf ("--- Generated plain-TeX (generated) ---\n%s", generated); + + /* write to file */ + if (fnameWrite) + g_file_set_contents (fnameWrite, generated, -1, NULL); + g_free (fnameWrite); + +err: +//end: + g_free (contents); + g_free (generated); + + if (parse_error) + { + g_error_free (parse_error); + } + + if (error) + { + g_error_free (error); + } + + txr_glob_unref (doc); + + return 0; +} +///@endcond diff --git a/test/tex/unary_quotes.tex b/test/tex/unary_quotes.tex new file mode 100644 index 0000000..ef6bad7 --- /dev/null +++ b/test/tex/unary_quotes.tex @@ -0,0 +1,19 @@ +' +\begin{tabular}{c} +' \tabularnewline +\end{tabular} + +\begin{tabular}{c} +' \tabularnewline +\end{tabular} +' + +" +\begin{tabular}{c} +" \tabularnewline +\end{tabular} + +\begin{tabular}{c} +" \tabularnewline +\end{tabular} +" diff --git a/util/update-po.sh b/util/update-po.sh new file mode 100755 index 0000000..550adfa --- /dev/null +++ b/util/update-po.sh @@ -0,0 +1,48 @@ +#!/bin/sh + +## +# settings +## +PROJECT=laview-latex-struct-0 +PO_DIR_NAME=po + +SCRIPT_PATH=`readlink -f $0` +SCRIPT_DIR=${SCRIPT_PATH%/*} +PRJDIR=${SCRIPT_DIR%/*} + +C_FILELIST="${PRJDIR}/src/*.vala" +UI_FILELIST="${PRJDIR}/ui/*.glade" + +## +# code +## +xgettext --language=C --escape --package-name=$PROJECT --default-domain=$PROJECT --add-comments=/// \ + -k_ -kQ_ -kC_ -kN_ -kNC_ -kg_dgettext -kg_dcgettext \ + -kg_dngettext -kg_dpgettext -kg_dpgettext2 -kg_strip_context -F -n -o \ + $PRJDIR/$PO_DIR_NAME/source.pot $C_FILELIST + +xgettext --language=C --escape --package-name=$PROJECT --default-domain=$PROJECT --add-comments=/// \ + -k_ -kQ_ -kC_ -kN_ -kNC_ -kg_dgettext -kg_dcgettext \ + -kg_dngettext -kg_dpgettext -kg_dpgettext2 -kg_strip_context -F -n -o \ + $PRJDIR/$PO_DIR_NAME/glade.pot $C_FILELIST + +msgcat -o $PRJDIR/$PO_DIR_NAME/$PROJECT.pot --use-first $PRJDIR/$PO_DIR_NAME/source.pot $PRJDIR/$PO_DIR_NAME/glade.pot + +rm $PRJDIR/$PO_DIR_NAME/source.pot +rm $PRJDIR/$PO_DIR_NAME/glade.pot + +[ 0 != $? ] && echo "xgettext failed ;-(" && exit 1 +[ ! -e $PRJDIR/$PO_DIR_NAME/$PROJECT.pot ] && echo "No strings found ;-(" && exit 1 + +for d in $PRJDIR/$PO_DIR_NAME/*; do + [ ! -d $d ] && continue + + if [ -e $d/$PROJECT.po ]; then + echo "Merging '${d##*/}' locale" && msgmerge -F -U $d/$PROJECT.po $PRJDIR/$PO_DIR_NAME/$PROJECT.pot + [ 0 != $? ] && echo "msgmerge failed ;(" && exit 1 + else + echo "Creating '${d##*/}' locale" && msginit -l ${d##*/} -o $d/$PROJECT.po -i $PRJDIR/$PO_DIR_NAME/$PROJECT.pot + [ 0 != $? ] && echo "msginit failed ;(" && exit 1 + fi + +done diff --git a/util/valadoc.sh b/util/valadoc.sh new file mode 100755 index 0000000..b5a62b5 --- /dev/null +++ b/util/valadoc.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +EXE_PATH="`readlink -f $0`" +PRJ_PATH="${EXE_PATH%/*/*}" +OUT_PATH="$PRJ_PATH/doc/html/latex-struct" +OUT_INTERNAL_PATH="$PRJ_PATH/doc/html/latex-struct-internals" + +echo "Generating documentation..." +rm -rf "$OUT_PATH" +valadoc --no-protected -o "$OUT_PATH" -b "$PRJ_PATH/src" `find "$PRJ_PATH/src" -name "*.vapi" -or -name "*.vala"` \ + --pkg=gtk+-3.0 --pkg=gee-0.8 --pkg=gmodule-2.0 --pkg=posix +firefox "$OUT_PATH"/latex-struct/index.htm &>/dev/null + +#echo "Generating internal documentation..." +#rm -rf "$OUT_INTERNAL_PATH" +#valadoc -o "$OUT_INTERNAL_PATH" -b "$PRJ_PATH/src" `find "$PRJ_PATH/src" -name "*.vapi" -or -name "*.vala"` \ +# --pkg=gtk+-3.0 --pkg=gee-0.8 --pkg=gmodule-2.0 --pkg=posix --internal + +#firefox "$OUT_INTERNAL_PATH"/latex-struct-internals/index.htm &>/dev/null diff --git a/valadoc_env b/valadoc_env new file mode 100644 index 0000000..2e03d6c --- /dev/null +++ b/valadoc_env @@ -0,0 +1,2 @@ +BASEDIR=src +PKGS=gtk+-3.0 gee-0.8 gmodule-2.0 posix