From 90646370b5c8301e90cbc990a3b25dba11d4f35f Mon Sep 17 00:00:00 2001 From: Jeff MacKinnon Date: Mon, 17 Jun 2024 13:50:08 -0300 Subject: [PATCH] Initial Commit --- .gitignore | 1 + Makefile | 20 + README.md | 9 + make.bat | 35 + source/111136.10.rst | 447 ++++++ source/260500.rst | 80 ++ source/260521.rst | 221 +++ source/260526.rst | 115 ++ source/_static/JMKEngineering-Logo_blue.jpg | Bin 0 -> 80022 bytes source/_static/jmk_spec.sty | 216 +++ source/conf.py | 88 ++ source/frUpwork/project_spec.zip | Bin 0 -> 296635 bytes .../JMKEngineering-Logo-Small.jpg | Bin 0 -> 80022 bytes .../project_spec/JMKEngineering-Logo.jpg | Bin 0 -> 9223 bytes .../project_spec/JMKEngineering-Logo_blue.jpg | Bin 0 -> 80022 bytes .../project_spec/JMKEngineering-Logo_text.jpg | Bin 0 -> 38873 bytes .../project_spec/LICRcyr2utf8.xdy | 101 ++ .../project_spec/LICRlatin2utf8.xdy | 239 ++++ .../project_spec/project_spec/LatinRules.xdy | 607 ++++++++ .../project_spec/project_spec/Makefile | 81 ++ .../project_spec/project_spec/conf.py | 76 + .../project_spec/project_spec/document.aux | 71 + .../project_spec/project_spec/document.idx | 1 + .../project_spec/project_spec/document.log | 1218 +++++++++++++++++ .../project_spec/project_spec/document.out | 22 + .../project_spec/project_spec/document.pdf | Bin 0 -> 135855 bytes .../project_spec/project_spec/document.tex | 562 ++++++++ .../project_spec/project_spec/document.toc | 23 + .../project_spec/project_spec/jmk_spec.sty | 178 +++ .../project_spec/project_spec/latexmkjarc | 22 + .../project_spec/project_spec/latexmkrc | 9 + .../project_spec/project_spec/make.bat | 31 + .../project_spec/project_spec/python.ist | 16 + .../project_spec/project_spec/sphinx.sty | 351 +++++ .../project_spec/project_spec/sphinx.xdy | 230 ++++ .../project_spec/sphinxhighlight.sty | 107 ++ .../project_spec/project_spec/sphinxhowto.cls | 102 ++ .../project_spec/sphinxlatexadmonitions.sty | 148 ++ .../project_spec/sphinxlatexcontainers.sty | 22 + .../project_spec/sphinxlatexgraphics.sty | 122 ++ .../project_spec/sphinxlatexindbibtoc.sty | 69 + .../project_spec/sphinxlatexlists.sty | 97 ++ .../project_spec/sphinxlatexliterals.sty | 804 +++++++++++ .../project_spec/sphinxlatexnumfig.sty | 122 ++ .../project_spec/sphinxlatexobjects.sty | 245 ++++ .../project_spec/sphinxlatexshadowbox.sty | 100 ++ .../project_spec/sphinxlatexstyleheadings.sty | 83 ++ .../project_spec/sphinxlatexstylepage.sty | 79 ++ .../project_spec/sphinxlatexstyletext.sty | 134 ++ .../project_spec/sphinxlatextables.sty | 481 +++++++ .../project_spec/sphinxmanual.cls | 128 ++ .../project_spec/sphinxmessages.sty | 21 + .../project_spec/sphinxoptionsgeometry.sty | 54 + .../project_spec/sphinxoptionshyperref.sty | 35 + .../project_spec/sphinxpackagecyrillic.sty | 55 + .../project_spec/sphinxpackagefootnote.sty | 396 ++++++ source/frontmatter.rst | 4 + source/index.rst | 31 + 58 files changed, 8509 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 README.md create mode 100644 make.bat create mode 100644 source/111136.10.rst create mode 100644 source/260500.rst create mode 100644 source/260521.rst create mode 100644 source/260526.rst create mode 100644 source/_static/JMKEngineering-Logo_blue.jpg create mode 100644 source/_static/jmk_spec.sty create mode 100644 source/conf.py create mode 100644 source/frUpwork/project_spec.zip create mode 100644 source/frUpwork/project_spec/project_spec/JMKEngineering-Logo-Small.jpg create mode 100644 source/frUpwork/project_spec/project_spec/JMKEngineering-Logo.jpg create mode 100644 source/frUpwork/project_spec/project_spec/JMKEngineering-Logo_blue.jpg create mode 100644 source/frUpwork/project_spec/project_spec/JMKEngineering-Logo_text.jpg create mode 100644 source/frUpwork/project_spec/project_spec/LICRcyr2utf8.xdy create mode 100644 source/frUpwork/project_spec/project_spec/LICRlatin2utf8.xdy create mode 100644 source/frUpwork/project_spec/project_spec/LatinRules.xdy create mode 100644 source/frUpwork/project_spec/project_spec/Makefile create mode 100644 source/frUpwork/project_spec/project_spec/conf.py create mode 100644 source/frUpwork/project_spec/project_spec/document.aux create mode 100644 source/frUpwork/project_spec/project_spec/document.idx create mode 100644 source/frUpwork/project_spec/project_spec/document.log create mode 100644 source/frUpwork/project_spec/project_spec/document.out create mode 100644 source/frUpwork/project_spec/project_spec/document.pdf create mode 100644 source/frUpwork/project_spec/project_spec/document.tex create mode 100644 source/frUpwork/project_spec/project_spec/document.toc create mode 100644 source/frUpwork/project_spec/project_spec/jmk_spec.sty create mode 100644 source/frUpwork/project_spec/project_spec/latexmkjarc create mode 100644 source/frUpwork/project_spec/project_spec/latexmkrc create mode 100644 source/frUpwork/project_spec/project_spec/make.bat create mode 100644 source/frUpwork/project_spec/project_spec/python.ist create mode 100644 source/frUpwork/project_spec/project_spec/sphinx.sty create mode 100644 source/frUpwork/project_spec/project_spec/sphinx.xdy create mode 100644 source/frUpwork/project_spec/project_spec/sphinxhighlight.sty create mode 100644 source/frUpwork/project_spec/project_spec/sphinxhowto.cls create mode 100644 source/frUpwork/project_spec/project_spec/sphinxlatexadmonitions.sty create mode 100644 source/frUpwork/project_spec/project_spec/sphinxlatexcontainers.sty create mode 100644 source/frUpwork/project_spec/project_spec/sphinxlatexgraphics.sty create mode 100644 source/frUpwork/project_spec/project_spec/sphinxlatexindbibtoc.sty create mode 100644 source/frUpwork/project_spec/project_spec/sphinxlatexlists.sty create mode 100644 source/frUpwork/project_spec/project_spec/sphinxlatexliterals.sty create mode 100644 source/frUpwork/project_spec/project_spec/sphinxlatexnumfig.sty create mode 100644 source/frUpwork/project_spec/project_spec/sphinxlatexobjects.sty create mode 100644 source/frUpwork/project_spec/project_spec/sphinxlatexshadowbox.sty create mode 100644 source/frUpwork/project_spec/project_spec/sphinxlatexstyleheadings.sty create mode 100644 source/frUpwork/project_spec/project_spec/sphinxlatexstylepage.sty create mode 100644 source/frUpwork/project_spec/project_spec/sphinxlatexstyletext.sty create mode 100644 source/frUpwork/project_spec/project_spec/sphinxlatextables.sty create mode 100644 source/frUpwork/project_spec/project_spec/sphinxmanual.cls create mode 100644 source/frUpwork/project_spec/project_spec/sphinxmessages.sty create mode 100644 source/frUpwork/project_spec/project_spec/sphinxoptionsgeometry.sty create mode 100644 source/frUpwork/project_spec/project_spec/sphinxoptionshyperref.sty create mode 100644 source/frUpwork/project_spec/project_spec/sphinxpackagecyrillic.sty create mode 100644 source/frUpwork/project_spec/project_spec/sphinxpackagefootnote.sty create mode 100644 source/frontmatter.rst create mode 100644 source/index.rst diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..30d388a --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +build* \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..d0c3cbf --- /dev/null +++ b/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = source +BUILDDIR = build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/README.md b/README.md new file mode 100644 index 0000000..b9ca900 --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# JMK Engineering Report Template + +This is the template Sphinx install to produce both mini-sites and PDFs (using the LATEX builder) for publishing. + +The source folder includes the minimum files. The ``conf.py`` file should be used to update the project specific information. + +In future releases there will be template reports included that will act as the starting point for the body, etc. + +To build the report simply use the: ``./make.bat latexpdf`` command. \ No newline at end of file diff --git a/make.bat b/make.bat new file mode 100644 index 0000000..dc1312a --- /dev/null +++ b/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=source +set BUILDDIR=build + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.https://www.sphinx-doc.org/ + exit /b 1 +) + +if "%1" == "" goto help + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd diff --git a/source/111136.10.rst b/source/111136.10.rst new file mode 100644 index 0000000..5d9ec75 --- /dev/null +++ b/source/111136.10.rst @@ -0,0 +1,447 @@ +.. ==== -> Heading 1 +.. ---- -> Heading 2 +.. ~~~~ -> Heading 3 +.. ^^^^ -> Heading 4 +.. """" -> Heading 5 + +.. Part 1 Replacements + +.. |CodeEdition| replace:: Latest Edition + +.. |L2MINPOWER| replace:: 10kW +.. |L3MINPOWER| replace:: 100kW +.. |installer warranty| replace:: 2 years + +.. minimum OCPP version + +.. |verOCPP| replace:: 1.6 + +.. + SPEC NOTE: DESCRIPTION: This Section specifies Level 1, Level 2, and Level 3 (DCFC) vehicle charging equipment station(s). It contains performance and prescriptive criteria, options for the specifier's consideration, installation, and verification requirements. + SPEC NOTE: SUSTAINABILITY: This Section outlines the requirements to integrate sustainability aspects such as low carbon, water, materials, plastics, and construction waste disposal into projects. Refer to the sustainability commitments laid out in the following documents: The Greening Government Strategy, the Ocean Plastics Charter - Government of Canada actions on plastic waste in federal operations, and PSPC's Departmental Sustainable Development Strategy: 2020-2023. + SPEC NOTE: Examples of regional Electric Vehicle Charging Station standards and strategies: British Columbia: http://blogs.ubc.ca/tipslab/files/2018/08/TIPS_DGS_WEB.pdf and https://vancouver.ca/files/cov/2019-006-electric-vehicle-charging-for-buildings.pdf Alberta: https://www.calgary.ca/transportation/tp/strategy/electric-vehicle-strategy.html. + +11 11 36.10 - Electric Vehicle Charging Units +================================================ + +PART 1 - GENERAL +----------------------- + +1.1 Related Requirements +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. SPEC NOTE: List other Sections that are referenced in this Section that contain specific information that the reader might expect to find in this Section, but is specified elsewhere. Typically, this list does not include Division 00 or Division 01 Sections. + +A. Section 26 05 00 - Common Work Results for Electrical +#. Section 26 05 32 - Outlet Boxes, Conduit Boxes and Fittings +#. Section 26 12 16 - Dry Type, Medium Voltage Transformers +#. Section 26 12 16.01 - Dry Type Transformers Up To 600 V Primary +#. Section 26 12 19 - Pad Mounted, Liquid Filled, Medium Voltage Transformers + +1.2 ABBREVIATIONS +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. DCFC: Direct Current Fast Charging. +#. EV: Electric vehicle. +#. EVSE: Electric Vehicle Supply Equipment. This includes EV charging equipment, grounded conductors, ungrounded conductors, equipment grounding conductors, EV cables, attachment plugs, and other fittings, devices, power outlets, or components installed for transferring power and communication between the supply wiring and the EV. + +1.3 DEFINITIONS +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. EV Cable: Cable containing the conductor(s) to connect the EV power to the EV, providing power and communication during energy transfer. +#. EV Capable: Parking space(s) that include nearby termination of conduit to a power source, electrical panel designed with sufficient capacity for simultaneous charging of EV in identified, planned EV parking spaces. +#. EV Charger or EV Charging Equipment: Refer to EVSE. +#. EV Connector: Conductive device that, when electrically coupled to an EV inlet, establishes a connection to the EV for power transfer and information exchange. This device is part of the EV coupler. +#. EV Coupler: Device mating the EV inlet and EV connector. +#. EV Inlet: Device in the vehicle into which the EV connector is inserted. +#. EV Make Ready: Parking space(s) that include(s) nearby termination of raceway (conduit) to a power source, electrical panel designed with sufficient capacity for simultaneous charging of all EV in identified, planned EV parking spaces. Electrical wiring to be pulled through raceway (conduit) when charging station is installed. + + + +1.4 REFERENCE STANDARDS +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. SPEC NOTE: List standards referenced within this Section for a specific project. Other helpful standards include NEC Article 625, Electric Vehicle Power Transfer System; and ISO 15118 Road vehicles -- Vehicle to Grid Communication Interface, and CSA C22.2 No.107.1 Power Conversion Equipment. + +A. All reference standards are the latest public edition unless specified otherwise. +B. American National Standards Institute (ANSI)/National Electrical Manufacturers Association (NEMA): + + 1. ANSI/NEMA WD 6, Wiring Devices - Dimensional Specifications + #. ANSI/NEMA 250, Enclosures for Electrical Equipment (1000 Volts Maximum) + +#. CSA Group (CSA): + + 1. CSA C22.1, Canadian Electrical Code, Part I |CodeEdition|, Safety Standard for Electrical Installations + #. CSA C22.2 No. 280, Electric Vehicle Supply Equipment + #. CAN/CSA-C22.2 No. 282, Plugs, Receptacles, and Couplers for Electric Vehicles + +#. International Organization for Standardization (ISO): + + 1. ISO/IEC 14443-2, Cards and Security Devices for Personal Identification - Contactless Proximity Objects - Part 2: Radio Frequency Power and Signal Interface + #. ISO/IEC 15693-1, Cards and Security Devices for Personal Identification - Contactless Vicinity Objects - Part 1: Physical Characteristics + +#. SAE International (SAE): + + 1. SAE J1772, SAE Electric Vehicle and Plug in Hybrid Electric Vehicle Conductive Charge Coupler + +#. Underwriter's Laboratories (UL): + + 1. UL 1998, Standard for Software in Programmable Components + #. UL 2231-1 Ed. 2, Personnel Protection Systems for Electric Vehicle (EV) Supply Circuits; Part 1: General Requirements + #. UL 2231-2 Ed. 2, Personnel Protection Systems for Electric Vehicle (EV) Supply Circuits: Particular Requirements for Protection Devices for Use in Charging Systems + #. UL 2251 Ed. 4, Standard for Plugs, Receptacles, and Couplers for Electric Vehicles + #. UL 2594 Ed. 2, Standard for Electric Vehicle Supply Equipment + +1.5 SECTION INCLUDES +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. SPEC NOTE: Indicate primary features and functions of charging units. Indicate applicable configurations and verify availability of chargers specified. + +A. Section includes, but is not limited to: + + 1. Wall, Pole, Pedestal-mounted electric vehicle charging stations, in single and multiple station configuration. + + 1. Auto-coil cable retraction. + #. Non-motorized wrapped cable. + #. Payment module for charging stations. + +.. #. [Testing devices.] + +.. SPEC NOTE: Alternatively, the power output (e.g., 7 kW) could be stated instead of “Time to Full Charge”. + + 3. Level 2 Electric Vehicle Charging Station: 208 Volt or 240 Volt AC, using an outlet equivalent those used for typical household appliances. + + 1. Minimum Power Output at system voltage: |L2MINPOWER| + +.. SPEC NOTE: Alternatively, the power output (e.g., 300 kW) could be stated instead of “Time to Full Charge”. + + 4. Level 3 DCFC Electric Vehicle Charging Station (DC Fast Charge): 208 Volt or 240 Volt, charging station installation is required. + + 1. Minimum Power Output at system voltage: |L3MINPOWER| + +1.6 PRODUCTS SUPPLIED BUT NOT INSTALLED UNDER THIS SECTION +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Level 1: 120V AC outlet. +B. Level 2: 208V or 240V AC power supply. + +.. SPEC NOTE: A transformer might not be required for 600V charging equipment, although equipment at this voltage might be uncommon. + +C. Level 3 DCFC: 480V 3 phase power supply and DCFC power supply. + +1.7 ADMINISTRATIVE REQUIREMENTS +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Coordination: + + 1. Coordinate with Section 03 30 00 - Cast-in-Place Concrete for items embedded in concrete slabs and electrical conduit cast in concrete. + 2. Coordinate with Section 05 50 00 - Metal Fabrications for steel bollards. + +.. SPEC NOTE: A sign might include a No Parking symbol, an EV Charger symbol, and the text “EXCEPT WHILE CHARGING/EXCEPTÉ EN RECHARGE”. Refer to local provincial/territorial regulations for sign requirements, such as Ontario Regulation 462/20: Signs. + + 3. Coordinate with Section 10 14 00 - Signage for exterior pole-mounted signs. + 4. Coordinate with Section 26 05 00 - Common Work Results for Electrical for conduit. + 5. Coordinate with Section 26 05 32 - Outlet Boxes, Conduit Boxes and Fittings. + 6. Coordinate with Section 26 12 16 - Dry Type, Medium Voltage Transformers, 26 12 16.01 - Dry Type Transformers Up To 600 V Primary and/or 26 12 19 - Pad Mounted, Liquid Filled, Medium Voltage Transformers for transformer(s) for Level 3 DCFC EVSE applications. + 7. Coordinate with Section 32 17 23 - Pavement Markings for line markings within reach of EV cables. + +.. SPEC NOTE: A pre-installation meeting may not be required for simple installations. + +B. Pre-Installation Meetings: Conduct a meeting in accordance with Section 01 31 19 - Project Meetings one week before pouring concrete and one week before installing the vehicle charging equipment, with Contractor, applicable Subcontractors and Owner's Representative to: + + 1. Verify Project requirements. + #. Review installation methods and verify substrate conditions where the components will be installed. + #. Discuss coordination of related construction with other Subcontractors. + #. Review manufacturer's written installation instructions and warranty requirements. + +1.8 ACTION AND INFORMATION SUBMITTALS +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Submit in accordance with Section 01 33 00 - Submittal Procedures. +B. Product Data: Submit manufacturer's Product literature and data sheets for electric vehicle charging station[s]. Include connection type, Product characteristics, performance criteria, dimensions, finishes, and limitations. + + 1. Include manufacturer's recommendations for continuous operations: + + 1. Ambient temperature operating range. + #. Maximum altitude. + + 2. Submit sample of warranty documents for review. + +C. Shop Drawings: Indicate Project layout on drawings including the following: + + 1. Plans, elevations, sections, [[mounting] [attachment]] details [and wall blocking requirements]. Make drawing to scale, indicating proposed locations, dimensions, required clearances, assembly, and locations of site connections. + 2. Wiring diagrams detailing power, signal and control systems. Diagrams should clearly differentiate between factory-installed wiring and site-installed wiring, and between components provided by the EV charging station manufacturer and those provided by work of other Sections. + + 1. Location of [circuit breaker] [switchboard panel] [disconnect switch]. + +.. SPEC NOTE: Include the following sentence for Level 2 or Level 3 (DCFC) installations with multiple chargers. + + 2. Include schematic for: + 3. Time allocation. + #. Power allocation: + #. Load switching. + #. Load sharing. + #. Load management without monitoring. + #. Load management with EVSE monitoring. + #. Load management with exterior monitoring. + #. Load management with monitoring at EVSE and external monitoring. + + 3. Communication services [including wireless communications equipment]. + +D. Certificates: + +.. SPEC NOTE: Specifier to verify that permitting requirements are adequately identified in the General Conditions of the Contract or in Division 01. + + 1. When requested, submit manufacturer's certificates certifying that materials comply with specified performance characteristics and physical properties. + #. When requested, submit installer's qualifications. + +E. Manufacturer's Instructions: Submit manufacturer's installation instructions for vehicle charging equipment, [pedestal and anchors,] [communications gateway,] and cable management. Include recommendations for software configuration settings. +F. Manufacturer's Site Services: Submit electronic copy of manufacturer's site reports. +#. Sustainable Design Submittals: Submit in accordance with Section [01 35 21 - LEED Requirements]. + + 1. Sourcing of Raw Materials: For the entire Project provide a minimum of 20 Products from a minimum of 5 manufacturers with responsible extraction practices as follows: + + 1. Submit evidence that a minimum of 25% of permanently installed Products by cost meet [[LEED] [sustainability]] program criteria (extended producer responsibility, bio-based materials, materials reuse, recycled content). Include location factor for all Products. + + 2. Building Product Disclosure and Optimization, Material Ingredients: Provide a minimum of 20 different permanently installed Products from a minimum of 5 different manufacturers that use programs acceptable to [[LEED] [sustainability]] program to demonstrate the chemical inventory of the Product to at least 0.1% (1 000 ppm). + + 1. Submit evidence using reporting criteria acceptable to [[LEED] [sustainability]] program. + +1.9 CLOSEOUT SUBMITTALS +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Submit in accordance with Section 01 78 00 - Closeout Submittals. +B. Operation and Maintenance Data: Submit operation and maintenance data for electric vehicle charging station equipment and incorporate into manual. + + 1. Include parts catalogue with a complete list of replacement parts, including equipment description and identifying numbers. + #. Include contact information for local parts Suppliers and local technician service company authorized by the manufacturer. + +C. Warranty Documentation: Submit manufacturer's [and installer's] warranty. +D. Record Documentation: Record actual locations of equipment, names of equipment manufacturers and Suppliers[, concealed [and underground] conduits and boxes] [, concealed [and underground] devices] [, and locations of disconnects]. + +1.10 QUALITY ASSURANCE +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Qualifications: + + 1. Manufacturer Qualifications: + +.. SPEC NOTE: Manufacturers with fewer years' experience might encourage emerging companies. + + 1. Company with a minimum of [[five] [______]] years of documented experience in manufacturing EV Level [[1] [2] [3]] charging systems, of the type required for this Project. + #. Single Source Responsibility: Provide all EV charging components and accessories from a single manufacturer [for each Level of charging equipment]. + + 2. Installer Qualifications: + + 1. Licensed master electrician at the [province] [territory] where work will be performed. + +.. SPEC NOTE: Delete the following sentence for Level 1 installations. Keep for Level 2 or Level 3 (DCFC) installations. + + 2. Company or person experienced in performing work of this Section and specializing in installation of work similar to that required for this Project, approved by or acceptable to manufacturer. + +B. Certifications: A Product or system designated with a “UL” mark will only be considered where local authorities having jurisdiction (AHJ) have reviewed and accepted the Product or system in writing. + +1.11 DELIVERY, STORAGE, AND HANDLING +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Perform in accordance with Section 01 61 00 - Common Product Requirements. +B. Storage and Handling Requirements: + + 1. Store materials [off ground] [indoors] in clean, dry, well-ventilated area and in accordance with manufacturer's recommendations. + 2. Store and protect electric vehicle charging equipment components [from nicks and scratches] until ready for installation. + +1.12 WARRANTY +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Manufacturer's Warranty: Manufacturer's standard warranty covering materials and manufacturing quality. + +.. SPEC NOTE: Verify types of warranty available before specifying additional requirements. + + 1. Installer's Warranty: |installer warranty|. + + +PART 2 - PRODUCTS +-------------------- + +2.1 REGULATORY REQUIREMENTS +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Electrical Equipment: Certified by an agency accredited by the Standards Council of Canada (SCC), displaying a permanent label or mark from the certification agency that is acceptable to the AHJ. +B. Electrical Supply Equipment: Complying with CSA C22.2 No.280 (UL 2594). +C. Plugs, Receptacles, and Couplers: Complying with CAN/CSA-C22.2 No.282 (UL 2251). + +2.2 SUSTAINABILITY CHARACTERISTICS +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. SPEC NOTE: SUSTAINABILITY: Refer to USGBC LEED v4 or v4.1 for EV charging station requirements. Energy Star certification may not be available to Level 3 (DCFC) chargers. + +A. Electric Vehicle Charging Equipment, Level 2: ENERGY STAR certified. + + +.. Performance Criteria +.. |L2PowerSupply| replace:: [Direct hardwired connection] [Capable of plugging into ANSI/NEMA WD-6, [6-50R] receptacle (welder outlet)] +.. |charger cable length| replace:: 7620mm +.. |coupler type| replace:: [SAE J1772] [CCS type 1] [CSS type 2] +.. |locking mechanism| replace:: with locking mechanism +.. |installation location| replace:: [Interior] [Exterior] installation. [Resistant to rain, snow, and ice.]\ +.. |operational temperatures| replace:: -17°C to 50°C +.. |operational humidity| replace:: 95% +.. The unit rating may be "unrated" if it is indoors. +.. |unit enclosure rating| replace:: Type 3 rated + + +2.3 PERFORMANCE CRITERIA +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. SPEC NOTE: CSA C22.2 No. 280 is equivalent to UL 2594, and CAN/CSA-C22.2 No. 282 is equivalent to UL 2251. CSA-C22.2 No.280 includes requirements for EV cord sets, cord connecting devices, and cord reels. +.. SPEC NOTE: SUSTAINABILITY: For federal government projects, refer to the Greening Government Strategy: A Government of Canada Directive; Greening Government Fleets, 2018; and Technical Reference for Office Building Design, 2017. For DND projects, refer to the DND Greening Building Directive, 2021 and DAES Technical Requirements Annex to DCPD SOW for EV charging station requirements and for future charging station requirements. + +.. SPEC NOTE: Safety features may include over current, GFCI protection, missing ground connection, and brownout and blackout detection. Verify that safety features are available before including the following. + + +A. Design and install EVSE to: SAE J1772, UL 1998, UL 2231-1, UL 2231-2, CSA C22.2 No.280, CAN/CSA-C22.2 No. 282, local codes and regulations. +B. Provide electric vehicle charging station components to form a complete operating system meeting the following performance criteria. + + 1. EVSE Unit: + + 1. Vertical, [wall] [pole] [floor] [ground] mounted [fully integrated pedestal mounted unit with base] [, single or dual] [, with LED status indicators]. + #. [Unit capable of tracking kWh usage internally (duration/capacity).] + + 3. Power Delivery: + + 1. Capable of providing up to [[30] [40] [______]] A at [208-240] VAC, single phase, 60 Hz. L1 L2 Ground. + #. Capable of operating in “simulated” Level 1 mode. + + 4. Power Supply: |L2PowerSupply|. Outlet supplied by work of other Sections in this Contract. + 5. Equipment: Universal SAE J1772 power cable. Cable: Non-motorized Self-retracting. + + 1. |charger cable length| nominal long cable with manufacturer's standard cable storage hanger. + +.. SPEC NOTE: Delete the following if not required. + + 2. On disconnection from vehicle, cable retracts into EVSE automatically. + #. Cable is released for pulling to vehicle inlet; pull under 22 N of force. + #. Coupler: |coupler type|, |locking mechanism|. + + 6. Safety Features: + + 1. Over current disconnect. + #. Ground Fault Circuit Interrupter (GFCI): Internal. + #. Surge protection. + #. Visible and fully accessible disconnect switch close to the Level 3 DCFC EVSE. + + 7. Electromagnetic Compliance (EMC): to Canadian ICES-00 + 8. Environmental: + + + 1. Installation Location: |installation location| + #. Operational temperatures: |operational temperatures| + #. Operational Humidity: Up to |operational humidity| non-condensing. + #. Unit Enclosure: ANSI/NEMA 250, |unit enclosure rating|. + +.. SPECNOTE: This is a nice to have, I don't know if it needs to be included in all specifications. + + 9. Control Module for Charging Station: + + 1. State-of-Charge lighted indicators showing that the SAE J1772 is properly connected and the vehicle is charging. + #. Light displaying if there is a problem with the connection. + + 10. The EVSE shall be certified with the Open Charge Alliance to OCPP version |verOCPP|. + +.. SPEC NOTE: Consider integration with in-place revenue collection, credit or debit card, pre-paid cards, and secure access (gate and ticket) systems. Encrypted PCI compliant credit card service. Payment and usage data may be transmitted through a number of communication and network options requiring minimal customization during installation. Consider including fleet cards for tracking fleet consumption. + +.. + 11. Accessories: + + 1. Communication Modules: [Modbus TCP/IP] [Serial (RS-232)]. + #. Communication to remote gateway or payment module. + #. Detached Gateway or Payment Module: [No onboard payment module] [Onboard Gateway with cellular] [Onboard Gateway with Ethernet] [Onboard payment module with cellular] [Onboard payment module with Ethernet] [, with Near Field Communication in accordance with [______] protocol standard for devices]. + #. Payment Module for Charging Station: Keypad and insertion or tap style credit and debit card reader to ISO 14443-2 and ISO 15693-1. + +2.4 ACCEPTABLE PRODUCTS +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Autel +#. ABB +#. Previously approved alternate. + +PART 3 - EXECUTION +------------------------- + +3.1 EXAMINATION +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Verification of Conditions: Verify that conditions of substrate and power supply previously installed are acceptable for electric vehicle charging station installation in accordance with manufacturer's instructions. + + 1. Verify that required utilities are properly sized and in correct location. + #. Review substrate conditions and atmospheric conditions. Inform Owner's Representative of unacceptable conditions immediately upon discovery. + #. Proceed with installation only after unacceptable conditions have been remedied. + +3.2 INSTALLATION +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Install EVSE and components in accordance with local codes, regulations, CSA C22.1, Section 86, and manufacturer's installation instructions. +#. Installation Tolerances: Level and plumb within 0.5°. + +3.3 SITE QUALITY CONTROL +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. SPEC NOTE: Confirmation that manufacturer's offer this service must be made before issuing for bid/tender. Manufacturer's site services are not commonly required for Level 1 charging stations. + +A. Manufacturer Services: + + 1. Have manufacturer of Products supplied under this Section review installation of its Products and submit written reports, in acceptable format, to verify installation in accordance with manufacturer's instructions compliance of work with Contract. + 2. Schedule site visits as follows: + + 1. After delivery and storage of Products, and when preparatory Work or other work on which work of this Section depends is complete, but before installation begins. + +.. SPEC NOTE: Consider the complexity of the EV charging station installation when specifying frequency of visits. + + 2. At least once during progress of the work. + 3. Upon completion of the Work. + + 3. Obtain reports within three days of review, and submit immediately to Owner's Representative. + +3.4 SYSTEMS STARTUP +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. EVSE tester for electrician: Indicator lights indicate: + + 1. Proper connection. + 2. Charger is providing power. + 3. Voltage level and current level tests. + +.. SPEC NOTE: Pilot function is single-wire communication between EV and EV Charger, which verifies that power delivery only occurs when a connection is established. + + 4. Pilot is functioning. + 5. Proximity switch is functioning. + 6. Trip tests GFCI. + +B. Perform tests for each electric vehicle charging station: + + 1. EV charging station unit self-test. + #. Test for proper EV charging station operation and charging rate. + #. Verify operation and communication of payment module. + +3.5 CLEANING +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Progress Cleaning: Clean in accordance with Section 01 74 00 - Cleaning. +#. Final Cleaning: Upon completion remove surplus materials, rubbish, tools, and equipment in accordance with Section 01 74 00 - Cleaning. + + 1. Remove protective coverings from finished surfaces and components. + #. Clean surfaces and components ready for final review. + +3.6 TRAINING +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Perform training by manufacturer's authorized representative. +#. Train Owner's maintenance personnel to adjust, operate, and manage charging station software, to establish access and pricing policies for Owner's electric vehicle charging station program, and to perform periodic maintenance to electric vehicle charging stations. + +3.7 PROTECTION +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Protect installed Products and components from damage during construction. + + +**END OF SECTION** \ No newline at end of file diff --git a/source/260500.rst b/source/260500.rst new file mode 100644 index 0000000..f7540f8 --- /dev/null +++ b/source/260500.rst @@ -0,0 +1,80 @@ +.. ==== -> Heading 1 +.. ---- -> Heading 2 +.. ~~~~ -> Heading 3 +.. ^^^^ -> Heading 4 +.. """" -> Heading 5 + +.. |CODE| replace:: NEC + + +26 05 00 - GENERAL +========================================= + +PART 1 - GENERAL +----------------------- + +1.1 Work Included +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + A. Labor, + +1.2 Related Work +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + A. Section 26 05 10 + #. Section 26 05 19 + #. Section 26 05 70 + +1.3 Qualifications +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + A. Material furnished under this specification shall be installed by qualified installers meeting requirements specified in Section 26 05 10. + +1.4 Submittals +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + A. Refer to Section 26 05 10 + +PART 2 - PRODUCTS +-------------------- + +2.1 Grounding System +~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. General + + #. Grounding conductors shall be sized as shown on the Drawings or in accordance with |CODE|, whichever is larger. + #. Components of the grounding electrode system shall be manufactured in accordance with UL 467 - Standard for Safety Grounding and Bonding Equipment. + + + +PART 3 - EXECUTION +------------------------- + +3.1 Workmanship +~~~~~~~~~~~~~~~~~~~~~~~ + +A. All work in this Section shall conform to the codes and standards specified in specified in Section 26 05 00 subsection 3.3, Workmanship. + +3.2 Installation +~~~~~~~~~~~~~~~~~~~~~~~ + +A. Grounding System: + + 1. Install all products per Section 26 05 00 – General Electric subsection 3.6, Installation. + 2. Each nonmetallic conduit shall contain a code sized grounding conductor. + 3. The system neutral conductor and all equipment and devices required to be grounded by the National Electrical Code shall be grounded in a manner that satisfies the requirements of the National Code. + +3.3 Field Quality Control +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + A. Inspections: + + 1. Owner’s representative shall inspect ground system prior to cover. + + B. Testing + + 1. Complete applicable test forms if provided in Section 26 05 70 – Factory and Field Testing. If form is not provided, furnish results on vendor standard testing forms with signature of tester, date of test and test results. + + +**END OF SECTION** \ No newline at end of file diff --git a/source/260521.rst b/source/260521.rst new file mode 100644 index 0000000..2a340dc --- /dev/null +++ b/source/260521.rst @@ -0,0 +1,221 @@ +.. ==== -> Heading 1 +.. ---- -> Heading 2 +.. ~~~~ -> Heading 3 +.. ^^^^ -> Heading 4 +.. """" -> Heading 5 + +.. |CODE| replace:: CEC + +.. + SPEC NOTE: DESCRIPTION: Specifies copper, ACM alloy and aluminum conductors rated from 0-1000 Volts and the most common electrical insulation and covering materials. Does not include fire rated building wiring to ULC S139 and CSA C83, marine, hazardous, mining, instrumentation, communication and fire alarm wiring. + SPEC NOTE: Aluminum wiring is more commonly recycled and remanufactured than copper wiring. Projects including significant amounts of new or redundant aluminum wiring should have particular notes for the preference of recycling. Building renovations can often include redundant wiring and particular effort should be made to have abandoned wiring removed and recycled. This can also remove quantities of various potential toxic electrical insulation materials from the site. + SPEC NOTE: For Federal Government projects refer to departmental guidelines for conductor material selection for branch circuit wiring. + +26 05 21 - Wires and Cables (0-1000 V) +========================================= + +PART 1 - GENERAL +----------------------- + +1.1 Related Requirements +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. SPEC NOTE: Edit the following paragraphs to list documents or Sections with specific information that the reader might expect to find in this Section, but is specified elsewhere. Do not include Division 00 or Division 01 Sections in this listing. + +A. Section [______]. +#. Section 26 05 00 - Common Work Results for Electrical +#. Section 26 05 20 - Wire and Box Connectors - (0-1000 V) +#. Section 26 05 34 - Conduits, Conduit Fastenings and Conduit Fittings +#. Section 26 05 36 - Cable Trays for Electrical Systems +#. Section 33 71 73.02 - Underground Electrical Service + +1.2 REFERENCE STANDARDS +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. SPEC NOTE: Section 26 05 00 - Common Work Results For Electrical, clause 1.2 REFERENCED STANDARDS, requires compliance to CSA C22.1 and CSA C22.2 standards. These standards include all the CSA testing and cable standards and have not been repeated in this section. Therefore the only standards not included in CSA C22.1 and CSA C22.2 need to be referenced here. +.. SPEC NOTE: Edit the following for the specific project. + +A. [______]. +#. [______] + +1.3 PRODUCT DATA +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Provide product data in accordance with Section 01 33 00 - Submittal Procedures. + +1.4 DELIVERY, STORAGE AND HANDLING +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Packaging Waste Management: remove for reuse [and return] [by manufacturer] of [pallets] [crates] [padding] [and] [packaging materials] in accordance with Section [01 74 19 - Waste Management and Disposal]. + + +PART 2 - PRODUCTS +-------------------- + +2.1 BUILDING WIRES +~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. SPEC NOTE: CSA C22.1 CEC (Canadian Electrical Code) table D1 indicates details of cable types and recommended applications. +.. SPEC NOTE: Where cables assemblies are specified to have a PVC overall covering it may be required to comply to the Vertical Tray Fire Test of CSA C22.2 No.0.3 for the applicable Building Code classification of the project as it relates to the actual installed location. + +A. Conductors: stranded for 10 AWG and larger. Minimum size: 12 AWG. +#. [Copper] [ACM alloy] [Aluminum] conductors: size as indicated, with [600] [1000] V insulation of cross-linked thermosetting polyethylene material rated [RW90 XLPE] [RWU90 XLPE], [Jacketted] [Non Jacketted]. +#. Neutral supported cable: [1] [2] [3] phase insulated conductors of [Copper] [Aluminum] and one neutral conductor of [Copper] [Aluminum] steel reinforced, size as indicated. Type: [NS75] [NS90] Insulation: [Type NS-1 rated 300 V] [Type NSF-2 flame retardant rated 600 V]. + +2.2 TECK 90 CABLE +~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. SPEC NOTE: Copper, ACM or aluminum conductors can be required in different parts of the project. In this case, select “as indicated” and identify on project drawings or schedules. + +.. SPEC NOTE: Overall covering is optional, but required for direct-burial or where corrosive agents or moisture exist. TECK cable can also be supplied with improved LFS/LGE jacket for fire protection and low acid gas evolution. + +A. Cable: in accordance with Section [26 05 00 - Common Work Results for Electrical]. + +#. Conductors: + + 1. Grounding conductor: [copper] [ACM alloy] [aluminum] [as indicated]. + #. Circuit conductors: [copper] [ACM alloy] [aluminum] [as indicated], size as indicated. + +#. Insulation: + + 1. [Ethylene propylene rubber EP]. + #. [Cross-linked polyethylene XLPE]. + #. Rating:, [600] [1000] V. + +#. Inner jacket: [polyvinyl chloride] material. +#. Armour: [flat] [interlocking] [galvanized steel] [aluminum]. + + +#. Overall covering: thermoplastic polyvinyl chloride, [compliant to applicable Building Code classification for this project]. +SPEC NOTE: Add special fastenings where required. +#. Fastenings: + + .1 One hole [malleable iron] [steel] [aluminum] [zinc] straps to secure surface cables 50 mm and smaller. Two hole steel straps for cables larger than 50 mm. + .2 Channel type supports for two or more cables at [______] mm centers. + .3 Threaded rods: 6 mm diameter to support suspended channels. + +#. Connectors: + + 1. [Watertight], [explosion-proof] approved for TECK cable. + +2.3 ARMOURED CABLES +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. SPEC NOTE: The “Armoured Cable” designation includes both AC90 (”BX”) without an outer PVC jacket and ACWU with a PVC jacket. Both types can be with copper or aluminum conductors. Edit to suit. + +A. Conductors: insulated, [copper] [aluminum], size as indicated. +#. Type: [AC90] [ACL90 - lead sheath over cable assembly and under armour]. +#. Armour: interlocking type fabricated from [galvanized steel] [aluminum] strip. +#. Type: [ACWU90] [PVC] [flame retardant] jacket over [thermoplastic] armour and compliant to applicable Building Code classification for this project [wet locations]. +#. Connectors: anti short connectors. + +2.4 ALUMINUM SHEATHED CABLE +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. SPEC NOTE: Overall PVC jacket covering is optional, but required for direct-burial or where corrosive agents or moisture exist. + +.. SPEC NOTE: Add special fastenings where required. + + +A. Conductors: [copper] [ACM alloy] [aluminum], size as indicated. +#. Insulation: [cross linked polyethylene] [ethylene propylene rubber] type[RA90] rated [600] [1000] V. +#. Sheath: aluminum applied to form continuous [smooth] [corrugated] [seamless] sheath. +#. Outer jacket: [none] [thermoplastic applied over sheath and to be compliant to applicable Building Code classification for this project], [direct burial] [wet locations]. +#. Fastenings for aluminum sheathed cable: + + 1. One hole [aluminum] [malleable iron] [steel] straps to secure surface cables 25 mm and smaller. Two hole steel straps for cables larger than 25 mm. Use aluminum strap only with single conductor cable. + #. Channel type supports for two or more cables at [______] mm centers. + #. Threaded rods: 6 mm diameter to support suspended channels. + +2.5 CONTROL CABLES +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Type: LVT: [2] soft annealed copper conductors, sized as indicated: + + 1. Insulation: thermoplastic. + 2. Sheath: [cotton braid] [thermoplastic jacket], [and armour of closely wound aluminum wire]. + +#. Type: low energy 300 V control cable: [solid] [stranded] annealed copper conductors sized as indicated LVT: [2] soft annealed copper conductors, sized as indicated: + + 1. Insulation: [PVC] [TW] [TW 40 degrees C] [TWH] [polyethylene]. + #. Shielding: [tape coated with paramagnetic material] [tape coated with diamagnetic material] [wire] [braid] [metallized tapes] over each[conductor] [pair] [group] [over conductors]. + #. Overall covering: [PVC jackets] [polyethylene jackets] [lead sheath] [aluminum sheath] [interlocked armour of] [flat galvanized steel] [aluminum strip] [copper strip]. + +#. Type: 600 V [______] stranded [annealed copper] [semi-annealed aluminum] [ACM alloy] conductors, sizes as indicated: + + 1. Insulation: [PVC] [TW] [TWH] [TW 40 degrees C], [butyl rubber insulation type] [RW75] [R90], [polyethylene] [cross-linked polyethylene type] [RW75 (x-link)] [R90 (x-link)] [RW90 (x-link)] [ethylene-propylene rubber insulation type] [RW75 (EP)] [R90 (EP)] [RW90 (EP)]. + 2. Shielding: [magnetic tape] [non-magnetic tape] [wire] [braid] [metallized tapes] [over] [each conductor] [each pair of conductors] [conductors]. + 3. Overall covering: [thermoplastic jacket] [thermosetting jackets] [with sheath of] [aluminum] [lead] [interlocked armour] [and jacket over sheath of] [PVC] [thermosetting compound]. + +2.6 NON-METALLIC SHEATHED CABLE +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Non-metallic sheathed [copper] [ACM alloy] cable type: [NMD90XLPE] [NMD90 nylon] [NMW] [NMWU], size as indicated. + +PART 3 - EXECUTION +------------------------- + +3.1 FIELD QUALITY CONTROL +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Perform tests in accordance with Section [26 05 00 - Common Work Results for Electrical]. +#. Perform [______] tests using method appropriate to site conditions and to approval of [Departmental Representative] [DCC Representative] [Consultant] and local authority having jurisdiction over installation. +#. Perform tests before energizing electrical system. + +3.02 GENERAL CABLE INSTALLATION +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Install cable in trenches in accordance with Section [33 71 73.02 - Underground Electrical Service]. +#. Lay cable in cable trays in accordance with Section [26 05 36 - Cable Trays for Electrical Systems]. +#. Terminate cables in accordance with Section [26 05 20 - Wire and Box Connectors - (0-1000 V)]. +#. Cable Colour Coding: to Section [26 05 00 - Common Work Results for Electrical]. +#. Conductor length for parallel feeders to be identical. +#. Lace or clip groups of feeder cables at distribution centres, pull boxes, and termination points. +#. Wiring in walls: typically drop or loop vertically from above to better facilitate future renovations. Generally wiring from below and horizontal wiring in walls to be avoided unless indicated. +#. Branch circuit wiring for surge suppression receptacles and permanently wired computer and electronic equipment to be 2-wire circuits only, i.e. common neutrals not permitted. +#. Provide numbered wire collars for control wiring. Numbers to correspond to control shop drawing legend. Obtain wiring diagram for control wiring. + +3.3 INSTALLATION OF BUILDING WIRES +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Install wiring as follows: + + 1. In conduit systems in accordance with Section [26 05 34 - Conduits, Conduit Fastenings and Conduit Fittings]. + #. In underground ducts in accordance with Section 33 [______]. + #. In underfloor distribution system in accordance with Section 21 [______]. + #. In cellular floor raceways in accordance with Section 21 [______]. + #. In surface and lighting fixture raceways in accordance with Section 26 [______]. + #. In wireways and auxiliary gutters in accordance with Section 21 [______]. + #. Overhead service conductors in accordance with Section 21 [______]. + +3.4 INSTALLATION OF TECK90 CABLE (0 -1000 V) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Group cables wherever possible on channels. +#. Install cable [exposed] [concealed], securely supported by [staples] [straps] [hangers]. + +3.06 INSTALLATION OF ARMOURED CABLES +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Group cables wherever possible on channels. + +3.07 INSTALLATION OF ALUMINUM SHEATHED CABLE +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Group cables wherever possible on channels. + +3.08 INSTALLATION OF CONTROL CABLES +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. Install control cables [in [conduit] [under floor raceways] [cable troughs] [underground ducts]] [by direct burial]. +#. Ground control cable shield. + +3.09 INSTALLATION OF NON-METALLIC SHEATHED CABLE +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. SPEC NOTE: NMD90 cable is normally used only in frame construction especially residential. + +A. Install cables. +#. Install straps and box connectors to cables as required. + +**END OF SECTION** \ No newline at end of file diff --git a/source/260526.rst b/source/260526.rst new file mode 100644 index 0000000..39e3dd2 --- /dev/null +++ b/source/260526.rst @@ -0,0 +1,115 @@ +.. ==== -> Heading 1 +.. ---- -> Heading 2 +.. ~~~~ -> Heading 3 +.. ^^^^ -> Heading 4 +.. """" -> Heading 5 + +.. |CODE| replace:: NEC + + +26 05 26 - GROUNDING +========================================= + +PART 1 - GENERAL +----------------------- + +1.1 Work Included +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + A. Labor, materials, equipment, tools, safety gear, test equipment, incidentals, services, and transportation for a complete electro-mechanical installation as shown on the Drawings, included in these Specifications, or as can be reasonably implied from project descriptions. + #. Furnish and install grounding system required by Drawings, or if not shown or defined, as required by |CODE|. Ground conductors shall be sized for the protective device, minimum. + #. Furnish and install conduits, junction boxes, underground boxes, and associated hardware. Provide hardware, conduit, fittings, and other parts for a complete grounding installation + +1.2 Related Work +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + A. Section 26 05 10 + #. Section 26 05 19 + #. Section 26 05 70 + +1.3 Qualifications +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + A. Material furnished under this specification shall be installed by qualified installers meeting requirements specified in Section 26 05 10. + +1.4 Submittals +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + A. Refer to Section 26 05 10 + +PART 2 - PRODUCTS +-------------------- + +2.1 Grounding System +~~~~~~~~~~~~~~~~~~~~~~~~~ + +A. General + + #. Grounding conductors shall be sized as shown on the Drawings or in accordance with |CODE|, whichever is larger. + #. Components of the grounding electrode system shall be manufactured in accordance with UL 467 - Standard for Safety Grounding and Bonding Equipment. + +B. Grounding System + + 1. The utility service ground shall be tied to a building ground grid consisting of an electrode ground/ "UFER" and/or ground rod type grounding system. + 2. The UFER shall consist of minimum 25 feet minimum of code sized bare copper wire conductor laid at 3 foot nominal depth encased with concrete or as detailed on the Contract Drawings. UFER ground shall be located where soil moisture content will be maximized. + 3. Ground enhancement material shall be permanent and be designed to lower earth resistance in all soil conditions. Once set, material shall have resistivity of not more than 25 ohm-cm resistance. Material shall be set by mixing it with water to form a slurry and shall not dissolve or decompose once cured. Ground enhancement material shall be Erico Ground Enhancement Material (GEM), Lyncole XIT, or equal. + 4. The main ground bonding wire from the ground rod shall extend up into the utility service panel with readily visible UL approved "ground clamp" attached to the ground bus. + 5. Install bare copper ground bond wires from the UFER ground to the various locations shown on the Drawings. + +#. Raceway Grounds + + 1. If above ground, metallic conduits shall be assembled to provide a continuous ground path. Metallic conduits shall be bonded using insulated grounding bushings. + +#. Equipment and Enclosure Grounds + + 1. Electrical and distribution equipment shall be connected to the grounding system. Cables shall be sized as specified. Furnish and install a green grounding conductor inside conduit containing the power conductors serving the equipment. + +#. Components + + 1. Ground rod shall be ¾” x 10 ft solid steel with 10-mil copper-cladding. + 2. Provide ground well enclosures for all outdoor ground rods. Furnish Christy type F8 or equal unless otherwise shown on the Drawings. + 3. Ground rod clamps shall be bolt-on type as manufactured by O-Z Gedney type GRC, or equal. + 4. Grounding and bonding wires shall be installed in all PVC conduits and nonmetallic raceways and connected to the ground bus and all equipment. + 5. Each electrical enclosure shall have a copper ground bus. Screw type fasteners shall be provided on all ground busses for connection of grounding conductors. Ground bus shall be a Challenger GB series, ILSCO CAN series or equal. + + + +PART 3 - EXECUTION +------------------------- + +3.1 Workmanship +~~~~~~~~~~~~~~~~~~~~~~~ + +A. All work in this Section shall conform to the codes and standards specified in specified in Section 26 05 00 subsection 3.3, Workmanship. + +3.2 Installation +~~~~~~~~~~~~~~~~~~~~~~~ + +A. Grounding System: + + 1. Install all products per Section 26 05 00 – General Electric subsection 3.6, Installation. + 2. Each nonmetallic conduit shall contain a code sized grounding conductor. + 3. The system neutral conductor and all equipment and devices required to be grounded by the National Electrical Code shall be grounded in a manner that satisfies the requirements of the National Code. + 4. The system neutral (grounded conductor) shall be connected to the system's grounding conductor at only a single point in the system. This connection shall be made by a removable bonding jumper sized in accordance with the applicable provisions of the National Electrical Code if the size is not shown on the Drawings. The grounding of the system neutral shall be in the enclosure that houses the service entrance main overcurrent protection. + 5. Utilize mechanical connections in accessible locations and exothermic connections in non-accessible or buried locations. + 6. The secondary on all transformers shall be grounded. + 7. All raceway systems, supports, enclosures, panels, motor frames, and equipment housings shall be permanently and effectively grounded. + 8. Install insulated grounding conductor with feeders and branch circuit conductors in conduits. Size grounding conductors in accordance with NEC. Install from grounding bus of serving panel to ground bus of served panel, grounding screw of receptacles, lighting fixture housing, light switch outlet boxes or metal enclosures of service equipment. Ground conduits by means of grounding bushings on terminations at panelboards and distribution panels with 12ga. conductor to grounding bus + 9. All receptacles shall have their grounding contact connected to a grounding conductor. + 10. Branch circuit grounding conductors for receptacles or other electrical loads shall be arranged such that the removal of a lighting fixture, receptacle, or other load does not interrupt the ground continuity to any other part of the circuit. + 11. Attachment of the grounding conductor to equipment or enclosures shall be by connectors specifically provided for grounding. Mounting, support, or bracing bolts shall not be used as an attachment point for ground conductors. + 12. Install grounding electrode conductor and connect to reinforcing steel in foundation footing. Electrically bond building steel to ground system. Bond metal siding not attached to grounded structure. + +3.3 Field Quality Control +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + A. Inspections: + + 1. Owner’s representative shall inspect ground system prior to cover. + + B. Testing + + 1. Complete applicable test forms if provided in Section 26 05 70 – Factory and Field Testing. If form is not provided, furnish results on vendor standard testing forms with signature of tester, date of test and test results. + 2. Test each grounding connection to determine the ground resistance. The grounding test shall be IEEE 81.2 and NETA 7.13. The current reference rod shall be driven at least 100 feet from the ground rod or grid under test. The measurements shall be made at 10-foot intervals beginning 20 feet from the test electrode and ending 80 feet from it, in direct line between the ground rod or center of grid and the current reference electrode. + +**END OF SECTION** \ No newline at end of file diff --git a/source/_static/JMKEngineering-Logo_blue.jpg b/source/_static/JMKEngineering-Logo_blue.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ea67dd5b3b40fa17ff71c413490e1cde5fbc0ea0 GIT binary patch literal 80022 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 k?YO}3M#Tj&L)e+m)jM*wve!;r)sv0Q|] (current page.west)--++(0:\MARlef) node[midway,above] {\strut 1~in}; + %\draw[|<->|] (current page.east)--++(180:\MARrig) node[midway,above] {\strut 1~in}; + %\draw[|<->|] (current page.south)--++(90:\MARbot) node[midway,right] {\strut 1~in}; + %\draw[|<->|] (current page.north)--++(270:\MARtop) node[midway,right] {\strut 1.5~in}; + \end{tikzpicture}}} + \fancypagestyle{plain}{\headfoot} + \fancypagestyle{normal}{\headfoot} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Headings + %\RequirePackage[Bjornstrup]{fncychap}% Loaded by conf.py but remove by Elio + %\RequirePackage[explicit]{titlesec} + \let\Chaptermark\chaptermark + \def\chaptermark#1{\def\Chaptername{#1}\Chaptermark{#1}} + % + \def\FONTchapter{\Large\bfseries\color{JMKblue}} + \titleformat{\chapter}[hang]{\FONTchapter}{}{0pt}{}[] + \titleformat{name=\chapter,numberless}[hang]{\FONTchapter}{}{0pt}{}[] + \titlespacing*{\chapter}{0pt}{-3\baselineskip}{\baselineskip} + % + \def\FONTsection{\large\bfseries\color{JMKblue}} + \titleformat{\section}[hang]{\FONTsection}{}{0pt}{}[] + \titleformat{name=\section,numberless}[hang]{\FONTsection}{}{0pt}{}[] + \titlespacing*{\section}{0pt}{\baselineskip}{0pt} + % + \def\FONTsubsection{\bfseries\color{JMKblue}} + \titleformat{\subsection}[hang]{\FONTsubsection}{}{0pt}{}[] + \titleformat{name=\subsection,numberless}[hang]{\FONTsubsection}{}{0pt}{}[] + \titlespacing*{\subsection}{0pt}{\baselineskip}{0pt} + % + \def\FONTsubsubsection{\itshape\color{JMKblue}} + \titleformat{\subsubsection}[hang]{\FONTsubsubsection}{}{0pt}{}[] + \titleformat{name=\subsubsection,numberless}[hang]{\FONTsubsubsection}{}{0pt}{}[] + \titlespacing*{\subsubsection}{0pt}{\baselineskip}{0pt} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Title page + \newcommand{\OLDsphinxmaketitle}{\pagestyle{plain}\pagenumbering{roman}\strut + \vspace{-4\baselineskip} + \begin{center}\fontsize{31pt}{37pt}\bfseries\color{JMKblue}\selectfont + \@title + \end{center} + \vspace{2\baselineskip} + \begin{center}\huge\bfseries\color{JMKblue} + \dbsubtitle + \end{center} + \vfill + \ifnumequal{\therevhis}{0}{}{ + \begin{center}\large\bfseries\color{JMKblue}Revision History\end{center} + \begin{tabularx}{\linewidth}{|c|X|l|l|}\hline + \rowcolor{black!10}\bfseries Number & \bfseries Description & \bfseries Date & \bfseries Approved \\\hline + \ifnumgreater{\therevhis}{0}{\csuse{REVnum1} & \csuse{REVdesc1} & \csuse{REVdate1} & \\ \hline}{} + \ifnumgreater{\therevhis}{1}{\csuse{REVnum2} & \csuse{REVdesc2} & \csuse{REVdate2} & \\ \hline}{} + \ifnumgreater{\therevhis}{2}{\csuse{REVnum3} & \csuse{REVdesc3} & \csuse{REVdate3} & \\ \hline}{} + \ifnumgreater{\therevhis}{3}{\csuse{REVnum4} & \csuse{REVdesc4} & \csuse{REVdate4} & \\ \hline}{} + \ifnumgreater{\therevhis}{4}{\csuse{REVnum5} & \csuse{REVdesc5} & \csuse{REVdate5} & \\ \hline}{} + \ifnumgreater{\therevhis}{5}{\csuse{REVnum6} & \csuse{REVdesc6} & \csuse{REVdate6} & \\ \hline}{} + \ifnumgreater{\therevhis}{6}{\csuse{REVnum7} & \csuse{REVdesc7} & \csuse{REVdate7} & \\ \hline}{} + \ifnumgreater{\therevhis}{7}{\csuse{REVnum8} & \csuse{REVdesc8} & \csuse{REVdate8} & \\ \hline}{} + \ifnumgreater{\therevhis}{8}{\csuse{REVnum9} & \csuse{REVdesc9} & \csuse{REVdate9} & \\ \hline}{} + \ifnumgreater{\therevhis}{9}{\csuse{REVnum10} & \csuse{REVdesc10} & \csuse{REVdate10} & \\ \hline}{} + \ifnumgreater{\therevhis}{10}{\csuse{REVnum11} & \csuse{REVdesc11} & \csuse{REVdate11} & \\ \hline}{} + \end{tabularx} + } + } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Intentionally Blank Page + \newcommand{\IBP}{\clearpage\pagestyle{plain} + \strut\par + \vfill + \centerline{\textbf{\sffamily Intentionally Blank Page}}\par + \vfill + \strut + \clearpage + } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% End of section + \protected\def\sphinxstylestrong#1{\ifstrequal{#1}{END OF SECTION}{\vskip\baselineskip\centerline{\textbf{#1}}}{\textbf{#1}}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Title page + \renewcommand{\sphinxmaketitle}{\pagestyle{empty}\pagenumbering{roman}\strut + \begin{tikzpicture}[remember picture,overlay,inner sep=0pt,outer sep=0pt] + % Logo + \node[anchor=north west] (LOGO) at ([shift={(125pt,-100pt)}]current page.north west) {\includegraphics[height=72pt]{JMKEngineering-Logo_text.jpg}}; + % Title + \node[anchor=north west,text width=\linewidth-125pt,align=flush left,font=\fontsize{34pt}{40pt}\color{JMKblue}\bfseries\selectfont] (TITLE) at ([shift={(0pt,-18pt)}]LOGO.south west) {\@title}; + % Project num + \node[anchor=north west,text width=\linewidth-125pt,align=flush left,font=\fontsize{12pt}{14pt}\color{JMKblue}\sffamily\selectfont] (VER) at ([shift={(0pt,-15pt)}]TITLE.south west) {Project Number: \strut\version}; + % Left band + \draw[JMKblue,line width=1.2pt] ([shift={(-5pt,10pt)}]LOGO.north west) coordinate (LS) --([yshift=-10pt]LS|-VER.south); + % Date + \node[anchor=south west,text width=\linewidth-125pt,align=flush left,font=\fontsize{14pt}{16pt}\color{JMKblue}\sffamily\selectfont] (DATE) at ([shift={(0pt,100pt)}]TITLE.west|-current page.south) {Issue Date: \strut\@date}; + % Revision + \node[anchor=south west,text width=\linewidth-125pt,align=flush left,font=\fontsize{14pt}{16pt}\color{JMKblue}\sffamily\selectfont] (DATE) at ([shift={(0pt,80pt)}]TITLE.west|-current page.south) {Revision: \strut\dbrevision}; + \end{tikzpicture} + %\IBP + \clearpage + \pagenumbering{arabic} + } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Revision history + \newcounter{revhis} + \setcounter{revhis}{0} + \makeatletter + \define@key{rev}{num}{\csdef{REVnum\therevhis}{#1}} + \define@key{rev}{desc}{\csdef{REVdesc\therevhis}{#1}} + \define@key{rev}{date}{\csdef{REVdate\therevhis}{#1}} + \makeatother + \setkeys{rev}{} + \newcommand{\revisionhistory}[1]{\stepcounter{revhis}\setkeys{rev}{#1}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% List of figures and tables + \RequirePackage{float} + \floatstyle{boxed} + \restylefloat{figure} + \restylefloat{table} + \newif\iffigures + \newif\iftables + \makeatletter + \AtEndDocument{% + \if@filesw + \ifnum\value{figure}=\z@ % no figures + \immediate\write\@mainaux {\global\string\figuresfalse}% + \else + \immediate\write\@mainaux {\global\string\figurestrue}% + \fi + \ifnum\value{table}=\z@ % no tables + \immediate\write\@mainaux {\global\string\tablesfalse}% + \else + \immediate\write\@mainaux {\global\string\tablestrue}% + \fi + \fi + } + \makeatother +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Table of contents + \setcounter{tocdepth}{1} + \renewcommand{\sphinxtableofcontents}{} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Hyperref + \hypersetup{hidelinks} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\endinput \ No newline at end of file diff --git a/source/conf.py b/source/conf.py new file mode 100644 index 0000000..68ceeb4 --- /dev/null +++ b/source/conf.py @@ -0,0 +1,88 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- Project information ----------------------------------------------------- + +project = 'JMK Engineering Spec Template' +copyright = '2023, Jeff MacKinnon' +author = 'Jeff MacKinnon' +release = 'AB' # Used as the Project Number in the Report + + +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ +# "sphinx_design", + # "myst_nb", +# "myst-parser", +] +source_suffix = { + '.rst': 'restructuredtext', + '.ipynb': 'myst-nb', + '.myst': 'myst-nb', +} + + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = [] + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +#html_theme = 'alabaster' +html_theme = "sphinx_book_theme" + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# Latex setup + +PREAMBLE = r""" +\usepackage{jmk_spec} +""" +latex_additional_files = [ + '_static/JMKEngineering-Logo-Small.jpg', + '_static/JMKEngineering-Logo.jpg', + '_static/JMKEngineering-Logo_blue.jpg', + '_static/JMKEngineering-Logo_text.jpg', + '_static/jmk_spec.sty', + +] + +latex_elements = { + 'pointsize':'12pt', + 'classoptions': ',openany,oneside', + 'preamble' : PREAMBLE, + 'extrapackages': r'\usepackage{lipsum}', +} + +latex_logo = '_static/JMKEngineering-Logo_blue.jpg' + +latex_show_urls = 'inline' diff --git a/source/frUpwork/project_spec.zip b/source/frUpwork/project_spec.zip new file mode 100644 index 0000000000000000000000000000000000000000..70c3bb51281a29ea5a84ca7def04a7e3973c94f0 GIT binary patch literal 296635 zcmc$_QGofyt@ax!9e=9YG*rcRc2=5(_5=Js?dwuUw~^i~e$SGb;KQ9iqiB#EMt zrWk`npDAR2bSep10_U+Nr-+Oy40@9=s#U4QkP|2vf{T)+dy{C($%u7Y$Udh!SyCQS zc6L4wxd>mU-gAz9XZc>YZnwC4Qa>X;3C60Lnp?r4$UyRg=Ro{7iF*6Vvo1jW3rRI$ zfRKO(pt$@4&_IZYGC;vRS#5U0+EtnajP8RFP)KMI13l}4i5vjhz%3$7szi+We#kAS zf}KYQKpD)5xfn-+_Ap-221G1z`$2mjuSV`U*D1dbR+-(ivR zi2wn+65LO>K8}t5#512NsWh=-K@x*m32U5vIuf1u;X(=@{s)i~eTZD*RD34O106N{ zJ9ECWFl5FK9ow@70|dwwXe7$!!HeEB{JR3}?;)-rP)JBf3P?~23Q!sjj1C$i7En+Y zA|@UlA|4(l8c+cKgnqb42?qxW$_dQM%FHmz%E~ZELbN<~Z?P_Y-Jm97eVz^k!HS@g zT42%`{nddY=!g7*X+jL($N->2|A0VLBs3HZWOP&sSKQE)Gh}4-qx*b1t745sz6fOz?D}AZw z(OL+%n;t_ZXiE-hYi$SO54c#xeGq57~)OD$Ji2$c$axy&eb@${#+{f7lim zn*-pUa-`-GpOF)tkHIv~kQWd!wH5Z2Y?sw10TlqD+4hhbaj6d-`ajz@J+9?G-;%3i ziEHTNrX4fK&xW^IpUoo>1sS$W3W_KTKAo_gsiH#?v0Fb`0GH$DhWnWays3hV*6L=1 zrW|HFzMbXcNQqiq+*X3yiQ)Af+wZn#4-J{rGIOhF9iF>R?tF(OHs397mEpS0At9rb z`?^A@_qywaC}jzH&Y#eOoZaaVuh)v97V_%z#1npdqq@a0UB!-g*sTmSi^Y&XT}!B& zr#7_&l@3e#-w7W|pMPF1Bs921TmU$vr++%NWZcniht_X=o?#k&$Aq$A$@HCs5*}tW zL~zWoJPI)dF2&LRa|XYaXzKsGqGVfgH@m?c`#kGi={REKJ&niue%EAr`D*P->6F}U zkh!skUUxnrF9F%m$L8?xb2ZjCMc&p=vGYE8DW*WgS1Oxl29qmlp=}R2o^Onr;6k%* z+MxY-e+!O7`)M;1Lu?~l<^flWHgUwK$P>QAX?8W;%q(Cd8h_wK$Li?_w*whjDloNu zPbd{t;!i59EKcJ^V}Xh0tWnH0$ai!yVjvGT`FFe{!-Yg;g4Y(WJhQG{O&M0+kfnfV zo|cs@U$TU?ofSh9z*C4wy3m2sXZ)Ok5oczVEr`A)!0cV2Ig`YUD|&#~M?Yl*T-unK zHoKtK6gS)z>t2oTX)ZPzA`913;gH)({e?rO+N-jjv{rQVan9+oLZL91Hb~U%JYQ$^ z+9JMuXSo0*?j>-K`tmg_#Wf=j;E`el6z^DSIuEg65iPJ-6g1 z!LWa9Y&;|NmlcYwVZ(2Awdm@gfAIQh2Z(;`>E=(bDJzWXJLV+=XC2Gbq`uE@j}HZk zLff>4mR=PTQe6DU`gm1DkuD*+y>6${&oaXEY0EOX9!ilMXz9zBBSt-$tGun`&*a}O z>}49NR)k`=B-`oo5yWtfU3pxcM+Z&;x5-nEL319ZjEjW7Ym2Q-HIa5z%<7r~UGYAv z%h_|e3-fnXd;nRt_vY%U!zYzXEeiO8SiC6Z8w9-0A#emkW9-3*tSTmWwUa{9h9Y67 zF~~Y*vS5?ZYCEH^X15oa3dR@+!Uws%1$B+23)yb93zL^jPKzi2&=0 zw!ecVH|L%%rq96_%GUI0ESro=Y4VbMjon!LUS09dSk$&2+r!|WRP~M5M%dK7$8?O@ zm_Kc#$Fz_-d7tH95le?pS%Jy!ku$`(iA}Q(SoXOi@Q54~Uye39mlp^MuQgF`H4O<& z2?0riH03X8^JUAc3EU0n;3lFwtu$~S{Hn=v_q=LeyB;-xmoi*=J0hAOsZM`Bn;4JI{;if`YK4jqDz*S1>>E-(5&m{U>^FnpDs8WD7f#LQZ|lxXD{2&Qa|U!D2|(+@5H^mB&iF*pSO6i_p8DUxCNO$K?X zjsv{tTH8kP?$K>fV*s7$=8m@k(v$#Dmc9MZhSmAuD@65k-Mc#o3Tr{Y#-^;R^4*$tfM`1pBmw^Ftk7Q9})! ziS@J#BRAH?q?3S1ZvB2*cP~y|ESXOc0t&i?uY2R9c1vN~ndmXm%4y?PBhLG0zM2`{ z;smNc3&O1SRBuU3uHcd(KHpVrC3;`{eAjn(f_|f`X-}AgJztP-`DbNOgMZvP5PAT9UiwQFtmV>KFnqob2cK8Jc}^G~_I*4rm(9 zJ2676GEIFson9}R84(*t=+$|n)Pn{m&mON3%^XGyX+!x1zU~P8xxyX~YUO&(1;)1P z1xF;Aia=i19Dagl1$0en#OVs(lZW{TuQ`>ta6=8vhIi!mK-6|xXCf?031ZWFJ|Gs8 zevs+oR2&a1Fkcs2z+NNGJ(wbEv+j5=GY>S?cC! zv-mRb>Oai$$%lJ;X|P$O!|pBf0N8YJ6M7}9PrOZTKBr@9%Jt{bxURU?Yj}E#AV&-8 z=&cg@kQ*UI(|AsS+=1L{_>MDcZmiv}t+%O5fya;}-XcxX1mT<^u_H~zVbv5`YAM-PA$*9MD^ z_)LY7xNc#f6w!FYm2;MVcH2!;8cf^uMel2*BAVHs1Q7h%qJ8mJnY5+K1`HIJyvG*; z)7`XNPF)N(wH88$a<|&qxE_Oe_2asohGRgM!W~}uZb%O0DB@Sna*Jn=yI1^5Zp$*> zO;7qOtjcH`%PdO3Ev(z8QbfNc#okD(rfgTTmc9t$%w*jy-2C~>$CqFU+Fnd&U8+Wz zvJ>s^jtv(nM5Xu=rktwm`mP=v4&8Szk1_0;%H$$U?rlN<`}&8ZdmBDJjZ;%uWIBVb zOe_ z_(txxe>Ar;r2BMZeovC1gF1>V9GH7UXRHrWeW$FaH!D?o*RFn|FPz#=tHrs|xA7yb zDRin^jQILeg>6%2qw8@2atkz(boV5#1XLe9q7Yg^wH(HI&709{8OACWWyv`>I$VQ} ze5l8{%PN&v8fcry$epk$ngEIh8ospkPDh~cCxQ+ae4jNbk}M)!OKe~91P>D3-JP}) z`gSo*l}QB6pUS&-Bj6q#Zka5E)tvqB@nYlD?lOcHN^JD0rxPWrZMWEH(WecYCO zz0ev%*N??&JvJlOr&{1pIKD=>hOIZC%%FaS+7oXn6W9xG9VsKAyC%2>29vTIDM@i11cVBkp3_`ZFg_*7e zO>f_4A^V^xZ}Ft}yV0;lU|Z@+!dBF$5OZW6l2a$4{K|gC@6^jIJo$x5{>BXwNO=)d z%&vKJ4yvpTtz>Me$(-gU2Q5WaN_ywP(J$7KFXj9(x?&mDe^3W-p$zIC-orHwewp+^Ta+sYA=jV&WS?na#)})78 z2;KFMi^}`Wg)Fbnsf@EF%85gS<1?(&qtf|QgmkX0p8XfI!2lyGv!f7q-M9>{ii9Op zAMWnnHXrLDV!}pv+iXa2((-)voq_dC(C(QKCntQ+kv;#Lc0?IJCcZ#VQ5b2DcxTxY z+V{CSJWL1c_UwtsUbWUcZY;s3CU-PVFb^Wo5>SJX3%pd~rV(r1#9ROme2?r!X7D-! z<4z&juQE`J!_V_o`Q`hU{^#3jL82Q}Px46{q|u!dUL0WiCtN$VCKfSijtB#XBV$jO z)72{?@bC~GNY)VwQ1u->c)9Qyv< z{D+0n-<|I~q_LLJfS-w$7$RD_fN{&B607T{bXy{hAutHfX5b6f`||b!;{_ht1YFJ- z8azbNr`!c58y%>Y%x2|2D(j8cgYJCT2x3F&ED4E$Jb3EWR|m;dSj$E?eRN;y3KTFe zVE9F;4mCYIGHB{`SL%$1-IHXAN6dh;I6Uc&qYxqb&n?NJgwHrQ@{szrPY_3ehS%9JDX9H-%)LJu zpQElR69ovW67;-FLCNfI9BSlv9)OUO2?y@Tz~N69XgXt_Uq5E3$`yy4kCPf5L2Dqq z6Y8?PjyJf9QaC9fG3`IO8EO{NX_UapVE9YJz?dO$SBy zmj>j8e8sX6&B9cHdZ{$K1Lxm^P$FUXLbeL2uf~qUF)u6^v$%A5pi|;2|MjGDa}OXLVH%4#kkCU$7S_V7-v~ylPd1TM zXJHXzK;(cygo4Rq?4H{PX5}8F+!Br6ZAUKhw9#W@H3)8B7PbAd)kPd-v#9Jtg3(rh zEDc;FH+;Ic0MUn3=sQ1rYMSGO3n`0anj1E5suv}toq>`ORq)5@GJski9b4aUJFvT( z5VbYZG&D5iHuT8uLo(2-%FoZIhbWC4v=o829bxBQq|wcs(d1kYWD6F8$%kMn|L4Mb zy8*l6kWOx8g}N>5XV@wbw&ETU6C?F0f*D2b0?|gCT|Ac# zOEEoOM72qziFy*7B)d>NM+vML4SZd%(h8IDRywzfHCp8HVUeavnA=-3n<%SN9HjCa zLY)LqfoE=j$@gF~<9=ytA)Uf%z+9ZfQQwtY^02qCHg?$HjG8>c-Ppk5 zB_mG)9aqh@_0w>jfSnL1xHz*gQ7~uhKI{4=ODhwKK}eQnZ)mP-9>%`dud0JcVdtbx zu@LiT{pZg?goCy57b>x3>_k;S#tx}XZ;YKqI`591faMW3!H0r+MFUjbi5Fi!J{aKEK4MNe+LhV z6bLu|{v8|`=_D8Avhm>KomuO{Ft(_)H#81xZ2n_J2aSOxgBz91hG85`fkgXcyFAx5 z#jY&^UpmKIRqhag_2r1{Fmx++SsD&UF8Z}r8#t>01Gfui|3P&BA?m|N#}}2)9}=7Y z38A^gIdac+h=s@nMr#0h@mK}-mNrHhLO>`ILlE!3Z;VHX`ld;^aRC3n>Z2jNvO{-F zDY1@#s8eG;e)2n}T?`0y#7f9w-m1~jLp)G^@`pO&nAm%Otp6I2#F4QG!H6*tI~mHG zW^OF}|J}hRY~Prc@bC?5cGL?n)q3m+g4xi6ktI);2BQ6;4WTVcCqjpXL#qxOxj1mp zT<4|j;FXWEA_xon-%Hs5+&^d#=g_?1!1X>EqBO{n6^M`&3{Bi9_?ZFmTnoc;bHnh) zhJbJ*YeVS6kW(M~D24@eRR}*rBKo$cOZwn3Vw+c%s0-UrWtfTL5f*Wy0g zaC$$qj@=TW*I9GP*V?N44>x$~v*tlIU*@P&vIM1umR1=1%Ik2~bn!2|;S zi4kVWTX<@{=usDe+b@2JV6$L-I~7bpLmLR%uKLHC1Lw{jw*zmfjl~i+di$>_;8mR< z8f|Z$cuq)?=Fwu;Q9H7hMLzS~8))(l!JD(P&NU4&jn<7aXI?&}$ z(XwR~5OooxXA3YI0|XEV3NL@6@IxRg!~zO2{fv5?K7xN((5-vZt2=8V$_yA%6-Z#q zy}^ty138`0U^gFfcL0ibA!GW6^JV_)W` zV}(7P-wcwpf@fE6HD($dP(9(u$sI?|D;1F47li-Ar9JQSBaq~v=OoRq9j|m3;JqeA ztT@i)uORW4=623ds*zeXs(@QuAe_gx`Ge(|7aysrMT?I41#{NNxD2SCl| zc=ju$C$`CDxO>&S?#meZJHOW)rtyxvLwO$$*Hu}1b7bn0ly5KWwM0mu3xdE?5Rd)B zbyyalc#J?JeRymB$$ijm{?C75iGT%=fP@9H))3qR`2GrT!pZwD5<%;No$pb%LD>20 z?9o#Ko9=Oyf!OzX&%tpEBEG?hBS8f*3ZoFmrbR1?(F)Uw>>-H;Q4K)U!|X?C#=e2? zN9K`ghFymlAb%oDAeSOzBAtifiSi%NA21z&7huf$TZjO};YgJvp^HG2!OQ7-$Smh0cWHf%b-G34VpjMd=~YrPU?gqUEI| zp)a5gK&?k#Clbb7|AWGiKZymPo1Pl4+53CN>W;?=){VkIbaS zB*%oxgvsPrpKU}jTob{E=1sFgK~G;pZb#Xpo<-dw@>TRkI7ArE5r!x=CPkZEm#{|G zpTJ2LPwpsDpkAQx--m|Cg052_naV?)Nym}TxO+mN@`EzB@{6(wRf}qYYL05KYHCy2 z6Nx44Io$&C!u>+~!tp|`iKr>7NtH>LNr5Sf>4T}2$%pB&X?=ry18@VR35yBgWXlBf zq~+N9Sp2cuWbxQ`s&$gYI73ov0>$_*wV%>YKA`NBTvYwV1QmT6$S}uu;`aYpP&sgX8j|Dnbi%!Z~?5nQEebVtqnw zVz6<((bmj9+sEW3dfn9-?1VPE(M^6W%h{P==ABi;u;yNOVQZ~@^`s{!G^^Dm=do+d zlj<>N=29cQ)~FPv$VvLRXQK37`f>X7b5?-=_vMRS%~MT9t>VIQ*=X6ViDUyrP9#@U zK=73|t@ZCP$Vvb#Yz`fk(xR%f+GcS|wR)?f4Y6bX?7$)HE!~xphMK$TZcR@4k5~K| z$pJ~P7<8mGCcK4(Rh#vY#nzm~vg%6HYSi4+5};Glseb)nZ+JYCCKZZ~n0~$E=qlk< zCSC?w<~xO)p3Wddx1=|!>R_*pJ#bJE&`*0o)AM5)yitbr@t=EF3sI9sGJoD_m&QQ*@g6YE(yb zb95_?IaVwEs;<12ucK#Sct&{YIC$b~iN&IU>}+NahtA&<(-fPRen39gI`4AVuu*t$ z?=X5Ky-bv8*s<#*Fb!!XWhKuFr8Uo`=A}8i6MGGNsqM~s#rnsF*~ZHn@)gPTO%;;v ze%--X1dcblcY;rc&#ZJ{vJwp;rzB^UGw1c4;qrnSaU~31d<+eKELV?Sw*{NeGd#tf z$*s#&xn1;0#vWU+b?{1!R%Y8vAW=V8ZM^0C*f+=gwU zPRFKyXY;4h>nlMAff9k~eu9N8o1268tx=Eql(|T32|TdB_VbSLW));SxN~iI(~9~ z2_J1AIY8`t%X|9!@TX6KwvvL1_qWCy#XF*n>qbUPvW#=7DP$Pf7fPH$YN36x08|zs z7Qq{dh1Oh7-fO>jKShAIFrKh7Hq?mOh+GNCmMotso!R$@6%-r192`EJGwdXMDtu|E zz;=tvW{)i$atm@Q2{?&V{A&xtT9320NRrr6u!U%o`xD=b@Qa<>BSI&Bs(ZxsR>$M3 zUYeeSyU+Xb_iDg4b*KB4-PiO@>lB}|xA4o-5Y{N!HTs&&_NNV@?{2wImZsBH;&zmeO~gVK5-vIK4{7r`V?3_pSQ*Cg~T zYV6_jK_bc!iYD}}LJha)W70?YV5zvmXLgNrlk5~f%k5MT3#j?HIn7LZZf8bOLX&{y z8}IX1C9E6fLjqgEp-PalunNDvOQ)t+xCa%VtNg{!Qa!8J#^>ZrDq#_BQK|XVWZ0yr zSp)NCjZMb`?o4%vzvs}GECZ*CS}xtrRGF#nk5Mr{UT3`@FB<|9 zdma5*_+H#w`^z>_n~xpa zu2aw3X`k57WW*JIkC(aq{X&$@gwJA(;^A0Xf^9FGC(d8!`|)Vz?}o0@pwd-8iZ9>q z^qMcF3q0b4af+ZNl|O^y~0cQDr|z{Vogre}$@<0@h2bZ731#}n&o$di)*;aTQ(>WkRzWcLr- z_iYaZ03SOHKa0=9GmKM}`-*>y8HJsi*UQOfToZWo-(w1H-?6VdSRdd53h00k@`yuF zuAi0bOXRz;PXNR}Nqiy?sbQB8xGqQnC?P*nSP~6H_Fr9CT%JFrG+a2)0TgA>>o0jQ zNfM(n7%_~81W+6l8ZVf?aKT?x6jS28dmt?#u6*!;2P;9a%D?|~$|yTll*eW81tz&X zN*i9|#ndsKyjY)vhs<_;gyw8COM5F{EgG6(2S--=Vw%>Lr+sFcz0nEz6a7pHHsz$o zyMG%Tq326uo0sM+g1@EPv>u-eKSD!-?IYi86{dE4>PHoZD6)86KMsnQnkLV&{kn48 z56yi014I85#}WvXS5?$_s(p5pzZ=U~>wKpE)Pe?z3^wqldP+cmfrEhs1%ZL)O*Y)k z1rVu2m5u9Ep^tb{fkkTG=z56GzX!CU=(9?E-@sPJ;j%DT<7L|`CK=9RL&6}V&xOX7xeoo0{1})|z2(=w^*OLP7WJK& zF)PqcLSWlhk6PRDnE21O@t(SK3j`N4;Zjp40hPBSJ#F;@w;K4KL*NiPBO7+YEM|_a zdhDOdtGM)%(zVZcISLFXXyOQfRnsFuD^g6_^1Xn9cd@LX0YP~eoZ#(_YJb=ep3X~K zK>J@u1kA07OJmnwnJ8R2=RH6;7S_&!7B4H{1q@U7ZLJ?1pCh6WEm1sChAVg4x0WjB z-f?6Uo6sDP_5Xr$M{7&%H%OF*E8R5DsBJL-pfB6#?v~6)Jh36+;>Y; z15c6IvG`dj5~>wvx^O>5pS1k9!>5~ivFAMQ_N`l7SSoJ$cxwyyc2y;Nzp3;3GyL3)>Lzo0Gg?Om0xN%!9z$*PhZ^ka_nCHu zO3qi6W4xDqV+1}m*v!;166tnNK7cPL$u5 z7Um+`AzD<-11T#+3kF6;_NS;*97;sd3S@yx+N*A!QGNIDbNJcS!1p+J)75tMwtbfC zwSCsdclK5EGj!)C$KrQxa~JiR(CgE?;9JDrPoc^0?D{tR1+n{^Z~iC0wU=T;;OXW6 z2l20GcQ-T1B-H77IL9Y|bv2uHYjO)HSUqXwFetRUz+t~|oDc)6By+mbeY=vGS!dPc z?^BVW5qpiXau2EqxJ-6gryXvP1j2{4HSIg%144 z+O02b#(VAtSz+ypxKkzpk5R?%08-M!u?XqQ0Wm)v{;maWF53C1!gg4k z;qAD5jY>7P7*zzehQ6TcF95J+`?O_+jVCITtNM|drw#PbOTk=d)?787gso`{CfMlS~izU z!6DrUiA3zjk6~)$Un=ak+=0Zy*Snw}6_1-e1Pji)`MaB+TBrw^XeAg6IF?{M^#~CN zh6J-cnFjcyhsQ?~k~@j6W<=Qqb$1kaM~ z_b$xNNh-Fob96(d*GuN94CVDG^0eKHeTL->!v2z!!8W+e}-f0F(bv z&1p&Gt3#Q0jxJ?N=D;or$>P(SBKyE+WYYu=mEZM*B{xy? z6-kv(Zs=fjI~#4%r&kIn2c6QR&eW%6(h`chmkZvi{F3Vl6S!0=nn-Y#ETZu z#T!cS8sDX{w@h~~ei(kPdQV8mpB+cmRJhGHZTNLCC5#k<`uKo;4!Htip8>Lse@=Im zVoKEckWZ^VgQSQ~A$fjy8RNU~@CS&(jS>ZBWNv~O*X$!yL}EE=Fc#CW9KqwF={|Qv zwWO_FH%fxya5rd*ame6H)sn#I;7*^4f}#X)KkGA!xL#RAc6Y_p#Jtc-`h>HU4}jzz z5n&#lAf@AkMZH0vPd#?Ce(Fq8Xl#6=iizcOYpgb&9iRTy^GQ8z`;Ocr)kIs8J;D#X zICkIYZIMRJVe0smIdh8PWWRX)&x9D8bU(@Xeejb$RfZfB(1?Xlf$h%tf3P;s_vZ>A0)JpbCQZ)~+HC9Rx9b4c zsQaoafml3_PsUyeG5BY^q#9E-sccS}IgT<|Wmtr2ZwsRcZ#Tuu)<+xR%mt9(PdWE{ z7G5(#r|QtaJo0X*oO$&B{E!0y;tAbz05rvuav8KaNnS+*{(!qjG^Cgeyr}d6C>K)4 zXZkm{HehTyvnAU=$8pRZam_5DJ6Z)Ln-;K=VXu`-O$Qa zi3gEC1_qsB8K|6d)|5DqFucABUU+Ux>^*est@W6QuW6mj8PtlzIp=C_ zXJs#H4}qZHjlp!crV~He#}1&LqAy5HS%BVrL3^ZuoA2;xnZ)BKHcdph%iK3?r`h{7 zFT~gMWD*y-99;e3nVrE(S=lHl_rIfIHOGKlkmjtAoV|Rqt>xw;FYlo7Nm_3vK046J zVOqUax|>jv@Y)!Yk%QxJOvdVDWtNn*6QIw3r8*4Y@+X+g%82ei4FNip#*E9|(_`Mdlj2$(Z7ba1kSkkN$q zeVJVK{UcxIaNSn|Az;0oz(d~xf7zlJ1Z}S^U4W-QOLXRHX|ItV zE6o^ECoBKhvOvdb28_$w~rLNzwpWNuRfs`i%goP zmfnG7j_au;IeWTpi&tFzDVfYmHHAYo;Y&s14h-S70B>FUZwLbZV2ZVnkV-UPl+*lZ z;Mjx}>?HITU3?A&7W`?^2L@`t_fi=kME~7e^oPJH^lO!mIaU_OlL~Q*Yh3}@HLXoaFkDx(P8SLI zO%#?W{UZn@;!ZlZVw-yD{ZJP+&;LcuR!WKQ-`%=``dxRq8jHq=SB#voe;G#Nn8T^l z5EP#Mo^c4IWaXS~DTv7fxFMs1?=h#A&o~Bn1U>ydZhal@ zyG!KPKiNGlrabMlFMdc`y;De!cNgZB?yj4ltJwZ;kssH?nr-_8MEcG`xmZl4vPA0v zze8BZ?Tl)wO61lBzS%>8XX4Kc-|3e^nrHA@>|+hbP02#QU}OfS-nXX4AKkM;k;jSJ zUYp}t4*nE62O%FExR;a)8MPMZS~V_$g&s_b1%m8+ryER$a)frL8fWx{Rj|r+IwGUw z!Wl5aeZ0S}-Tm=yki0q9zX}#(1*>=I)?JqD_SqgGWU%vPFud@1YYrLUGhNh^6drtBn$+JPBFbl5d^Rbo;%eizs0XbSG} zFumW3C+q&I%73Q-GS#pLTY`{UedMHWG%$(B8S)aQ=~xdKy^YgNn3h)AFFIyFVuA?Z zsyF_TWIN=0ltjHuFk^O1=&SS>(o3^5L*ZRf>w*n?qfD`7?8VpE6lfx)dNJ|u*gApD37HE7CdNf7B z*snz#f9h!ZokIU1m#{9e$vs4y724exb_;P}DIsY6dp*g6YFwaLm#*#O^vnTVnY4Xa zV!59t9q*wpXO$uTm}t)_0J^+jMfg{%gpnmKeH36Ugxt3(mwPi-9Xb{^9|n^J21mP) zr!Afh!$Q?C@smi7l6duLDDL{?Na2JIBjv6mMyN(Z_tpvKv5^b2Ml)%;(Bk6qn&-Ox zh`s0=+g@0{T^X^9TbVF0)Pr`xovUWVBB{5*SF9^4t95I&SvqksMJ{L#vfgVzfKwtm zappOL6PB8}!IX5n&ZV7&DTn?{$T7WA9m?KD0^&9E5xyq&=}7W@BxeHC#URYOoArDL z#wJS{I>?}*L%uub-)ZboP}lhx6SZJ>ZLOO%<M}=LY(2XD4J`_dTN?^GOQCbfE_sA%nB_RICiYcd+`sd-_rPYOVSUNC6$E9h zmw^Iz4~cTlM2r-(|MGsIIX?n_vLqe#ATn5aCq9cO1Qq0JZ2VBK8LCCcR?#i3HaSbg z-9Eqca(QpCiL##VlJ7_9HAjY%Kc=rb_5lB)oW=MrxnJ)Qt9(5B=Ws!b$wFzo_X&%& zX&ETT1&@YdJUHIS>uqQFFAd)AFTD2mi$Sy?&&W0`eS$AR%db81>2Zcx4_avZt7)+&?#e91fd;L5!emOGwSXjg!ObQ&0pJl z4SQTQRq)c!KiM#`);M~A7KtjdcBDFEiIvt(EuGAKa>~&)h?1(8Rf|jP)>Dv#6R2_v znBV?5U{rlvq=Nt1L_DNjw!MdoULTWBOy@j5&p|xOLLZN!=(`$$S(nGHrKY*sQ=)m5 z%8ys}OU5-ceiZ(G8mAzpNXI|iQ1`8`c#vB3WTtYsfN_)ftwY27F@kfE9WE|)@VuGO zlPi2LDtwZ4wQDS^E-OJ1Hm7uH?UyWXlK7dhw>&~3kOtO*S8%)%*v%xdSBno_onm*D z{+H*jD0pQf+g2_I&I(`(2KmTPd6eL zr+PX|F)5M2x9G++AZ7L$`_F`EXsp)Cg@}U&KVB!~E_5?0lC!IZ3?&!*JpxCZOZLK> zkL26dQDtHX5=BUJYoK`i`(_E4$7vQLYU^DAJ21G5s$B?ws3gj4e%8yuHZJ42}`2!c1Az6I%`wAuZMaQU5nRG5RTB9q84vQ1m_Q4@|zqW7E>^T!mz z@bSS+n0}eGi%s64b=H_*@tCE?^3{B7-qiBAw<+yON_&$}ac~cup4Bm^!R72j3AvN) zyYnV}rjX`@)iXzNYxU;S?d!bm0zIf%&tnINw9b^wDV8h-}wrMT!waHB1a9Q z1G4L-a_-=dqMQg`f9ith0AU&^dOH}I2zzoFSjT+E$kF7lBu zg8qd;{l@!l{_+QpO71#Pz)l!Z%>j&hQDtk$Ad5-zlQE0IY*ih5; z_NAV3^`NyN^qM^=N%J|kK>FaZ)(cyauZdrLx^!$nnHcE8X5Hk7%!NDf_VtlUdwlG8 z%a-Wqm$c{-R!gDKUzmrzm!2I#E)8uC1^&TgxOZfgh#O|%8urf-pLWwWPE-Y$hpO4I z(Y;M>b*GCuR)G%E%P1)b;XfVnPH!2WG|}dI=TC%(+MP^xb}2|I-eqyso$92ajWja8 zN@hHtq2fuejv=GIf(S03lnCg?ss=uI>*zA1H$GWHVFMMxPMm*&FMKkf2eFClI-G_}$FZf$CH@&#`yS3134!Um#z)8jO9w#UtTjUNdHy*V z39lb=ez!uE*x{*Vas6~q9}q=5tJ~JU+4UXa?FgDBNK!Eyh#+3 ztYE4fQ=2$WU(Zla^oi3`ihWvp(D!w<%5}W0Jq)j64TC|WbLnQ%MpAPi(4#^lDv!rJ z5-dgJW8{QjwLBG_SJ+af?Sv0iTj9&!9zTobKIt2ugZ%R1IIV^>gZpk`K)$_3XI&9TX#E)ujsi`}x`$)oxGZ(vfli0R_gwebe@=*05Q_y_`4>Vce9 zmm5kH;d)ZCe56(ZPxT)-GuwuwclWrV7iT8zI}^qYv%GhN!T#})|Fo3N@^CI_lWDHNluLDidV9t83Q$bUxBdEvVwRk#c{!;%_l-`Pz^lk!pdv{$ ztil=2qgF~|K8*SnPhoTZoDq&hB{V3rN27|`2~LHhKJh(;YwLG<2jh_p>yT4Z37j?i zdKwoXx%hJ)>mcY15Ef$7QK62P2^(??TMyi9Ht@#p@FO+sL|^ zSk-f-S!Z%6CHV2>LPrl*Ddye+1=V&0lYj?5@o~nprz5@6eT6L5s*6MdF9L3>6!n_A zbe|)`fz#XT13dGt?01JHY|OXvGTif@3?h~<2MA@hD&xA?Ogc45|H!Xjm=#vu(&blv zW9P){(17+rlcU{@ZqH&a$8j@;7$6}WZ|3F1dPW4%!kB+QRS zo70ybr(YmQYgWlY3C;WbZ|Ov+FO&ugMiN31$Y#$!j`yvJGe{FhyoTCy*XD(jao8BV z2O`Sl;x2`l)299HHRRk;`(a!{P&{`nD&Jq8_gxS;zn;dM!cYy!FcD_#Wy~jqcK`}) zHa5_nN-*P_!kAnh&hi_;$p>RW11o7#=+CrgqbtaeA$e5i0C9kxX$fy)3>*JKhX-;i z3u)6|1M45vvufdF-&hcL&k*~Z4t}{>lKU}G3vuoHBw99$^H}LcIb4I`XLY-Zr$HT8 zSAoJU?r~94s%gGh(`%1D^7Zh?Qkm!W3cvp_u!CEPph*LsV|9T1_TTLc9^zaUT)M%1 z@rIXoy^eKG4~1oHXBX`OI$<=7vGZC=)pe>d&nD^Toa<1hc!urzeQ{n|$`Fu`QkSBi z-g`JXVe#i$;1=Ao5v_LDm66eb(BycFF$bzsYCDNCcpKe|4vqu=Gnvtser&%h9|HIO z8Ojn6KT}DygG0}n$=2);@s!~f$)V=3qvP=~V|=#U#a?J$Nip==@gJD8({fN`#UPFg zj>6Q2r>B3PoS&KOs%p1TCF|7F!S+(6;m;|})vn7D8#wK|4uEx+`-6``&eyM8H(Q!j zvP(#f=RczIqvC>vq>ufrby`wGk49sqysc6IH!eQlqOn}mP3&b|GHJAlu`RLBQm*b{C)EepVjbOeE9C;3Vb5u2?zwj|kME6&*3>434-oMhLKHWVs zpYQE1&FnN?W=ITt@BI# zUJd!cyLoy&Tu@~z;YZM}(}X(8PER?{0%mTh+bt@;S;J4A#k}DW!Z0+Ny&F-bN&LJ_ ziiYh|2ah^Y&2?W{d1e3Ue^5`)-2}h)O?BtfL1t22JqK*q2FGOABAQYJf-*|FEqYG9 z`3AQhG`4_%6^@DgtZ>+GCSf@@IvqY1XGHT{J|J2Zw^Z>w$;#Eh!@_CW(-Tnzut{-U4*V(+DMSGvkB*J>Uzy4xd*l`M0hx4C3V|; z{w~FkNN0Ejteb@qLLE|k%&q1Kj2&JYaZuKp?=Qr;88P5R6O?s@n0^+Gc4WEqn~-ZO z8a!>}~Xq!~&wl`b3Ia`?3rhSkyLGoH5-2M0iw40`*v!>;BM zTZM}Lau7{^>++G0_r%R6kyKJkIM}f?6sC4NjXFIDGwkW)dh7g zfaZg5R0@E7#r7PJXdC-Uc98x$I;T6i?0<7EB2-c)iQI$XNSykYhgl~~@!yLKF-*Q! z8I!5!KvB)vbX*PSN6wn~yoPHch#I1d3!Y)nq8Hd@@EI4B*bdvZFZ}VQ-vw=&U9YT5 zlM`9ggw8APrP1s(F9S#KMu!jYAF!d9IZGLYUo{*~pr6+EMId+L!XpE|FXAwdbnH&VT2Rm#3KsxeLL(-PzC%W5B(m*==OF!&0* zPbI?I(W_uyTc0vh-mixhQNF6#r&Y2W^kqb>E1T7VkOxlO9_la5iLANWyl_4~vx-d| zGPknks;bnF=?N}%k{Q8=W>4+80@;~~wM#8$Ep~HG75^6i z89?U0M}>P}O-r3eM3p%~Fc-DMJ`F3dbHv(Krq~HO>yqB~7p9iI4{S`a2MkOny; zmPXfeE8rH27=^BhQ5u2sl{4LNw1jfW445ianq5#SPq$aeOOIzUiT`X>UR80});Q51 z(>;*$nD3q>?A(*}Bu60=n3nujRIbU|TRK@K10%0hq!3$X{5%?aGTx_1Yx6lj3+iw} z1&3Bne^E54HAVgB8zIIFfUg}P>yYD19KmpeB}of0o0$~COry@96mi#EVZCwh8bAZYY;|9`kso?byT0mpHS3yhN^5pm1OY6>cv4>lWO zM`~H^#vkn1e2#mUo(9~}$sJZ7rJFhyWl z23|4=&fV7vh*jE$p8V!Q8P6A0#8$Ugca`&BMwRVn0WK7o>VqP!674AD7Q@dT6moNK z9;Xt(y{v(nG+nM;UYGVbdhGSSqdN3_eV9Mih%-+8UhkN1t7pumq)rrjEPFz_hW6); zj}g=Twxc)%YU$e!lndB_ntdCawx+N3@?LczxCl8_U}4E)<~JWePF3+UE4_h~x{0v` z3_#wnY+b~rEr?GH!Z1NY1JhDdE`xe~I|h1MgY6?iDUa>WS`-w7dn&}Bjn3S(uWL04 z4saW#E#SdB#1+;$x63)F7aIm;y+(0tUfyIgcaieQp6`~9F}+)+#?7s89Gu&Tl#sRE zJo76%>i2>=mlYketjEs|JFU?Bq8$!qqn zxCs2;-@F#7DImIAz!Rk4kVGXgz%g~Tq`91GY8QSB*YgC{c8S`#Cvr=nzHX48-(2-GLI+C>y*0N{DRwjP(`^`wFFHT}Cr%#! zXlZ&$P7cp%NY;eVUV_24Gfg~RIgC4a%0h0fNh6 z(v+xCMR^UMz?vyP^XCM-Ikxds|K9LNI(YQB4oxih&4#ma;ev5>g0`H&tL4v`tv)G2 zp2Zmj7ifkP#X7W`3e~OiRfXmpI_{0)p1Mpjj0?W5s%tv?F=Qs^z&r#KshK|Icf;H# z@R5)2MVj62tYo^6Q_L#a%(+vX#>xKpbwYbY*--!|P|4U4kg0623A~c}wr@j=#NbubVOQ=Ry(OO;?^a#BhbBF#ay+H5-fz-xQn2F=` zuKwtFy|klc-o`l>`}-Rv9#k)~vPGo&>j`Wu*ClHk1F$d<@3aL=Z&R~=Z= z)NvwCp8h4_8Q+Qz!)pG^FKZh0k@hjO(a38lxxr@!Cii%k7%NO;9OHe_g1bvktXzNE z){29?D!HB9_P(Xm5kV+i1wE(dx6{9_g)ifX^~cM1yqA=;@ZR!f*y*Tt@WV~^kO|I2 zRNHysc(il{P_`TsHx!>RE1Nq$vAiJm>4YAO>1z;ZFV5n~nqz3CK=zs0zRWL|-*UXd zP$yzdNTWDg_kJ}I3k`lX)`2fnX2uMS^=M!+6-_IIY_L0)kQT~PH-522Le&AK6%GtD zU{7in3dmIu4s@9|rCS`8Xu<#8r8b+(BRDmo1^?Kmn(JMi1Jjq@{zRD)Yi|j~MDH=M zQN^Xa2euQ^Px7yxb_{iSqFiR!K91dtRqlLr|4DvEa#+HR;I??jdz%|8i$_9cy|+1p zb($F8fWmIb|2&t){q9^AGe_fpU`xEXFW;L+RR{U056t$^SoQi@(Ik}b+=WMbE|yrl z-Ao8qy`+tz7^9AnRC8H>6Jzj`*po+Y-d;R|=-MQ}8)2Ab{t0HK=CHYZNV9KD%#gkN zu#i)7QME#~QqwN7n%Pubad7pKu$6JGl` zba}l->e?YfW&qa6JZb|b|G;7)l{%)|`jQ6!QSReP`F3*=Og=P8vOR%~W(wx!r}NG| zC-Q$=xo}jjGlNe8=BU&As_L#ZC}apifnkAahsH7Pj=Y^6+N>tS{Ac8qXhB6nVg?v$!dpOTuAM$AMl zD(*bOqPjXP-|`JNSMB(~!DXUA6Qj1ub)9aR`P!|Bg+0Ve?LjxDo4c*RRjN;ku{_Bj z(D5D%hG4co3b7Gx^BzFs*+hO|m@fjj`#sP4F7qNBuZM`l18E9jcse-(G$LFXybHSN z^)GlaN)dG6`#jMOBN!SSYSM!$Z8B7PO2 zyVqZ+d_{d=h%+c@)rkgkKBB$mxZLQ7s6G^wXPmz6)!Fx+-xZn;K3vO{U>4^W(c*qA z05oQGw)4CM?MW&rrHwl~J5J-HM8%aRb4l4>R13x(b(<9#ow%ZyJV{5?H;!N>23m2C zB&^u+pBUb<#GT3tpN*Q0vbz|4WSjF#L`B_M%hby`&#P{)oZ+~mAV*4(f#qm=w$ynK zvG}bOl6xmSnegf~3oUc5MulFwT0I&jFFX6x6ihV4va4 zsTKPOL+9I(ZeD2k#tpkX9X{hED6bmyRoo?!Y)!g^M?BYXLN|Q8BVnV3K1}zG`oiax z?q1J+ApQ%bZDrZO`)1cywKo?N{_@TU(T;>Kya6wsCOuo0}GM4aSAhZi$X^1hp{ zZHrm>(~i`z7Mg2w{^Pb23In8{kC6o>@*6A^ID<(;a9VF0r!>YgzRLu)TD}eZC4c`E zbn^2gOD9LHnD&zw70%Plq8pOQPt@OAwbB*9k^>7yh|;i>T~FMrrHIV+$mfqrlDyZ6 zGXAabfZF7S!8E~fwNcjn=r3fRedbUIosS#Q@(f0YEfZ*-&Va^kNppc?XTv7yA-kd! z&^yTV3aEkta(@e0iBbg64kNKMs1zUzzjEYWVk@krpl9z2hHNiM^xgT=fFw1Q0cFSs zSdwfLB4AEM7pN`T&KR+9)@G zTxU%q8!Avh#>125!p*YXwL6gAet0%y1_No>9{#;3IfVc;a+3loe}-29=DHSuQLuYn zu;<`0z!?2DcZ!=4j}DMld5N(;NPI@x4A?~ldjxa&SGQ9rAbcNuys*&;K6|1E_@xG8 znIz9Q;wlFU*qluL1(JrGzw>RHd_@683Y!U)_!$k+?)=`>gvNc9^`!bBf1e1(tU80A zxOYxffrGXu^-48JLztpm+l@i2Mu%Zo`jy;eCFLBfKt9Xu`xjB%x5u#rOVq9~%pYjn zT7X|kMLyN!$usY)KY=gth-h(nQJ_`S(;T({JQfJEj9Q1!uqX!{S$fZ?yq!ArgHcgPM#O&)q9qadBrvlS(|TVo%%Gy&+zddf+mXk)=HST<=u!y`SAmvKr78efh~u zW|y?cr#>d9Ryf4fIylWc6$@23Jv)5Xo2W^4Y$H+!zo6=E-i3Y%`B|105u5R$eP*oB`e^me8A-N#|5M9<1vfgmD;EyCzz+J5(Z$@7!yjrI?s zb1vxw@^g;f@KF`Pyxgb{*>i^Bog1 zIB}cN(SfWlW0a?D*94-X-{oAo@F%I@@4K_`<6VV+tTX1`eJFS67e~ryU&$Q=LpTW> zUQEGqhuknrP5=~D_%iZmvljpEhv+xZ`c>qM*panzdOZbeO?lzLq}(~o?rDqc;yS;3 z<=Mf=bFW*a6qd5HGu|B%j&g}eonK9>_jxyQQPspWcGQrMmW4*the|?E))@Ws z(H$nS!Baz4Qc050xdqL0{2#4a4l}e(;Q8NJy@{JWAG0EL$JlTe5hyWSu^Q8HaLVUh zKr$W2-aBg2;^M$5oQpshsct->D5Gc)x!iG6MI>7FJpAZM$oS$@V?J1F-KTqhc@cM( zEVb>uh8LbhL%&F~rsijQ?6&T1|r#>&d~aDQQZvovKfRxH^t*5+7ss}IF_hWTx7-o;Gn=RI^g zJ9$f!Z^yvY{S6L%Yx$z?XFQF9M%c30$@>U?;R?bErdvhsxoW4rqjMRh2rsym!d#O35Psd?9UvWPvm zN-9%?mw0hOUq`3d4{R$4Eu{j(XDg&Ctg!TJH4bOFU%#WFWfON$U=pE;^M8@YWtbUG zWgFET0j=^r?cvN4Hza{Edgq$C1({oBn1|C0BPN|Cd0w@gwZt<}FKE(!-r3Z`Q%y>L zokM!>#>2f8RB|U9sv54r`X!I2swM^)Y#3)dI#0A|Ts2CfuX0_6zD#FaQRP>DO#;t% zkD4F3vBVMwMU7CzF&rN@@s(3A9icWV(0~0 z1;QRa(}O_nxhbsaQa~dpGGK~^WJ$oWx*W?-&F-_OQ$TN^Lmc~&5(eZg!yaERKk_^p z-lYiql)a7xK>^jAh5#$KubJtLW6p8^@h_W{{Q6~+^uPIKlclKuu6+%38dw^2xX)DR zakSr}zds4{zJN1{P%>&P0@Rk$PQiL!pTGU<8`*5 zYE5DhvJMlOrQ@?}xkHOH3g2G+edxEd-L=oLek~Ijk5ifT56f{aOB~gvBN31S(~q$c zAJ8<1A}S=43h&&#b=Fh6ufW&tzTWNgC*8t=rf{`S@Hk-(L@?(s+q>$hsKYFZiqwjz zw4{Vc8j%B%fGvr z{J#(7?}JS9IW#1%R0694dd3lSC*Ww;c(4LuvA2W}%@kZXEtJiRP)hA6t*+9ryp^oQ zH>K&=;QbDdmzh;D^~tz~CSzj~n#jGdUvMOJcS+{rD;Sc!lSFGCQvgBBZiC^CPqXwk z?G3_7EGMql!>G7}}36 z%2=RDBsHQ=NU5dH_>>ak5w8`0$Pg!-{2=5J5Fy32E$O|x%O^{NBQ&A-o5C_px?Rn> zOLIny_P%)>-Rn}I`MvdylkBx+_{FD_XU##+oqcvgzwgqa(iXtJdSsdiYnLao$!HNT zA|ES=yr1J%Z7JmG(F3!gn{IfuhPRp)1gRPwYld8Z8hx*qW?z&#XxgqA6;nm?p}{{o z#DCE%BbiCof~l^sV6_a-<;zd4-)>(=nvb*n>FTku55tTSoGef(t^rPII`Egm?Q52OC+xeC9D3o!xrfBdk5qr6TtSY zt_&jhLh_PuN){WDRl_+~VR-y-(Klh02RL(Hp2_z3t{wq`Oucm5^X|qBy!|`2#^A?V zQX9L_EE?fo2y~qR69|N=+qhq)Ol6iY1Sk0B*a%QCuo=WGQ0c7~rfJ)p-(Kt0R?tx5 zfOgA}-jR%TJFoX=i*|Q!SIjP=+$p*=yJn8Mjsto&b?q?rSs-_2Hn%~?o}#E8`}&)> z5d4u4LA2W5Ol

a&@njNxRKcL^bIY+t7r#}c=mMU)o~dcC&;Jpz5V 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

D__rl?YHA`H*rDkHIn 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 X<3fP~IH->o=zAOk6x|#lK|lQ;;?c?) literal 0 HcmV?d00001 diff --git a/source/frUpwork/project_spec/project_spec/JMKEngineering-Logo-Small.jpg b/source/frUpwork/project_spec/project_spec/JMKEngineering-Logo-Small.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ea67dd5b3b40fa17ff71c413490e1cde5fbc0ea0 GIT binary patch literal 80022 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 P>@?~@b(kS9tdIQ%!Fu4+ literal 0 HcmV?d00001 diff --git a/source/frUpwork/project_spec/project_spec/JMKEngineering-Logo_blue.jpg b/source/frUpwork/project_spec/project_spec/JMKEngineering-Logo_blue.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ea67dd5b3b40fa17ff71c413490e1cde5fbc0ea0 GIT binary patch literal 80022 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 k?YO}3M#Tj&L)e+m)jM*wve!;r)sv0Q9q01NQfQ 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 a-7OI(A7gTcBm_eo&7{}EKm^`DhW-m5m(Lmi literal 0 HcmV?d00001 diff --git a/source/frUpwork/project_spec/project_spec/LICRcyr2utf8.xdy b/source/frUpwork/project_spec/project_spec/LICRcyr2utf8.xdy new file mode 100644 index 0000000..a9ca1c8 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/LICRcyr2utf8.xdy @@ -0,0 +1,101 @@ +;; -*- coding: utf-8; mode: Lisp; -*- +;; style file for xindy +;; filename: LICRcyr2utf8.xdy +;; description: style file for xindy which maps back LaTeX Internal +;; Character Representation of Cyrillic to utf-8 +;; usage: for use with pdflatex produced .idx files. +;; Contributed by the Sphinx team, July 2018. +(merge-rule "\IeC {\'\CYRG }" "Ѓ" :string) +(merge-rule "\IeC {\'\CYRK }" "Ќ" :string) +(merge-rule "\IeC {\'\cyrg }" "ѓ" :string) +(merge-rule "\IeC {\'\cyrk }" "ќ" :string) +(merge-rule "\IeC {\CYRA }" "А" :string) +(merge-rule "\IeC {\CYRB }" "Б" :string) +(merge-rule "\IeC {\CYRC }" "Ц" :string) +(merge-rule "\IeC {\CYRCH }" "Ч" :string) +(merge-rule "\IeC {\CYRD }" "Д" :string) +(merge-rule "\IeC {\CYRDJE }" "Ђ" :string) +(merge-rule "\IeC {\CYRDZE }" "Ѕ" :string) +(merge-rule "\IeC {\CYRDZHE }" "Џ" :string) +(merge-rule "\IeC {\CYRE }" "Е" :string) +(merge-rule "\IeC {\CYREREV }" "Э" :string) +(merge-rule "\IeC {\CYRERY }" "Ы" :string) +(merge-rule "\IeC {\CYRF }" "Ф" :string) +(merge-rule "\IeC {\CYRG }" "Г" :string) +(merge-rule "\IeC {\CYRGUP }" "Ґ" :string) +(merge-rule "\IeC {\CYRH }" "Х" :string) +(merge-rule "\IeC {\CYRHRDSN }" "Ъ" :string) +(merge-rule "\IeC {\CYRI }" "И" :string) +(merge-rule "\IeC {\CYRIE }" "Є" :string) +(merge-rule "\IeC {\CYRII }" "І" :string) +(merge-rule "\IeC {\CYRISHRT }" "Й" :string) +(merge-rule "\IeC {\CYRJE }" "Ј" :string) +(merge-rule "\IeC {\CYRK }" "К" :string) +(merge-rule "\IeC {\CYRL }" "Л" :string) +(merge-rule "\IeC {\CYRLJE }" "Љ" :string) +(merge-rule "\IeC {\CYRM }" "М" :string) +(merge-rule "\IeC {\CYRN }" "Н" :string) +(merge-rule "\IeC {\CYRNJE }" "Њ" :string) +(merge-rule "\IeC {\CYRO }" "О" :string) +(merge-rule "\IeC {\CYRP }" "П" :string) +(merge-rule "\IeC {\CYRR }" "Р" :string) +(merge-rule "\IeC {\CYRS }" "С" :string) +(merge-rule "\IeC {\CYRSFTSN }" "Ь" :string) +(merge-rule "\IeC {\CYRSH }" "Ш" :string) +(merge-rule "\IeC {\CYRSHCH }" "Щ" :string) +(merge-rule "\IeC {\CYRT }" "Т" :string) +(merge-rule "\IeC {\CYRTSHE }" "Ћ" :string) +(merge-rule "\IeC {\CYRU }" "У" :string) +(merge-rule "\IeC {\CYRUSHRT }" "Ў" :string) +(merge-rule "\IeC {\CYRV }" "В" :string) +(merge-rule "\IeC {\CYRYA }" "Я" :string) +(merge-rule "\IeC {\CYRYI }" "Ї" :string) +(merge-rule "\IeC {\CYRYO }" "Ё" :string) +(merge-rule "\IeC {\CYRYU }" "Ю" :string) +(merge-rule "\IeC {\CYRZ }" "З" :string) +(merge-rule "\IeC {\CYRZH }" "Ж" :string) +(merge-rule "\IeC {\cyra }" "а" :string) +(merge-rule "\IeC {\cyrb }" "б" :string) +(merge-rule "\IeC {\cyrc }" "ц" :string) +(merge-rule "\IeC {\cyrch }" "ч" :string) +(merge-rule "\IeC {\cyrd }" "д" :string) +(merge-rule "\IeC {\cyrdje }" "ђ" :string) +(merge-rule "\IeC {\cyrdze }" "ѕ" :string) +(merge-rule "\IeC {\cyrdzhe }" "џ" :string) +(merge-rule "\IeC {\cyre }" "е" :string) +(merge-rule "\IeC {\cyrerev }" "э" :string) +(merge-rule "\IeC {\cyrery }" "ы" :string) +(merge-rule "\IeC {\cyrf }" "ф" :string) +(merge-rule "\IeC {\cyrg }" "г" :string) +(merge-rule "\IeC {\cyrgup }" "ґ" :string) +(merge-rule "\IeC {\cyrh }" "х" :string) +(merge-rule "\IeC {\cyrhrdsn }" "ъ" :string) +(merge-rule "\IeC {\cyri }" "и" :string) +(merge-rule "\IeC {\cyrie }" "є" :string) +(merge-rule "\IeC {\cyrii }" "і" :string) +(merge-rule "\IeC {\cyrishrt }" "й" :string) +(merge-rule "\IeC {\cyrje }" "ј" :string) +(merge-rule "\IeC {\cyrk }" "к" :string) +(merge-rule "\IeC {\cyrl }" "л" :string) +(merge-rule "\IeC {\cyrlje }" "љ" :string) +(merge-rule "\IeC {\cyrm }" "м" :string) +(merge-rule "\IeC {\cyrn }" "н" :string) +(merge-rule "\IeC {\cyrnje }" "њ" :string) +(merge-rule "\IeC {\cyro }" "о" :string) +(merge-rule "\IeC {\cyrp }" "п" :string) +(merge-rule "\IeC {\cyrr }" "р" :string) +(merge-rule "\IeC {\cyrs }" "с" :string) +(merge-rule "\IeC {\cyrsftsn }" "ь" :string) +(merge-rule "\IeC {\cyrsh }" "ш" :string) +(merge-rule "\IeC {\cyrshch }" "щ" :string) +(merge-rule "\IeC {\cyrt }" "т" :string) +(merge-rule "\IeC {\cyrtshe }" "ћ" :string) +(merge-rule "\IeC {\cyru }" "у" :string) +(merge-rule "\IeC {\cyrushrt }" "ў" :string) +(merge-rule "\IeC {\cyrv }" "в" :string) +(merge-rule "\IeC {\cyrya }" "я" :string) +(merge-rule "\IeC {\cyryi }" "ї" :string) +(merge-rule "\IeC {\cyryo }" "ё" :string) +(merge-rule "\IeC {\cyryu }" "ю" :string) +(merge-rule "\IeC {\cyrz }" "з" :string) +(merge-rule "\IeC {\cyrzh }" "ж" :string) diff --git a/source/frUpwork/project_spec/project_spec/LICRlatin2utf8.xdy b/source/frUpwork/project_spec/project_spec/LICRlatin2utf8.xdy new file mode 100644 index 0000000..1d76825 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/LICRlatin2utf8.xdy @@ -0,0 +1,239 @@ +;; style file for xindy +;; filename: LICRlatin2utf8.xdy +;; description: style file for xindy which maps back LaTeX Internal +;; Character Representation of letters (as arising in .idx index +;; file) to UTF-8 encoding for correct sorting by xindy. +;; usage: for use with the pdflatex engine, +;; *not* for use with xelatex or lualatex. +;; +;; This is based upon xindy's distributed file tex/inputenc/utf8.xdy. +;; The modifications include: +;; +;; - Updates for compatibility with current LaTeX macro encoding. +;; +;; - Systematic usage of the \IeC {...} mark-up, because mark-up in +;; tex/inputenc/utf8.xdy was using it on seemingly random basis, and +;; Sphinx coercing of xindy usability for both Latin and Cyrillic scripts +;; with pdflatex requires its systematic presence here. +;; +;; - Support for some extra letters: Ÿ, Ŋ, ŋ, Œ, œ, IJ, ij, ȷ and ẞ. +;; +;; Indeed Sphinx needs to support for pdflatex engine all Unicode letters +;; available in TeX T1 font encoding. The above letters are found in +;; that encoding but not in the Latin1, 2, 3 charsets which are those +;; covered by original tex/inputenc/utf8.xdy. +;; +;; - There is a problem that ȷ is not supported out-of-the box by LaTeX +;; with inputenc, one must add explicitly +;; \DeclareUnicodeCharacter{0237}{\j} +;; to preamble of LaTeX document. However this character is not supported +;; by the TeX "times" font used by default by Sphinx for pdflatex engine. +;; +;; **Update**: since LaTeX 2018/12/01, the \j as well as \SS, \k{} and +;; \.{} need no extra user declaration anymore. +;; +;; - ẞ needs \DeclareUnicodeCharacter{1E9E}{\SS} (but ß needs no extra set-up). +;; +;; - U+02DB (˛) and U+02D9 (˙) are also not supported by inputenc +;; out of the box and require +;; \DeclareUnicodeCharacter{02DB}{\k{}} +;; \DeclareUnicodeCharacter{02D9}{\.{}} +;; to be added to preamble. +;; +;; - U+0127 ħ and U+0126 Ħ are absent from TeX T1+TS1 font encodings. +;; +;; - Characters Ŋ and ŋ are not supported by TeX font "times" used by +;; default by Sphinx for pdflatex engine but they are supported by +;; some TeX fonts, in particular by the default LaTeX font for T1 +;; encoding. +;; +;; - " and ~ must be escaped as ~" and resp. ~~ in xindy merge rules. +;; +;; Contributed by the Sphinx team, July 2018. +;; +;; See sphinx.xdy for superior figures, as they are escaped by LaTeX writer. +(merge-rule "\IeC {\textonesuperior }" "¹" :string) +(merge-rule "\IeC {\texttwosuperior }" "²" :string) +(merge-rule "\IeC {\textthreesuperior }" "³" :string) +(merge-rule "\IeC {\'a}" "á" :string) +(merge-rule "\IeC {\'A}" "Á" :string) +(merge-rule "\IeC {\`a}" "à" :string) +(merge-rule "\IeC {\`A}" "À" :string) +(merge-rule "\IeC {\^a}" "â" :string) +(merge-rule "\IeC {\^A}" "Â" :string) +(merge-rule "\IeC {\~"a}" "ä" :string) +(merge-rule "\IeC {\~"A}" "Ä" :string) +(merge-rule "\IeC {\~~a}" "ã" :string) +(merge-rule "\IeC {\~~A}" "Ã" :string) +(merge-rule "\IeC {\c c}" "ç" :string) +(merge-rule "\IeC {\c C}" "Ç" :string) +(merge-rule "\IeC {\'c}" "ć" :string) +(merge-rule "\IeC {\'C}" "Ć" :string) +(merge-rule "\IeC {\^c}" "ĉ" :string) +(merge-rule "\IeC {\^C}" "Ĉ" :string) +(merge-rule "\IeC {\.c}" "ċ" :string) +(merge-rule "\IeC {\.C}" "Ċ" :string) +(merge-rule "\IeC {\c s}" "ş" :string) +(merge-rule "\IeC {\c S}" "Ş" :string) +(merge-rule "\IeC {\c t}" "ţ" :string) +(merge-rule "\IeC {\c T}" "Ţ" :string) +(merge-rule "\IeC {\-}" "­" :string); soft hyphen +(merge-rule "\IeC {\textdiv }" "÷" :string) +(merge-rule "\IeC {\'e}" "é" :string) +(merge-rule "\IeC {\'E}" "É" :string) +(merge-rule "\IeC {\`e}" "è" :string) +(merge-rule "\IeC {\`E}" "È" :string) +(merge-rule "\IeC {\^e}" "ê" :string) +(merge-rule "\IeC {\^E}" "Ê" :string) +(merge-rule "\IeC {\~"e}" "ë" :string) +(merge-rule "\IeC {\~"E}" "Ë" :string) +(merge-rule "\IeC {\^g}" "ĝ" :string) +(merge-rule "\IeC {\^G}" "Ĝ" :string) +(merge-rule "\IeC {\.g}" "ġ" :string) +(merge-rule "\IeC {\.G}" "Ġ" :string) +(merge-rule "\IeC {\^h}" "ĥ" :string) +(merge-rule "\IeC {\^H}" "Ĥ" :string) +(merge-rule "\IeC {\H o}" "ő" :string) +(merge-rule "\IeC {\H O}" "Ő" :string) +(merge-rule "\IeC {\textacutedbl }" "˝" :string) +(merge-rule "\IeC {\H u}" "ű" :string) +(merge-rule "\IeC {\H U}" "Ű" :string) +(merge-rule "\IeC {\ae }" "æ" :string) +(merge-rule "\IeC {\AE }" "Æ" :string) +(merge-rule "\IeC {\textcopyright }" "©" :string) +(merge-rule "\IeC {\c \ }" "¸" :string) +(merge-rule "\IeC {\dh }" "ð" :string) +(merge-rule "\IeC {\DH }" "Ð" :string) +(merge-rule "\IeC {\dj }" "đ" :string) +(merge-rule "\IeC {\DJ }" "Đ" :string) +(merge-rule "\IeC {\guillemotleft }" "«" :string) +(merge-rule "\IeC {\guillemotright }" "»" :string) +(merge-rule "\IeC {\'\i }" "í" :string) +(merge-rule "\IeC {\`\i }" "ì" :string) +(merge-rule "\IeC {\^\i }" "î" :string) +(merge-rule "\IeC {\~"\i }" "ï" :string) +(merge-rule "\IeC {\i }" "ı" :string) +(merge-rule "\IeC {\^\j }" "ĵ" :string) +(merge-rule "\IeC {\k {}}" "˛" :string) +(merge-rule "\IeC {\l }" "ł" :string) +(merge-rule "\IeC {\L }" "Ł" :string) +(merge-rule "\IeC {\nobreakspace }" " " :string) +(merge-rule "\IeC {\o }" "ø" :string) +(merge-rule "\IeC {\O }" "Ø" :string) +(merge-rule "\IeC {\textsterling }" "£" :string) +(merge-rule "\IeC {\textparagraph }" "¶" :string) +(merge-rule "\IeC {\ss }" "ß" :string) +(merge-rule "\IeC {\textsection }" "§" :string) +(merge-rule "\IeC {\textbrokenbar }" "¦" :string) +(merge-rule "\IeC {\textcent }" "¢" :string) +(merge-rule "\IeC {\textcurrency }" "¤" :string) +(merge-rule "\IeC {\textdegree }" "°" :string) +(merge-rule "\IeC {\textexclamdown }" "¡" :string) +(merge-rule "\IeC {\texthbar }" "ħ" :string) +(merge-rule "\IeC {\textHbar }" "Ħ" :string) +(merge-rule "\IeC {\textonehalf }" "½" :string) +(merge-rule "\IeC {\textonequarter }" "¼" :string) +(merge-rule "\IeC {\textordfeminine }" "ª" :string) +(merge-rule "\IeC {\textordmasculine }" "º" :string) +(merge-rule "\IeC {\textperiodcentered }" "·" :string) +(merge-rule "\IeC {\textquestiondown }" "¿" :string) +(merge-rule "\IeC {\textregistered }" "®" :string) +(merge-rule "\IeC {\textthreequarters }" "¾" :string) +(merge-rule "\IeC {\textyen }" "¥" :string) +(merge-rule "\IeC {\th }" "þ" :string) +(merge-rule "\IeC {\TH }" "Þ" :string) +(merge-rule "\IeC {\'I}" "Í" :string) +(merge-rule "\IeC {\`I}" "Ì" :string) +(merge-rule "\IeC {\^I}" "Î" :string) +(merge-rule "\IeC {\~"I}" "Ï" :string) +(merge-rule "\IeC {\.I}" "İ" :string) +(merge-rule "\IeC {\^J}" "Ĵ" :string) +(merge-rule "\IeC {\k a}" "ą" :string) +(merge-rule "\IeC {\k A}" "Ą" :string) +(merge-rule "\IeC {\k e}" "ę" :string) +(merge-rule "\IeC {\k E}" "Ę" :string) +(merge-rule "\IeC {\'l}" "ĺ" :string) +(merge-rule "\IeC {\'L}" "Ĺ" :string) +(merge-rule "\IeC {\textlnot }" "¬" :string) +(merge-rule "\IeC {\textmu }" "µ" :string) +(merge-rule "\IeC {\'n}" "ń" :string) +(merge-rule "\IeC {\'N}" "Ń" :string) +(merge-rule "\IeC {\~~n}" "ñ" :string) +(merge-rule "\IeC {\~~N}" "Ñ" :string) +(merge-rule "\IeC {\'o}" "ó" :string) +(merge-rule "\IeC {\'O}" "Ó" :string) +(merge-rule "\IeC {\`o}" "ò" :string) +(merge-rule "\IeC {\`O}" "Ò" :string) +(merge-rule "\IeC {\^o}" "ô" :string) +(merge-rule "\IeC {\^O}" "Ô" :string) +(merge-rule "\IeC {\~"o}" "ö" :string) +(merge-rule "\IeC {\~"O}" "Ö" :string) +(merge-rule "\IeC {\~~o}" "õ" :string) +(merge-rule "\IeC {\~~O}" "Õ" :string) +(merge-rule "\IeC {\textpm }" "±" :string) +(merge-rule "\IeC {\r a}" "å" :string) +(merge-rule "\IeC {\r A}" "Å" :string) +(merge-rule "\IeC {\'r}" "ŕ" :string) +(merge-rule "\IeC {\'R}" "Ŕ" :string) +(merge-rule "\IeC {\r u}" "ů" :string) +(merge-rule "\IeC {\r U}" "Ů" :string) +(merge-rule "\IeC {\'s}" "ś" :string) +(merge-rule "\IeC {\'S}" "Ś" :string) +(merge-rule "\IeC {\^s}" "ŝ" :string) +(merge-rule "\IeC {\^S}" "Ŝ" :string) +(merge-rule "\IeC {\textasciidieresis }" "¨" :string) +(merge-rule "\IeC {\textasciimacron }" "¯" :string) +(merge-rule "\IeC {\.{}}" "˙" :string) +(merge-rule "\IeC {\textasciiacute }" "´" :string) +(merge-rule "\IeC {\texttimes }" "×" :string) +(merge-rule "\IeC {\u a}" "ă" :string) +(merge-rule "\IeC {\u A}" "Ă" :string) +(merge-rule "\IeC {\u g}" "ğ" :string) +(merge-rule "\IeC {\u G}" "Ğ" :string) +(merge-rule "\IeC {\textasciibreve }" "˘" :string) +(merge-rule "\IeC {\'u}" "ú" :string) +(merge-rule "\IeC {\'U}" "Ú" :string) +(merge-rule "\IeC {\`u}" "ù" :string) +(merge-rule "\IeC {\`U}" "Ù" :string) +(merge-rule "\IeC {\^u}" "û" :string) +(merge-rule "\IeC {\^U}" "Û" :string) +(merge-rule "\IeC {\~"u}" "ü" :string) +(merge-rule "\IeC {\~"U}" "Ü" :string) +(merge-rule "\IeC {\u u}" "ŭ" :string) +(merge-rule "\IeC {\u U}" "Ŭ" :string) +(merge-rule "\IeC {\v c}" "č" :string) +(merge-rule "\IeC {\v C}" "Č" :string) +(merge-rule "\IeC {\v d}" "ď" :string) +(merge-rule "\IeC {\v D}" "Ď" :string) +(merge-rule "\IeC {\v e}" "ě" :string) +(merge-rule "\IeC {\v E}" "Ě" :string) +(merge-rule "\IeC {\v l}" "ľ" :string) +(merge-rule "\IeC {\v L}" "Ľ" :string) +(merge-rule "\IeC {\v n}" "ň" :string) +(merge-rule "\IeC {\v N}" "Ň" :string) +(merge-rule "\IeC {\v r}" "ř" :string) +(merge-rule "\IeC {\v R}" "Ř" :string) +(merge-rule "\IeC {\v s}" "š" :string) +(merge-rule "\IeC {\v S}" "Š" :string) +(merge-rule "\IeC {\textasciicaron }" "ˇ" :string) +(merge-rule "\IeC {\v t}" "ť" :string) +(merge-rule "\IeC {\v T}" "Ť" :string) +(merge-rule "\IeC {\v z}" "ž" :string) +(merge-rule "\IeC {\v Z}" "Ž" :string) +(merge-rule "\IeC {\'y}" "ý" :string) +(merge-rule "\IeC {\'Y}" "Ý" :string) +(merge-rule "\IeC {\~"y}" "ÿ" :string) +(merge-rule "\IeC {\'z}" "ź" :string) +(merge-rule "\IeC {\'Z}" "Ź" :string) +(merge-rule "\IeC {\.z}" "ż" :string) +(merge-rule "\IeC {\.Z}" "Ż" :string) +;; letters not in Latin1, 2, 3 but available in TeX T1 font encoding +(merge-rule "\IeC {\~"Y}" "Ÿ" :string) +(merge-rule "\IeC {\NG }" "Ŋ" :string) +(merge-rule "\IeC {\ng }" "ŋ" :string) +(merge-rule "\IeC {\OE }" "Œ" :string) +(merge-rule "\IeC {\oe }" "œ" :string) +(merge-rule "\IeC {\IJ }" "IJ" :string) +(merge-rule "\IeC {\ij }" "ij" :string) +(merge-rule "\IeC {\j }" "ȷ" :string) +(merge-rule "\IeC {\SS }" "ẞ" :string) diff --git a/source/frUpwork/project_spec/project_spec/LatinRules.xdy b/source/frUpwork/project_spec/project_spec/LatinRules.xdy new file mode 100644 index 0000000..99f14a2 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/LatinRules.xdy @@ -0,0 +1,607 @@ +;; style file for xindy +;; filename: LatinRules.xdy +;; +;; It is based upon xindy's files lang/general/utf8.xdy and +;; lang/general/utf8-lang.xdy which implement +;; "a general sorting order for Western European languages" +;; +;; The aim for Sphinx is to be able to index in a Cyrillic document +;; also terms using the Latin alphabets, inclusive of letters +;; with diacritics. To this effect the xindy rules from lang/general +;; got manually re-coded to avoid collisions with the encoding +;; done by xindy for sorting words in Cyrillic languages, which was +;; observed not to use bytes with octal encoding 0o266 or higher. +;; +;; So here we use only 0o266 or higher bytes. +;; (Ŋ, ŋ, IJ, and ij are absent from +;; lang/general/utf8.xdy and not included here) +;; Contributed by the Sphinx team, 2018. + +(define-letter-group "A" :prefixes ("")) +(define-letter-group "B" :after "A" :prefixes ("")) +(define-letter-group "C" :after "B" :prefixes ("")) +(define-letter-group "D" :after "C" :prefixes ("")) +(define-letter-group "E" :after "D" :prefixes ("")) +(define-letter-group "F" :after "E" :prefixes ("")) +(define-letter-group "G" :after "F" :prefixes ("")) +(define-letter-group "H" :after "G" :prefixes ("")) +(define-letter-group "I" :after "H" :prefixes ("")) +(define-letter-group "J" :after "I" :prefixes ("")) +(define-letter-group "K" :after "J" :prefixes ("")) +(define-letter-group "L" :after "K" :prefixes ("")) +(define-letter-group "M" :after "L" :prefixes ("")) +(define-letter-group "N" :after "M" :prefixes ("")) +(define-letter-group "O" :after "N" :prefixes ("")) +(define-letter-group "P" :after "O" :prefixes ("")) +(define-letter-group "Q" :after "P" :prefixes ("")) +(define-letter-group "R" :after "Q" :prefixes ("")) +(define-letter-group "S" :after "R" :prefixes ("")) +(define-letter-group "T" :after "S" :prefixes ("")) +(define-letter-group "U" :after "T" :prefixes ("")) +(define-letter-group "V" :after "U" :prefixes ("")) +(define-letter-group "W" :after "V" :prefixes ("")) +(define-letter-group "X" :after "W" :prefixes ("")) +(define-letter-group "Y" :after "X" :prefixes ("")) +(define-letter-group "Z" :after "Y" :prefixes ("")) + +(define-rule-set "sphinx-xy-alphabetize" + + :rules (("À" "" :string) + ("Ă" "" :string) + ("â" "" :string) + ("Ä" "" :string) + ("à" "" :string) + ("Å" "" :string) + ("Ã" "" :string) + ("Á" "" :string) + ("á" "" :string) + ("ã" "" :string) + ("Â" "" :string) + ("ă" "" :string) + ("å" "" :string) + ("ą" "" :string) + ("ä" "" :string) + ("Ą" "" :string) + ("æ" "" :string) + ("Æ" "" :string) + ("ć" "" :string) + ("ĉ" "" :string) + ("ç" "" :string) + ("Č" "" :string) + ("č" "" :string) + ("Ĉ" "" :string) + ("Ç" "" :string) + ("Ć" "" :string) + ("ď" "" :string) + ("Đ" "" :string) + ("Ď" "" :string) + ("đ" "" :string) + ("ê" "" :string) + ("Ę" "" :string) + ("Ě" "" :string) + ("ë" "" :string) + ("ě" "" :string) + ("é" "" :string) + ("È" "" :string) + ("Ë" "" :string) + ("É" "" :string) + ("è" "" :string) + ("Ê" "" :string) + ("ę" "" :string) + ("ĝ" "" :string) + ("ğ" "" :string) + ("Ğ" "" :string) + ("Ĝ" "" :string) + ("ĥ" "" :string) + ("Ĥ" "" :string) + ("Ï" "" :string) + ("Í" "" :string) + ("ï" "" :string) + ("Î" "" :string) + ("î" "" :string) + ("ı" "" :string) + ("İ" "" :string) + ("í" "" :string) + ("Ì" "" :string) + ("ì" "" :string) + ("Ĵ" "" :string) + ("ĵ" "" :string) + ("ł" "" :string) + ("Ł" "" :string) + ("ľ" "" :string) + ("Ľ" "" :string) + ("ń" "" :string) + ("Ń" "" :string) + ("ñ" "" :string) + ("ň" "" :string) + ("Ñ" "" :string) + ("Ň" "" :string) + ("Õ" "" :string) + ("Ő" "" :string) + ("ó" "" :string) + ("ö" "" :string) + ("ô" "" :string) + ("ő" "" :string) + ("Ø" "" :string) + ("Ö" "" :string) + ("õ" "" :string) + ("Ô" "" :string) + ("ø" "" :string) + ("Ó" "" :string) + ("Ò" "" :string) + ("ò" "" :string) + ("œ" "ĺ" :string) + ("Œ" "ĺ" :string) + ("Ř" "" :string) + ("ř" "" :string) + ("Ŕ" "" :string) + ("ŕ" "" :string) + ("ŝ" "" :string) + ("Ś" "" :string) + ("ș" "" :string) + ("ş" "" :string) + ("Ŝ" "" :string) + ("ś" "" :string) + ("Ș" "" :string) + ("š" "" :string) + ("Ş" "" :string) + ("Š" "" :string) + ("ß" "" :string) + ("Ț" "" :string) + ("Ť" "" :string) + ("ț" "" :string) + ("ť" "" :string) + ("û" "" :string) + ("ŭ" "" :string) + ("ů" "" :string) + ("ű" "" :string) + ("ù" "" :string) + ("Ŭ" "" :string) + ("Ù" "" :string) + ("Ű" "" :string) + ("Ü" "" :string) + ("Ů" "" :string) + ("ú" "" :string) + ("Ú" "" :string) + ("Û" "" :string) + ("ü" "" :string) + ("ÿ" "" :string) + ("Ý" "" :string) + ("Ÿ" "" :string) + ("ý" "" :string) + ("Ż" "" :string) + ("Ž" "" :string) + ("Ź" "" :string) + ("ž" "" :string) + ("ż" "" :string) + ("ź" "" :string) + ("a" "" :string) + ("A" "" :string) + ("b" "" :string) + ("B" "" :string) + ("c" "" :string) + ("C" "" :string) + ("d" "" :string) + ("D" "" :string) + ("e" "" :string) + ("E" "" :string) + ("F" "" :string) + ("f" "" :string) + ("G" "" :string) + ("g" "" :string) + ("H" "" :string) + ("h" "" :string) + ("i" "" :string) + ("I" "" :string) + ("J" "" :string) + ("j" "" :string) + ("K" "" :string) + ("k" "" :string) + ("L" "" :string) + ("l" "" :string) + ("M" "" :string) + ("m" "" :string) + ("n" "" :string) + ("N" "" :string) + ("O" "" :string) + ("o" "" :string) + ("p" "" :string) + ("P" "" :string) + ("Q" "" :string) + ("q" "" :string) + ("r" "" :string) + ("R" "" :string) + ("S" "" :string) + ("s" "" :string) + ("t" "" :string) + ("T" "" :string) + ("u" "" :string) + ("U" "" :string) + ("v" "" :string) + ("V" "" :string) + ("W" "" :string) + ("w" "" :string) + ("x" "" :string) + ("X" "" :string) + ("Y" "" :string) + ("y" "" :string) + ("z" "" :string) + ("Z" "" :string) + )) + +(define-rule-set "sphinx-xy-resolve-diacritics" + + :rules (("Ĥ" "" :string) + ("ó" "" :string) + ("ľ" "" :string) + ("Ř" "" :string) + ("ĝ" "" :string) + ("ď" "" :string) + ("Ě" "" :string) + ("ĥ" "" :string) + ("Č" "" :string) + ("Ĵ" "" :string) + ("ě" "" :string) + ("ž" "" :string) + ("Ď" "" :string) + ("ř" "" :string) + ("Ž" "" :string) + ("ı" "" :string) + ("Ť" "" :string) + ("á" "" :string) + ("č" "" :string) + ("Á" "" :string) + ("ň" "" :string) + ("Š" "" :string) + ("Ň" "" :string) + ("ĵ" "" :string) + ("ť" "" :string) + ("Ó" "" :string) + ("ý" "" :string) + ("Ĝ" "" :string) + ("Ú" "" :string) + ("Ľ" "" :string) + ("š" "" :string) + ("Ý" "" :string) + ("ú" "" :string) + ("Ś" "" :string) + ("ć" "" :string) + ("Ł" "" :string) + ("ł" "" :string) + ("ń" "" :string) + ("À" "" :string) + ("Ź" "" :string) + ("à" "" :string) + ("Ń" "" :string) + ("Đ" "" :string) + ("ÿ" "" :string) + ("ś" "" :string) + ("Ğ" "" :string) + ("ğ" "" :string) + ("Ù" "" :string) + ("İ" "" :string) + ("đ" "" :string) + ("ù" "" :string) + ("Ț" "" :string) + ("é" "" :string) + ("ŕ" "" :string) + ("Ć" "" :string) + ("ț" "" :string) + ("ò" "" :string) + ("ź" "" :string) + ("Ò" "" :string) + ("Ÿ" "" :string) + ("Ŕ" "" :string) + ("É" "" :string) + ("ĉ" "" :string) + ("ô" "" :string) + ("Í" "" :string) + ("ŝ" "" :string) + ("Ż" "" :string) + ("Ă" "" :string) + ("Ŝ" "" :string) + ("ñ" "" :string) + ("ŭ" "" :string) + ("í" "" :string) + ("È" "" :string) + ("Ô" "" :string) + ("Ŭ" "" :string) + ("ż" "" :string) + ("Ñ" "" :string) + ("è" "" :string) + ("Ĉ" "" :string) + ("ă" "" :string) + ("â" "" :string) + ("û" "" :string) + ("ê" "" :string) + ("Õ" "" :string) + ("õ" "" :string) + ("ș" "" :string) + ("ç" "" :string) + ("Â" "" :string) + ("Ê" "" :string) + ("Û" "" :string) + ("Ç" "" :string) + ("ì" "" :string) + ("Ì" "" :string) + ("Ș" "" :string) + ("ö" "" :string) + ("Ö" "" :string) + ("ş" "" :string) + ("ů" "" :string) + ("ë" "" :string) + ("ã" "" :string) + ("î" "" :string) + ("Î" "" :string) + ("Ã" "" :string) + ("Ş" "" :string) + ("Ů" "" :string) + ("Ë" "" :string) + ("ï" "" :string) + ("Ő" "" :string) + ("Ï" "" :string) + ("Ę" "" :string) + ("ő" "" :string) + ("Ü" "" :string) + ("Å" "" :string) + ("ü" "" :string) + ("ę" "" :string) + ("å" "" :string) + ("Ä" "" :string) + ("ű" "" :string) + ("Ø" "" :string) + ("ø" "" :string) + ("Ű" "" :string) + ("ä" "" :string) + ("Ą" "" :string) + ("ą" "" :string) + ("œ" "" :string) + ("ß" "" :string) + ("Æ" "" :string) + ("Œ" "" :string) + ("æ" "" :string) + ("e" "" :string) + ("t" "" :string) + ("L" "" :string) + ("Y" "" :string) + ("J" "" :string) + ("a" "" :string) + ("p" "" :string) + ("u" "" :string) + ("j" "" :string) + ("b" "" :string) + ("G" "" :string) + ("U" "" :string) + ("F" "" :string) + ("H" "" :string) + ("i" "" :string) + ("z" "" :string) + ("c" "" :string) + ("l" "" :string) + ("A" "" :string) + ("Q" "" :string) + ("w" "" :string) + ("D" "" :string) + ("R" "" :string) + ("d" "" :string) + ("s" "" :string) + ("r" "" :string) + ("k" "" :string) + ("v" "" :string) + ("m" "" :string) + ("P" "" :string) + ("y" "" :string) + ("K" "" :string) + ("q" "" :string) + ("S" "" :string) + ("I" "" :string) + ("C" "" :string) + ("M" "" :string) + ("Z" "" :string) + ("T" "" :string) + ("W" "" :string) + ("B" "" :string) + ("h" "" :string) + ("x" "" :string) + ("X" "" :string) + ("f" "" :string) + ("E" "" :string) + ("V" "" :string) + ("N" "" :string) + ("O" "" :string) + ("o" "" :string) + ("g" "" :string) + ("n" "" :string) + )) + +(define-rule-set "sphinx-xy-resolve-case" + + :rules (("Ú" "8" :string) + ("Ÿ" "8" :string) + ("Ç" "8" :string) + ("Ĉ" "8" :string) + ("Ŕ" "8" :string) + ("Ľ" "8" :string) + ("Ů" "8" :string) + ("Ý" "8" :string) + ("É" "8" :string) + ("Ë" "8" :string) + ("Ș" "8" :string) + ("Ì" "8" :string) + ("Ê" "8" :string) + ("Ň" "8" :string) + ("Ą" "8" :string) + ("Š" "8" :string) + ("Û" "8" :string) + ("Ş" "8" :string) + ("Ć" "8" :string) + ("Ò" "8" :string) + ("Ĝ" "8" :string) + ("Ñ" "8" :string) + ("Ó" "8" :string) + ("Î" "8" :string) + ("Á" "8" :string) + ("Ã" "8" :string) + ("Ț" "8" :string) + ("Å" "8" :string) + ("Ğ" "8" :string) + ("Ü" "8" :string) + ("È" "8" :string) + ("Ô" "8" :string) + ("İ" "8" :string) + ("Ű" "8" :string) + ("Ù" "8" :string) + ("Ŭ" "8" :string) + ("Â" "8" :string) + ("Ť" "8" :string) + ("Ń" "8" :string) + ("Ď" "8" :string) + ("Ź" "8" :string) + ("Ž" "8" :string) + ("Đ" "8" :string) + ("Ŝ" "8" :string) + ("Č" "8" :string) + ("Ĵ" "8" :string) + ("Ö" "8" :string) + ("Ø" "8" :string) + ("Ż" "8" :string) + ("Ł" "8" :string) + ("Ă" "8" :string) + ("Ě" "8" :string) + ("Ő" "8" :string) + ("Õ" "8" :string) + ("Ę" "8" :string) + ("Ï" "8" :string) + ("À" "8" :string) + ("Ĥ" "8" :string) + ("Ä" "8" :string) + ("Ś" "8" :string) + ("Ř" "8" :string) + ("Í" "8" :string) + ("Œ" "89" :string) + ("Æ" "89" :string) + ("ì" "9" :string) + ("è" "9" :string) + ("ą" "9" :string) + ("š" "9" :string) + ("ú" "9" :string) + ("å" "9" :string) + ("ă" "9" :string) + ("ę" "9" :string) + ("ü" "9" :string) + ("ź" "9" :string) + ("ò" "9" :string) + ("ť" "9" :string) + ("ț" "9" :string) + ("ĵ" "9" :string) + ("ŕ" "9" :string) + ("ż" "9" :string) + ("ä" "9" :string) + ("ý" "9" :string) + ("ù" "9" :string) + ("á" "9" :string) + ("é" "9" :string) + ("č" "9" :string) + ("ň" "9" :string) + ("ś" "9" :string) + ("ø" "9" :string) + ("í" "9" :string) + ("đ" "9" :string) + ("ı" "9" :string) + ("ğ" "9" :string) + ("î" "9" :string) + ("ã" "9" :string) + ("à" "9" :string) + ("ř" "9" :string) + ("ő" "9" :string) + ("ů" "9" :string) + ("ș" "9" :string) + ("ÿ" "9" :string) + ("ë" "9" :string) + ("ŭ" "9" :string) + ("ç" "9" :string) + ("ű" "9" :string) + ("ñ" "9" :string) + ("õ" "9" :string) + ("ě" "9" :string) + ("ş" "9" :string) + ("ž" "9" :string) + ("ĝ" "9" :string) + ("ŝ" "9" :string) + ("ń" "9" :string) + ("û" "9" :string) + ("ł" "9" :string) + ("ď" "9" :string) + ("ĥ" "9" :string) + ("ê" "9" :string) + ("ô" "9" :string) + ("ĉ" "9" :string) + ("â" "9" :string) + ("ć" "9" :string) + ("ï" "9" :string) + ("ö" "9" :string) + ("ľ" "9" :string) + ("ó" "9" :string) + ("æ" "99" :string) + ("ß" "99" :string) + ("œ" "99" :string) + ("N" "8" :string) + ("V" "8" :string) + ("O" "8" :string) + ("X" "8" :string) + ("E" "8" :string) + ("P" "8" :string) + ("K" "8" :string) + ("T" "8" :string) + ("Z" "8" :string) + ("M" "8" :string) + ("C" "8" :string) + ("I" "8" :string) + ("S" "8" :string) + ("B" "8" :string) + ("W" "8" :string) + ("D" "8" :string) + ("R" "8" :string) + ("H" "8" :string) + ("F" "8" :string) + ("Q" "8" :string) + ("A" "8" :string) + ("G" "8" :string) + ("U" "8" :string) + ("J" "8" :string) + ("Y" "8" :string) + ("L" "8" :string) + ("o" "9" :string) + ("n" "9" :string) + ("g" "9" :string) + ("x" "9" :string) + ("f" "9" :string) + ("y" "9" :string) + ("q" "9" :string) + ("h" "9" :string) + ("w" "9" :string) + ("s" "9" :string) + ("d" "9" :string) + ("v" "9" :string) + ("k" "9" :string) + ("r" "9" :string) + ("m" "9" :string) + ("z" "9" :string) + ("c" "9" :string) + ("i" "9" :string) + ("l" "9" :string) + ("b" "9" :string) + ("j" "9" :string) + ("a" "9" :string) + ("p" "9" :string) + ("u" "9" :string) + ("t" "9" :string) + ("e" "9" :string) + )) + +(use-rule-set :run 0 + :rule-set ("sphinx-xy-alphabetize")) +(use-rule-set :run 1 + :rule-set ("sphinx-xy-resolve-diacritics")) +(use-rule-set :run 2 + :rule-set ("sphinx-xy-resolve-case")) diff --git a/source/frUpwork/project_spec/project_spec/Makefile b/source/frUpwork/project_spec/project_spec/Makefile new file mode 100644 index 0000000..f1f525a --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/Makefile @@ -0,0 +1,81 @@ +# Makefile for Sphinx LaTeX output + +ALLDOCS = $(basename $(wildcard *.tex)) +ALLPDF = $(addsuffix .pdf,$(ALLDOCS)) +ALLDVI = $(addsuffix .dvi,$(ALLDOCS)) +ALLPS = $(addsuffix .ps,$(ALLDOCS)) + +# Prefix for archive names +ARCHIVEPREFIX = +# Additional LaTeX options +LATEXOPTS = +# format: pdf or dvi +FMT = pdf + +LATEX = latex +PDFLATEX = pdflatex +MAKEINDEX = makeindex + + +all: $(ALLPDF) +all-pdf: $(ALLPDF) +all-dvi: $(ALLDVI) +all-ps: $(ALLPS) + +all-pdf-ja: + for f in *.pdf *.png *.gif *.jpg *.jpeg; do extractbb $$f; done + for f in *.tex; do pdflatex -kanji=utf8 $(LATEXOPTS) $$f; done + for f in *.tex; do pdflatex -kanji=utf8 $(LATEXOPTS) $$f; done + for f in *.tex; do pdflatex -kanji=utf8 $(LATEXOPTS) $$f; done + -for f in *.idx; do mendex -U -f -d "`basename $$f .idx`.dic" -s python.ist $$f; done + for f in *.tex; do pdflatex -kanji=utf8 $(LATEXOPTS) $$f; done + for f in *.tex; do pdflatex -kanji=utf8 $(LATEXOPTS) $$f; done + for f in *.dvi; do dvipdfmx $$f; done + +zip: all-$(FMT) + mkdir $(ARCHIVEPREFIX)docs-$(FMT) + cp $(ALLPDF) $(ARCHIVEPREFIX)docs-$(FMT) + zip -q -r -9 $(ARCHIVEPREFIX)docs-$(FMT).zip $(ARCHIVEPREFIX)docs-$(FMT) + rm -r $(ARCHIVEPREFIX)docs-$(FMT) + +tar: all-$(FMT) + mkdir $(ARCHIVEPREFIX)docs-$(FMT) + cp $(ALLPDF) $(ARCHIVEPREFIX)docs-$(FMT) + tar cf $(ARCHIVEPREFIX)docs-$(FMT).tar $(ARCHIVEPREFIX)docs-$(FMT) + rm -r $(ARCHIVEPREFIX)docs-$(FMT) + +gz: tar + gzip -9 < $(ARCHIVEPREFIX)docs-$(FMT).tar > $(ARCHIVEPREFIX)docs-$(FMT).tar.gz + +bz2: tar + bzip2 -9 -k $(ARCHIVEPREFIX)docs-$(FMT).tar + +xz: tar + xz -9 -k $(ARCHIVEPREFIX)docs-$(FMT).tar + +# The number of LaTeX runs is quite conservative, but I don't expect it +# to get run often, so the little extra time won't hurt. +%.dvi: %.tex + $(LATEX) $(LATEXOPTS) '$<' + $(LATEX) $(LATEXOPTS) '$<' + $(LATEX) $(LATEXOPTS) '$<' + -$(MAKEINDEX) -s python.ist '$(basename $<).idx' + $(LATEX) $(LATEXOPTS) '$<' + $(LATEX) $(LATEXOPTS) '$<' + +%.pdf: %.tex + $(PDFLATEX) $(LATEXOPTS) '$<' + $(PDFLATEX) $(LATEXOPTS) '$<' + $(PDFLATEX) $(LATEXOPTS) '$<' + -$(MAKEINDEX) -s python.ist '$(basename $<).idx' + $(PDFLATEX) $(LATEXOPTS) '$<' + $(PDFLATEX) $(LATEXOPTS) '$<' + +%.ps: %.dvi + dvips '$<' + +clean: + rm -f *.log *.ind *.aux *.toc *.syn *.idx *.out *.ilg *.pla *.ps *.tar *.tar.gz *.tar.bz2 *.tar.xz $(ALLPDF) $(ALLDVI) + +.PHONY: all all-pdf all-dvi all-ps clean zip tar gz bz2 xz +.PHONY: all-pdf-ja diff --git a/source/frUpwork/project_spec/project_spec/conf.py b/source/frUpwork/project_spec/project_spec/conf.py new file mode 100644 index 0000000..fcb8742 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/conf.py @@ -0,0 +1,76 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- Project information ----------------------------------------------------- + +project = 'JMK Engineering Arc Flash Report Template' +copyright = '2024, Jeff MacKinnon' +author = 'Jeff MacKinnon' + + +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ +] +source_suffix = { + '.rst': 'restructuredtext', + '.ipynb': 'myst-nb', + '.myst': 'myst-nb', +} + + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = [] + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = "sphinx_book_theme" + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# Latex setup + + +latex_additional_files = [ + '_static/JMKEngineering-Logo-Small.jpg', +] + +latex_elements = { + 'pointsize':'12pt', + 'classoptions': ',openany,oneside', + 'preamble' : PREAMBLE, + 'extrapackages': r'\usepackage{lipsum}', +} + +latex_logo = '_static/JMKEngineering-Logo-Small.jpg' + +latex_show_urls = 'inline' diff --git a/source/frUpwork/project_spec/project_spec/document.aux b/source/frUpwork/project_spec/project_spec/document.aux new file mode 100644 index 0000000..b57b8c8 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/document.aux @@ -0,0 +1,71 @@ +\relax +\providecommand\babel@aux[2]{} +\@nameuse{bbl@beforestart} +\providecommand\hyper@newdestlabel[2]{} +\providecommand\HyField@AuxAddToFields[1]{} +\providecommand\HyField@AuxAddToCoFields[2]{} +\pgfsyspdfmark {pgfid1}{20129219}{45513608} +\babel@aux{english}{} +\newlabel{index::doc}{{}{i}{}{section*.1}{}} +\pgfsyspdfmark {pgfid2}{20129219}{45513608} +\@writefile{toc}{\contentsline {chapter}{\numberline {1}Common}{ii}{chapter.1}\protected@file@percent } +\@writefile{lof}{\addvspace {10\p@ }} +\@writefile{lot}{\addvspace {10\p@ }} +\newlabel{260500:common}{{1}{ii}{Common}{chapter.1}{}} +\newlabel{260500::doc}{{1}{ii}{Common}{chapter.1}{}} +\@writefile{toc}{\contentsline {section}{\numberline {1.1}GENERAL}{ii}{section.1.1}\protected@file@percent } +\newlabel{260500:general}{{1.1}{ii}{GENERAL}{section.1.1}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.1}SCOPE}{ii}{subsection.1.1.1}\protected@file@percent } +\newlabel{260500:scope}{{1.1.1}{ii}{SCOPE}{subsection.1.1.1}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.2}SCHEDULE}{ii}{subsection.1.1.2}\protected@file@percent } +\newlabel{260500:schedule}{{1.1.2}{ii}{SCHEDULE}{subsection.1.1.2}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.3}STANDARDS AND REGULATIONS}{ii}{subsection.1.1.3}\protected@file@percent } +\newlabel{260500:standards-and-regulations}{{1.1.3}{ii}{STANDARDS AND REGULATIONS}{subsection.1.1.3}{}} +\pgfsyspdfmark {pgfid3}{20129219}{45513608} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.4}DEFINITIONS}{iii}{subsection.1.1.4}\protected@file@percent } +\newlabel{260500:definitions}{{1.1.4}{iii}{DEFINITIONS}{subsection.1.1.4}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.5}ACRONYMS}{iii}{subsection.1.1.5}\protected@file@percent } +\newlabel{260500:acronyms}{{1.1.5}{iii}{ACRONYMS}{subsection.1.1.5}{}} +\pgfsyspdfmark {pgfid4}{20129219}{45513608} +\@writefile{toc}{\contentsline {section}{\numberline {1.2}PRODUCTS}{iv}{section.1.2}\protected@file@percent } +\newlabel{260500:products}{{1.2}{iv}{PRODUCTS}{section.1.2}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.1}MATERIALS AND EQUIPMENT}{iv}{subsection.1.2.1}\protected@file@percent } +\newlabel{260500:materials-and-equipment}{{1.2.1}{iv}{MATERIALS AND EQUIPMENT}{subsection.1.2.1}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.2}MATERIAL SUPPLIED BY OWNER}{iv}{subsection.1.2.2}\protected@file@percent } +\newlabel{260500:material-supplied-by-owner}{{1.2.2}{iv}{MATERIAL SUPPLIED BY OWNER}{subsection.1.2.2}{}} +\pgfsyspdfmark {pgfid5}{20129219}{45513608} +\@writefile{toc}{\contentsline {chapter}{\numberline {2}SECTION 26 05 26 \sphinxhyphen {} GROUNDING}{v}{chapter.2}\protected@file@percent } +\@writefile{lof}{\addvspace {10\p@ }} +\@writefile{lot}{\addvspace {10\p@ }} +\newlabel{260526:section-26-05-26-grounding}{{2}{v}{SECTION 26 05 26 \sphinxhyphen {} GROUNDING}{chapter.2}{}} +\newlabel{260526::doc}{{2}{v}{SECTION 26 05 26 \sphinxhyphen {} GROUNDING}{chapter.2}{}} +\@writefile{toc}{\contentsline {section}{\numberline {2.1}PART 1 \sphinxhyphen {} GENERAL}{v}{section.2.1}\protected@file@percent } +\newlabel{260526:part-1-general}{{2.1}{v}{PART 1 \sphinxhyphen {} GENERAL}{section.2.1}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.1}1.1 Work Included}{v}{subsection.2.1.1}\protected@file@percent } +\newlabel{260526:work-included}{{2.1.1}{v}{1.1 Work Included}{subsection.2.1.1}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.2}1.2 Related Work}{v}{subsection.2.1.2}\protected@file@percent } +\newlabel{260526:related-work}{{2.1.2}{v}{1.2 Related Work}{subsection.2.1.2}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.3}1.3 Qualifications}{v}{subsection.2.1.3}\protected@file@percent } +\newlabel{260526:qualifications}{{2.1.3}{v}{1.3 Qualifications}{subsection.2.1.3}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.4}1.4 Submittals}{v}{subsection.2.1.4}\protected@file@percent } +\newlabel{260526:submittals}{{2.1.4}{v}{1.4 Submittals}{subsection.2.1.4}{}} +\pgfsyspdfmark {pgfid6}{20129219}{45513608} +\@writefile{toc}{\contentsline {section}{\numberline {2.2}PART 2 \sphinxhyphen {} PRODUCTS}{vi}{section.2.2}\protected@file@percent } +\newlabel{260526:part-2-products}{{2.2}{vi}{PART 2 \sphinxhyphen {} PRODUCTS}{section.2.2}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.1}2.1 Grounding System}{vi}{subsection.2.2.1}\protected@file@percent } +\newlabel{260526:grounding-system}{{2.2.1}{vi}{2.1 Grounding System}{subsection.2.2.1}{}} +\pgfsyspdfmark {pgfid7}{20129219}{45513608} +\@writefile{toc}{\contentsline {section}{\numberline {2.3}PART 3 \sphinxhyphen {} EXECUTION}{vii}{section.2.3}\protected@file@percent } +\newlabel{260526:part-3-execution}{{2.3}{vii}{PART 3 \sphinxhyphen {} EXECUTION}{section.2.3}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.1}3.1 Workmanship}{vii}{subsection.2.3.1}\protected@file@percent } +\newlabel{260526:workmanship}{{2.3.1}{vii}{3.1 Workmanship}{subsection.2.3.1}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.2}3.2 Installation}{vii}{subsection.2.3.2}\protected@file@percent } +\newlabel{260526:installation}{{2.3.2}{vii}{3.2 Installation}{subsection.2.3.2}{}} +\pgfsyspdfmark {pgfid8}{20129219}{45513608} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.3}3.3 Field Quality Control}{viii}{subsection.2.3.3}\protected@file@percent } +\newlabel{260526:field-quality-control}{{2.3.3}{viii}{3.3 Field Quality Control}{subsection.2.3.3}{}} +\pgfsyspdfmark {pgfid9}{20129219}{45513608} +\newlabel{260526:center}{{2.3.3}{ix}{3.3 Field Quality Control}{section*.2}{}} +\global \figuresfalse +\global \tablesfalse +\gdef \@abspage@last{9} diff --git a/source/frUpwork/project_spec/project_spec/document.idx b/source/frUpwork/project_spec/project_spec/document.idx new file mode 100644 index 0000000..e2c9c61 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/document.idx @@ -0,0 +1 @@ +\indexentry{center (built\sphinxhyphen{}in class)@\spxentry{center}\spxextra{built\sphinxhyphen{}in class}|hyperpage}{ix} diff --git a/source/frUpwork/project_spec/project_spec/document.log b/source/frUpwork/project_spec/project_spec/document.log new file mode 100644 index 0000000..e27a0e3 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/document.log @@ -0,0 +1,1218 @@ +This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024) (preloaded format=pdflatex 2024.3.30) 14 APR 2024 12:00 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**document.tex +(./document.tex +LaTeX2e <2023-11-01> patch level 1 +L3 programming layer <2024-03-14> +(./sphinxmanual.cls +Document Class: sphinxmanual 2019/12/01 v2.3.0 Document class (Sphinx manual) +(/usr/local/texlive/2024/texmf-dist/tex/latex/base/report.cls +Document Class: report 2023/05/17 v1.4n Standard LaTeX document class +(/usr/local/texlive/2024/texmf-dist/tex/latex/base/size12.clo +File: size12.clo 2023/05/17 v1.4n Standard LaTeX file (size option) +) +\c@part=\count188 +\c@chapter=\count189 +\c@section=\count190 +\c@subsection=\count191 +\c@subsubsection=\count192 +\c@paragraph=\count193 +\c@subparagraph=\count194 +\c@figure=\count195 +\c@table=\count196 +\abovecaptionskip=\skip48 +\belowcaptionskip=\skip49 +\bibindent=\dimen140 +) +LaTeX Info: Redefining \and on input line 35. +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/base/inputenc.sty +Package: inputenc 2021/02/14 v1.3d Input encoding file +\inpenc@prehook=\toks17 +\inpenc@posthook=\toks18 +) + defining Unicode char U+00A0 (decimal 160) + defining Unicode char U+2500 (decimal 9472) + defining Unicode char U+2502 (decimal 9474) + defining Unicode char U+2514 (decimal 9492) + defining Unicode char U+251C (decimal 9500) + defining Unicode char U+2572 (decimal 9586) + +(/usr/local/texlive/2024/texmf-dist/tex/latex/cmap/cmap.sty +Package: cmap 2021/02/06 v1.0j CMap support: searchable PDF +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/base/fontenc.sty +Package: fontenc 2021/04/29 v2.0v Standard LaTeX package +<>) +(/usr/local/texlive/2024/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2023/05/13 v2.17o AMS math features +\@mathmargin=\skip50 + +For additional information on amsmath, use the `?' option. +(/usr/local/texlive/2024/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2021/08/26 v2.01 AMS text + +(/usr/local/texlive/2024/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks19 +\ex@=\dimen141 +)) +(/usr/local/texlive/2024/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen142 +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2022/04/08 v2.04 operator names +) +\inf@bad=\count197 +LaTeX Info: Redefining \frac on input line 234. +\uproot@=\count198 +\leftroot@=\count199 +LaTeX Info: Redefining \overline on input line 399. +LaTeX Info: Redefining \colon on input line 410. +\classnum@=\count266 +\DOTSCASE@=\count267 +LaTeX Info: Redefining \ldots on input line 496. +LaTeX Info: Redefining \dots on input line 499. +LaTeX Info: Redefining \cdots on input line 620. +\Mathstrutbox@=\box51 +\strutbox@=\box52 +LaTeX Info: Redefining \big on input line 722. +LaTeX Info: Redefining \Big on input line 723. +LaTeX Info: Redefining \bigg on input line 724. +LaTeX Info: Redefining \Bigg on input line 725. +\big@size=\dimen143 +LaTeX Font Info: Redeclaring font encoding OML on input line 743. +LaTeX Font Info: Redeclaring font encoding OMS on input line 744. +\macc@depth=\count268 +LaTeX Info: Redefining \bmod on input line 905. +LaTeX Info: Redefining \pmod on input line 910. +LaTeX Info: Redefining \smash on input line 940. +LaTeX Info: Redefining \relbar on input line 970. +LaTeX Info: Redefining \Relbar on input line 971. +\c@MaxMatrixCols=\count269 +\dotsspace@=\muskip16 +\c@parentequation=\count270 +\dspbrk@lvl=\count271 +\tag@help=\toks20 +\row@=\count272 +\column@=\count273 +\maxfields@=\count274 +\andhelp@=\toks21 +\eqnshift@=\dimen144 +\alignsep@=\dimen145 +\tagshift@=\dimen146 +\tagwidth@=\dimen147 +\totwidth@=\dimen148 +\lineht@=\dimen149 +\@envbody=\toks22 +\multlinegap=\skip51 +\multlinetaggap=\skip52 +\mathdisplay@stack=\toks23 +LaTeX Info: Redefining \[ on input line 2953. +LaTeX Info: Redefining \] on input line 2954. +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/amsfonts/amssymb.sty +Package: amssymb 2013/01/14 v3.01 AMS font symbols + +(/usr/local/texlive/2024/texmf-dist/tex/latex/amsfonts/amsfonts.sty +Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support +\symAMSa=\mathgroup4 +\symAMSb=\mathgroup5 +LaTeX Font Info: Redeclaring math symbol \hbar on input line 98. +LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' +(Font) U/euf/m/n --> U/euf/b/n on input line 106. +)) +(/usr/local/texlive/2024/texmf-dist/tex/generic/babel/babel.sty +Package: babel 2024/03/29 v24.3 The Babel package +\babel@savecnt=\count275 +\U@D=\dimen150 +\l@unhyphenated=\language89 + +(/usr/local/texlive/2024/texmf-dist/tex/generic/babel/txtbabel.def) +\bbl@readstream=\read2 +\bbl@dirlevel=\count276 + +(/usr/local/texlive/2024/texmf-dist/tex/generic/babel-english/english.ldf +Language: english 2017/06/06 v3.3r English support from the babel system +Package babel Info: Hyphen rules for 'canadian' set to \l@english +(babel) (\language0). Reported on input line 102. +Package babel Info: Hyphen rules for 'australian' set to \l@ukenglish +(babel) (\language23). Reported on input line 105. +Package babel Info: Hyphen rules for 'newzealand' set to \l@ukenglish +(babel) (\language23). Reported on input line 108. +)) +(/usr/local/texlive/2024/texmf-dist/tex/generic/babel/locale/en/babel-english.t +ex +Package babel Info: Importing font and identification data for english +(babel) from babel-en.ini. Reported on input line 11. +) (/usr/local/texlive/2024/texmf-dist/tex/latex/tex-gyre/tgtermes.sty +Package: tgtermes 2009/09/27 v1.2 TeX Gyre Termes as default roman family + +(/usr/local/texlive/2024/texmf-dist/tex/latex/kvoptions/kvoptions.sty +Package: kvoptions 2022-06-15 v3.15 Key value format for package options (HO) + +(/usr/local/texlive/2024/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2022/05/29 v1.15 key=value parser (DPC) +\KV@toks@=\toks24 +) +(/usr/local/texlive/2024/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +Package: ltxcmds 2023-12-04 v1.26 LaTeX kernel commands for general use (HO) +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty +Package: kvsetkeys 2022-10-05 v1.19 Key value parser (HO) +))) +(/usr/local/texlive/2024/texmf-dist/tex/latex/tex-gyre/tgheros.sty +Package: tgheros 2009/09/27 v1.2 TeX Gyre Heros as default sans serif family +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/fncychap/fncychap.sty +Package: fncychap 2007/07/30 v1.34 LaTeX package (Revised chapters) +\RW=\skip53 +\mylen=\skip54 +\myhi=\skip55 +\px=\skip56 +\py=\skip57 +\pyy=\skip58 +\pxx=\skip59 + +(/usr/local/texlive/2024/texmf-dist/tex/latex/graphics/color.sty +Package: color 2022/01/06 v1.3d Standard LaTeX Color (DPC) + +(/usr/local/texlive/2024/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package color Info: Driver file: pdftex.def on input line 149. + +(/usr/local/texlive/2024/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2022/09/22 v1.2b Graphics/color driver for pdftex +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/graphics/mathcolor.ltx))) +(./sphinx.sty +Package: sphinx 2021/01/27 v4.0.0 LaTeX package (Sphinx markup) + (/usr/local/texlive/2024/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2023/11/15 v3.01 LaTeX color extensions (UK) + +(/usr/local/texlive/2024/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 274. +LaTeX Info: Redefining \color on input line 758. + +(/usr/local/texlive/2024/texmf-dist/tex/latex/graphics/mathcolor.ltx) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1350. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1354. +Package xcolor Info: Model `RGB' extended on input line 1366. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1368. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1370. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1371. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1372. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1373. +) +\sphinxverbatimsep=\dimen151 +\sphinxverbatimborder=\dimen152 +\sphinxshadowsep=\dimen153 +\sphinxshadowsize=\dimen154 +\sphinxshadowrule=\dimen155 +\spx@notice@border=\dimen156 + +(./sphinxoptionshyperref.sty +File: sphinxoptionshyperref.sty 2021/01/27 hyperref +) (./sphinxoptionsgeometry.sty +File: sphinxoptionsgeometry.sty 2021/01/27 geometry +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/base/textcomp.sty +Package: textcomp 2020/02/02 v2.0n Standard LaTeX package +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/float/float.sty +Package: float 2001/11/08 v1.3d Float enhancements (AL) +\c@float@type=\count277 +\float@exts=\toks25 +\float@box=\box53 +\@float@everytoks=\toks26 +\@floatcapt=\box54 +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/wrapfig/wrapfig.sty +\wrapoverhang=\dimen157 +\WF@size=\dimen158 +\c@WF@wrappedlines=\count278 +\WF@box=\box55 +\WF@everypar=\toks27 +Package: wrapfig 2003/01/31 v 3.6 +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/capt-of/capt-of.sty +Package: capt-of 2009/12/29 v0.2 standard captions outside of floats +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/tools/multicol.sty +Package: multicol 2023/03/30 v1.9f multicolumn formatting (FMi) +\c@tracingmulticols=\count279 +\mult@box=\box56 +\multicol@leftmargin=\dimen159 +\c@unbalance=\count280 +\c@collectmore=\count281 +\doublecol@number=\count282 +\multicoltolerance=\count283 +\multicolpretolerance=\count284 +\full@width=\dimen160 +\page@free=\dimen161 +\premulticols=\dimen162 +\postmulticols=\dimen163 +\multicolsep=\skip60 +\multicolbaselineskip=\skip61 +\partial@page=\box57 +\last@line=\box58 +\mc@boxedresult=\box59 +\maxbalancingoverflow=\dimen164 +\mult@rightbox=\box60 +\mult@grightbox=\box61 +\mult@firstbox=\box62 +\mult@gfirstbox=\box63 +\@tempa=\box64 +\@tempa=\box65 +\@tempa=\box66 +\@tempa=\box67 +\@tempa=\box68 +\@tempa=\box69 +\@tempa=\box70 +\@tempa=\box71 +\@tempa=\box72 +\@tempa=\box73 +\@tempa=\box74 +\@tempa=\box75 +\@tempa=\box76 +\@tempa=\box77 +\@tempa=\box78 +\@tempa=\box79 +\@tempa=\box80 +\@tempa=\box81 +\@tempa=\box82 +\@tempa=\box83 +\@tempa=\box84 +\@tempa=\box85 +\@tempa=\box86 +\@tempa=\box87 +\@tempa=\box88 +\@tempa=\box89 +\@tempa=\box90 +\@tempa=\box91 +\@tempa=\box92 +\@tempa=\box93 +\@tempa=\box94 +\@tempa=\box95 +\@tempa=\box96 +\@tempa=\box97 +\@tempa=\box98 +\@tempa=\box99 +\c@minrows=\count285 +\c@columnbadness=\count286 +\c@finalcolumnbadness=\count287 +\last@try=\dimen165 +\multicolovershoot=\dimen166 +\multicolundershoot=\dimen167 +\mult@nat@firstbox=\box100 +\colbreak@box=\box101 +\mc@col@check@num=\count288 +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2021/09/16 v1.2d Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/local/texlive/2024/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2022/03/10 v1.4e Standard LaTeX Graphics (DPC,SPQR) + +(/usr/local/texlive/2024/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2021/08/11 v1.11 sin cos tan (DPC) +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 107. +) +\Gin@req@height=\dimen168 +\Gin@req@width=\dimen169 +) +(./sphinxlatexgraphics.sty +File: sphinxlatexgraphics.sty 2021/01/27 graphics +\spx@image@maxheight=\dimen170 +\spx@image@box=\box102 +) (./sphinxlatexadmonitions.sty +File: sphinxlatexadmonitions.sty 2021/01/27 admonitions + +(/usr/local/texlive/2024/texmf-dist/tex/latex/framed/framed.sty +Package: framed 2011/10/22 v 0.96: framed or shaded text with page breaks +\OuterFrameSep=\skip62 +\fb@frw=\dimen171 +\fb@frh=\dimen172 +\FrameRule=\dimen173 +\FrameSep=\dimen174 +)) +(./sphinxlatexliterals.sty +File: sphinxlatexliterals.sty 2021/12/06 code-blocks and parsed literals + +(/usr/local/texlive/2024/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty +Package: fancyvrb 2024/01/20 4.5c verbatim text (tvz,hv) +\FV@CodeLineNo=\count289 +\FV@InFile=\read3 +\FV@TabBox=\box103 +\c@FancyVerbLine=\count290 +\FV@StepNumber=\count291 +\FV@OutFile=\write3 +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/base/alltt.sty +Package: alltt 2021/01/29 v2.0g defines alltt environment +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/upquote/upquote.sty +Package: upquote 2012/04/19 v1.3 upright-quote and grave-accent glyphs in verba +tim +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/needspace/needspace.sty +Package: needspace 2010/09/12 v1.3d reserve vertical space +) +\sphinxcontinuationbox=\box104 +\sphinxvisiblespacebox=\box105 +\sphinxVerbatim@TitleBox=\box106 +\sphinxVerbatim@ContentsBox=\box107 +\spx@scratchbox=\box108 +) +(./sphinxlatexshadowbox.sty +File: sphinxlatexshadowbox.sty 2021/01/27 sphinxShadowBox +) (./sphinxlatexcontainers.sty +File: sphinxlatexcontainers.sty 2021/05/03 containers +) +(./sphinxhighlight.sty +Package: sphinxhighlight 2016/05/29 stylesheet for highlighting with pygments +) (./sphinxlatextables.sty +File: sphinxlatextables.sty 2021/01/27 tables + +(/usr/local/texlive/2024/texmf-dist/tex/latex/tabulary/tabulary.sty +Package: tabulary 2014/06/11 v0.10 tabulary package (DPC) + +(/usr/local/texlive/2024/texmf-dist/tex/latex/tools/array.sty +Package: array 2023/10/16 v2.5g Tabular extension package (FMi) +\col@sep=\dimen175 +\ar@mcellbox=\box109 +\extrarowheight=\dimen176 +\NC@list=\toks28 +\extratabsurround=\skip63 +\backup@length=\skip64 +\ar@cellbox=\box110 +) +\TY@count=\count292 +\TY@linewidth=\dimen177 +\tymin=\dimen178 +\tymax=\dimen179 +\TY@tablewidth=\dimen180 +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/tools/longtable.sty +Package: longtable 2023-11-01 v4.19 Multi-page Table package (DPC) +\LTleft=\skip65 +\LTright=\skip66 +\LTpre=\skip67 +\LTpost=\skip68 +\LTchunksize=\count293 +\LTcapwidth=\dimen181 +\LT@head=\box111 +\LT@firsthead=\box112 +\LT@foot=\box113 +\LT@lastfoot=\box114 +\LT@gbox=\box115 +\LT@cols=\count294 +\LT@rows=\count295 +\c@LT@tables=\count296 +\c@LT@chunks=\count297 +\LT@p@ftn=\toks29 +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/varwidth/varwidth.sty +Package: varwidth 2009/03/30 ver 0.92; Variable-width minipages +\@vwid@box=\box116 +\sift@deathcycles=\count298 +\@vwid@loff=\dimen182 +\@vwid@roff=\dimen183 +) +\sphinx@TY@tablewidth=\dimen184 +) +(./sphinxlatexnumfig.sty +File: sphinxlatexnumfig.sty 2021/01/27 numbering +) (./sphinxlatexlists.sty +File: sphinxlatexlists.sty 2021/01/27 lists +) +\c@sphinxscope=\count299 +\c@sphinxexplicit=\count300 + (./sphinxpackagefootnote.sty +Package: sphinxpackagefootnote 2021/02/04 v1.1d footnotehyper adapted to sphinx + (Sphinx team) +\FNH@notes=\box117 +\FNH@toks=\toks30 +\FNH@width=\dimen185 +) (./sphinxlatexindbibtoc.sty +File: sphinxlatexindbibtoc.sty 2021/01/27 index, bib., toc + +(/usr/local/texlive/2024/texmf-dist/tex/latex/base/makeidx.sty +Package: makeidx 2021/10/04 v1.0m Standard LaTeX package +)) +(./sphinxlatexstylepage.sty +File: sphinxlatexstylepage.sty 2021/01/27 page styling + +(/usr/local/texlive/2024/texmf-dist/tex/latex/parskip/parskip.sty +Rollback for package 'parskip' requested -> version 'v1'. + This corresponds to the release introduced on 2001-04-09. + +(/usr/local/texlive/2024/texmf-dist/tex/latex/parskip/parskip-2001-04-09.sty +Package: parskip 2001/04/09 non-zero parskip adjustments +)) +(/usr/local/texlive/2024/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty +Package: fancyhdr 2022/11/09 v4.1 Extensive control of page headers and footers + +\f@nch@headwidth=\skip69 +\f@nch@O@elh=\skip70 +\f@nch@O@erh=\skip71 +\f@nch@O@olh=\skip72 +\f@nch@O@orh=\skip73 +\f@nch@O@elf=\skip74 +\f@nch@O@erf=\skip75 +\f@nch@O@olf=\skip76 +\f@nch@O@orf=\skip77 +)) +(./sphinxlatexstyleheadings.sty +File: sphinxlatexstyleheadings.sty 2021/01/27 headings + +(/usr/local/texlive/2024/texmf-dist/tex/latex/titlesec/titlesec.sty +Package: titlesec 2023/10/27 v2.16 Sectioning titles +\ttl@box=\box118 +\beforetitleunit=\skip78 +\aftertitleunit=\skip79 +\ttl@plus=\dimen186 +\ttl@minus=\dimen187 +\ttl@toksa=\toks31 +\titlewidth=\dimen188 +\titlewidthlast=\dimen189 +\titlewidthfirst=\dimen190 +)) +(./sphinxlatexstyletext.sty +File: sphinxlatexstyletext.sty 2021/12/06 text styling +) (./sphinxlatexobjects.sty +File: sphinxlatexobjects.sty 2022/01/13 documentation environments +\sphinxsignaturesep=\skip80 +\py@argswidth=\skip81 +\lineblockindentation=\skip82 +\DUlineblockindent=\skip83 +)) +(/usr/local/texlive/2024/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2020/01/02 v5.9 Page Geometry + +(/usr/local/texlive/2024/texmf-dist/tex/generic/iftex/ifvtex.sty +Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead. + +(/usr/local/texlive/2024/texmf-dist/tex/generic/iftex/iftex.sty +Package: iftex 2022/02/03 v1.0f TeX engine tests +)) +\Gm@cnth=\count301 +\Gm@cntv=\count302 +\c@Gm@tempcnt=\count303 +\Gm@bindingoffset=\dimen191 +\Gm@wd@mp=\dimen192 +\Gm@odd@mp=\dimen193 +\Gm@even@mp=\dimen194 +\Gm@layoutwidth=\dimen195 +\Gm@layoutheight=\dimen196 +\Gm@layouthoffset=\dimen197 +\Gm@layoutvoffset=\dimen198 +\Gm@dimlist=\toks32 +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/lipsum/lipsum.sty +(/usr/local/texlive/2024/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty +(/usr/local/texlive/2024/texmf-dist/tex/latex/l3kernel/expl3.sty +Package: expl3 2024-03-14 L3 programming layer (loader) + +(/usr/local/texlive/2024/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +File: l3backend-pdftex.def 2024-03-14 L3 backend support: PDF output (pdfTeX) +\l__color_backend_stack_int=\count304 +\l__pdf_internal_box=\box119 +)) +Package: l3keys2e 2024-03-14 LaTeX2e option processing using LaTeX3 keys +) +Package: lipsum 2021-09-20 v2.7 150 paragraphs of Lorem Ipsum dummy text +\g__lipsum_par_int=\count305 +\l__lipsum_a_int=\count306 +\l__lipsum_b_int=\count307 +(/usr/local/texlive/2024/texmf-dist/tex/latex/lipsum/lipsum.ltd.tex)) +(/usr/local/texlive/2024/texmf-dist/tex/latex/hyperref/hyperref.sty +Package: hyperref 2024-01-20 v7.01h Hypertext links for LaTeX + +(/usr/local/texlive/2024/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO) +) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pdfescape/pdfescape.sty +Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO) + +(/usr/local/texlive/2024/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty +Package: pdftexcmds 2020-06-27 v0.33 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/local/texlive/2024/texmf-dist/tex/generic/infwarerr/infwarerr.sty +Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO) +) +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +)) +(/usr/local/texlive/2024/texmf-dist/tex/latex/hycolor/hycolor.sty +Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO) +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/auxhook/auxhook.sty +Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO) +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/hyperref/nameref.sty +Package: nameref 2023-11-26 v2.56 Cross-referencing by name of section + +(/usr/local/texlive/2024/texmf-dist/tex/latex/refcount/refcount.sty +Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO) +) +(/usr/local/texlive/2024/texmf-dist/tex/generic/gettitlestring/gettitlestring.s +ty +Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO) +) +\c@section@level=\count308 +) (/usr/local/texlive/2024/texmf-dist/tex/latex/etoolbox/etoolbox.sty +Package: etoolbox 2020/10/05 v2.5k e-TeX tools for LaTeX (JAW) +\etb@tempcnta=\count309 +) +\@linkdim=\dimen199 +\Hy@linkcounter=\count310 +\Hy@pagecounter=\count311 + +(/usr/local/texlive/2024/texmf-dist/tex/latex/hyperref/pd1enc.def +File: pd1enc.def 2024-01-20 v7.01h Hyperref: PDFDocEncoding definition (HO) +Now handling font encoding PD1 ... +... no UTF-8 mapping file for font encoding PD1 +) +(/usr/local/texlive/2024/texmf-dist/tex/generic/intcalc/intcalc.sty +Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO) +) +\Hy@SavedSpaceFactor=\count312 + +(/usr/local/texlive/2024/texmf-dist/tex/latex/hyperref/puenc.def +File: puenc.def 2024-01-20 v7.01h Hyperref: PDF Unicode definition (HO) +Now handling font encoding PU ... +... no UTF-8 mapping file for font encoding PU +) +Package hyperref Info: Option `unicode' set `true' on input line 4062. +Package hyperref Info: Option `colorlinks' set `true' on input line 4062. +Package hyperref Info: Option `breaklinks' set `true' on input line 4062. +Package hyperref Info: Hyper figures OFF on input line 4179. +Package hyperref Info: Link nesting OFF on input line 4184. +Package hyperref Info: Hyper index ON on input line 4187. +Package hyperref Info: Plain pages OFF on input line 4194. +Package hyperref Info: Backreferencing OFF on input line 4199. +Package hyperref Info: Implicit mode ON; LaTeX internals redefined. +Package hyperref Info: Bookmarks ON on input line 4446. +\c@Hy@tempcnt=\count313 + +(/usr/local/texlive/2024/texmf-dist/tex/latex/url/url.sty +\Urlmuskip=\muskip17 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) +LaTeX Info: Redefining \url on input line 4784. +\XeTeXLinkMargin=\dimen256 + +(/usr/local/texlive/2024/texmf-dist/tex/generic/bitset/bitset.sty +Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO) + +(/usr/local/texlive/2024/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO +) +)) +\Fld@menulength=\count314 +\Field@Width=\dimen257 +\Fld@charsize=\dimen258 +Package hyperref Info: Hyper figures OFF on input line 6063. +Package hyperref Info: Link nesting OFF on input line 6068. +Package hyperref Info: Hyper index ON on input line 6071. +Package hyperref Info: backreferencing OFF on input line 6078. +Package hyperref Info: Link coloring ON on input line 6081. +Package hyperref Info: Link coloring with OCG OFF on input line 6088. +Package hyperref Info: PDF/A mode OFF on input line 6093. + +(/usr/local/texlive/2024/texmf-dist/tex/latex/base/atbegshi-ltx.sty +Package: atbegshi-ltx 2021/01/10 v1.0c Emulation of the original atbegshi +package with kernel methods +) +\Hy@abspage=\count315 +\c@Item=\count316 +\c@Hfootnote=\count317 +) +Package hyperref Info: Driver (autodetected): hpdftex. + +(/usr/local/texlive/2024/texmf-dist/tex/latex/hyperref/hpdftex.def +File: hpdftex.def 2024-01-20 v7.01h Hyperref driver for pdfTeX + +(/usr/local/texlive/2024/texmf-dist/tex/latex/base/atveryend-ltx.sty +Package: atveryend-ltx 2020/08/19 v1.0a Emulation of the original atveryend pac +kage +with kernel methods +) +\Fld@listcount=\count318 +\c@bookmark@seq@number=\count319 + +(/usr/local/texlive/2024/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +Package: rerunfilecheck 2022-07-10 v1.10 Rerun checks for auxiliary files (HO) + +(/usr/local/texlive/2024/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO) +) +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 +85. +) +\Hy@SectionHShift=\skip84 +) (/usr/local/texlive/2024/texmf-dist/tex/latex/oberdiek/hypcap.sty +Package: hypcap 2016/05/16 v1.12 Adjusting the anchors of captions (HO) + +(/usr/local/texlive/2024/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +Package: letltxmacro 2019/12/03 v1.6 Let assignment for LaTeX macros (HO) +)) +(./sphinxmessages.sty +Package: sphinxmessages 2019/01/04 v2.0 Localized LaTeX macros (Sphinx team) +) +\@indexfile=\write4 +\openout4 = `document.idx'. + + +Writing index file document.idx +(./jmk_spec.sty +Package: jmk_spec 2024/04/10 v1.0 LaTeX package for Sphinx override template + +(/usr/local/texlive/2024/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +(/usr/local/texlive/2024/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +(/usr/local/texlive/2024/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.te +x +\pgfutil@everybye=\toks33 +\pgfutil@tempdima=\dimen259 +\pgfutil@tempdimb=\dimen260 +) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +\pgfutil@abb=\box120 +) (/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/pgf.revision.tex) +Package: pgfrcs 2023-01-15 v3.1.10 (3.1.10) +)) +Package: pgf 2023-01-15 v3.1.10 (3.1.10) + +(/usr/local/texlive/2024/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +(/usr/local/texlive/2024/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +Package: pgfsys 2023-01-15 v3.1.10 (3.1.10) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +\pgfkeys@pathtoks=\toks34 +\pgfkeys@temptoks=\toks35 + +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/utilities/pgfkeyslibraryfil +tered.code.tex +\pgfkeys@tmptoks=\toks36 +)) +\pgf@x=\dimen261 +\pgf@y=\dimen262 +\pgf@xa=\dimen263 +\pgf@ya=\dimen264 +\pgf@xb=\dimen265 +\pgf@yb=\dimen266 +\pgf@xc=\dimen267 +\pgf@yc=\dimen268 +\pgf@xd=\dimen269 +\pgf@yd=\dimen270 +\w@pgf@writea=\write5 +\r@pgf@reada=\read4 +\c@pgf@counta=\count320 +\c@pgf@countb=\count321 +\c@pgf@countc=\count322 +\c@pgf@countd=\count323 +\t@pgf@toka=\toks37 +\t@pgf@tokb=\toks38 +\t@pgf@tokc=\toks39 +\pgf@sys@id@count=\count324 + +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +File: pgf.cfg 2023-01-15 v3.1.10 (3.1.10) +) +Driver file for pgf: pgfsys-pdftex.def + +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.d +ef +File: pgfsys-pdftex.def 2023-01-15 v3.1.10 (3.1.10) + +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-p +df.def +File: pgfsys-common-pdf.def 2023-01-15 v3.1.10 (3.1.10) +))) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath. +code.tex +File: pgfsyssoftpath.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfsyssoftpath@smallbuffer@items=\count325 +\pgfsyssoftpath@bigbuffer@items=\count326 +) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol. +code.tex +File: pgfsysprotocol.code.tex 2023-01-15 v3.1.10 (3.1.10) +)) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +Package: pgfcore 2023-01-15 v3.1.10 (3.1.10) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +\pgfmath@dimen=\dimen271 +\pgfmath@count=\count327 +\pgfmath@box=\box121 +\pgfmath@toks=\toks40 +\pgfmath@stack@operand=\toks41 +\pgfmath@stack@operation=\toks42 +) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code. +tex) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic +.code.tex) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigo +nometric.code.tex) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.rando +m.code.tex) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.compa +rison.code.tex) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base. +code.tex) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round +.code.tex) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc. +code.tex) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integ +erarithmetics.code.tex) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +\c@pgfmathroundto@lastzeros=\count328 +)) (/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.co +de.tex +File: pgfcorepoints.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@picminx=\dimen272 +\pgf@picmaxx=\dimen273 +\pgf@picminy=\dimen274 +\pgf@picmaxy=\dimen275 +\pgf@pathminx=\dimen276 +\pgf@pathmaxx=\dimen277 +\pgf@pathminy=\dimen278 +\pgf@pathmaxy=\dimen279 +\pgf@xx=\dimen280 +\pgf@xy=\dimen281 +\pgf@yx=\dimen282 +\pgf@yy=\dimen283 +\pgf@zx=\dimen284 +\pgf@zy=\dimen285 +LaTeX Font Info: Trying to load font information for T1+qtm on input line 92 +6. + (/usr/local/texlive/2024/texmf-dist/tex/latex/tex-gyre/t1qtm.fd +File: t1qtm.fd 2009/09/25 v1.2 font definition file for T1/qtm +)) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconst +ruct.code.tex +File: pgfcorepathconstruct.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@path@lastx=\dimen286 +\pgf@path@lasty=\dimen287 +) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage +.code.tex +File: pgfcorepathusage.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@shorten@end@additional=\dimen288 +\pgf@shorten@start@additional=\dimen289 +) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.co +de.tex +File: pgfcorescopes.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfpic=\box122 +\pgf@hbox=\box123 +\pgf@layerbox@main=\box124 +\pgf@picture@serial@count=\count329 +) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicst +ate.code.tex +File: pgfcoregraphicstate.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgflinewidth=\dimen290 +) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransform +ations.code.tex +File: pgfcoretransformations.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@pt@x=\dimen291 +\pgf@pt@y=\dimen292 +\pgf@pt@temp=\dimen293 +) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.cod +e.tex +File: pgfcorequick.code.tex 2023-01-15 v3.1.10 (3.1.10) +) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.c +ode.tex +File: pgfcoreobjects.code.tex 2023-01-15 v3.1.10 (3.1.10) +) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathproce +ssing.code.tex +File: pgfcorepathprocessing.code.tex 2023-01-15 v3.1.10 (3.1.10) +) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.co +de.tex +File: pgfcorearrows.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfarrowsep=\dimen294 +) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.cod +e.tex +File: pgfcoreshade.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@max=\dimen295 +\pgf@sys@shading@range@num=\count330 +\pgf@shadingcount=\count331 +) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.cod +e.tex +File: pgfcoreimage.code.tex 2023-01-15 v3.1.10 (3.1.10) +) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal. +code.tex +File: pgfcoreexternal.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfexternal@startupbox=\box125 +) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.co +de.tex +File: pgfcorelayers.code.tex 2023-01-15 v3.1.10 (3.1.10) +) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretranspare +ncy.code.tex +File: pgfcoretransparency.code.tex 2023-01-15 v3.1.10 (3.1.10) +) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns. +code.tex +File: pgfcorepatterns.code.tex 2023-01-15 v3.1.10 (3.1.10) +) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code. +tex +File: pgfcorerdf.code.tex 2023-01-15 v3.1.10 (3.1.10) +))) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.cod +e.tex +File: pgfmoduleshapes.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfnodeparttextbox=\box126 +) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code. +tex +File: pgfmoduleplot.code.tex 2023-01-15 v3.1.10 (3.1.10) +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version +-0-65.sty +Package: pgfcomp-version-0-65 2023-01-15 v3.1.10 (3.1.10) +\pgf@nodesepstart=\dimen296 +\pgf@nodesepend=\dimen297 +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version +-1-18.sty +Package: pgfcomp-version-1-18 2023-01-15 v3.1.10 (3.1.10) +)) +(/usr/local/texlive/2024/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +(/usr/local/texlive/2024/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex) +) (/usr/local/texlive/2024/texmf-dist/tex/latex/pgf/math/pgfmath.sty +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2023-01-15 v3.1.10 (3.1.10) +\pgffor@iter=\dimen298 +\pgffor@skip=\dimen299 +\pgffor@stack=\toks43 +\pgffor@toks=\toks44 +)) +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.cod +e.tex +Package: tikz 2023-01-15 v3.1.10 (3.1.10) + +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothan +dlers.code.tex +File: pgflibraryplothandlers.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgf@plot@mark@count=\count332 +\pgfplotmarksize=\dimen300 +) +\tikz@lastx=\dimen301 +\tikz@lasty=\dimen302 +\tikz@lastxsaved=\dimen303 +\tikz@lastysaved=\dimen304 +\tikz@lastmovetox=\dimen305 +\tikz@lastmovetoy=\dimen306 +\tikzleveldistance=\dimen307 +\tikzsiblingdistance=\dimen308 +\tikz@figbox=\box127 +\tikz@figbox@bg=\box128 +\tikz@tempbox=\box129 +\tikz@tempbox@bg=\box130 +\tikztreelevel=\count333 +\tikznumberofchildren=\count334 +\tikznumberofcurrentchild=\count335 +\tikz@fig@count=\count336 + +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.cod +e.tex +File: pgfmodulematrix.code.tex 2023-01-15 v3.1.10 (3.1.10) +\pgfmatrixcurrentrow=\count337 +\pgfmatrixcurrentcolumn=\count338 +\pgf@matrix@numberofcolumns=\count339 +) +\tikz@expandcount=\count340 + +(/usr/local/texlive/2024/texmf-dist/tex/generic/pgf/frontendlayer/tikz/librarie +s/tikzlibrarytopaths.code.tex +File: tikzlibrarytopaths.code.tex 2023-01-15 v3.1.10 (3.1.10) +))) +(/usr/local/texlive/2024/texmf-dist/tex/latex/colortbl/colortbl.sty +Package: colortbl 2024/02/20 v1.0g Color table columns (DPC) +\everycr=\toks45 +\minrowclearance=\skip85 +\rownum=\count341 +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/tools/tabularx.sty +Package: tabularx 2023/07/08 v2.11c `tabularx' package (DPC) +\TX@col@width=\dimen309 +\TX@old@table=\dimen310 +\TX@old@col=\dimen311 +\TX@target=\dimen312 +\TX@delta=\dimen313 +\TX@cols=\count342 +\TX@ftn=\toks46 +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/anyfontsize/anyfontsize.sty +Package: anyfontsize 2007/11/22 anyfontsize.sty by pts +) +\MARmar=\skip86 +\MARlef=\skip87 +\MARrig=\skip88 +\MARtop=\skip89 +\MARbot=\skip90 + +(/usr/local/texlive/2024/texmf-dist/tex/latex/psnfss/helvet.sty +Package: helvet 2020/03/25 PSNFSS-v9.3 (WaS) +) +(/usr/local/texlive/2024/texmf-dist/tex/latex/base/fontenc.sty +Package: fontenc 2021/04/29 v2.0v Standard LaTeX package +) +\c@revhis=\count343 +\@float@every@figure=\toks47 +\@float@every@table=\toks48 +) +LaTeX Font Info: Trying to load font information for T1+phv on input line 87 +. + +(/usr/local/texlive/2024/texmf-dist/tex/latex/psnfss/t1phv.fd +File: t1phv.fd 2020/03/25 scalable font definitions for T1/phv. +) +LaTeX Font Info: Font shape `T1/phv/m/n' will be +(Font) scaled to size 11.39996pt on input line 87. + (./document.aux) +\openout1 = `document.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 87. +LaTeX Font Info: ... okay on input line 87. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 87. +LaTeX Font Info: ... okay on input line 87. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 87. +LaTeX Font Info: ... okay on input line 87. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 87. +LaTeX Font Info: ... okay on input line 87. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 87. +LaTeX Font Info: ... okay on input line 87. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 87. +LaTeX Font Info: ... okay on input line 87. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 87. +LaTeX Font Info: ... okay on input line 87. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 87. +LaTeX Font Info: ... okay on input line 87. +LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 87. +LaTeX Font Info: ... okay on input line 87. +(/usr/local/texlive/2024/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count344 +\scratchdimen=\dimen314 +\scratchbox=\box131 +\nofMPsegments=\count345 +\nofMParguments=\count346 +\everyMPshowfont=\toks49 +\MPscratchCnt=\count347 +\MPscratchDim=\dimen315 +\MPnumerator=\count348 +\makeMPintoPDFobject=\count349 +\everyMPtoPDFconversion=\toks50 +) (/usr/local/texlive/2024/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty +Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +85. + +(/usr/local/texlive/2024/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +\c@literalblock=\count350 + +*geometry* driver: auto-detecting +*geometry* detected driver: pdftex +*geometry* verbose mode - [ preamble ] result: +* driver: pdftex +* paper: letterpaper +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* modes: includehead includefoot +* h-part:(L,W,R)=(72.26999pt, 469.75502pt, 72.26999pt) +* v-part:(T,H,B)=(90.33748pt, 632.36252pt, 72.26999pt) +* \paperwidth=614.295pt +* \paperheight=794.96999pt +* \textwidth=469.75502pt +* \textheight=562.86252pt +* \oddsidemargin=0.0pt +* \evensidemargin=0.0pt +* \topmargin=18.06749pt +* \headheight=14.5pt +* \headsep=25.0pt +* \topskip=12.0pt +* \footskip=30.0pt +* \marginparwidth=36.135pt +* \marginparsep=10.0pt +* \columnsep=10.0pt +* \skip\footins=10.8pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +Package hyperref Info: Link coloring OFF on input line 87. +(./document.out) (./document.out) +\@outlinefile=\write6 +\openout6 = `document.out'. + +LaTeX Font Info: Font shape `T1/phv/b/n' will be +(Font) scaled to size 29.4499pt on input line 90. +LaTeX Font Info: Font shape `T1/phv/m/n' will be +(Font) scaled to size 23.63593pt on input line 90. +LaTeX Font Info: Font shape `T1/phv/b/n' will be +(Font) scaled to size 23.63593pt on input line 90. +LaTeX Font Info: Font shape `T1/phv/m/n' will be +(Font) scaled to size 13.67995pt on input line 90. +LaTeX Font Info: Font shape `T1/phv/b/n' will be +(Font) scaled to size 13.67995pt on input line 90. +<><><><> (/usr/local/texlive/2024/texmf +-dist/tex/latex/amsfonts/umsa.fd) +(/usr/local/texlive/2024/texmf-dist/tex/latex/amsfonts/umsb.fd) + +File: JMKEngineering-Logo_blue.jpg Graphic file (type jpg) + +Package pdftex.def Info: JMKEngineering-Logo_blue.jpg used on input line 100. +(pdftex.def) Requested size: 55.10432pt x 55.0pt. +LaTeX Font Info: Font shape `T1/phv/m/n' will be +(Font) scaled to size 9.49997pt on input line 100. +LaTeX Font Info: Font shape `T1/phv/b/n' will be +(Font) scaled to size 9.49997pt on input line 100. + [1{/usr/local/texlive/2024/texmf-var/fonts/map/pdftex/updmap/pdftex.map}{/usr/ +local/texlive/2024/texmf-dist/fonts/enc/dvips/base/8r.enc} + + <./JMKEngineering-Logo_blue.jpg>] +Chapter 1. +LaTeX Font Info: Font shape `T1/phv/m/n' will be +(Font) scaled to size 16.41594pt on input line 100. +LaTeX Font Info: Font shape `T1/phv/b/n' will be +(Font) scaled to size 16.41594pt on input line 100. +File: JMKEngineering-Logo_blue.jpg Graphic file (type jpg) + +Package pdftex.def Info: JMKEngineering-Logo_blue.jpg used on input line 164. +(pdftex.def) Requested size: 55.10432pt x 55.0pt. +[2 + +] +Overfull \hbox (70.11876pt too wide) in paragraph at lines 174--174 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 174--174 + + [] + +File: JMKEngineering-Logo_blue.jpg Graphic file (type jpg) + +Package pdftex.def Info: JMKEngineering-Logo_blue.jpg used on input line 238. +(pdftex.def) Requested size: 55.10432pt x 55.0pt. +[3] +LaTeX Font Info: Trying to load font information for TS1+phv on input line 2 +54. + (/usr/local/texlive/2024/texmf-dist/tex/latex/psnfss/ts1phv.fd +File: ts1phv.fd 2020/03/25 scalable font definitions for TS1/phv. +) +LaTeX Font Info: Font shape `TS1/phv/m/n' will be +(Font) scaled to size 11.39996pt on input line 254. +File: JMKEngineering-Logo_blue.jpg Graphic file (type jpg) + +Package pdftex.def Info: JMKEngineering-Logo_blue.jpg used on input line 270. +(pdftex.def) Requested size: 55.10432pt x 55.0pt. + [4] +Chapter 2. +File: JMKEngineering-Logo_blue.jpg Graphic file (type jpg) + +Package pdftex.def Info: JMKEngineering-Logo_blue.jpg used on input line 337. +(pdftex.def) Requested size: 55.10432pt x 55.0pt. +[5 + +] +File: JMKEngineering-Logo_blue.jpg Graphic file (type jpg) + +Package pdftex.def Info: JMKEngineering-Logo_blue.jpg used on input line 405. +(pdftex.def) Requested size: 55.10432pt x 55.0pt. + [6] +File: JMKEngineering-Logo_blue.jpg Graphic file (type jpg) + +Package pdftex.def Info: JMKEngineering-Logo_blue.jpg used on input line 479. +(pdftex.def) Requested size: 55.10432pt x 55.0pt. + [7] +File: JMKEngineering-Logo_blue.jpg Graphic file (type jpg) + +Package pdftex.def Info: JMKEngineering-Logo_blue.jpg used on input line 537. +(pdftex.def) Requested size: 55.10432pt x 55.0pt. + [8] +LaTeX Font Info: Trying to load font information for T1+txtt on input line 5 +46. + (/usr/local/texlive/2024/texmf-dist/tex/latex/txfonts/t1txtt.fd +File: t1txtt.fd 2000/12/15 v3.1 +) +LaTeX Font Info: Font shape `T1/txtt/b/n' in size <12> not available +(Font) Font shape `T1/txtt/bx/n' tried instead on input line 546. +File: JMKEngineering-Logo_blue.jpg Graphic file (type jpg) + +Package pdftex.def Info: JMKEngineering-Logo_blue.jpg used on input line 556. +(pdftex.def) Requested size: 55.10432pt x 55.0pt. + [9] +No file document.ind. +(./document.aux) + *********** +LaTeX2e <2023-11-01> patch level 1 +L3 programming layer <2024-03-14> + *********** +Package rerunfilecheck Info: File `document.out' has not changed. +(rerunfilecheck) Checksum: C239998B723B0737C924FB27754C63F5;3121. + ) +Here is how much of TeX's memory you used: + 25722 strings out of 474104 + 473258 string characters out of 5743473 + 1939493 words of memory out of 5000000 + 47409 multiletter control sequences out of 15000+600000 + 594346 words of font info for 77 fonts, out of 8000000 for 9000 + 1142 hyphenation exceptions out of 8191 + 99i,17n,101p,530b,923s stack positions out of 10000i,1000n,20000p,200000b,200000s + +Output written on document.pdf (9 pages, 135855 bytes). +PDF statistics: + 251 PDF objects out of 1000 (max. 8388607) + 226 compressed objects within 3 object streams + 101 named destinations out of 1000 (max. 500000) + 214 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/source/frUpwork/project_spec/project_spec/document.out b/source/frUpwork/project_spec/project_spec/document.out new file mode 100644 index 0000000..e4831c8 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/document.out @@ -0,0 +1,22 @@ +\BOOKMARK [0][-]{chapter.1}{\376\377\000C\000o\000m\000m\000o\000n}{}% 1 +\BOOKMARK [1][-]{section.1.1}{\376\377\000G\000E\000N\000E\000R\000A\000L}{chapter.1}% 2 +\BOOKMARK [2][-]{subsection.1.1.1}{\376\377\000S\000C\000O\000P\000E}{section.1.1}% 3 +\BOOKMARK [2][-]{subsection.1.1.2}{\376\377\000S\000C\000H\000E\000D\000U\000L\000E}{section.1.1}% 4 +\BOOKMARK [2][-]{subsection.1.1.3}{\376\377\000S\000T\000A\000N\000D\000A\000R\000D\000S\000\040\000A\000N\000D\000\040\000R\000E\000G\000U\000L\000A\000T\000I\000O\000N\000S}{section.1.1}% 5 +\BOOKMARK [2][-]{subsection.1.1.4}{\376\377\000D\000E\000F\000I\000N\000I\000T\000I\000O\000N\000S}{section.1.1}% 6 +\BOOKMARK [2][-]{subsection.1.1.5}{\376\377\000A\000C\000R\000O\000N\000Y\000M\000S}{section.1.1}% 7 +\BOOKMARK [1][-]{section.1.2}{\376\377\000P\000R\000O\000D\000U\000C\000T\000S}{chapter.1}% 8 +\BOOKMARK [2][-]{subsection.1.2.1}{\376\377\000M\000A\000T\000E\000R\000I\000A\000L\000S\000\040\000A\000N\000D\000\040\000E\000Q\000U\000I\000P\000M\000E\000N\000T}{section.1.2}% 9 +\BOOKMARK [2][-]{subsection.1.2.2}{\376\377\000M\000A\000T\000E\000R\000I\000A\000L\000\040\000S\000U\000P\000P\000L\000I\000E\000D\000\040\000B\000Y\000\040\000O\000W\000N\000E\000R}{section.1.2}% 10 +\BOOKMARK [0][-]{chapter.2}{\376\377\000S\000E\000C\000T\000I\000O\000N\000\040\0002\0006\000\040\0000\0005\000\040\0002\0006\000\040\000-\000\040\000G\000R\000O\000U\000N\000D\000I\000N\000G}{}% 11 +\BOOKMARK [1][-]{section.2.1}{\376\377\000P\000A\000R\000T\000\040\0001\000\040\000-\000\040\000G\000E\000N\000E\000R\000A\000L}{chapter.2}% 12 +\BOOKMARK [2][-]{subsection.2.1.1}{\376\377\0001\000.\0001\000\040\000W\000o\000r\000k\000\040\000I\000n\000c\000l\000u\000d\000e\000d}{section.2.1}% 13 +\BOOKMARK [2][-]{subsection.2.1.2}{\376\377\0001\000.\0002\000\040\000R\000e\000l\000a\000t\000e\000d\000\040\000W\000o\000r\000k}{section.2.1}% 14 +\BOOKMARK [2][-]{subsection.2.1.3}{\376\377\0001\000.\0003\000\040\000Q\000u\000a\000l\000i\000f\000i\000c\000a\000t\000i\000o\000n\000s}{section.2.1}% 15 +\BOOKMARK [2][-]{subsection.2.1.4}{\376\377\0001\000.\0004\000\040\000S\000u\000b\000m\000i\000t\000t\000a\000l\000s}{section.2.1}% 16 +\BOOKMARK [1][-]{section.2.2}{\376\377\000P\000A\000R\000T\000\040\0002\000\040\000-\000\040\000P\000R\000O\000D\000U\000C\000T\000S}{chapter.2}% 17 +\BOOKMARK [2][-]{subsection.2.2.1}{\376\377\0002\000.\0001\000\040\000G\000r\000o\000u\000n\000d\000i\000n\000g\000\040\000S\000y\000s\000t\000e\000m}{section.2.2}% 18 +\BOOKMARK [1][-]{section.2.3}{\376\377\000P\000A\000R\000T\000\040\0003\000\040\000-\000\040\000E\000X\000E\000C\000U\000T\000I\000O\000N}{chapter.2}% 19 +\BOOKMARK [2][-]{subsection.2.3.1}{\376\377\0003\000.\0001\000\040\000W\000o\000r\000k\000m\000a\000n\000s\000h\000i\000p}{section.2.3}% 20 +\BOOKMARK [2][-]{subsection.2.3.2}{\376\377\0003\000.\0002\000\040\000I\000n\000s\000t\000a\000l\000l\000a\000t\000i\000o\000n}{section.2.3}% 21 +\BOOKMARK [2][-]{subsection.2.3.3}{\376\377\0003\000.\0003\000\040\000F\000i\000e\000l\000d\000\040\000Q\000u\000a\000l\000i\000t\000y\000\040\000C\000o\000n\000t\000r\000o\000l}{section.2.3}% 22 diff --git a/source/frUpwork/project_spec/project_spec/document.pdf b/source/frUpwork/project_spec/project_spec/document.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2de70c8c67b90be460c43354f0087e93b26ef3ee GIT binary patch literal 135855 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 i|] (current page.west)--++(0:\MARlef) node[midway,above] {\strut 1~in}; + %\draw[|<->|] (current page.east)--++(180:\MARrig) node[midway,above] {\strut 1~in}; + %\draw[|<->|] (current page.south)--++(90:\MARbot) node[midway,right] {\strut 1~in}; + %\draw[|<->|] (current page.north)--++(270:\MARtop) node[midway,right] {\strut 1.5~in}; + \end{tikzpicture}}} + \fancypagestyle{plain}{\headfoot} + \fancypagestyle{normal}{\headfoot} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Headings + %\RequirePackage[Bjornstrup]{fncychap}% Loaded by conf.py but remove by Elio + %\RequirePackage[explicit]{titlesec} + \def\FONTchapter{\Large\bfseries\color{JMKblue}} + \titleformat{\chapter}[hang]{\FONTchapter}{}{0pt}{}[] + \titleformat{name=\chapter,numberless}[hang]{\FONTchapter}{}{0pt}{}[] + \titlespacing*{\chapter}{0pt}{-3\baselineskip}{\baselineskip} + % + \def\FONTsection{\large\bfseries\color{JMKblue}} + \titleformat{\section}[hang]{\FONTsection}{}{0pt}{}[] + \titleformat{name=\section,numberless}[hang]{\FONTsection}{}{0pt}{}[] + \titlespacing*{\section}{0pt}{\baselineskip}{0pt} + % + \def\FONTsubsection{\bfseries\color{JMKblue}} + \titleformat{\subsection}[hang]{\FONTsubsection}{}{0pt}{}[] + \titleformat{name=\subsection,numberless}[hang]{\FONTsubsection}{}{0pt}{}[] + \titlespacing*{\subsection}{0pt}{\baselineskip}{0pt} + % + \def\FONTsubsubsection{\itshape\color{JMKblue}} + \titleformat{\subsubsection}[hang]{\FONTsubsubsection}{}{0pt}{}[] + \titleformat{name=\subsubsection,numberless}[hang]{\FONTsubsubsection}{}{0pt}{}[] + \titlespacing*{\subsubsection}{0pt}{\baselineskip}{0pt} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Title page + \renewcommand{\sphinxmaketitle}{\pagestyle{plain}\pagenumbering{roman}\strut + \vspace{-4\baselineskip} + \begin{center}\fontsize{31pt}{37pt}\bfseries\color{JMKblue}\selectfont + \@title + \end{center} + \vspace{2\baselineskip} + \begin{center}\huge\bfseries\color{JMKblue} + \dbsubtitle + \end{center} + \vfill + \ifnumequal{\therevhis}{0}{}{ + \begin{center}\large\bfseries\color{JMKblue}Revision History\end{center} + \begin{tabularx}{\linewidth}{|c|X|l|l|}\hline + \rowcolor{black!10}\bfseries Number & \bfseries Description & \bfseries Date & \bfseries Approved \\\hline + \ifnumgreater{\therevhis}{0}{\csuse{REVnum1} & \csuse{REVdesc1} & \csuse{REVdate1} & \\ \hline}{} + \ifnumgreater{\therevhis}{1}{\csuse{REVnum2} & \csuse{REVdesc2} & \csuse{REVdate2} & \\ \hline}{} + \ifnumgreater{\therevhis}{2}{\csuse{REVnum3} & \csuse{REVdesc3} & \csuse{REVdate3} & \\ \hline}{} + \ifnumgreater{\therevhis}{3}{\csuse{REVnum4} & \csuse{REVdesc4} & \csuse{REVdate4} & \\ \hline}{} + \ifnumgreater{\therevhis}{4}{\csuse{REVnum5} & \csuse{REVdesc5} & \csuse{REVdate5} & \\ \hline}{} + \ifnumgreater{\therevhis}{5}{\csuse{REVnum6} & \csuse{REVdesc6} & \csuse{REVdate6} & \\ \hline}{} + \ifnumgreater{\therevhis}{6}{\csuse{REVnum7} & \csuse{REVdesc7} & \csuse{REVdate7} & \\ \hline}{} + \ifnumgreater{\therevhis}{7}{\csuse{REVnum8} & \csuse{REVdesc8} & \csuse{REVdate8} & \\ \hline}{} + \ifnumgreater{\therevhis}{8}{\csuse{REVnum9} & \csuse{REVdesc9} & \csuse{REVdate9} & \\ \hline}{} + \ifnumgreater{\therevhis}{9}{\csuse{REVnum10} & \csuse{REVdesc10} & \csuse{REVdate10} & \\ \hline}{} + \ifnumgreater{\therevhis}{10}{\csuse{REVnum11} & \csuse{REVdesc11} & \csuse{REVdate11} & \\ \hline}{} + \end{tabularx} + } + } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Revision history + \newcounter{revhis} + \setcounter{revhis}{0} + \makeatletter + \define@key{rev}{num}{\csdef{REVnum\therevhis}{#1}} + \define@key{rev}{desc}{\csdef{REVdesc\therevhis}{#1}} + \define@key{rev}{date}{\csdef{REVdate\therevhis}{#1}} + \makeatother + \setkeys{rev}{} + \newcommand{\revisionhistory}[1]{\stepcounter{revhis}\setkeys{rev}{#1}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% List of figures and tables + \RequirePackage{float} + \floatstyle{boxed} + \restylefloat{figure} + \restylefloat{table} + \newif\iffigures + \newif\iftables + \makeatletter + \AtEndDocument{% + \if@filesw + \ifnum\value{figure}=\z@ % no figures + \immediate\write\@mainaux {\global\string\figuresfalse}% + \else + \immediate\write\@mainaux {\global\string\figurestrue}% + \fi + \ifnum\value{table}=\z@ % no tables + \immediate\write\@mainaux {\global\string\tablesfalse}% + \else + \immediate\write\@mainaux {\global\string\tablestrue}% + \fi + \fi + } + \makeatother +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Table of contents + \setcounter{tocdepth}{1} + \renewcommand{\sphinxtableofcontents}{} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Hyperref + \hypersetup{hidelinks} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\endinput \ No newline at end of file diff --git a/source/frUpwork/project_spec/project_spec/latexmkjarc b/source/frUpwork/project_spec/project_spec/latexmkjarc new file mode 100644 index 0000000..6e36b19 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/latexmkjarc @@ -0,0 +1,22 @@ +$latex = 'pdflatex ' . $ENV{'LATEXOPTS'} . ' -kanji=utf8 %O %S'; +$dvipdf = 'dvipdfmx %O -o %D %S'; +$makeindex = 'internal mendex %S %B %D'; +sub mendex { + my ($source, $basename, $destination) = @_; + my $dictfile = $basename . ".dic"; + unlink($destination); + system("mendex", "-U", "-f", "-d", $dictfile, "-s", "python.ist", $source); + if ($? > 0) { + print("mendex exited with error code $? (ignored)\n"); + } + if (!-e $destination) { + # create an empty .ind file if nothing + open(FH, ">" . $destination); + close(FH); + } + return 0; +} +add_cus_dep( "glo", "gls", 0, "makeglo" ); +sub makeglo { + return system( "mendex -J -f -s gglo.ist -o '$_[0].gls' '$_[0].glo'" ); +} \ No newline at end of file diff --git a/source/frUpwork/project_spec/project_spec/latexmkrc b/source/frUpwork/project_spec/project_spec/latexmkrc new file mode 100644 index 0000000..bba17fa --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/latexmkrc @@ -0,0 +1,9 @@ +$latex = 'latex ' . $ENV{'LATEXOPTS'} . ' %O %S'; +$pdflatex = 'pdflatex ' . $ENV{'LATEXOPTS'} . ' %O %S'; +$lualatex = 'lualatex ' . $ENV{'LATEXOPTS'} . ' %O %S'; +$xelatex = 'xelatex --no-pdf ' . $ENV{'LATEXOPTS'} . ' %O %S'; +$makeindex = 'makeindex -s python.ist %O -o %D %S'; +add_cus_dep( "glo", "gls", 0, "makeglo" ); +sub makeglo { + return system( "makeindex -s gglo.ist -o '$_[0].gls' '$_[0].glo'" ); +} \ No newline at end of file diff --git a/source/frUpwork/project_spec/project_spec/make.bat b/source/frUpwork/project_spec/project_spec/make.bat new file mode 100644 index 0000000..94bda21 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/make.bat @@ -0,0 +1,31 @@ +@ECHO OFF + +REM Command file for Sphinx documentation + +pushd %~dp0 + +set PDFLATEX=latexmk -pdf -dvi- -ps- + +set "LATEXOPTS= " + +if "%1" == "" goto all-pdf + +if "%1" == "all-pdf" ( + :all-pdf + for %%i in (*.tex) do ( + %PDFLATEX% %LATEXMKOPTS% %%i + ) + goto end +) + +if "%1" == "all-pdf-ja" ( + goto all-pdf +) + +if "%1" == "clean" ( + del /q /s *.dvi *.log *.ind *.aux *.toc *.syn *.idx *.out *.ilg *.pla *.ps *.tar *.tar.gz *.tar.bz2 *.tar.xz *.fls *.fdb_latexmk + goto end +) + +:end +popd \ No newline at end of file diff --git a/source/frUpwork/project_spec/project_spec/python.ist b/source/frUpwork/project_spec/project_spec/python.ist new file mode 100644 index 0000000..70536a6 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/python.ist @@ -0,0 +1,16 @@ +line_max 100 +headings_flag 1 +heading_prefix " \\bigletter " + +preamble "\\begin{sphinxtheindex} +\\let\\bigletter\\sphinxstyleindexlettergroup +\\let\\spxpagem \\sphinxstyleindexpagemain +\\let\\spxentry \\sphinxstyleindexentry +\\let\\spxextra \\sphinxstyleindexextra + +" + +postamble "\n\n\\end{sphinxtheindex}\n" + +symhead_positive "{\\sphinxsymbolsname}" +numhead_positive "{\\sphinxnumbersname}" diff --git a/source/frUpwork/project_spec/project_spec/sphinx.sty b/source/frUpwork/project_spec/project_spec/sphinx.sty new file mode 100644 index 0000000..6c9f160 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/sphinx.sty @@ -0,0 +1,351 @@ +% +% sphinx.sty +% +% Adapted from the old python.sty, mostly written by Fred Drake, +% by Georg Brandl. +% + +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{sphinx}[2021/01/27 v4.0.0 LaTeX package (Sphinx markup)] + +% provides \ltx@ifundefined +% (many packages load ltxcmds: graphicx does for pdftex and lualatex but +% not xelatex, and anyhow kvoptions does, but it may be needed in future to +% use \sphinxdeprecationwarning earlier, and it needs \ltx@ifundefined) +\RequirePackage{ltxcmds} + +%% for deprecation warnings +\newcommand\sphinxdeprecationwarning[4]{% #1 the deprecated macro or name, +% #2 = when deprecated, #3 = when removed, #4 = additional info + \edef\spx@tempa{\detokenize{#1}}% + \ltx@ifundefined{sphinx_depr_\spx@tempa}{% + \global\expandafter\let\csname sphinx_depr_\spx@tempa\endcsname\spx@tempa + \expandafter\AtEndDocument\expandafter{\expandafter\let\expandafter + \sphinxdeprecatedmacro\csname sphinx_depr_\spx@tempa\endcsname + \PackageWarningNoLine{sphinx}{^^J**** SPHINX DEPRECATION WARNING:^^J + \sphinxdeprecatedmacro^^J + \@spaces- is deprecated at Sphinx #2^^J + \@spaces- and removed at Sphinx #3.^^J + #4^^J****}}% + }{% warning already emitted (at end of latex log), don't repeat + }} + + +%% OPTION HANDLING +% + +% We first handle options then load packages, but we need \definecolor from +% xcolor/color. + +% FIXME: we should \RequirePackage{xcolor} always now +% The xcolor package draws better fcolorboxes around verbatim code +\IfFileExists{xcolor.sty}{ + \RequirePackage{xcolor} +}{ + \RequirePackage{color} +} + +% Handle options via "kvoptions" (later loaded by hyperref anyhow) +\RequirePackage{kvoptions} +\SetupKeyvalOptions{prefix=spx@opt@} % use \spx@opt@ prefix + +% Sphinx legacy text layout: 1in margins on all four sides +\ifx\@jsc@uplatextrue\@undefined +\DeclareStringOption[1in]{hmargin} +\DeclareStringOption[1in]{vmargin} +\DeclareStringOption[.5in]{marginpar} +\else +% Japanese standard document classes handle \mag in a special way +\DeclareStringOption[\inv@mag in]{hmargin} +\DeclareStringOption[\inv@mag in]{vmargin} +\DeclareStringOption[.5\dimexpr\inv@mag in\relax]{marginpar} +\fi + +\DeclareStringOption[0]{maxlistdepth}% \newcommand*\spx@opt@maxlistdepth{0} +\DeclareStringOption[-1]{numfigreset} +\DeclareBoolOption[false]{nonumfigreset} +\DeclareBoolOption[false]{mathnumfig} +\define@key{sphinx}{bookmarksdepth}{\AtBeginDocument{\hypersetup{bookmarksdepth=#1}}} +\AtBeginDocument{\define@key{sphinx}{bookmarksdepth}{\hypersetup{bookmarksdepth=#1}}} +% \DeclareBoolOption[false]{usespart}% not used +% dimensions, we declare the \dimen registers here. +\newdimen\sphinxverbatimsep +\newdimen\sphinxverbatimborder +\newdimen\sphinxshadowsep +\newdimen\sphinxshadowsize +\newdimen\sphinxshadowrule +% \DeclareStringOption is not convenient for the handling of these dimensions +% because we want to assign the values to the corresponding registers. Even if +% we added the code to the key handler it would be too late for the initial +% set-up and we would need to do initial assignments explicitly. We end up +% using \define@key directly. +% verbatim +\sphinxverbatimsep=\fboxsep + \define@key{sphinx}{verbatimsep}{\sphinxverbatimsep\dimexpr #1\relax} +\sphinxverbatimborder=\fboxrule + \define@key{sphinx}{verbatimborder}{\sphinxverbatimborder\dimexpr #1\relax} +% topic boxes +\sphinxshadowsep =5pt + \define@key{sphinx}{shadowsep}{\sphinxshadowsep\dimexpr #1\relax} +\sphinxshadowsize=4pt + \define@key{sphinx}{shadowsize}{\sphinxshadowsize\dimexpr #1\relax} +\sphinxshadowrule=\fboxrule + \define@key{sphinx}{shadowrule}{\sphinxshadowrule\dimexpr #1\relax} +% verbatim +\DeclareBoolOption[true]{verbatimwithframe} +\DeclareBoolOption[true]{verbatimwrapslines} +\DeclareBoolOption[false]{verbatimforcewraps} +\DeclareStringOption[3]{verbatimmaxoverfull} +\DeclareStringOption[100]{verbatimmaxunderfull} +\DeclareBoolOption[true]{verbatimhintsturnover} +\DeclareBoolOption[true]{inlineliteralwraps} +\DeclareStringOption[t]{literalblockcappos} +\DeclareStringOption[r]{verbatimcontinuedalign} +\DeclareStringOption[r]{verbatimcontinuesalign} +% parsed literal +\DeclareBoolOption[true]{parsedliteralwraps} +% \textvisiblespace for compatibility with fontspec+XeTeX/LuaTeX +\DeclareStringOption[\textcolor{red}{\textvisiblespace}]{verbatimvisiblespace} +\DeclareStringOption % must use braces to hide the brackets + [{\makebox[2\fontcharwd\font`\x][r]{\textcolor{red}{\tiny$\m@th\hookrightarrow$}}}]% + {verbatimcontinued} +% notices/admonitions +% the dimensions for notices/admonitions are kept as macros and assigned to +% \spx@notice@border at time of use, hence \DeclareStringOption is ok for this +\newdimen\spx@notice@border +\DeclareStringOption[0.5pt]{noteborder} +\DeclareStringOption[0.5pt]{hintborder} +\DeclareStringOption[0.5pt]{importantborder} +\DeclareStringOption[0.5pt]{tipborder} +\DeclareStringOption[1pt]{warningborder} +\DeclareStringOption[1pt]{cautionborder} +\DeclareStringOption[1pt]{attentionborder} +\DeclareStringOption[1pt]{dangerborder} +\DeclareStringOption[1pt]{errorborder} +% footnotes +\DeclareStringOption[\mbox{ }]{AtStartFootnote} +% we need a public macro name for direct use in latex file +\newcommand*{\sphinxAtStartFootnote}{\spx@opt@AtStartFootnote} +% no such need for this one, as it is used inside other macros +\DeclareStringOption[\leavevmode\unskip]{BeforeFootnote} +% some font styling. +\DeclareStringOption[\sffamily\bfseries]{HeaderFamily} +% colours +% same problems as for dimensions: we want the key handler to use \definecolor. +% first, some colours with no prefix, for backwards compatibility +\newcommand*{\sphinxDeclareColorOption}[2]{% + \definecolor{#1}#2% + \define@key{sphinx}{#1}{\definecolor{#1}##1}% +}% +\sphinxDeclareColorOption{TitleColor}{{rgb}{0.126,0.263,0.361}} +\sphinxDeclareColorOption{InnerLinkColor}{{rgb}{0.208,0.374,0.486}} +\sphinxDeclareColorOption{OuterLinkColor}{{rgb}{0.216,0.439,0.388}} +\sphinxDeclareColorOption{VerbatimColor}{{rgb}{1,1,1}} +\sphinxDeclareColorOption{VerbatimBorderColor}{{rgb}{0,0,0}} +% now the colours defined with "sphinx" prefix in their names +\newcommand*{\sphinxDeclareSphinxColorOption}[2]{% + % set the initial default + \definecolor{sphinx#1}#2% + % set the key handler. The "value" ##1 must be acceptable by \definecolor. + \define@key{sphinx}{#1}{\definecolor{sphinx#1}##1}% +}% +% Default color chosen to be as in minted.sty LaTeX package! +\sphinxDeclareSphinxColorOption{VerbatimHighlightColor}{{rgb}{0.878,1,1}} +% admonition boxes, "light" style +\sphinxDeclareSphinxColorOption{noteBorderColor}{{rgb}{0,0,0}} +\sphinxDeclareSphinxColorOption{hintBorderColor}{{rgb}{0,0,0}} +\sphinxDeclareSphinxColorOption{importantBorderColor}{{rgb}{0,0,0}} +\sphinxDeclareSphinxColorOption{tipBorderColor}{{rgb}{0,0,0}} +% admonition boxes, "heavy" style +\sphinxDeclareSphinxColorOption{warningBorderColor}{{rgb}{0,0,0}} +\sphinxDeclareSphinxColorOption{cautionBorderColor}{{rgb}{0,0,0}} +\sphinxDeclareSphinxColorOption{attentionBorderColor}{{rgb}{0,0,0}} +\sphinxDeclareSphinxColorOption{dangerBorderColor}{{rgb}{0,0,0}} +\sphinxDeclareSphinxColorOption{errorBorderColor}{{rgb}{0,0,0}} +\sphinxDeclareSphinxColorOption{warningBgColor}{{rgb}{1,1,1}} +\sphinxDeclareSphinxColorOption{cautionBgColor}{{rgb}{1,1,1}} +\sphinxDeclareSphinxColorOption{attentionBgColor}{{rgb}{1,1,1}} +\sphinxDeclareSphinxColorOption{dangerBgColor}{{rgb}{1,1,1}} +\sphinxDeclareSphinxColorOption{errorBgColor}{{rgb}{1,1,1}} + +\DeclareDefaultOption{\@unknownoptionerror} +\ProcessKeyvalOptions* +% don't allow use of maxlistdepth via \sphinxsetup. +\DisableKeyvalOption{sphinx}{maxlistdepth} +\DisableKeyvalOption{sphinx}{numfigreset} +\DisableKeyvalOption{sphinx}{nonumfigreset} +\DisableKeyvalOption{sphinx}{mathnumfig} +% FIXME: this is unrelated to an option, move this elsewhere +% To allow hyphenation of first word in narrow contexts; no option, +% customization to be done via 'preamble' key +\newcommand*\sphinxAtStartPar{\leavevmode\nobreak\hskip\z@skip} +% No need for the \hspace{0pt} trick (\hskip\z@skip) with luatex +\ifdefined\directlua\let\sphinxAtStartPar\@empty\fi +% user interface: options can be changed midway in a document! +\newcommand\sphinxsetup[1]{\setkeys{sphinx}{#1}} + + +%% MISCELLANEOUS CONTEXT +% +% flag to be set in a framed environment +% (defined here as currently needed by three sphinxlatex....sty files and +% even if not needed if such files are replaced, the definition does no harm) +\newif\ifspx@inframed +% +% \spx@ifcaptionpackage (defined at begin document) +% is needed currently in macros from: +% sphinxlatexliterals.sty (sphinxVerbatim) +% sphinxlatextables.sty (for some macros used in the table templates) +% +% \sphinxcaption is mark-up injected by the tabular and tabulary templates +% it is defined in sphinxlatextables.sty +% +% store the original \caption macro for usage with figures inside longtable +% and tabulary cells. Make sure we get the final \caption in presence of +% caption package, whether the latter was loaded before or after sphinx. +\AtBeginDocument{% + \let\spx@originalcaption\caption + \@ifpackageloaded{caption} + {\let\spx@ifcaptionpackage\@firstoftwo + \caption@AtBeginDocument*{\let\spx@originalcaption\caption}% +% in presence of caption package, drop our own \sphinxcaption whose aim was to +% ensure same width of caption to all kinds of tables (tabular(y), longtable), +% because caption package has its own width (or margin) option + \def\sphinxcaption{\caption}% + }% + {\let\spx@ifcaptionpackage\@secondoftwo}% +} + +%% PASS OPTIONS +% +% pass options to hyperref; it must not have been loaded already +\input{sphinxoptionshyperref.sty} +% pass options to geometry; it must not have been loaded already +\input{sphinxoptionsgeometry.sty} + + +%% COLOR (general) +% +% FIXME: these two should be deprecated +% +% FIXME: \normalcolor should be used and \py@NormalColor never defined +\def\py@NormalColor{\color{black}} +% FIXME: \color{TitleColor} should be used directly and \py@TitleColor +% should never get defined. +\def\py@TitleColor{\color{TitleColor}} + + +%% PACKAGES +% +% as will be indicated below, secondary style files load some more packages +% +% For \text macro (sphinx.util.texescape) +% also for usage of \firstchoice@true(false) in sphinxlatexgraphics.sty +\RequirePackage{amstext} +% It was passed "warn" option from latex template in case it is already loaded +% via some other package before \usepackage{sphinx} in preamble +\RequirePackage{textcomp} +% For the H specifier. Do not \restylefloat{figure}, it breaks Sphinx code +% for allowing figures in tables. +\RequirePackage{float} +% For floating figures in the text. Better to load after float. +\RequirePackage{wrapfig} +% Provides \captionof, used once by latex writer (\captionof{figure}) +\RequirePackage{capt-of} +% Support hlist directive +\RequirePackage{multicol} + + +%% GRAPHICS +% +% It will always be needed, so let's load it here +\RequirePackage{graphicx} +\input{sphinxlatexgraphics.sty} + + +%% FRAMED ENVIRONMENTS +% +\input{sphinxlatexadmonitions.sty} +\input{sphinxlatexliterals.sty} +\input{sphinxlatexshadowbox.sty} + + +%% CONTAINERS +% +\input{sphinxlatexcontainers.sty} + + +%% PYGMENTS +% stylesheet for highlighting with pygments +\RequirePackage{sphinxhighlight} + + +%% TABLES +% +\input{sphinxlatextables.sty} + + +%% NUMBERING OF FIGURES, TABLES, AND LITERAL BLOCKS +% +\input{sphinxlatexnumfig.sty} + + +%% LISTS +% +\input{sphinxlatexlists.sty} + + +%% FOOTNOTES +% +% Support scopes for footnote numbering +\newcounter{sphinxscope} +\newcommand{\sphinxstepscope}{\stepcounter{sphinxscope}} +% Some footnotes are multiply referred-to. For unique hypertarget in pdf, +% we need an additional counter. It is called "sphinxexplicit" for legacy +% reasons as "explicitly" numbered footnotes may be multiply referred-to. +\newcounter{sphinxexplicit} +\newcommand{\sphinxstepexplicit}{\stepcounter{sphinxexplicit}} +% Some babel/polyglossia languages fiddle with \@arabic, so let's be extra +% cautious and redefine \thesphinxscope with \number not \@arabic. +% Memo: we expect some subtle redefinition of \thesphinxscope to be a part of page +% scoping for footnotes, when we shall implement it. +\renewcommand{\thesphinxscope}{\number\value{sphinxscope}.\number\value{sphinxexplicit}} +\newcommand\sphinxthefootnotemark[2]{% + % this is used to make reference to an explicitly numbered footnote not on same page + % #1=label of footnote text, #2=page number where footnote text was printed + \ifdefined\pagename + \pagename\space#2, % <- space + \else + p. #2, % <- space + \fi #1% no space +} +% support large numbered footnotes in minipage; but this is now obsolete +% from systematic use of savenotes environment around minipages +\def\thempfootnote{\arabic{mpfootnote}} +% This package is needed to support hyperlinked footnotes in tables and +% framed contents, and to allow code-blocks in footnotes. +\RequirePackage{sphinxpackagefootnote} + + +%% INDEX, BIBLIOGRAPHY, APPENDIX, TABLE OF CONTENTS +% +\input{sphinxlatexindbibtoc.sty} + + +%% STYLING +% +\input{sphinxlatexstylepage.sty} +\input{sphinxlatexstyleheadings.sty} +\input{sphinxlatexstyletext.sty} + + +%% MODULE RELEASE DATA AND OBJECT DESCRIPTIONS +% +\input{sphinxlatexobjects.sty} + + +% FIXME: this line should be dropped, as "9" is default anyhow. +\ifdefined\pdfcompresslevel\pdfcompresslevel = 9 \fi + + +\endinput diff --git a/source/frUpwork/project_spec/project_spec/sphinx.xdy b/source/frUpwork/project_spec/project_spec/sphinx.xdy new file mode 100644 index 0000000..0dcf113 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/sphinx.xdy @@ -0,0 +1,230 @@ +;;; -*- mode: lisp; coding: utf-8; -*- + +;; Unfortunately xindy is out-of-the-box hyperref-incompatible. This +;; configuration is a workaround, which requires to pass option +;; hyperindex=false to hyperref. +;; textit and emph not currently used, spxpagem replaces former textbf +(define-attributes (("textbf" "textit" "emph" "spxpagem" "default"))) +(markup-locref :open "\textbf{\hyperpage{" :close "}}" :attr "textbf") +(markup-locref :open "\textit{\hyperpage{" :close "}}" :attr "textit") +(markup-locref :open "\emph{\hyperpage{" :close "}}" :attr "emph") +(markup-locref :open "\spxpagem{\hyperpage{" :close "}}" :attr "spxpagem") +(markup-locref :open "\hyperpage{" :close "}" :attr "default") + +(require "numeric-sort.xdy") + +;; xindy base module latex.xdy loads tex.xdy and the latter instructs +;; xindy to ignore **all** TeX macros in .idx entries, except those +;; explicitly described in merge rule. But when after applying all +;; merge rules an empty string results, xindy raises an error: + +;; ERROR: CHAR: index 0 should be less than the length of the string + +;; For example when using pdflatex with utf-8 characters the index +;; file will contain \IeC macros and they will get ignored except if +;; suitable merge rules are loaded early. The texindy script coming +;; with xindy provides this, but only for Latin scripts. The texindy +;; man page says to use rather xelatex or lualatex in case of Cyrillic +;; scripts. + +;; Sphinx contributes LICRcyr2utf8.xdy to provide support for Cyrillic +;; scripts for the pdflatex engine. + +;; Another issue caused by xindy ignoring all TeX macros except those +;; explicitly declared reveals itself when attempting to index ">>>", +;; as the ">" is converted to "\textgreater{}" by Sphinx's LaTeX +;; escaping. + +;; To fix this, Sphinx does **not** use texindy, and does not even +;; load the xindy latex.xdy base module. + +;(require "latex.xdy") + +;; Rather it incorporates some suitable extracts from latex.xdy and +;; tex.xdy with additional Sphinx contributed rules. + +;; But, this means for pdflatex and Latin scripts that the xindy file +;; tex/inputenc/uf8.xdy is not usable because it refers to the macro +;; \IeC only sporadically, and as tex.xdy is not loaded, a rule such as +;; (merge-rule "\'e" "é" :string) +;; does not work, it must be +;; (merge-rule "\IeC {\'e}" "é" :string) +;; So Sphinx contributes LICRlatin2utf8.xdy to mitigate that problem. + +;;;;;;;; extracts from tex.xdy (discarding most original comments): + +;;; +;;; TeX conventions +;;; + +;; Discard leading and trailing white space. Collapse multiple white +;; space characters to blank. + +(merge-rule "^ +" "" :eregexp) +(merge-rule " +$" "" :eregexp) +(merge-rule " +" " " :eregexp) + +;; Handle TeX markup + +(merge-rule "\\([{}$%&#])" "\1" :eregexp) + +;;;;;;;; end of extracts from xindy's tex.xdy + +;;;;;;;; extracts from latex.xdy: + +;; Standard location classes: arabic and roman numbers, and alphabets. + +(define-location-class "arabic-page-numbers" ("arabic-numbers")) +(define-location-class "roman-page-numbers" ("roman-numbers-lowercase")) +(define-location-class "Roman-page-numbers" ("roman-numbers-uppercase")) +(define-location-class "alpha-page-numbers" ("alpha")) +(define-location-class "Alpha-page-numbers" ("ALPHA")) + +;; Output Markup + +(markup-letter-group-list :sep "~n~n \indexspace~n") + +(markup-indexentry :open "~n \item " :depth 0) +(markup-indexentry :open "~n \subitem " :depth 1) +(markup-indexentry :open "~n \subsubitem " :depth 2) + +(markup-locclass-list :open ", " :sep ", ") +(markup-locref-list :sep ", ") + +;;;;;;;; end of extracts from latex.xdy + +;; The LaTeX \index command turns \ into normal character so the TeX macros +;; written to .idx files are not followed by a blank. This is different +;; from non-ascii letters which end up (with pdflatex) as \IeC macros in .idx +;; file, with a blank space after \IeC + +;; Details of the syntax are explained at +;; http://xindy.sourceforge.net/doc/manual-3.html +;; In absence of :string, "xindy uses an auto-detection mechanism to decide, +;; if the pattern is a regular expression or not". But it is not obvious to +;; guess, for example "\\_" is not detected as RE but "\\P\{\}" is, so for +;; being sure we apply the :string switch everywhere and do not use \\ etc... + +;; Go back from sphinx.util.texescape TeX macros to UTF-8 + +(merge-rule "\sphinxleftcurlybrace{}" "{" :string) +(merge-rule "\sphinxrightcurlybrace{}" "}" :string) +(merge-rule "\_" "_" :string) +(merge-rule "{[}" "[" :string) +(merge-rule "{]}" "]" :string) +(merge-rule "\textbackslash{}" "\" :string) ; " for Emacs syntax highlighting +(merge-rule "\textasciitilde{}" "~~" :string); the ~~ escape is needed here +(merge-rule "\textasciicircum{}" "^" :string) +(merge-rule "\sphinxhyphen{}" "-" :string) +(merge-rule "\textquotesingle{}" "'" :string) +(merge-rule "\textasciigrave{}" "`" :string) +(merge-rule "\textless{}" "<" :string) +(merge-rule "\textgreater{}" ">" :string) +(merge-rule "\P{}" "¶" :string) +(merge-rule "\S{}" "§" :string) +(merge-rule "\texteuro{}" "€" :string) +(merge-rule "\(\infty\)" "∞" :string) +(merge-rule "\(\pm\)" "±" :string) +(merge-rule "\(\rightarrow\)" "→" :string) +(merge-rule "\(\checkmark\)" "✓" :string) +(merge-rule "\textendash{}" "–" :string) +(merge-rule "\textbar{}" "|" :string) +(merge-rule "\(\sp{\text{0}}\)" "⁰" :string) +(merge-rule "\(\sp{\text{1}}\)" "¹" :string) +(merge-rule "\(\sp{\text{2}}\)" "²" :string) +(merge-rule "\(\sp{\text{3}}\)" "³" :string) +(merge-rule "\(\sp{\text{4}}\)" "⁴" :string) +(merge-rule "\(\sp{\text{5}}\)" "⁵" :string) +(merge-rule "\(\sp{\text{6}}\)" "⁶" :string) +(merge-rule "\(\sp{\text{7}}\)" "⁷" :string) +(merge-rule "\(\sp{\text{8}}\)" "⁸" :string) +(merge-rule "\(\sp{\text{9}}\)" "⁹" :string) +(merge-rule "\(\sb{\text{0}}\)" "₀" :string) +(merge-rule "\(\sb{\text{1}}\)" "₁" :string) +(merge-rule "\(\sb{\text{2}}\)" "₂" :string) +(merge-rule "\(\sb{\text{3}}\)" "₃" :string) +(merge-rule "\(\sb{\text{4}}\)" "₄" :string) +(merge-rule "\(\sb{\text{5}}\)" "₅" :string) +(merge-rule "\(\sb{\text{6}}\)" "₆" :string) +(merge-rule "\(\sb{\text{7}}\)" "₇" :string) +(merge-rule "\(\sb{\text{8}}\)" "₈" :string) +(merge-rule "\(\sb{\text{9}}\)" "₉" :string) +(merge-rule "\IeC {\textalpha }" "α" :string) +(merge-rule "\IeC {\textbeta }" "β" :string) +(merge-rule "\IeC {\textgamma }" "γ" :string) +(merge-rule "\IeC {\textdelta }" "δ" :string) +(merge-rule "\IeC {\textepsilon }" "ε" :string) +(merge-rule "\IeC {\textzeta }" "ζ" :string) +(merge-rule "\IeC {\texteta }" "η" :string) +(merge-rule "\IeC {\texttheta }" "θ" :string) +(merge-rule "\IeC {\textiota }" "ι" :string) +(merge-rule "\IeC {\textkappa }" "κ" :string) +(merge-rule "\IeC {\textlambda }" "λ" :string) +(merge-rule "\IeC {\textmu }" "μ" :string) +(merge-rule "\IeC {\textnu }" "ν" :string) +(merge-rule "\IeC {\textxi }" "ξ" :string) +(merge-rule "\IeC {\textomicron }" "ο" :string) +(merge-rule "\IeC {\textpi }" "π" :string) +(merge-rule "\IeC {\textrho }" "ρ" :string) +(merge-rule "\IeC {\textsigma }" "σ" :string) +(merge-rule "\IeC {\texttau }" "τ" :string) +(merge-rule "\IeC {\textupsilon }" "υ" :string) +(merge-rule "\IeC {\textphi }" "φ" :string) +(merge-rule "\IeC {\textchi }" "χ" :string) +(merge-rule "\IeC {\textpsi }" "ψ" :string) +(merge-rule "\IeC {\textomega }" "ω" :string) +(merge-rule "\IeC {\textAlpha }" "Α" :string) +(merge-rule "\IeC {\textBeta }" "Β" :string) +(merge-rule "\IeC {\textGamma }" "Γ" :string) +(merge-rule "\IeC {\textDelta }" "Δ" :string) +(merge-rule "\IeC {\textEpsilon }" "Ε" :string) +(merge-rule "\IeC {\textZeta }" "Ζ" :string) +(merge-rule "\IeC {\textEta }" "Η" :string) +(merge-rule "\IeC {\textTheta }" "Θ" :string) +(merge-rule "\IeC {\textIota }" "Ι" :string) +(merge-rule "\IeC {\textKappa }" "Κ" :string) +(merge-rule "\IeC {\textLambda }" "Λ" :string) +(merge-rule "\IeC {\textMu }" "Μ" :string) +(merge-rule "\IeC {\textNu }" "Ν" :string) +(merge-rule "\IeC {\textTheta }" "Θ" :string) +(merge-rule "\IeC {\textIota }" "Ι" :string) +(merge-rule "\IeC {\textKappa }" "Κ" :string) +(merge-rule "\IeC {\textLambda }" "Λ" :string) +(merge-rule "\IeC {\textMu }" "Μ" :string) +(merge-rule "\IeC {\textNu }" "Ν" :string) +(merge-rule "\IeC {\textXi }" "Ξ" :string) +(merge-rule "\IeC {\textOmicron }" "Ο" :string) +(merge-rule "\IeC {\textPi }" "Π" :string) +(merge-rule "\IeC {\textRho }" "Ρ" :string) +(merge-rule "\IeC {\textSigma }" "Σ" :string) +(merge-rule "\IeC {\textTau }" "Τ" :string) +(merge-rule "\IeC {\textUpsilon }" "Υ" :string) +(merge-rule "\IeC {\textPhi }" "Φ" :string) +(merge-rule "\IeC {\textChi }" "Χ" :string) +(merge-rule "\IeC {\textPsi }" "Ψ" :string) +(merge-rule "\IeC {\textOmega }" "Ω" :string) +(merge-rule "\IeC {\textohm }" "Ω" :string) + +;; This xindy module provides some basic support for "see" +(require "makeindex.xdy") + +;; This creates one-letter headings and works fine with utf-8 letters. +;; For Cyrillic with pdflatex works thanks to LICRcyr2utf8.xdy +(require "latin-lettergroups.xdy") + +;; currently we don't (know how to easily) separate "Numbers" from +;; "Symbols" with xindy as is the case with makeindex. +(markup-index :open "\begin{sphinxtheindex} +\let\lettergroup\sphinxstyleindexlettergroup +\let\lettergroupDefault\sphinxstyleindexlettergroupDefault +\let\spxpagem\sphinxstyleindexpagemain +\let\spxentry\sphinxstyleindexentry +\let\spxextra\sphinxstyleindexextra + +" + :close " + +\end{sphinxtheindex} +" + :tree) + diff --git a/source/frUpwork/project_spec/project_spec/sphinxhighlight.sty b/source/frUpwork/project_spec/project_spec/sphinxhighlight.sty new file mode 100644 index 0000000..2c619d8 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/sphinxhighlight.sty @@ -0,0 +1,107 @@ +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{sphinxhighlight}[2016/05/29 stylesheet for highlighting with pygments] +% Its contents depend on pygments_style configuration variable. + + +\makeatletter +\def\PYG@reset{\let\PYG@it=\relax \let\PYG@bf=\relax% + \let\PYG@ul=\relax \let\PYG@tc=\relax% + \let\PYG@bc=\relax \let\PYG@ff=\relax} +\def\PYG@tok#1{\csname PYG@tok@#1\endcsname} +\def\PYG@toks#1+{\ifx\relax#1\empty\else% + \PYG@tok{#1}\expandafter\PYG@toks\fi} +\def\PYG@do#1{\PYG@bc{\PYG@tc{\PYG@ul{% + \PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}} +\def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}} + +\@namedef{PYG@tok@w}{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}} +\@namedef{PYG@tok@c}{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}} +\@namedef{PYG@tok@cp}{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} +\@namedef{PYG@tok@cs}{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}\def\PYG@bc##1{{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}} +\@namedef{PYG@tok@k}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} +\@namedef{PYG@tok@kp}{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} +\@namedef{PYG@tok@kt}{\def\PYG@tc##1{\textcolor[rgb]{0.56,0.13,0.00}{##1}}} +\@namedef{PYG@tok@o}{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}} +\@namedef{PYG@tok@ow}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} +\@namedef{PYG@tok@nb}{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} +\@namedef{PYG@tok@nf}{\def\PYG@tc##1{\textcolor[rgb]{0.02,0.16,0.49}{##1}}} +\@namedef{PYG@tok@nc}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.05,0.52,0.71}{##1}}} +\@namedef{PYG@tok@nn}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.05,0.52,0.71}{##1}}} +\@namedef{PYG@tok@ne}{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} +\@namedef{PYG@tok@nv}{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}} +\@namedef{PYG@tok@no}{\def\PYG@tc##1{\textcolor[rgb]{0.38,0.68,0.84}{##1}}} +\@namedef{PYG@tok@nl}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.13,0.44}{##1}}} +\@namedef{PYG@tok@ni}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.84,0.33,0.22}{##1}}} +\@namedef{PYG@tok@na}{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} +\@namedef{PYG@tok@nt}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.02,0.16,0.45}{##1}}} +\@namedef{PYG@tok@nd}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.33,0.33,0.33}{##1}}} +\@namedef{PYG@tok@s}{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} +\@namedef{PYG@tok@sd}{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} +\@namedef{PYG@tok@si}{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.44,0.63,0.82}{##1}}} +\@namedef{PYG@tok@se}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} +\@namedef{PYG@tok@sr}{\def\PYG@tc##1{\textcolor[rgb]{0.14,0.33,0.53}{##1}}} +\@namedef{PYG@tok@ss}{\def\PYG@tc##1{\textcolor[rgb]{0.32,0.47,0.09}{##1}}} +\@namedef{PYG@tok@sx}{\def\PYG@tc##1{\textcolor[rgb]{0.78,0.36,0.04}{##1}}} +\@namedef{PYG@tok@m}{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}} +\@namedef{PYG@tok@gh}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}} +\@namedef{PYG@tok@gu}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}} +\@namedef{PYG@tok@gd}{\def\PYG@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}} +\@namedef{PYG@tok@gi}{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}} +\@namedef{PYG@tok@gr}{\def\PYG@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}} +\@namedef{PYG@tok@ge}{\let\PYG@it=\textit} +\@namedef{PYG@tok@gs}{\let\PYG@bf=\textbf} +\@namedef{PYG@tok@ges}{\let\PYG@bf=\textbf\let\PYG@it=\textit} +\@namedef{PYG@tok@gp}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.78,0.36,0.04}{##1}}} +\@namedef{PYG@tok@go}{\def\PYG@tc##1{\textcolor[rgb]{0.20,0.20,0.20}{##1}}} +\@namedef{PYG@tok@gt}{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.27,0.87}{##1}}} +\@namedef{PYG@tok@err}{\def\PYG@bc##1{{\setlength{\fboxsep}{\string -\fboxrule}\fcolorbox[rgb]{1.00,0.00,0.00}{1,1,1}{\strut ##1}}}} +\@namedef{PYG@tok@kc}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} +\@namedef{PYG@tok@kd}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} +\@namedef{PYG@tok@kn}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} +\@namedef{PYG@tok@kr}{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} +\@namedef{PYG@tok@bp}{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} +\@namedef{PYG@tok@fm}{\def\PYG@tc##1{\textcolor[rgb]{0.02,0.16,0.49}{##1}}} +\@namedef{PYG@tok@vc}{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}} +\@namedef{PYG@tok@vg}{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}} +\@namedef{PYG@tok@vi}{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}} +\@namedef{PYG@tok@vm}{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}} +\@namedef{PYG@tok@sa}{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} +\@namedef{PYG@tok@sb}{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} +\@namedef{PYG@tok@sc}{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} +\@namedef{PYG@tok@dl}{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} +\@namedef{PYG@tok@s2}{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} +\@namedef{PYG@tok@sh}{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} +\@namedef{PYG@tok@s1}{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} +\@namedef{PYG@tok@mb}{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}} +\@namedef{PYG@tok@mf}{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}} +\@namedef{PYG@tok@mh}{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}} +\@namedef{PYG@tok@mi}{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}} +\@namedef{PYG@tok@il}{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}} +\@namedef{PYG@tok@mo}{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}} +\@namedef{PYG@tok@ch}{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}} +\@namedef{PYG@tok@cm}{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}} +\@namedef{PYG@tok@cpf}{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}} +\@namedef{PYG@tok@c1}{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}} + +\def\PYGZbs{\char`\\} +\def\PYGZus{\char`\_} +\def\PYGZob{\char`\{} +\def\PYGZcb{\char`\}} +\def\PYGZca{\char`\^} +\def\PYGZam{\char`\&} +\def\PYGZlt{\char`\<} +\def\PYGZgt{\char`\>} +\def\PYGZsh{\char`\#} +\def\PYGZpc{\char`\%} +\def\PYGZdl{\char`\$} +\def\PYGZhy{\char`\-} +\def\PYGZsq{\char`\'} +\def\PYGZdq{\char`\"} +\def\PYGZti{\char`\~} +% for compatibility with earlier versions +\def\PYGZat{@} +\def\PYGZlb{[} +\def\PYGZrb{]} +\makeatother + +\renewcommand\PYGZsq{\textquotesingle} diff --git a/source/frUpwork/project_spec/project_spec/sphinxhowto.cls b/source/frUpwork/project_spec/project_spec/sphinxhowto.cls new file mode 100644 index 0000000..951cf81 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/sphinxhowto.cls @@ -0,0 +1,102 @@ +% +% sphinxhowto.cls for Sphinx (https://www.sphinx-doc.org/) +% + +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{sphinxhowto}[2019/12/01 v2.3.0 Document class (Sphinx howto)] + +% 'oneside' option overriding the 'twoside' default +\newif\if@oneside +\DeclareOption{oneside}{\@onesidetrue} +% Pass remaining document options to the parent class. +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\sphinxdocclass}} +\ProcessOptions\relax + +% Default to two-side document +\if@oneside +% nothing to do (oneside is the default) +\else +\PassOptionsToClass{twoside}{\sphinxdocclass} +\fi + +\LoadClass{\sphinxdocclass} + +% Set some sane defaults for section numbering depth and TOC depth. You can +% reset these counters in your preamble. +% +\setcounter{secnumdepth}{2} +\setcounter{tocdepth}{2}% i.e. section and subsection + +% Adapt \and command to the flushright context of \sphinxmaketitle, to +% avoid ragged line endings if author names do not fit all on one single line +\DeclareRobustCommand{\and}{% + \end{tabular}\kern-\tabcolsep + \allowbreak + \hskip\dimexpr1em+\tabcolsep\@plus.17fil\begin{tabular}[t]{c}% +}% +% If it is desired that each author name be on its own line, use in preamble: +%\DeclareRobustCommand{\and}{% +% \end{tabular}\kern-\tabcolsep\\\begin{tabular}[t]{c}% +%}% +% Change the title page to look a bit better, and fit in with the fncychap +% ``Bjarne'' style a bit better. +% +\newcommand{\sphinxmaketitle}{% + \noindent\rule{\textwidth}{1pt}\par + \begingroup % for PDF information dictionary + \def\endgraf{ }\def\and{\& }% + \pdfstringdefDisableCommands{\def\\{, }}% overwrite hyperref setup + \hypersetup{pdfauthor={\@author}, pdftitle={\@title}}% + \endgroup + \begin{flushright} + \sphinxlogo + \py@HeaderFamily + {\Huge \@title }\par + {\itshape\large \py@release \releaseinfo}\par + \vspace{25pt} + {\Large + \begin{tabular}[t]{c} + \@author + \end{tabular}\kern-\tabcolsep}\par + \vspace{25pt} + \@date \par + \py@authoraddress \par + \end{flushright} + \@thanks + \setcounter{footnote}{0} + \let\thanks\relax\let\maketitle\relax + %\gdef\@thanks{}\gdef\@author{}\gdef\@title{} +} + +\newcommand{\sphinxtableofcontents}{% + \begingroup + \parskip \z@skip + \sphinxtableofcontentshook + \tableofcontents + \endgroup + \noindent\rule{\textwidth}{1pt}\par + \vspace{12pt}% +} +\newcommand\sphinxtableofcontentshook{} +\pagenumbering{arabic} + +% Fix the bibliography environment to add an entry to the Table of +% Contents. +% For an article document class this environment is a section, +% so no page break before it. +% +\newenvironment{sphinxthebibliography}[1]{% + % \phantomsection % not needed here since TeXLive 2010's hyperref + \begin{thebibliography}{#1}% + \addcontentsline{toc}{section}{\ifdefined\refname\refname\else\ifdefined\bibname\bibname\fi\fi}}{\end{thebibliography}} + + +% Same for the indices. +% The memoir class already does this, so we don't duplicate it in that case. +% +\@ifclassloaded{memoir} + {\newenvironment{sphinxtheindex}{\begin{theindex}}{\end{theindex}}} + {\newenvironment{sphinxtheindex}{% + \phantomsection % needed because no chapter, section, ... is created by theindex + \begin{theindex}% + \addcontentsline{toc}{section}{\indexname}}{\end{theindex}}} diff --git a/source/frUpwork/project_spec/project_spec/sphinxlatexadmonitions.sty b/source/frUpwork/project_spec/project_spec/sphinxlatexadmonitions.sty new file mode 100644 index 0000000..1e418c8 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/sphinxlatexadmonitions.sty @@ -0,0 +1,148 @@ +%% NOTICES AND ADMONITIONS +% +% change this info string if making any custom modification +\ProvidesFile{sphinxlatexadmonitions.sty}[2021/01/27 admonitions] + +% Provides support for this output mark-up from Sphinx latex writer: +% +% - sphinxadmonition (environment) +% This is a dispatch supporting +% +% - note, hint, important, tip (via sphinxlightbox) +% - warning, caution, attention, danger, error (via sphinxheavybox) +% +% Each sphinx environment can be redefined by user. +% The defaults are customizable via various colour and dimension +% settings, cf sphinx docs (latex customization). +% +% Requires: +\RequirePackage{framed}% used by sphinxheavybox +% +% Dependencies (they do not need to be defined at time of loading): +% - of course the various colour and dimension options handled via sphinx.sty +% - \sphinxstrong (for sphinxlightbox and sphinxheavybox) +% - dimension register \spx@image@maxheight from sphinxlatexgraphics.sty +% - \savenotes/\spewnotes from sphinxpackagefootnote (for sphinxheavybox) + +% Provides: (also in sphinxlatexliterals.sty) +\providecommand*\sphinxvspacefixafterfrenchlists{% + \ifvmode\ifdim\lastskip<\z@ \vskip\parskip\fi\else\par\fi +} + +% Some are quite plain +% the spx@notice@bordercolor etc are set in the sphinxadmonition environment +\newenvironment{sphinxlightbox}{% + \par + \noindent{\color{spx@notice@bordercolor}% + \rule{\linewidth}{\spx@notice@border}}\par\nobreak + {\parskip\z@skip\noindent}% + } + {% + % counteract previous possible negative skip (French lists!): + % (we can't cancel that any earlier \vskip introduced a potential pagebreak) + \sphinxvspacefixafterfrenchlists + \nobreak\vbox{\noindent\kern\@totalleftmargin + {\color{spx@notice@bordercolor}% + \rule[\dimexpr.4\baselineskip-\spx@notice@border\relax] + {\linewidth}{\spx@notice@border}}\hss}\allowbreak + }% end of sphinxlightbox environment definition +% may be renewenvironment'd by user for complete customization +\newenvironment{sphinxnote}[1] + {\begin{sphinxlightbox}\sphinxstrong{#1} }{\end{sphinxlightbox}} +\newenvironment{sphinxhint}[1] + {\begin{sphinxlightbox}\sphinxstrong{#1} }{\end{sphinxlightbox}} +\newenvironment{sphinximportant}[1] + {\begin{sphinxlightbox}\sphinxstrong{#1} }{\end{sphinxlightbox}} +\newenvironment{sphinxtip}[1] + {\begin{sphinxlightbox}\sphinxstrong{#1} }{\end{sphinxlightbox}} +% or just use the package options +% these are needed for common handling by notice environment of lightbox +% and heavybox but they are currently not used by lightbox environment +% and there is consequently no corresponding package option +\definecolor{sphinxnoteBgColor}{rgb}{1,1,1} +\definecolor{sphinxhintBgColor}{rgb}{1,1,1} +\definecolor{sphinximportantBgColor}{rgb}{1,1,1} +\definecolor{sphinxtipBgColor}{rgb}{1,1,1} + +% Others get more distinction +% Code adapted from framed.sty's "snugshade" environment. +% Nesting works (inner frames do not allow page breaks). +\newenvironment{sphinxheavybox}{\par + \setlength{\FrameRule}{\spx@notice@border}% + \setlength{\FrameSep}{\dimexpr.6\baselineskip-\FrameRule\relax} + \advance\spx@image@maxheight + -\dimexpr2\FrameRule + +2\FrameSep + +\baselineskip\relax % will happen again if nested, needed indeed! + % configure framed.sty's parameters to obtain same vertical spacing + % as for "light" boxes. We need for this to manually insert parskip glue and + % revert a skip done by framed before the frame. + \ltx@ifundefined{OuterFrameSep}{}{\OuterFrameSep\z@skip}% + \vspace{\FrameHeightAdjust} + % copied/adapted from framed.sty's snugshade + \def\FrameCommand##1{\hskip\@totalleftmargin + \fboxsep\FrameSep \fboxrule\FrameRule + \fcolorbox{spx@notice@bordercolor}{spx@notice@bgcolor}{##1}% + \hskip-\linewidth \hskip-\@totalleftmargin \hskip\columnwidth}% + \savenotes + % use a minipage if we are already inside a framed environment + \ifspx@inframed + \noindent\begin{minipage}{\linewidth} + \else + % handle case where notice is first thing in a list item (or is quoted) + \if@inlabel + \noindent\par\vspace{-\baselineskip} + \else + \vspace{\parskip} + \fi + \fi + \MakeFramed {\spx@inframedtrue + \advance\hsize-\width \@totalleftmargin\z@ \linewidth\hsize + % minipage initialization copied from LaTeX source code. + \@pboxswfalse + \let\@listdepth\@mplistdepth \@mplistdepth\z@ + \@minipagerestore + \@setminipage }% + } + {% + \par\unskip + \@minipagefalse + \endMakeFramed + \ifspx@inframed\end{minipage}\fi + % set footnotes at bottom of page + \spewnotes + % arrange for similar spacing below frame as for "light" boxes. + \vskip .4\baselineskip + }% end of sphinxheavybox environment definition +% may be renewenvironment'd by user for complete customization +\newenvironment{sphinxwarning}[1] + {\begin{sphinxheavybox}\sphinxstrong{#1} }{\end{sphinxheavybox}} +\newenvironment{sphinxcaution}[1] + {\begin{sphinxheavybox}\sphinxstrong{#1} }{\end{sphinxheavybox}} +\newenvironment{sphinxattention}[1] + {\begin{sphinxheavybox}\sphinxstrong{#1} }{\end{sphinxheavybox}} +\newenvironment{sphinxdanger}[1] + {\begin{sphinxheavybox}\sphinxstrong{#1} }{\end{sphinxheavybox}} +\newenvironment{sphinxerror}[1] + {\begin{sphinxheavybox}\sphinxstrong{#1} }{\end{sphinxheavybox}} +% or just use package options + +% the \colorlet of xcolor (if at all loaded) is overkill for our use case +\newcommand{\sphinxcolorlet}[2] + {\expandafter\let\csname\@backslashchar color@#1\expandafter\endcsname + \csname\@backslashchar color@#2\endcsname } + +% the main dispatch for all types of notices +\newenvironment{sphinxadmonition}[2]{% #1=type, #2=heading + % can't use #1 directly in definition of end part + \def\spx@noticetype {#1}% + % set parameters of heavybox/lightbox + \sphinxcolorlet{spx@notice@bordercolor}{sphinx#1BorderColor}% + \sphinxcolorlet{spx@notice@bgcolor}{sphinx#1BgColor}% + \spx@notice@border \dimexpr\csname spx@opt@#1border\endcsname\relax + % start specific environment, passing the heading as argument + \begin{sphinx#1}{#2}} + % workaround some LaTeX "feature" of \end command + {\edef\spx@temp{\noexpand\end{sphinx\spx@noticetype}}\spx@temp} + +\endinput diff --git a/source/frUpwork/project_spec/project_spec/sphinxlatexcontainers.sty b/source/frUpwork/project_spec/project_spec/sphinxlatexcontainers.sty new file mode 100644 index 0000000..93b2c8c --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/sphinxlatexcontainers.sty @@ -0,0 +1,22 @@ +%% CONTAINER DIRECTIVES +% +% change this info string if making any custom modification +\ProvidesFile{sphinxlatexcontainers.sty}[2021/05/03 containers] + +% The purpose of this file is to provide a dummy environment sphinxclass which +% will be inserted for each class in each container directive. The class name +% will be passed as the argument to the environment. +% +% For a class foo, the user can define customised handling of that class by +% defining the sphinxclassfoo LaTeX environment. + +\newenvironment{sphinxuseclass}[1]{% + \def\sphinxClassFunctionName{sphinxclass#1}% + \ltx@ifundefined{\sphinxClassFunctionName}% + {}% undefined so do nothing + {\expandafter\begin\expandafter{\sphinxClassFunctionName}}% +}{% + \ltx@ifundefined{\sphinxClassFunctionName}% + {}% we did nothing so we keep doing nothing + {\expandafter\end\expandafter{\sphinxClassFunctionName}}% +}% diff --git a/source/frUpwork/project_spec/project_spec/sphinxlatexgraphics.sty b/source/frUpwork/project_spec/project_spec/sphinxlatexgraphics.sty new file mode 100644 index 0000000..fd0aae6 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/sphinxlatexgraphics.sty @@ -0,0 +1,122 @@ +%% GRAPHICS +% +% change this info string if making any custom modification +\ProvidesFile{sphinxlatexgraphics.sty}[2021/01/27 graphics] + +% Provides support for this output mark-up from Sphinx latex writer: +% +% - macros: +% +% - \sphinxfigcaption +% - \sphinxincludegraphics +% +% - environments: +% +% - sphinxfigure-in-table +% +% May change: +% +% - \sphinxcaption (at begin document) +% +% Also provides: +% +% - \sphinxsafeincludegraphics (default of \sphinxincludegraphics since 2.0) +% - \spx@image@maxheight dimension (used by sphinxlatexadmonitions.sty) +% - \spx@image@box scratch box register (also used by sphinxlatexliterals.sty) +% +% Requires: +% \RequirePackage{graphicx}% done in sphinx.sty +\RequirePackage{amstext}% needed for \firstchoice@true(false) + +% \sphinxincludegraphics resizes images larger than the TeX \linewidth (which +% is adjusted in indented environments), or taller than a certain maximal +% height (usually \textheight and this is reduced in the environments which use +% framed.sty to avoid infinite loop if image too tall). +% +% In case height or width options are present the rescaling is done +% (since 2.0), in a way keeping the width:height ratio either native from +% image or from the width and height options if both were present. +% +\newdimen\spx@image@maxheight +\AtBeginDocument{\spx@image@maxheight\textheight} + +% box scratch register +\newbox\spx@image@box +\newcommand*{\sphinxsafeincludegraphics}[2][]{% + % #1 contains possibly width=, height=, but no scale= since 1.8.4 + \setbox\spx@image@box\hbox{\includegraphics[#1,draft]{#2}}% + \in@false % use some handy boolean flag + \ifdim \wd\spx@image@box>\linewidth + \in@true % flag to remember to adjust options and set box dimensions + % compute height which results from rescaling width to \linewidth + % and keep current aspect ratio. multiply-divide in \numexpr uses + % temporarily doubled precision, hence no overflow. (of course we + % assume \ht is not a few sp's below \maxdimen...(about 16384pt). + \edef\spx@image@rescaledheight % with sp units + {\the\numexpr\ht\spx@image@box + *\linewidth/\wd\spx@image@box sp}% + \ifdim\spx@image@rescaledheight>\spx@image@maxheight + % the rescaled height will be too big, so it is height which decides + % the rescaling factor + \def\spx@image@requiredheight{\spx@image@maxheight}% dimen register + \edef\spx@image@requiredwidth % with sp units + {\the\numexpr\wd\spx@image@box + *\spx@image@maxheight/\ht\spx@image@box sp}% + % TODO: decide if this commented-out block could be needed due to + % rounding in numexpr operations going up + % \ifdim\spx@image@requiredwidth>\linewidth + % \def\spx@image@requiredwidth{\linewidth}% dimen register + % \fi + \else + \def\spx@image@requiredwidth{\linewidth}% dimen register + \let\spx@image@requiredheight\spx@image@rescaledheight% sp units + \fi + \else + % width is ok, let's check height + \ifdim\ht\spx@image@box>\spx@image@maxheight + \in@true + \edef\spx@image@requiredwidth % with sp units + {\the\numexpr\wd\spx@image@box + *\spx@image@maxheight/\ht\spx@image@box sp}% + \def\spx@image@requiredheight{\spx@image@maxheight}% dimen register + \fi + \fi % end of check of width and height + \ifin@ + \setbox\spx@image@box + \hbox{\includegraphics + [%#1,% contained only width and/or height and overruled anyhow + width=\spx@image@requiredwidth,height=\spx@image@requiredheight]% + {#2}}% + % \includegraphics does not set box dimensions to the exactly + % requested ones, see https://github.com/latex3/latex2e/issues/112 + \wd\spx@image@box\spx@image@requiredwidth + \ht\spx@image@box\spx@image@requiredheight + \leavevmode\box\spx@image@box + \else + % here we do not modify the options, no need to adjust width and height + % on output, they will be computed exactly as with "draft" option + \setbox\spx@image@box\box\voidb@x % clear memory + \includegraphics[#1]{#2}% + \fi +}% +% Use the "safe" one by default (2.0) +\def\sphinxincludegraphics{\sphinxsafeincludegraphics} + + +%% FIGURE IN TABLE +% +\newenvironment{sphinxfigure-in-table}[1][\linewidth]{% + \def\@captype{figure}% + \sphinxsetvskipsforfigintablecaption + \begin{minipage}{#1}% +}{\end{minipage}} +% tabulary expands twice contents, we need to prevent double counter stepping +\newcommand*\sphinxfigcaption + {\ifx\equation$%$% this is trick to identify tabulary first pass + \firstchoice@false\else\firstchoice@true\fi + \spx@originalcaption } +\newcommand*\sphinxsetvskipsforfigintablecaption + {\abovecaptionskip\smallskipamount + \belowcaptionskip\smallskipamount} + +\endinput diff --git a/source/frUpwork/project_spec/project_spec/sphinxlatexindbibtoc.sty b/source/frUpwork/project_spec/project_spec/sphinxlatexindbibtoc.sty new file mode 100644 index 0000000..79e30a1 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/sphinxlatexindbibtoc.sty @@ -0,0 +1,69 @@ +%% INDEX, BIBLIOGRAPHY, APPENDIX, TABLE OF CONTENTS +% +% change this info string if making any custom modification +\ProvidesFile{sphinxlatexindbibtoc.sty}[2021/01/27 index, bib., toc] + +% Provides support for this output mark-up from Sphinx latex writer: +% +% - environments: (backup defaults or get redefined) +% +% - sphinxtheindex (direct mark-up or via python.ist or sphinx.xdy) +% - sphinxthebibliography +% +% - macros: (defines defaults) +% +% - \sphinxmaketitle +% - \sphinxtableofcontents +% - \sphinxnonalphabeticalgroupname +% - \sphinxsymbolsname +% - \sphinxnumbersname +% - \sphinxcite +% +% Requires: +\RequirePackage{makeidx} + +% fix the double index and bibliography on the table of contents +% in jsclasses (Japanese standard document classes) +\ifx\@jsc@uplatextrue\@undefined\else + \renewenvironment{sphinxtheindex} + {\cleardoublepage\phantomsection + \begin{theindex}} + {\end{theindex}} + + \renewenvironment{sphinxthebibliography}[1] + {\cleardoublepage% \phantomsection % not needed here since TeXLive 2010's hyperref + \begin{thebibliography}{#1}} + {\end{thebibliography}} +\fi + +% disable \@chappos in Appendix in pTeX +\ifx\kanjiskip\@undefined\else + \let\py@OldAppendix=\appendix + \renewcommand{\appendix}{ + \py@OldAppendix + \gdef\@chappos{} + } +\fi + +% make commands known to non-Sphinx document classes +\providecommand*{\sphinxmaketitle}{\maketitle} +\providecommand*{\sphinxtableofcontents}{\tableofcontents} +\ltx@ifundefined{sphinxthebibliography} + {\newenvironment + {sphinxthebibliography}{\begin{thebibliography}}{\end{thebibliography}}% + } + {}% else clause of \ltx@ifundefined +\ltx@ifundefined{sphinxtheindex} + {\newenvironment{sphinxtheindex}{\begin{theindex}}{\end{theindex}}}% + {}% else clause of \ltx@ifundefined + +% for usage with xindy: this string gets internationalized in preamble +\newcommand*{\sphinxnonalphabeticalgroupname}{} +% redefined in preamble, headings for makeindex produced index +\newcommand*{\sphinxsymbolsname}{} +\newcommand*{\sphinxnumbersname}{} + +\protected\def\sphinxcite{\cite} + + +\endinput diff --git a/source/frUpwork/project_spec/project_spec/sphinxlatexlists.sty b/source/frUpwork/project_spec/project_spec/sphinxlatexlists.sty new file mode 100644 index 0000000..ed7521c --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/sphinxlatexlists.sty @@ -0,0 +1,97 @@ +%% ALPHANUMERIC LIST ITEMS +% +% change this info string if making any custom modification +\ProvidesFile{sphinxlatexlists.sty}[2021/01/27 lists] + +% Provides support for this output mark-up from Sphinx latex writer: +% - \sphinxsetlistlabels + +% Dependencies: the \spx@opt@maxlistdepth from sphinx.sty + +\newcommand\sphinxsetlistlabels[5] +{% #1 = style, #2 = enum, #3 = enumnext, #4 = prefix, #5 = suffix + % #2 and #3 are counters used by enumerate environment e.g. enumi, enumii. + % #1 is a macro such as \arabic or \alph + % prefix and suffix are strings (by default empty and a dot). + \@namedef{the#2}{#1{#2}}% + \@namedef{label#2}{#4\@nameuse{the#2}#5}% + \@namedef{p@#3}{\@nameuse{p@#2}#4\@nameuse{the#2}#5}% +}% + + +%% MAXLISTDEPTH +% +% remove LaTeX's cap on nesting depth if 'maxlistdepth' key used. +% This is a hack, which works with the standard classes: it assumes \@toodeep +% is always used in "true" branches: "\if ... \@toodeep \else .. \fi." + +% will force use the "false" branch (if there is one) +\def\spx@toodeep@hack{\fi\iffalse} + +% do nothing if 'maxlistdepth' key not used or if package enumitem loaded. +\ifnum\spx@opt@maxlistdepth=\z@\expandafter\@gobbletwo\fi +\AtBeginDocument{% +\@ifpackageloaded{enumitem}{\remove@to@nnil}{}% + \let\spx@toodeepORI\@toodeep + \def\@toodeep{% + \ifnum\@listdepth<\spx@opt@maxlistdepth\relax + \expandafter\spx@toodeep@hack + \else + \expandafter\spx@toodeepORI + \fi}% +% define all missing \@list... macros + \count@\@ne + \loop + \ltx@ifundefined{@list\romannumeral\the\count@} + {\iffalse}{\iftrue\advance\count@\@ne}% + \repeat + \loop + \ifnum\count@>\spx@opt@maxlistdepth\relax\else + \expandafter\let + \csname @list\romannumeral\the\count@\expandafter\endcsname + \csname @list\romannumeral\the\numexpr\count@-\@ne\endcsname + % workaround 2.6--3.2d babel-french issue (fixed in 3.2e; no change needed) + \ltx@ifundefined{leftmargin\romannumeral\the\count@} + {\expandafter\let + \csname leftmargin\romannumeral\the\count@\expandafter\endcsname + \csname leftmargin\romannumeral\the\numexpr\count@-\@ne\endcsname}{}% + \advance\count@\@ne + \repeat +% define all missing enum... counters and \labelenum... macros and \p@enum.. + \count@\@ne + \loop + \ltx@ifundefined{c@enum\romannumeral\the\count@} + {\iffalse}{\iftrue\advance\count@\@ne}% + \repeat + \loop + \ifnum\count@>\spx@opt@maxlistdepth\relax\else + \newcounter{enum\romannumeral\the\count@}% + \expandafter\def + \csname labelenum\romannumeral\the\count@\expandafter\endcsname + \expandafter + {\csname theenum\romannumeral\the\numexpr\count@\endcsname.}% + \expandafter\def + \csname p@enum\romannumeral\the\count@\expandafter\endcsname + \expandafter + {\csname p@enum\romannumeral\the\numexpr\count@-\@ne\expandafter + \endcsname\csname theenum\romannumeral\the\numexpr\count@-\@ne\endcsname.}% + \advance\count@\@ne + \repeat +% define all missing labelitem... macros + \count@\@ne + \loop + \ltx@ifundefined{labelitem\romannumeral\the\count@} + {\iffalse}{\iftrue\advance\count@\@ne}% + \repeat + \loop + \ifnum\count@>\spx@opt@maxlistdepth\relax\else + \expandafter\let + \csname labelitem\romannumeral\the\count@\expandafter\endcsname + \csname labelitem\romannumeral\the\numexpr\count@-\@ne\endcsname + \advance\count@\@ne + \repeat + \PackageInfo{sphinx}{maximal list depth extended to \spx@opt@maxlistdepth}% +\@gobble\@nnil +} + +\endinput diff --git a/source/frUpwork/project_spec/project_spec/sphinxlatexliterals.sty b/source/frUpwork/project_spec/project_spec/sphinxlatexliterals.sty new file mode 100644 index 0000000..cc768c2 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/sphinxlatexliterals.sty @@ -0,0 +1,804 @@ +%% LITERAL BLOCKS +% +% change this info string if making any custom modification +\ProvidesFile{sphinxlatexliterals.sty}[2021/12/06 code-blocks and parsed literals] + +% Provides support for this output mark-up from Sphinx latex writer: +% +% - macros: +% - \sphinxLiteralBlockLabel +% - \sphinxSetupCaptionForVerbatim +% - \sphinxSetupCodeBlockInFootnote +% - \sphinxhref +% - \sphinxnolinkurl +% - \sphinxresetverbatimhllines +% - \sphinxunactivateextrasandspace +% - \sphinxupquote +% - \sphinxurl +% +% - environments: +% - sphinxVerbatim +% - sphinxVerbatimintable +% - sphinxalltt +% +% Dependency: +% +% - hyperref (for \phantomsection and \capstart) (loaded later) +% +% Executes \RequirePackage for: +% +% - framed +% - fancyvrb +% - alltt +% - upquote +% - needspace + +% also in sphinxlatexadmonitions.sty: +% This is a workaround to a "feature" of French lists, when literal block +% follows immediately; usable generally (does only \par then), a priori... +\providecommand*\sphinxvspacefixafterfrenchlists{% + \ifvmode\ifdim\lastskip<\z@ \vskip\parskip\fi\else\par\fi +} + +% For framing allowing pagebreaks +\RequirePackage{framed} +% For source code +% MEMO: fancyvrb is used mainly to +% 1- control horizontal and vertical spacing +% 2- optional line numbering +% 3- optional line emphasizing +% 4- while still allowing expansion of Pygments latex mark-up +% Other aspects such as framing, caption handling, codeline wrapping are +% added on top of it. We should stop using fancyvrb and implement +% 1, 2, 3, 4 by own Sphinx fully native Verbatim. This would allow to solve +% limitations with wrapped long code line not allowing page break. +\RequirePackage{fancyvrb} +% For parsed-literal blocks. +\RequirePackage{alltt} +% Display "real" single quotes in literal blocks. +\RequirePackage{upquote} +% Skip to next page if not enough space at bottom +\RequirePackage{needspace} + +% Based on use of "fancyvrb.sty"'s Verbatim. +% - with framing allowing page breaks ("framed.sty") +% - with breaking of long lines (exploits Pygments mark-up), +% - with possibly of a top caption, non-separable by pagebreak. +% - and usable inside tables or footnotes ("sphinxpackagefootnote.sty"). + +% for emphasizing lines +\define@key{FV}{hllines}{\def\sphinx@verbatim@checkifhl##1{\in@{, ##1,}{#1}}} +% sphinxVerbatim must be usable by third party without requiring hllines set-up +\def\sphinxresetverbatimhllines{\def\sphinx@verbatim@checkifhl##1{\in@false}} +\sphinxresetverbatimhllines + +% Prior to Sphinx 1.5, \Verbatim and \endVerbatim were modified by Sphinx. +% The aliases defined here are used in sphinxVerbatim environment and can +% serve as hook-points with no need to modify \Verbatim itself. +\let\OriginalVerbatim \Verbatim +\let\endOriginalVerbatim\endVerbatim + +% for captions of literal blocks +% at start of caption title +\newcommand*{\fnum@literalblock}{\literalblockname\nobreakspace\theliteralblock} +% this will be overwritten in document preamble by Babel translation +\newcommand*{\literalblockname}{Listing } +% file extension needed for \caption's good functioning, the file is created +% only if a \listof{literalblock}{foo} command is encountered, which is +% analogous to \listoffigures, but for the code listings (foo = chosen title.) +\newcommand*{\ext@literalblock}{lol} + +% if forced use of minipage encapsulation is needed (e.g. table cells) +\newif\ifsphinxverbatimwithminipage \sphinxverbatimwithminipagefalse + +% Framing macro for use with framed.sty's \FrameCommand +% - it obeys current indentation, +% - frame is \fboxsep separated from the contents, +% - the contents use the full available text width, +% - #1 = color of frame, #2 = color of background, +% - #3 = above frame, #4 = below frame, #5 = within frame, +% - #3 and #4 must be already typeset boxes; they must issue \normalcolor +% or similar, else, they are under scope of color #1 +\long\def\spx@fcolorbox #1#2#3#4#5{% + \hskip\@totalleftmargin + \hskip-\fboxsep\hskip-\fboxrule + % use of \color@b@x here is compatible with both xcolor.sty and color.sty + \color@b@x {\color{#1}\spx@CustomFBox{#3}{#4}}{\color{#2}}{#5}% + \hskip-\fboxsep\hskip-\fboxrule + \hskip-\linewidth \hskip-\@totalleftmargin \hskip\columnwidth +}% +% #1 = for material above frame, such as a caption or a "continued" hint +% #2 = for material below frame, such as a caption or "continues on next page" +% #3 = actual contents, which will be typeset with a background color +\long\def\spx@CustomFBox#1#2#3{% + \begingroup + \setbox\@tempboxa\hbox{{#3}}% inner braces to avoid color leaks + \vbox{#1% above frame + % draw frame border _latest_ to avoid pdf viewer issue + \kern\fboxrule + \hbox{\kern\fboxrule + \copy\@tempboxa + \kern-\wd\@tempboxa\kern-\fboxrule + \vrule\@width\fboxrule + \kern\wd\@tempboxa + \vrule\@width\fboxrule}% + \kern-\dimexpr\ht\@tempboxa+\dp\@tempboxa+\fboxrule\relax + \hrule\@height\fboxrule + \kern\dimexpr\ht\@tempboxa+\dp\@tempboxa\relax + \hrule\@height\fboxrule + #2% below frame + }% + \endgroup +}% +\def\spx@fcolorbox@put@c#1{% hide width from framed.sty measuring + \moveright\dimexpr\fboxrule+.5\wd\@tempboxa\hb@xt@\z@{\hss#1\hss}% +}% +\def\spx@fcolorbox@put@r#1{% right align with contents, width hidden + \moveright\dimexpr\fboxrule+\wd\@tempboxa-\fboxsep\hb@xt@\z@{\hss#1}% +}% +\def\spx@fcolorbox@put@l#1{% left align with contents, width hidden + \moveright\dimexpr\fboxrule+\fboxsep\hb@xt@\z@{#1\hss}% +}% +% +\def\sphinxVerbatim@Continued + {\csname spx@fcolorbox@put@\spx@opt@verbatimcontinuedalign\endcsname + {\normalcolor\sphinxstylecodecontinued\literalblockcontinuedname}}% +\def\sphinxVerbatim@Continues + {\csname spx@fcolorbox@put@\spx@opt@verbatimcontinuesalign\endcsname + {\normalcolor\sphinxstylecodecontinues\literalblockcontinuesname}}% +\def\sphinxVerbatim@Title + {\spx@fcolorbox@put@c{\unhcopy\sphinxVerbatim@TitleBox}}% +\let\sphinxVerbatim@Before\@empty +\let\sphinxVerbatim@After\@empty +% Defaults are redefined in document preamble according to language +\newcommand*\literalblockcontinuedname{continued from previous page}% +\newcommand*\literalblockcontinuesname{continues on next page}% +% +\def\spx@verbatimfcolorbox{\spx@fcolorbox{VerbatimBorderColor}{VerbatimColor}}% +\def\sphinxVerbatim@FrameCommand + {\spx@verbatimfcolorbox\sphinxVerbatim@Before\sphinxVerbatim@After}% +\def\sphinxVerbatim@FirstFrameCommand + {\spx@verbatimfcolorbox\sphinxVerbatim@Before\sphinxVerbatim@Continues}% +\def\sphinxVerbatim@MidFrameCommand + {\spx@verbatimfcolorbox\sphinxVerbatim@Continued\sphinxVerbatim@Continues}% +\def\sphinxVerbatim@LastFrameCommand + {\spx@verbatimfcolorbox\sphinxVerbatim@Continued\sphinxVerbatim@After}% + +% For linebreaks inside Verbatim environment from package fancyvrb. +\newbox\sphinxcontinuationbox +\newbox\sphinxvisiblespacebox +\newcommand*\sphinxafterbreak {\copy\sphinxcontinuationbox} + +% Take advantage of the already applied Pygments mark-up to insert +% potential linebreaks for TeX processing. +% {, <, #, %, $, ' and ": go to next line. +% _, }, ^, &, >, -, ~, and \: stay at end of broken line. +% Use of \textquotesingle for straight quote. +% FIXME: convert this to package options ? +\newcommand*\sphinxbreaksbeforelist {% + \do\PYGZob\{\do\PYGZlt\<\do\PYGZsh\#\do\PYGZpc\%% {, <, #, %, + \do\PYGZdl\$\do\PYGZdq\"% $, " + \def\PYGZsq + {\discretionary{}{\sphinxafterbreak\textquotesingle}{\textquotesingle}}% ' +} +\newcommand*\sphinxbreaksafterlist {% + \do\PYGZus\_\do\PYGZcb\}\do\PYGZca\^\do\PYGZam\&% _, }, ^, &, + \do\PYGZgt\>\do\PYGZhy\-\do\PYGZti\~% >, -, ~ + \do\PYGZbs\\% \ +} +\newcommand*\sphinxbreaksatspecials {% + \def\do##1##2% + {\def##1{\discretionary{}{\sphinxafterbreak\char`##2}{\char`##2}}}% + \sphinxbreaksbeforelist + \def\do##1##2% + {\def##1{\discretionary{\char`##2}{\sphinxafterbreak}{\char`##2}}}% + \sphinxbreaksafterlist +} + +\def\sphinx@verbatim@nolig@list {\do \`}% +% Some characters . , ; ? ! / are neither pygmentized nor "tex-escaped". +% This macro makes them "active" and they will insert potential linebreaks. +% Not compatible with math mode (cf \sphinxunactivateextras). +\newcommand*\sphinxbreaksbeforeactivelist {}% none +\newcommand*\sphinxbreaksafteractivelist {\do\.\do\,\do\;\do\?\do\!\do\/} +\newcommand*\sphinxbreaksviaactive {% + \def\do##1{\lccode`\~`##1% + \lowercase{\def~}{\discretionary{}{\sphinxafterbreak\char`##1}{\char`##1}}% + \catcode`##1\active}% + \sphinxbreaksbeforeactivelist + \def\do##1{\lccode`\~`##1% + \lowercase{\def~}{\discretionary{\char`##1}{\sphinxafterbreak}{\char`##1}}% + \catcode`##1\active}% + \sphinxbreaksafteractivelist + \lccode`\~`\~ +} + +% If the linebreak is at a space, the latter will be displayed as visible +% space at end of first line, and a continuation symbol starts next line. +\def\spx@verbatim@space {% + \nobreak\hskip\z@skip + \discretionary{\copy\sphinxvisiblespacebox}{\sphinxafterbreak} + {\kern\fontdimen2\font}% +}% + +% if the available space on page is less than \literalblockneedspace, insert pagebreak +\newcommand{\sphinxliteralblockneedspace}{5\baselineskip} +\newcommand{\sphinxliteralblockwithoutcaptionneedspace}{1.5\baselineskip} +% The title (caption) is specified from outside as macro \sphinxVerbatimTitle. +% \sphinxVerbatimTitle is reset to empty after each use of Verbatim. +\newcommand*\sphinxVerbatimTitle {} +% This box to typeset the caption before framed.sty multiple passes for framing. +\newbox\sphinxVerbatim@TitleBox +% This box to measure contents if nested as inner \MakeFramed requires then +% minipage encapsulation but too long contents then break outer \MakeFramed +\newbox\sphinxVerbatim@ContentsBox +% Holder macro for labels of literal blocks. Set-up by LaTeX writer. +\newcommand*\sphinxLiteralBlockLabel {} +\newcommand*\sphinxSetupCaptionForVerbatim [1] +{% + \sphinxvspacefixafterfrenchlists + \needspace{\sphinxliteralblockneedspace}% +% insert a \label via \sphinxLiteralBlockLabel +% reset to normal the color for the literal block caption + \def\sphinxVerbatimTitle + {\py@NormalColor\sphinxcaption{\sphinxLiteralBlockLabel #1}}% +} +\newcommand*\sphinxSetupCodeBlockInFootnote {% + \fvset{fontsize=\footnotesize}\let\caption\sphinxfigcaption + \sphinxverbatimwithminipagetrue % reduces vertical spaces + % we counteract (this is in a group) the \@normalsize from \caption + \let\normalsize\footnotesize\let\@parboxrestore\relax + \def\spx@abovecaptionskip{\sphinxverbatimsmallskipamount}% +} +\newcommand*{\sphinxverbatimsmallskipamount}{\smallskipamount} +% serves to implement line highlighting and line wrapping +\newcommand\sphinxFancyVerbFormatLine[1]{% + \expandafter\sphinx@verbatim@checkifhl\expandafter{\the\FV@CodeLineNo}% + \ifin@ + \sphinxVerbatimHighlightLine{#1}% + \else + \sphinxVerbatimFormatLine{#1}% + \fi +}% +\newcommand\sphinxVerbatimHighlightLine[1]{% + \edef\sphinxrestorefboxsep{\fboxsep\the\fboxsep\relax}% + \fboxsep0pt\relax % cf LaTeX bug graphics/4524 + \colorbox{sphinxVerbatimHighlightColor}% + {\sphinxrestorefboxsep\sphinxVerbatimFormatLine{#1}}% + % no need to restore \fboxsep here, as this ends up in a \hbox from fancyvrb +}% +% \sphinxVerbatimFormatLine will be set locally to one of those two: +\newcommand\sphinxVerbatimFormatLineWrap{% + \hsize\linewidth + \ifspx@opt@verbatimforcewraps + \expandafter\spx@verb@FormatLineForceWrap + \else\expandafter\spx@verb@FormatLineWrap + \fi +}% +\newcommand\sphinxVerbatimFormatLineNoWrap[1]{\hb@xt@\linewidth{\strut #1\hss}}% +\long\def\spx@verb@FormatLineWrap#1{% + \vtop{\raggedright\hyphenpenalty\z@\exhyphenpenalty\z@ + \doublehyphendemerits\z@\finalhyphendemerits\z@ + \strut #1\strut}% +}% +% +% The normal line wrapping allows breaks at spaces and ascii non +% letters, non digits. The \raggedright above means there will be +% an overfilled line only if some non-breakable "word" was +% encountered, which is longer than a line (it is moved always to +% be on its own on a new line). +% +% The "forced" line wrapping will parse the tokens to add potential +% breakpoints at each character. As some strings are highlighted, +% we have to apply the highlighting character per character, which +% requires to manipulate the output of the Pygments LaTeXFormatter. +% +% Doing this at latex level is complicated. The contents should +% be as expected: i.e. some active characters from +% \sphinxbreaksviaactive, some Pygments character escapes such as +% \PYGZdl{}, and the highlighting \PYG macro with always 2 +% arguments. No other macros should be there, except perhaps +% zero-parameter macros. In particular: +% - the texcomments Pygments option must be set to False +% +% With pdflatex, Unicode input gives multi-bytes characters +% where the first byte is active. We support the "utf8" macros +% only. "utf8x" is not supported. +% +% The highlighting macro \PYG will be applied character per +% character. Highlighting via a colored background gives thus a +% chain of small colored boxes which may cause some artefact in +% some pdf viewers. Can't do anything here if we do want the line +% break to be possible. +% +% First a measurement step is done of what would the standard line +% wrapping give (i.e line breaks only at spaces and non-letter, +% non-digit ascii characters), cf TeX by Topic for the basic +% dissecting technique: TeX unfortunately when building a vertical +% box does not store in an accessible way what was the maximal +% line-width during paragraph building. +% +% Avoid LaTeX 2021 alteration of \@@par which potentially could break our +% measurement step (typically if the para/after hook is configured to use +% \vspace). Of course, breakage could happen only from user or package +% adding things to basic Sphinx latex. And perhaps spring LaTeX 2021 will +% provide a non-hooked \@@par, but this should work anyway and can't be +% beaten for speed. +\ltx@ifundefined{tex_par:D} +% We could use \@ifl@t@r\fmtversion{2020/02/02}{use \tex_par:D}{use \@@par}. + {\let\spx@par\@@par}% \@@par is then expected to be TeX's original \par + {\expandafter\let\expandafter\spx@par\csname tex_par:D\endcsname} +% More hesitation for avoiding the at-start-of-par hooks for our +% measurement : 1. with old LaTeX, we can not avoid hooks from everyhook +% or similar packages, 2. and perhaps the hooks add stuff which we should +% actually measure. Ideally, hooks are for inserting things in margin +% which do not change spacing. Most everything else in fact should not be +% executed in our scratch box for measurement, such as counter stepping. +\ltx@ifundefined{tex_everypar:D} + {\let\spx@everypar\everypar} + {\expandafter\let\expandafter\spx@everypar\csname tex_everypar:D\endcsname} +% +% If the max width exceeds the linewidth by more than verbatimmaxoverfull +% character widths, or if the min width plus verbatimmaxunderfull character +% widths is inferior to linewidth, then we apply the "force wrapping" with +% potential line break at each character, else we don't. +\long\def\spx@verb@FormatLineForceWrap#1{% + % \spx@image@box is a scratch box register that we can use here + \global\let\spx@verb@maxwidth\z@ + \global\let\spx@verb@minwidth\linewidth + \setbox\spx@image@box + \vtop{\raggedright\hyphenpenalty\z@\exhyphenpenalty\z@ + \doublehyphendemerits\z@\finalhyphendemerits\z@ + \spx@everypar{}\noindent\strut #1\strut\spx@par + \spx@verb@getwidths}% + \ifdim\spx@verb@maxwidth> + \dimexpr\linewidth+\spx@opt@verbatimmaxoverfull\fontcharwd\font`X \relax + \spx@verb@FormatLineWrap{\spx@verb@wrapPYG #1\spx@verb@wrapPYG}% + \else + \ifdim\spx@verb@minwidth< + \dimexpr\linewidth-\spx@opt@verbatimmaxunderfull\fontcharwd\font`X \relax + \spx@verb@FormatLineWrap{\spx@verb@wrapPYG #1\spx@verb@wrapPYG}% + \else + \spx@verb@FormatLineWrap{#1}% + \fi\fi +}% +% auxiliary paragraph dissector to get max and min widths +% but minwidth must not take into account the last line +\newbox\spx@scratchbox +\def\spx@verb@getwidths {% + \unskip\unpenalty + \setbox\spx@scratchbox\lastbox + \ifvoid\spx@scratchbox + \else + \setbox\spx@scratchbox\hbox{\unhbox\spx@scratchbox}% + \ifdim\spx@verb@maxwidth<\wd\spx@scratchbox + \xdef\spx@verb@maxwidth{\number\wd\spx@scratchbox sp}% + \fi + \expandafter\spx@verb@getwidths@loop + \fi +}% +\def\spx@verb@getwidths@loop {% + \unskip\unpenalty + \setbox\spx@scratchbox\lastbox + \ifvoid\spx@scratchbox + \else + \setbox\spx@scratchbox\hbox{\unhbox\spx@scratchbox}% + \ifdim\spx@verb@maxwidth<\wd\spx@scratchbox + \xdef\spx@verb@maxwidth{\number\wd\spx@scratchbox sp}% + \fi + \ifdim\spx@verb@minwidth>\wd\spx@scratchbox + \xdef\spx@verb@minwidth{\number\wd\spx@scratchbox sp}% + \fi + \expandafter\spx@verb@getwidths@loop + \fi +}% +% auxiliary macros to implement "cut long line even in middle of word" +\catcode`Z=3 % safe delimiter +\def\spx@verb@wrapPYG{% + \futurelet\spx@nexttoken\spx@verb@wrapPYG@i +}% +\def\spx@verb@wrapPYG@i{% + \ifx\spx@nexttoken\spx@verb@wrapPYG\let\next=\@gobble\else + \ifx\spx@nexttoken\PYG\let\next=\spx@verb@wrapPYG@PYG@onebyone\else + \discretionary{}{\sphinxafterbreak}{}% + \let\next\spx@verb@wrapPYG@ii + \fi\fi + \next +}% +% Let's recognize active characters. We don't support utf8x only utf8. +% And here #1 should not have picked up (non empty) braced contents +\long\def\spx@verb@wrapPYG@ii#1{% + \ifcat\noexpand~\noexpand#1\relax% active character + \expandafter\spx@verb@wrapPYG@active + \else % non-active character, control sequence such as \PYGZdl, or empty + \expandafter\spx@verb@wrapPYG@one + \fi {#1}% +}% +\long\def\spx@verb@wrapPYG@active#1{% +% Let's hope expansion of active character does not really require arguments, +% as we certainly don't want to go into expanding upfront token stream anyway. + \expandafter\spx@verb@wrapPYG@iii#1{}{}{}{}{}{}{}{}{}Z#1% +}% +\long\def\spx@verb@wrapPYG@iii#1#2Z{% + \ifx\UTFviii@four@octets#1\let\next=\spx@verb@wrapPYG@four\else + \ifx\UTFviii@three@octets#1\let\next=\spx@verb@wrapPYG@three\else + \ifx\UTFviii@two@octets#1\let\next=\spx@verb@wrapPYG@two\else + \let\next=\spx@verb@wrapPYG@one + \fi\fi\fi + \next +}% +\long\def\spx@verb@wrapPYG@one #1{#1\futurelet\spx@nexttoken\spx@verb@wrapPYG@i}% +\long\def\spx@verb@wrapPYG@two #1#2{#1#2\futurelet\spx@nexttoken\spx@verb@wrapPYG@i}% +\long\def\spx@verb@wrapPYG@three #1#2#3{#1#2#3\futurelet\spx@nexttoken\spx@verb@wrapPYG@i}% +\long\def\spx@verb@wrapPYG@four #1#2#3#4{#1#2#3#4\futurelet\spx@nexttoken\spx@verb@wrapPYG@i}% +% Replace \PYG by itself applied one character at a time! This way breakpoints +% can be inserted. +\def\spx@verb@wrapPYG@PYG@onebyone#1#2#3{% #1 = \PYG, #2 = highlight spec, #3 = tokens + \def\spx@verb@wrapPYG@PYG@spec{{#2}}% + \futurelet\spx@nexttoken\spx@verb@wrapPYG@PYG@i#3Z% +}% +\def\spx@verb@wrapPYG@PYG@i{% + \ifx\spx@nexttokenZ\let\next=\spx@verb@wrapPYG@PYG@done\else + \discretionary{}{\sphinxafterbreak}{}% + \let\next\spx@verb@wrapPYG@PYG@ii + \fi + \next +}% +\def\spx@verb@wrapPYG@PYG@doneZ{\futurelet\spx@nexttoken\spx@verb@wrapPYG@i}% +\long\def\spx@verb@wrapPYG@PYG@ii#1{% + \ifcat\noexpand~\noexpand#1\relax% active character + \expandafter\spx@verb@wrapPYG@PYG@active + \else % non-active character, control sequence such as \PYGZdl, or empty + \expandafter\spx@verb@wrapPYG@PYG@one + \fi {#1}% +}% +\long\def\spx@verb@wrapPYG@PYG@active#1{% +% Let's hope expansion of active character does not really require arguments, +% as we certainly don't want to go into expanding upfront token stream anyway. + \expandafter\spx@verb@wrapPYG@PYG@iii#1{}{}{}{}{}{}{}{}{}Z#1% +}% +\long\def\spx@verb@wrapPYG@PYG@iii#1#2Z{% + \ifx\UTFviii@four@octets#1\let\next=\spx@verb@wrapPYG@PYG@four\else + \ifx\UTFviii@three@octets#1\let\next=\spx@verb@wrapPYG@PYG@three\else + \ifx\UTFviii@two@octets#1\let\next=\spx@verb@wrapPYG@PYG@two\else + \let\next=\spx@verb@wrapPYG@PYG@one + \fi\fi\fi + \next +}% +\long\def\spx@verb@wrapPYG@PYG@one#1{% + \expandafter\PYG\spx@verb@wrapPYG@PYG@spec{#1}% + \futurelet\spx@nexttoken\spx@verb@wrapPYG@PYG@i +}% +\long\def\spx@verb@wrapPYG@PYG@two#1#2{% + \expandafter\PYG\spx@verb@wrapPYG@PYG@spec{#1#2}% + \futurelet\spx@nexttoken\spx@verb@wrapPYG@PYG@i +}% +\long\def\spx@verb@wrapPYG@PYG@three#1#2#3{% + \expandafter\PYG\spx@verb@wrapPYG@PYG@spec{#1#2#3}% + \futurelet\spx@nexttoken\spx@verb@wrapPYG@PYG@i +}% +\long\def\spx@verb@wrapPYG@PYG@four#1#2#3#4{% + \expandafter\PYG\spx@verb@wrapPYG@PYG@spec{#1#2#3#4}% + \futurelet\spx@nexttoken\spx@verb@wrapPYG@PYG@i +}% +\catcode`Z 11 % +% +\g@addto@macro\FV@SetupFont{% + \sbox\sphinxcontinuationbox {\spx@opt@verbatimcontinued}% + \sbox\sphinxvisiblespacebox {\spx@opt@verbatimvisiblespace}% +}% +\newenvironment{sphinxVerbatim}{% + % first, let's check if there is a caption + \ifx\sphinxVerbatimTitle\empty + \sphinxvspacefixafterfrenchlists + \parskip\z@skip + \vskip\sphinxverbatimsmallskipamount + % there was no caption. Check if nevertheless a label was set. + \ifx\sphinxLiteralBlockLabel\empty\else + % we require some space to be sure hyperlink target from \phantomsection + % will not be separated from upcoming verbatim by a page break + \needspace{\sphinxliteralblockwithoutcaptionneedspace}% + \phantomsection\sphinxLiteralBlockLabel + \fi + \else + \parskip\z@skip + \if t\spx@opt@literalblockcappos + \vskip\spx@abovecaptionskip + \def\sphinxVerbatim@Before + {\sphinxVerbatim@Title\nointerlineskip + \kern\dimexpr-\dp\strutbox+\sphinxbelowcaptionspace + % if no frame (code-blocks inside table cells), remove + % the "verbatimsep" whitespace from the top (better visually) + \ifspx@opt@verbatimwithframe\else-\sphinxverbatimsep\fi + % caption package adds \abovecaptionskip vspace, remove it + \spx@ifcaptionpackage{-\abovecaptionskip}{}\relax}% + \else + \vskip\sphinxverbatimsmallskipamount + \def\sphinxVerbatim@After + {\nointerlineskip\kern\dimexpr\dp\strutbox + \ifspx@opt@verbatimwithframe\else-\sphinxverbatimsep\fi + \spx@ifcaptionpackage{-\abovecaptionskip}{}\relax + \sphinxVerbatim@Title}% + \fi + \def\@captype{literalblock}% + \capstart + % \sphinxVerbatimTitle must reset color + \setbox\sphinxVerbatim@TitleBox + \hbox{\begin{minipage}{\linewidth}% + % caption package may detect wrongly if top or bottom, so we help it + \spx@ifcaptionpackage + {\caption@setposition{\spx@opt@literalblockcappos}}{}% + \sphinxVerbatimTitle + \end{minipage}}% + \fi + \global\let\sphinxLiteralBlockLabel\empty + \global\let\sphinxVerbatimTitle\empty + \fboxsep\sphinxverbatimsep \fboxrule\sphinxverbatimborder + \ifspx@opt@verbatimwithframe\else\fboxrule\z@\fi + \let\FrameCommand \sphinxVerbatim@FrameCommand + \let\FirstFrameCommand\sphinxVerbatim@FirstFrameCommand + \let\MidFrameCommand \sphinxVerbatim@MidFrameCommand + \let\LastFrameCommand \sphinxVerbatim@LastFrameCommand + \ifspx@opt@verbatimhintsturnover\else + \let\sphinxVerbatim@Continued\@empty + \let\sphinxVerbatim@Continues\@empty + \fi + \ifspx@opt@verbatimwrapslines + % fancyvrb's Verbatim puts each input line in (unbreakable) horizontal boxes. + % This customization wraps each line from the input in a \vtop, thus + % allowing it to wrap and display on two or more lines in the latex output. + % - The codeline counter will be increased only once. + % - The wrapped material will not break across pages, it is impossible + % to achieve this without extensive rewrite of fancyvrb. + % - The (not used in sphinx) obeytabs option to Verbatim is + % broken by this change (showtabs and tabspace work). + \let\sphinxVerbatimFormatLine\sphinxVerbatimFormatLineWrap + \let\FV@Space\spx@verbatim@space + % Allow breaks at special characters using \PYG... macros. + \sphinxbreaksatspecials + % Breaks at punctuation characters . , ; ? ! and / (needs catcode activation) + \fvset{codes*=\sphinxbreaksviaactive}% + \else % end of conditional code for wrapping long code lines + \let\sphinxVerbatimFormatLine\sphinxVerbatimFormatLineNoWrap + \fi + \let\FancyVerbFormatLine\sphinxFancyVerbFormatLine + \VerbatimEnvironment + % workaround to fancyvrb's check of current list depth + \def\@toodeep {\advance\@listdepth\@ne}% + % The list environment is needed to control perfectly the vertical space. + % Note: \OuterFrameSep used by framed.sty is later set to \topsep hence 0pt. + % - if caption: distance from last text baseline to caption baseline is + % A+(B-F)+\ht\strutbox, A = \abovecaptionskip (default 10pt), B = + % \baselineskip, F is the framed.sty \FrameHeightAdjust macro, default 6pt. + % Formula valid for F < 10pt. + % - distance of baseline of caption to top of frame is like for tables: + % \sphinxbelowcaptionspace (=0.5\baselineskip) + % - if no caption: distance of last text baseline to code frame is S+(B-F), + % with S = \sphinxverbatimtopskip (=\smallskip) + % - and distance from bottom of frame to next text baseline is + % \baselineskip+\parskip. + % The \trivlist is used to avoid possible "too deeply nested" error. + \itemsep \z@skip + \topsep \z@skip + \partopsep \z@skip + % trivlist will set \parsep to \parskip (which itself is set to zero above) + % \leftmargin will be set to zero by trivlist + \rightmargin\z@ + \parindent \z@% becomes \itemindent. Default zero, but perhaps overwritten. + \trivlist\item\relax + \ifspx@inframed\setbox\sphinxVerbatim@ContentsBox\vbox\bgroup + \@setminipage\hsize\linewidth + % use bulk of minipage paragraph shape restores (this is needed + % in indented contexts, at least for some) + \textwidth\hsize \columnwidth\hsize \@totalleftmargin\z@ + \leftskip\z@skip \rightskip\z@skip \@rightskip\z@skip + \else + \ifsphinxverbatimwithminipage\noindent\begin{minipage}{\linewidth}\fi + \MakeFramed {% adapted over from framed.sty's snugshade environment + \advance\hsize-\width\@totalleftmargin\z@\linewidth\hsize\@setminipage + }% + \fi + % For grid placement from \strut's in \FancyVerbFormatLine + \lineskip\z@skip + % active comma should not be overwritten by \@noligs + \ifspx@opt@verbatimwrapslines + \let\verbatim@nolig@list \sphinx@verbatim@nolig@list + \fi + % will fetch its optional arguments if any + \OriginalVerbatim +} +{% + \endOriginalVerbatim + \ifspx@inframed + \egroup % finish \sphinxVerbatim@ContentsBox vbox + \nobreak % update page totals + \ifdim\dimexpr\ht\sphinxVerbatim@ContentsBox+ + \dp\sphinxVerbatim@ContentsBox+ + \ht\sphinxVerbatim@TitleBox+ + \dp\sphinxVerbatim@TitleBox+ + 2\fboxsep+2\fboxrule+ + % try to account for external frame parameters + \FrameSep+\FrameRule+ + % Usage here of 2 baseline distances is empirical. + % In border case where code-block fits barely in remaining space, + % it gets framed and looks good but the outer frame may continue + % on top of next page and give (if no contents after code-block) + % an empty framed line, as testing showed. + 2\baselineskip+ + % now add all to accumulated page totals and compare to \pagegoal + \pagetotal+\pagedepth>\pagegoal + % long contents: do not \MakeFramed. Do make a caption (either before or + % after) if title exists. Continuation hints across pagebreaks dropped. + % FIXME? a bottom caption may end up isolated at top of next page + % (no problem with a top caption, which is default) + \spx@opt@verbatimwithframefalse + \def\sphinxVerbatim@Title{\noindent\box\sphinxVerbatim@TitleBox\par}% + \sphinxVerbatim@Before + \noindent\unvbox\sphinxVerbatim@ContentsBox\par + \sphinxVerbatim@After + \else + % short enough contents: use \MakeFramed. As it is nested, this requires + % minipage encapsulation. + \noindent\begin{minipage}{\linewidth}% + \MakeFramed {% Use it now with the fetched contents + \advance\hsize-\width\@totalleftmargin\z@\linewidth\hsize\@setminipage + }% + \unvbox\sphinxVerbatim@ContentsBox + % some of this may be superfluous: + \par\unskip\@minipagefalse\endMakeFramed + \end{minipage}% + \fi + \else % non-nested \MakeFramed + \par\unskip\@minipagefalse\endMakeFramed % from framed.sty snugshade + \ifsphinxverbatimwithminipage\end{minipage}\fi + \fi + \endtrivlist +} +\newenvironment {sphinxVerbatimNoFrame} + {\spx@opt@verbatimwithframefalse + \VerbatimEnvironment + \begin{sphinxVerbatim}} + {\end{sphinxVerbatim}} +\newenvironment {sphinxVerbatimintable} + {% don't use a frame if in a table cell + \spx@opt@verbatimwithframefalse + \sphinxverbatimwithminipagetrue + % the literal block caption uses \sphinxcaption which is wrapper of \caption, + % but \caption must be modified because longtable redefines it to work only + % for the own table caption, and tabulary has multiple passes + \let\caption\sphinxfigcaption + % reduce above caption skip + \def\spx@abovecaptionskip{\sphinxverbatimsmallskipamount}% + \VerbatimEnvironment + \begin{sphinxVerbatim}} + {\end{sphinxVerbatim}} + + +%% PARSED LITERALS +% allow long lines to wrap like they do in code-blocks + +% this should be kept in sync with definitions in sphinx.util.texescape +\newcommand*\sphinxbreaksattexescapedchars{% + \def\do##1##2% put potential break point before character + {\def##1{\discretionary{}{\sphinxafterbreak\char`##2}{\char`##2}}}% + \do\{\{\do\textless\<\do\#\#\do\%\%\do\$\$% {, <, #, %, $ + \def\do##1##2% put potential break point after character + {\def##1{\discretionary{\char`##2}{\sphinxafterbreak}{\char`##2}}}% + \do\_\_\do\}\}\do\textasciicircum\^\do\&\&% _, }, ^, &, + \do\textgreater\>\do\textasciitilde\~% >, ~ + \do\textbackslash\\% \ +} +\newcommand*\sphinxbreaksviaactiveinparsedliteral{% + \sphinxbreaksviaactive % by default handles . , ; ? ! / + \lccode`\~`\~ % + % update \dospecials as it is used by \url + % but deactivation will already have been done hence this is unneeded: + % \expandafter\def\expandafter\dospecials\expandafter{\dospecials + % \sphinxbreaksbeforeactivelist\sphinxbreaksafteractivelist\do\-}% +} +\newcommand*\sphinxbreaksatspaceinparsedliteral{% + \lccode`~32 \lowercase{\let~}\spx@verbatim@space\lccode`\~`\~ +} +\newcommand*{\sphinxunactivateextras}{\let\do\@makeother + \sphinxbreaksbeforeactivelist\sphinxbreaksafteractivelist}% +% the \catcode13=5\relax (deactivate end of input lines) is left to callers +\newcommand*{\sphinxunactivateextrasandspace}{\catcode32=10\relax + \sphinxunactivateextras}% +% alltt uses a monospace font and linebreaks at dashes (which are escaped +% to \sphinxhyphen{} which expands to -\kern\z@) are inhibited with pdflatex. +% Not with xelatex (cf \defaultfontfeatures in latex writer), so: +\newcommand*{\sphinxhypheninparsedliteral}{\sphinxhyphennobreak} +% now for the modified alltt environment +\newenvironment{sphinxalltt} +{% at start of next line to workaround Emacs/AUCTeX issue with this file +\begin{alltt}% + \ifspx@opt@parsedliteralwraps + \sbox\sphinxcontinuationbox {\spx@opt@verbatimcontinued}% + \sbox\sphinxvisiblespacebox {\spx@opt@verbatimvisiblespace}% + \let\sphinxhyphen\sphinxhypheninparsedliteral + \sphinxbreaksattexescapedchars + \sphinxbreaksviaactiveinparsedliteral + \sphinxbreaksatspaceinparsedliteral +% alltt takes care of the ' as derivative ("prime") in math mode + \everymath\expandafter{\the\everymath\sphinxunactivateextrasandspace + \catcode`\<=12\catcode`\>=12\catcode`\^=7\catcode`\_=8 }% +% not sure if displayed math (align,...) can end up in parsed-literal, anyway + \everydisplay\expandafter{\the\everydisplay + \catcode13=5 \sphinxunactivateextrasandspace + \catcode`\<=12\catcode`\>=12\catcode`\^=7\catcode`\_=8 }% + \fi } +{\end{alltt}} + + +%% INLINE MARK-UP +% + +% Protect \href's first argument in contexts such as sphinxalltt (or +% \sphinxcode). Sphinx uses \#, \%, \& ... always inside \sphinxhref. +\protected\def\sphinxhref#1#2{{% + \sphinxunactivateextrasandspace % never do \scantokens with active space! +% for the \endlinechar business, https://github.com/latex3/latex2e/issues/286 + \endlinechar\m@ne\everyeof{{\endlinechar13 #2}}% keep catcode regime for #2 + \scantokens{\href{#1}}% normalise it for #1 during \href expansion +}} +% Same for \url. And also \nolinkurl for coherence. +\protected\def\sphinxurl#1{{% + \sphinxunactivateextrasandspace\everyeof{}% (<- precaution for \scantokens) + \endlinechar\m@ne\scantokens{\url{#1}}% +}} +\protected\def\sphinxnolinkurl#1{{% + \sphinxunactivateextrasandspace\everyeof{}% + \endlinechar\m@ne\scantokens{\nolinkurl{#1}}% +}} + +% \sphinxupquote +% to obtain straight quotes we execute \@noligs as patched by upquote, and +% \scantokens is needed in cases where it would be too late for the macro to +% first set catcodes and then fetch its argument. We also make the contents +% breakable at non-escaped . , ; ? ! / using \sphinxbreaksviaactive, +% and also at \ character (which is escaped to \textbackslash{}). +\protected\def\sphinxtextbackslashbreakbefore + {\discretionary{}{\sphinxafterbreak\sphinx@textbackslash}{\sphinx@textbackslash}} +\protected\def\sphinxtextbackslashbreakafter + {\discretionary{\sphinx@textbackslash}{\sphinxafterbreak}{\sphinx@textbackslash}} +\let\sphinxtextbackslash\sphinxtextbackslashbreakafter +% - is escaped to \sphinxhyphen{} and this default ensures no linebreak +% behaviour (also with a non monospace font, or with xelatex) +\newcommand*{\sphinxhyphenininlineliteral}{\sphinxhyphennobreak} +% the macro must be protected if it ends up used in moving arguments, +% in 'alltt' \@noligs is done already, and the \scantokens must be avoided. +\protected\def\sphinxupquote#1{{\def\@tempa{alltt}% + \ifx\@tempa\@currenvir\else + \let\sphinxhyphen\sphinxhyphenininlineliteral + \ifspx@opt@inlineliteralwraps + % break at . , ; ? ! / + \sphinxbreaksviaactive + % break also at \ + \setbox8=\hbox{\textbackslash}% + \def\sphinx@textbackslash{\copy8}% + \let\textbackslash\sphinxtextbackslash + % by default, no continuation symbol on next line but may be added + \let\sphinxafterbreak\sphinxafterbreakofinlineliteral + % do not overwrite the comma set-up + \let\verbatim@nolig@list\sphinx@literal@nolig@list + \fi + % fix a space-gobbling issue due to LaTeX's original \do@noligs +% TODO: using \@noligs as patched by upquote.sty is now unneeded because +% either ` and ' are escaped (non-unicode engines) or they don't build +% ligatures (unicode engines). Thus remove this and unify handling of `, <, >, +% ' and - with the characters . , ; ? ! / as handled via +% \sphinxbreaksviaactive. +% Hence \sphinx@do@noligs will be removed, or rather replaced with code +% inserting discretionaries, as they allow a continuation symbol on start of +% next line to achieve common design with code-blocks. + \let\do@noligs\sphinx@do@noligs + \@noligs\endlinechar\m@ne\everyeof{}% (<- in case inside \sphinxhref) + \expandafter\scantokens + \fi {{#1}}}}% extra brace pair to fix end-space gobbling issue... +\def\sphinx@do@noligs #1{\catcode`#1\active\begingroup\lccode`\~`#1\relax + \lowercase{\endgroup\def~{\leavevmode\kern\z@\char`#1 }}} +\def\sphinx@literal@nolig@list {\do\`\do\<\do\>\do\'\do\-}% +\let\sphinxafterbreakofinlineliteral\empty + + +\endinput diff --git a/source/frUpwork/project_spec/project_spec/sphinxlatexnumfig.sty b/source/frUpwork/project_spec/project_spec/sphinxlatexnumfig.sty new file mode 100644 index 0000000..6d72961 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/sphinxlatexnumfig.sty @@ -0,0 +1,122 @@ +%% NUMBERING OF FIGURES, TABLES, AND LITERAL BLOCKS +% +% change this info string if making any custom modification +\ProvidesFile{sphinxlatexnumfig.sty}[2021/01/27 numbering] + +% Requires: remreset (old LaTeX only) +% relates to numfig and numfig_secnum_depth configuration variables + +% LaTeX 2018-04-01 and later provides \@removefromreset +\ltx@ifundefined{@removefromreset} + {\RequirePackage{remreset}} + {}% avoid warning +% Everything is delayed to \begin{document} to allow hyperref patches into +% \newcounter to solve duplicate label problems for internal hyperlinks to +% code listings (literalblock counter). User or extension re-definitions of +% \theliteralblock, et al., thus have also to be delayed. (changed at 3.5.0) +\AtBeginDocument{% +\ltx@ifundefined{c@chapter} + {\newcounter{literalblock}}% + {\newcounter{literalblock}[chapter]% + \def\theliteralblock{\ifnum\c@chapter>\z@\arabic{chapter}.\fi + \arabic{literalblock}}% + }% +\ifspx@opt@nonumfigreset + \ltx@ifundefined{c@chapter}{}{% + \@removefromreset{figure}{chapter}% + \@removefromreset{table}{chapter}% + \@removefromreset{literalblock}{chapter}% + \ifspx@opt@mathnumfig + \@removefromreset{equation}{chapter}% + \fi + }% + \def\thefigure{\arabic{figure}}% + \def\thetable {\arabic{table}}% + \def\theliteralblock{\arabic{literalblock}}% + \ifspx@opt@mathnumfig + \def\theequation{\arabic{equation}}% + \fi +\else +\let\spx@preAthefigure\@empty +\let\spx@preBthefigure\@empty +% \ifspx@opt@usespart % <-- LaTeX writer could pass such a 'usespart' boolean +% % as sphinx.sty package option +% If document uses \part, (triggered in Sphinx by latex_toplevel_sectioning) +% LaTeX core per default does not reset chapter or section +% counters at each part. +% But if we modify this, we need to redefine \thechapter, \thesection to +% include the part number and this will cause problems in table of contents +% because of too wide numbering. Simplest is to do nothing. +% \fi +\ifnum\spx@opt@numfigreset>0 + \ltx@ifundefined{c@chapter} + {} + {\g@addto@macro\spx@preAthefigure{\ifnum\c@chapter>\z@\arabic{chapter}.}% + \g@addto@macro\spx@preBthefigure{\fi}}% +\fi +\ifnum\spx@opt@numfigreset>1 + \@addtoreset{figure}{section}% + \@addtoreset{table}{section}% + \@addtoreset{literalblock}{section}% + \ifspx@opt@mathnumfig + \@addtoreset{equation}{section}% + \fi% + \g@addto@macro\spx@preAthefigure{\ifnum\c@section>\z@\arabic{section}.}% + \g@addto@macro\spx@preBthefigure{\fi}% +\fi +\ifnum\spx@opt@numfigreset>2 + \@addtoreset{figure}{subsection}% + \@addtoreset{table}{subsection}% + \@addtoreset{literalblock}{subsection}% + \ifspx@opt@mathnumfig + \@addtoreset{equation}{subsection}% + \fi% + \g@addto@macro\spx@preAthefigure{\ifnum\c@subsection>\z@\arabic{subsection}.}% + \g@addto@macro\spx@preBthefigure{\fi}% +\fi +\ifnum\spx@opt@numfigreset>3 + \@addtoreset{figure}{subsubsection}% + \@addtoreset{table}{subsubsection}% + \@addtoreset{literalblock}{subsubsection}% + \ifspx@opt@mathnumfig + \@addtoreset{equation}{subsubsection}% + \fi% + \g@addto@macro\spx@preAthefigure{\ifnum\c@subsubsection>\z@\arabic{subsubsection}.}% + \g@addto@macro\spx@preBthefigure{\fi}% +\fi +\ifnum\spx@opt@numfigreset>4 + \@addtoreset{figure}{paragraph}% + \@addtoreset{table}{paragraph}% + \@addtoreset{literalblock}{paragraph}% + \ifspx@opt@mathnumfig + \@addtoreset{equation}{paragraph}% + \fi% + \g@addto@macro\spx@preAthefigure{\ifnum\c@subparagraph>\z@\arabic{subparagraph}.}% + \g@addto@macro\spx@preBthefigure{\fi}% +\fi +\ifnum\spx@opt@numfigreset>5 + \@addtoreset{figure}{subparagraph}% + \@addtoreset{table}{subparagraph}% + \@addtoreset{literalblock}{subparagraph}% + \ifspx@opt@mathnumfig + \@addtoreset{equation}{subparagraph}% + \fi% + \g@addto@macro\spx@preAthefigure{\ifnum\c@subsubparagraph>\z@\arabic{subsubparagraph}.}% + \g@addto@macro\spx@preBthefigure{\fi}% +\fi +\expandafter\g@addto@macro +\expandafter\spx@preAthefigure\expandafter{\spx@preBthefigure}% +\let\thefigure\spx@preAthefigure +\let\thetable\spx@preAthefigure +\let\theliteralblock\spx@preAthefigure +\g@addto@macro\thefigure{\arabic{figure}}% +\g@addto@macro\thetable{\arabic{table}}% +\g@addto@macro\theliteralblock{\arabic{literalblock}}% + \ifspx@opt@mathnumfig + \let\theequation\spx@preAthefigure + \g@addto@macro\theequation{\arabic{equation}}% + \fi +\fi +}% end of big \AtBeginDocument + +\endinput diff --git a/source/frUpwork/project_spec/project_spec/sphinxlatexobjects.sty b/source/frUpwork/project_spec/project_spec/sphinxlatexobjects.sty new file mode 100644 index 0000000..85dd53a --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/sphinxlatexobjects.sty @@ -0,0 +1,245 @@ +%% MODULE RELEASE DATA AND OBJECT DESCRIPTIONS +% +% change this info string if making any custom modification +\ProvidesFile{sphinxlatexobjects.sty}[2022/01/13 documentation environments] + +% Provides support for this output mark-up from Sphinx latex writer: +% +% - environments +% +% - fulllineitems +% - productionlist +% - optionlist +% - DUlineblock (also "lineblock") +% +% - macros +% +% - \DUrole +% - various legacy support macros related to author and release +% data of documented objects and modules. + +% \moduleauthor{name}{email} +\newcommand{\moduleauthor}[2]{} + +% \sectionauthor{name}{email} +\newcommand{\sectionauthor}[2]{} + +% Allow the release number to be specified independently of the +% \date{}. This allows the date to reflect the document's date and +% release to specify the release that is documented. +% +\newcommand{\py@release}{\releasename\space\version} +\newcommand{\version}{}% part of \py@release, used by title page and headers +% \releaseinfo is used on titlepage (sphinxmanual.cls, sphinxhowto.cls) +\newcommand{\releaseinfo}{} +\newcommand{\setreleaseinfo}[1]{\renewcommand{\releaseinfo}{#1}} +% this is inserted via template and #1=release config variable +\newcommand{\release}[1]{\renewcommand{\version}{#1}} +% this is defined by template to 'releasename' latex_elements key +\newcommand{\releasename}{} +% Fix issue in case release and releasename deliberately left blank +\newcommand{\sphinxheadercomma}{, }% used in fancyhdr header definition +\newcommand{\sphinxifemptyorblank}[1]{% +% test after one expansion of macro #1 if contents is empty or spaces + \if&\expandafter\@firstofone\detokenize\expandafter{#1}&% + \expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}% +\AtBeginDocument {% + \sphinxifemptyorblank{\releasename} + {\sphinxifemptyorblank{\version}{\let\sphinxheadercomma\empty}{}} + {}% +}% + +% Allow specification of the author's address separately from the +% author's name. This can be used to format them differently, which +% is a good thing. +% +\newcommand{\py@authoraddress}{} +\newcommand{\authoraddress}[1]{\renewcommand{\py@authoraddress}{#1}} + +% {fulllineitems} is the main environment for object descriptions. +% +% With 4.0.0 \pysigline (and \pysiglinewithargsret), used in a fulllineitems +% environment the #1 will already be of the width which is computed here, i.e. +% the available width on line, so the \makebox becomes a bit superfluous +\newcommand{\py@itemnewline}[1]{% macro used as \makelabel in fulllineitems +% Memo: this presupposes \itemindent is 0pt + \kern\labelsep % because \@labels core latex box does \hskip-\labelsep + \makebox[\dimexpr\linewidth+\labelwidth\relax][l]{#1}% + \kern-\labelsep % because at end of \@labels box there is \hskip\labelsep +} + +\newenvironment{fulllineitems}{% + \begin{list}{}{\labelwidth \leftmargin + \rightmargin \z@ \topsep -\parskip \partopsep \parskip + \itemsep -\parsep + \let\makelabel=\py@itemnewline}% +}{\end{list}} + +% Signatures, possibly multi-line +% +% For legacy reasons Sphinx uses LaTeX \list and \item's for signatures +% This is delicate: +% - the actual item label is not typeset immediately by \item but later as part +% of the \everypar which will be triggered by either next paragraph or a manual +% \leavevmode, or if nothing in-between by the next \item, +% - \begingroup \item[foo] \endgroup leads to errors, +% - vertical space depends on \parskip and \itemsep values in somewhat +% subtle manners. +% +% Since the 2022/01/13 version things are simpler as \parskip is simply set +% to zero during execution of \pysigline/\pysiglinewithargsret +% +% Parameter for separation via \itemsep of multiple signatures with common desc +\newlength\sphinxsignaturesep +\setlength\sphinxsignaturesep{\smallskipamount} +% latex.py outputs mark-up like this: +% \pysigstartsignatures \pysigstopsignatures +\newcommand{\pysigstartsignatures}{% + % store current \parskip and \itemsep + \edef\pysig@restore@itemsep@and@parskip{% + \itemsep\the\itemsep\relax + \parskip\the\parskip\relax + }% + % set them to control the spacing between signatures sharing common desc + \parskip\z@skip + \itemsep\sphinxsignaturesep +} +\newcommand{\pysigstopsignatures}{% +% 1) encourage a pagebreak in an attempt to try to avoid last +% signature ending up separated from description (due to voodoo next) +\penalty-100 +% 2) some voodoo to separate last signature from description in a manner +% robust with respect to the latter being itself a LaTeX list object +\leavevmode\par\kern-\baselineskip\item[\strut] +% + \leavevmode + % it is important \leavevmode was issued before the \parskip reset, and + % it is also needed for the case of an object desc itself a LaTeX \list + % now restore \itemsep and \parskip + \pysig@restore@itemsep@and@parskip +} +% +% Use a \parbox to accomodate long argument list in signatures +% LaTeX did not imagine that an \item label could need multi-line rendering +\newlength{\py@argswidth} +\newcommand{\py@sigparams}[2]{% + % The \py@argswidth has been computed in \pysiglinewithargsret to make the + % argument list use full available width + \parbox[t]{\py@argswidth}{\raggedright #1\sphinxcode{)}#2\strut}% + % final strut is to help get correct vertical separation +} +\newcommand{\pysigline}[1]{% + % as \py@argswidth is available, we use it but no "args" here + % the \relax\relax is because \py@argswidth is a "skip" variable + % this will make the label occupy the full available linewidth + \py@argswidth=\dimexpr\linewidth+\labelwidth\relax\relax + \item[{\parbox[t]{\py@argswidth}{\raggedright #1\strut}}] + \pysigadjustitemsep +} +\newcommand{\pysiglinewithargsret}[3]{% + \settowidth{\py@argswidth}{#1\sphinxcode{(}}% + \py@argswidth=\dimexpr\linewidth+\labelwidth-\py@argswidth\relax\relax + \item[{#1\sphinxcode{(}\py@sigparams{#2}{#3}\strut}] + \pysigadjustitemsep +} +\newcommand{\pysigadjustitemsep}{% + % adjust \itemsep to control the separation with the next signature + % sharing common description + \ifsphinxsigismultiline + % inside a multiline signature, no extra vertical spacing + % ("multiline" here does not refer to possibly long + % list of arguments, but to a cpp domain feature) + \itemsep\z@skip + \else + \itemsep\sphinxsignaturesep + \fi +} +\newif\ifsphinxsigismultiline +\newcommand{\pysigstartmultiline}{\sphinxsigismultilinetrue}% +\newcommand{\pysigstopmultiline}{\sphinxsigismultilinefalse\itemsep\sphinxsignaturesep}% + +% Production lists +% +\newenvironment{productionlist}{% +% \def\sphinxoptional##1{{\Large[}##1{\Large]}} + \def\production##1##2{\\\sphinxcode{\sphinxupquote{##1}}&::=&\sphinxcode{\sphinxupquote{##2}}}% + \def\productioncont##1{\\& &\sphinxcode{\sphinxupquote{##1}}}% + \parindent=2em + \indent + \setlength{\LTpre}{0pt}% + \setlength{\LTpost}{0pt}% + \begin{longtable}[l]{lcl} +}{% + \end{longtable} +} + +% Definition lists; requested by AMK for HOWTO documents. Probably useful +% elsewhere as well, so keep in in the general style support. +% +\newenvironment{definitions}{% + \begin{description}% + \def\term##1{\item[{##1}]\mbox{}\\*[0mm]}% +}{% + \end{description}% +} + +%% FROM DOCTUTILS LATEX WRITER +% +% The following is stuff copied from docutils' latex writer. +% +\newcommand{\optionlistlabel}[1]{\normalfont\bfseries #1 \hfill}% \bf deprecated +\newenvironment{optionlist}[1] +{\begin{list}{} + {\setlength{\labelwidth}{#1} + \setlength{\rightmargin}{1cm} + \setlength{\leftmargin}{\rightmargin} + \addtolength{\leftmargin}{\labelwidth} + \addtolength{\leftmargin}{\labelsep} + \renewcommand{\makelabel}{\optionlistlabel}} +}{\end{list}} + +\newlength{\lineblockindentation} +\setlength{\lineblockindentation}{2.5em} +\newenvironment{lineblock}[1] +{\begin{list}{} + {\setlength{\partopsep}{\parskip} + \addtolength{\partopsep}{\baselineskip} + \topsep0pt\itemsep0.15\baselineskip\parsep0pt + \leftmargin#1\relax} + \raggedright} +{\end{list}} + +% From docutils.writers.latex2e +% inline markup (custom roles) +% \DUrole{#1}{#2} tries \DUrole#1{#2} +\providecommand*{\DUrole}[2]{% + \ifcsname DUrole\detokenize{#1}\endcsname + \csname DUrole\detokenize{#1}\endcsname{#2}% + \else% backwards compatibility: try \docutilsrole#1{#2} + \ifcsname docutilsrole\detokenize{#1}\endcsname + \csname docutilsrole\detokenize{#1}\endcsname{#2}% + \else + #2% + \fi + \fi +} + +\providecommand*{\DUprovidelength}[2]{% + \ifdefined#1\else\newlength{#1}\setlength{#1}{#2}\fi +} + +\DUprovidelength{\DUlineblockindent}{2.5em} +\ifdefined\DUlineblock\else + \newenvironment{DUlineblock}[1]{% + \list{}{\setlength{\partopsep}{\parskip} + \addtolength{\partopsep}{\baselineskip} + \setlength{\topsep}{0pt} + \setlength{\itemsep}{0.15\baselineskip} + \setlength{\parsep}{0pt} + \setlength{\leftmargin}{#1}} + \raggedright + } + {\endlist} +\fi + +\endinput diff --git a/source/frUpwork/project_spec/project_spec/sphinxlatexshadowbox.sty b/source/frUpwork/project_spec/project_spec/sphinxlatexshadowbox.sty new file mode 100644 index 0000000..8d6c786 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/sphinxlatexshadowbox.sty @@ -0,0 +1,100 @@ +%% TOPIC AND CONTENTS BOXES +% +% change this info string if making any custom modification +\ProvidesFile{sphinxlatexshadowbox.sty}[2021/01/27 sphinxShadowBox] + +% Provides support for this output mark-up from Sphinx latex writer: +% +% - sphinxShadowBox (environment) +% +% Dependencies (they do not need to be defined at time of loading): +% +% - of course the various colour and dimension options handled via sphinx.sty +% - dimension register \spx@image@maxheight from sphinxlatexgraphics.sty +% - \savenotes/\spewnotes from sphinxpackagefootnote +% - \ifspx@inframed defined in sphinx.sty +% +% Requires: +\RequirePackage{framed} + +% Again based on use of "framed.sty", this allows breakable framed boxes. +\long\def\spx@ShadowFBox#1{% + \leavevmode\begingroup + % first we frame the box #1 + \setbox\@tempboxa + \hbox{\vrule\@width\sphinxshadowrule + \vbox{\hrule\@height\sphinxshadowrule + \kern\sphinxshadowsep + \hbox{\kern\sphinxshadowsep #1\kern\sphinxshadowsep}% + \kern\sphinxshadowsep + \hrule\@height\sphinxshadowrule}% + \vrule\@width\sphinxshadowrule}% + % Now we add the shadow, like \shadowbox from fancybox.sty would do + \dimen@\dimexpr.5\sphinxshadowrule+\sphinxshadowsize\relax + \hbox{\vbox{\offinterlineskip + \hbox{\copy\@tempboxa\kern-.5\sphinxshadowrule + % add shadow on right side + \lower\sphinxshadowsize + \hbox{\vrule\@height\ht\@tempboxa \@width\dimen@}% + }% + \kern-\dimen@ % shift back vertically to bottom of frame + % and add shadow at bottom + \moveright\sphinxshadowsize + \vbox{\hrule\@width\wd\@tempboxa \@height\dimen@}% + }% + % move left by the size of right shadow so shadow adds no width + \kern-\sphinxshadowsize + }% + \endgroup +} + +% use framed.sty to allow page breaks in frame+shadow +% works well inside Lists and Quote-like environments +% produced by ``topic'' directive (or local contents) +% could nest if LaTeX writer authorized it +\newenvironment{sphinxShadowBox} + {\def\FrameCommand {\spx@ShadowFBox }% + \advance\spx@image@maxheight + -\dimexpr2\sphinxshadowrule + +2\sphinxshadowsep + +\sphinxshadowsize + +\baselineskip\relax + % configure framed.sty not to add extra vertical spacing + \ltx@ifundefined{OuterFrameSep}{}{\OuterFrameSep\z@skip}% + % the \trivlist will add the vertical spacing on top and bottom which is + % typical of center environment as used in Sphinx <= 1.4.1 + % the \noindent has the effet of an extra blank line on top, to + % imitate closely the layout from Sphinx <= 1.4.1; the \FrameHeightAdjust + % will put top part of frame on this baseline. + \def\FrameHeightAdjust {\baselineskip}% + % use package footnote to handle footnotes + \savenotes + \trivlist\item\noindent + % use a minipage if we are already inside a framed environment + \ifspx@inframed\begin{minipage}{\linewidth}\fi + \MakeFramed {\spx@inframedtrue + % framed.sty puts into "\width" the added width (=2shadowsep+2shadowrule) + % adjust \hsize to what the contents must use + \advance\hsize-\width + % adjust LaTeX parameters to behave properly in indented/quoted contexts + \FrameRestore + % typeset the contents as in a minipage (Sphinx <= 1.4.1 used a minipage and + % itemize/enumerate are therein typeset more tightly, we want to keep + % that). We copy-paste from LaTeX source code but don't do a real minipage. + \@pboxswfalse + \let\@listdepth\@mplistdepth \@mplistdepth\z@ + \@minipagerestore + \@setminipage + }% + }% + {% insert the "endminipage" code + \par\unskip + \@minipagefalse + \endMakeFramed + \ifspx@inframed\end{minipage}\fi + \endtrivlist + % output the stored footnotes + \spewnotes + } + +\endinput diff --git a/source/frUpwork/project_spec/project_spec/sphinxlatexstyleheadings.sty b/source/frUpwork/project_spec/project_spec/sphinxlatexstyleheadings.sty new file mode 100644 index 0000000..fa9be82 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/sphinxlatexstyleheadings.sty @@ -0,0 +1,83 @@ +%% TITLES +% +% change this info string if making any custom modification +\ProvidesFile{sphinxlatexstyleheadings.sty}[2021/01/27 headings] + +\RequirePackage[nobottomtitles*]{titlesec} +\@ifpackagelater{titlesec}{2016/03/15}% + {\@ifpackagelater{titlesec}{2016/03/21}% + {}% + {\newif\ifsphinx@ttlpatch@ok + \IfFileExists{etoolbox.sty}{% + \RequirePackage{etoolbox}% + \patchcmd{\ttlh@hang}{\parindent\z@}{\parindent\z@\leavevmode}% + {\sphinx@ttlpatch@oktrue}{}% + \ifsphinx@ttlpatch@ok + \patchcmd{\ttlh@hang}{\noindent}{}{}{\sphinx@ttlpatch@okfalse}% + \fi + }{}% + \ifsphinx@ttlpatch@ok + \typeout{^^J Package Sphinx Info: ^^J + **** titlesec 2.10.1 successfully patched for bugfix ****^^J}% + \else + \AtEndDocument{\PackageWarningNoLine{sphinx}{^^J% +******** titlesec 2.10.1 has a bug, (section numbers disappear) ......|^^J% +******** and Sphinx could not patch it, perhaps because your local ...|^^J% +******** copy is already fixed without a changed release date. .......|^^J% +******** If not, you must update titlesec! ...........................|}}% + \fi + }% + }{} + +% Augment the sectioning commands used to get our own font family in place, +% and reset some internal data items (\titleformat from titlesec package) +\titleformat{\section}{\Large\py@HeaderFamily}% + {\py@TitleColor\thesection}{0.5em}{\py@TitleColor} +\titleformat{\subsection}{\large\py@HeaderFamily}% + {\py@TitleColor\thesubsection}{0.5em}{\py@TitleColor} +\titleformat{\subsubsection}{\py@HeaderFamily}% + {\py@TitleColor\thesubsubsection}{0.5em}{\py@TitleColor} +% By default paragraphs (and subsubsections) will not be numbered because +% sphinxmanual.cls and sphinxhowto.cls set secnumdepth to 2 +\titleformat{\paragraph}{\py@HeaderFamily}% + {\py@TitleColor\theparagraph}{0.5em}{\py@TitleColor} +\titleformat{\subparagraph}{\py@HeaderFamily}% + {\py@TitleColor\thesubparagraph}{0.5em}{\py@TitleColor} + + +% Since Sphinx 1.5, users should use HeaderFamily key to 'sphinxsetup' rather +% than defining their own \py@HeaderFamily command (which is still possible). +% Memo: \py@HeaderFamily is also used by \maketitle as defined in +% sphinxmanual.cls/sphinxhowto.cls +\newcommand{\py@HeaderFamily}{\spx@opt@HeaderFamily} + +% This sets up the fancy chapter headings that make the documents look +% at least a little better than the usual LaTeX output. +\@ifpackagewith{fncychap}{Bjarne}{ + \ChNameVar {\raggedleft\normalsize \py@HeaderFamily} + \ChNumVar {\raggedleft\Large \py@HeaderFamily} + \ChTitleVar{\raggedleft\Large \py@HeaderFamily} + % This creates (numbered) chapter heads without the leading \vspace*{}: + \def\@makechapterhead#1{% + {\parindent \z@ \raggedright \normalfont + \ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \DOCH + \fi + \fi + \interlinepenalty\@M + \if@mainmatter + \DOTI{#1}% + \else% + \DOTIS{#1}% + \fi + }} +}{}% <-- "false" clause of \@ifpackagewith + +% fix fncychap's bug which uses prematurely the \textwidth value +\@ifpackagewith{fncychap}{Bjornstrup} + {\AtBeginDocument{\mylen\textwidth\advance\mylen-2\myhi}}% + {}% <-- "false" clause of \@ifpackagewith + + +\endinput diff --git a/source/frUpwork/project_spec/project_spec/sphinxlatexstylepage.sty b/source/frUpwork/project_spec/project_spec/sphinxlatexstylepage.sty new file mode 100644 index 0000000..4066129 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/sphinxlatexstylepage.sty @@ -0,0 +1,79 @@ +%% PAGE STYLING +% +% change this info string if making any custom modification +\ProvidesFile{sphinxlatexstylepage.sty}[2021/01/27 page styling] + +% Separate paragraphs by space by default. +\IfFileExists{parskip-2001-04-09.sty}% since September 2018 TeXLive update +% new parskip.sty, but let it rollback to old one. +% hopefully TeX installation not broken and LaTeX kernel not too old + {\RequirePackage{parskip}[=v1]} +% standard one from 1989. Admittedly \section of article/book gives possibly +% anomalous spacing, but we can't require September 2018 release for some time. + {\RequirePackage{parskip}} + +% Style parameters and macros used by most documents here +\raggedbottom +\sloppy +\hbadness = 5000 % don't print trivial gripes + +% Require package fancyhdr except under memoir class +\@ifclassloaded{memoir}{}{\RequirePackage{fancyhdr}} +% Use \pagestyle{normal} as the primary pagestyle for text. +% Redefine the 'normal' header/footer style when using "fancyhdr" package: +\@ifpackageloaded{fancyhdr}{% + \ltx@ifundefined{c@chapter} + {% no \chapter, "howto" (non-Japanese) docclass + \fancypagestyle{plain}{ + \fancyhf{} + \fancyfoot[C]{{\py@HeaderFamily\thepage}} + \renewcommand{\headrulewidth}{0pt} + \renewcommand{\footrulewidth}{0pt} + } + % Same as 'plain', this way we can use it in template + % FIXME: shouldn't this have a running header with Name and Release like 'manual'? + \fancypagestyle{normal}{ + \fancyhf{} + \fancyfoot[C]{{\py@HeaderFamily\thepage}} + \renewcommand{\headrulewidth}{0pt} + \renewcommand{\footrulewidth}{0pt} + } + }% + {% classes with \chapter command + \fancypagestyle{normal}{ + \fancyhf{} + \fancyfoot[RO]{{\py@HeaderFamily\thepage}} + \fancyfoot[LO]{{\py@HeaderFamily\nouppercase{\rightmark}}} + \fancyhead[RO]{{\py@HeaderFamily \@title\sphinxheadercomma\py@release}} + \if@twoside + \fancyfoot[LE]{{\py@HeaderFamily\thepage}} + \fancyfoot[RE]{{\py@HeaderFamily\nouppercase{\leftmark}}} + \fancyhead[LE]{{\py@HeaderFamily \@title\sphinxheadercomma\py@release}} + \fi + \renewcommand{\headrulewidth}{0.4pt} + \renewcommand{\footrulewidth}{0.4pt} + % define chaptermark with \@chappos when \@chappos is available for Japanese + \ltx@ifundefined{@chappos}{} + {\def\chaptermark##1{\markboth{\@chapapp\space\thechapter\space\@chappos\space ##1}{}}} + } + % Update the plain style so we get the page number & footer line, + % but not a chapter or section title. This is to keep the first + % page of a chapter `clean.' + \fancypagestyle{plain}{ + \fancyhf{} + \fancyfoot[RO]{{\py@HeaderFamily\thepage}} + \if@twoside\fancyfoot[LE]{{\py@HeaderFamily\thepage}}\fi + \renewcommand{\headrulewidth}{0pt} + \renewcommand{\footrulewidth}{0.4pt} + } + } + } + {% no fancyhdr: memoir class + % Provide default for 'normal' style simply as an alias of 'plain' style + % This way we can use \pagestyle{normal} in LaTeX template + \def\ps@normal{\ps@plain} + % Users of memoir class are invited to redefine 'normal' style in preamble + } + + +\endinput diff --git a/source/frUpwork/project_spec/project_spec/sphinxlatexstyletext.sty b/source/frUpwork/project_spec/project_spec/sphinxlatexstyletext.sty new file mode 100644 index 0000000..539ee0d --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/sphinxlatexstyletext.sty @@ -0,0 +1,134 @@ +%% TEXT STYLING +% +% change this info string if making any custom modification +\ProvidesFile{sphinxlatexstyletext.sty}[2021/12/06 text styling] + +% Basically everything here consists of macros which are part of the latex +% markup produced by the Sphinx latex writer + +% Some custom font markup commands. +\protected\def\sphinxstrong#1{\textbf{#1}} +\protected\def\sphinxcode#1{\texttt{#1}} +\protected\def\sphinxbfcode#1{\textbf{\sphinxcode{#1}}} +\protected\def\sphinxemail#1{\textsf{#1}} +\protected\def\sphinxtablecontinued#1{\textsf{#1}} +\protected\def\sphinxtitleref#1{\emph{#1}} +\protected\def\sphinxmenuselection#1{\emph{#1}} +\protected\def\sphinxguilabel#1{\emph{#1}} +\protected\def\sphinxkeyboard#1{\sphinxcode{#1}} +\protected\def\sphinxaccelerator#1{\underline{#1}} +\protected\def\sphinxcrossref#1{\emph{#1}} +\protected\def\sphinxtermref#1{\emph{#1}} +% \optional is used for ``[, arg]``, i.e. desc_optional nodes. +\long\protected\def\sphinxoptional#1{% + {\textnormal{\Large[}}{#1}\hspace{0.5mm}{\textnormal{\Large]}}} + +% additional customizable styling +\def\sphinxstyleindexentry #1{\texttt{#1}} +\def\sphinxstyleindexextra #1{ (\emph{#1})} +\def\sphinxstyleindexpageref #1{, \pageref{#1}} +\def\sphinxstyleindexpagemain#1{\textbf{#1}} +\def\spxentry{\@backslashchar spxentry}% let to \sphinxstyleindexentry in index +\def\spxextra{\@backslashchar spxextra}% let to \sphinxstyleindexextra in index +\def\sphinxstyleindexlettergroup #1% + {{\Large\sffamily#1}\nopagebreak\vspace{1mm}} +\def\sphinxstyleindexlettergroupDefault #1% + {{\Large\sffamily\sphinxnonalphabeticalgroupname}\nopagebreak\vspace{1mm}} +\protected\def\sphinxstyletopictitle #1{\textbf{#1}\par\medskip} +\let\sphinxstylesidebartitle\sphinxstyletopictitle +\protected\def\sphinxstyleothertitle #1{\textbf{#1}} +\protected\def\sphinxstylesidebarsubtitle #1{~\\\textbf{#1} \smallskip} +% \text.. commands do not allow multiple paragraphs +\protected\def\sphinxstyletheadfamily {\sffamily} +\protected\def\sphinxstyleemphasis #1{\emph{#1}} +\protected\def\sphinxstyleliteralemphasis#1{\emph{\sphinxcode{#1}}} +\protected\def\sphinxstylestrong #1{\textbf{#1}} +\protected\def\sphinxstyleliteralstrong#1{\sphinxbfcode{#1}} +\protected\def\sphinxstyleabbreviation #1{\textsc{#1}} +\protected\def\sphinxstyleliteralintitle#1{\sphinxcode{#1}} +\newcommand*\sphinxstylecodecontinued[1]{\footnotesize(#1)}% +\newcommand*\sphinxstylecodecontinues[1]{\footnotesize(#1)}% +% figure legend comes after caption and may contain arbitrary body elements +\newenvironment{sphinxlegend}{\par\small}{\par} +% reduce hyperref "Token not allowed in a PDF string" warnings on PDF builds +\AtBeginDocument{\pdfstringdefDisableCommands{% +% all "protected" macros possibly ending up in section titles should be here +% TODO: examine if \sphinxhref, \sphinxurl, \sphinnolinkurl should be handled + \let\sphinxstyleemphasis \@firstofone + \let\sphinxstyleliteralemphasis \@firstofone + \let\sphinxstylestrong \@firstofone + \let\sphinxstyleliteralstrong \@firstofone + \let\sphinxstyleabbreviation \@firstofone + \let\sphinxstyleliteralintitle \@firstofone + \let\sphinxupquote \@firstofone + \let\sphinxstrong \@firstofone + \let\sphinxcode \@firstofone + \let\sphinxbfcode \@firstofone + \let\sphinxemail \@firstofone + \let\sphinxcrossref \@firstofone + \let\sphinxtermref \@firstofone + \let\sphinxhyphen\sphinxhyphenforbookmarks +}} + +% Special characters +% +% The \kern\z@ is to prevent en-dash and em-dash TeX ligatures. +% A linebreak can occur after the dash in regular text (this is +% normal behaviour of "-" in TeX, it is not related to \kern\z@). +% +% Parsed-literals and inline literals also use the \sphinxhyphen +% but linebreaks there are prevented due to monospace font family. +% (xelatex needs a special addition, cf. sphinxlatexliterals.sty) +% +% Inside code-blocks, dashes are escaped via another macro, from +% Pygments latex output (search for \PYGZhy in sphinxlatexliterals.sty), +% and are configured to allow linebreaks despite the monospace font. +% (the #1 swallows the {} from \sphinxhyphen{} mark-up) +\protected\def\sphinxhyphen#1{-\kern\z@} +\protected\def\sphinxhyphennobreak#1{\mbox{-}} +% The {} from texescape mark-up is kept, else -- gives en-dash in PDF bookmark +\def\sphinxhyphenforbookmarks{-} + +% For curly braces inside \index macro +\def\sphinxleftcurlybrace{\{} +\def\sphinxrightcurlybrace{\}} + +% Declare Unicode characters used by linux tree command to pdflatex utf8/utf8x +\def\spx@bd#1#2{% + \leavevmode + \begingroup + \ifx\spx@bd@height \@undefined\def\spx@bd@height{\baselineskip}\fi + \ifx\spx@bd@width \@undefined\setbox0\hbox{0}\def\spx@bd@width{\wd0 }\fi + \ifx\spx@bd@thickness\@undefined\def\spx@bd@thickness{.6\p@}\fi + \ifx\spx@bd@lower \@undefined\def\spx@bd@lower{\dp\strutbox}\fi + \lower\spx@bd@lower#1{#2}% + \endgroup +}% +\@namedef{sphinx@u2500}% BOX DRAWINGS LIGHT HORIZONTAL + {\spx@bd{\vbox to\spx@bd@height} + {\vss\hrule\@height\spx@bd@thickness + \@width\spx@bd@width\vss}}% +\@namedef{sphinx@u2502}% BOX DRAWINGS LIGHT VERTICAL + {\spx@bd{\hb@xt@\spx@bd@width} + {\hss\vrule\@height\spx@bd@height + \@width \spx@bd@thickness\hss}}% +\@namedef{sphinx@u2514}% BOX DRAWINGS LIGHT UP AND RIGHT + {\spx@bd{\hb@xt@\spx@bd@width} + {\hss\raise.5\spx@bd@height + \hb@xt@\z@{\hss\vrule\@height.5\spx@bd@height + \@width \spx@bd@thickness\hss}% + \vbox to\spx@bd@height{\vss\hrule\@height\spx@bd@thickness + \@width.5\spx@bd@width\vss}}}% +\@namedef{sphinx@u251C}% BOX DRAWINGS LIGHT VERTICAL AND RIGHT + {\spx@bd{\hb@xt@\spx@bd@width} + {\hss + \hb@xt@\z@{\hss\vrule\@height\spx@bd@height + \@width \spx@bd@thickness\hss}% + \vbox to\spx@bd@height{\vss\hrule\@height\spx@bd@thickness + \@width.5\spx@bd@width\vss}}}% +\protected\def\sphinxunichar#1{\@nameuse{sphinx@u#1}}% + +% Tell TeX about pathological hyphenation cases: +\hyphenation{Base-HTTP-Re-quest-Hand-ler} + +\endinput diff --git a/source/frUpwork/project_spec/project_spec/sphinxlatextables.sty b/source/frUpwork/project_spec/project_spec/sphinxlatextables.sty new file mode 100644 index 0000000..c3c1d6a --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/sphinxlatextables.sty @@ -0,0 +1,481 @@ +%% TABLES (WITH SUPPORT FOR MERGED CELLS OF GENERAL CONTENTS) +% +% change this info string if making any custom modification +\ProvidesFile{sphinxlatextables.sty}[2021/01/27 tables]% + +% Provides support for this output mark-up from Sphinx latex writer +% and table templates: +% +% - the tabulary and longtable environments from the eponymous packages +% - the varwidth environment +% - the >{} etc mark-up possible in tabularcolumns is from array package +% which is loaded by longtable and tabulary +% - \X, \Y, T column types; others (L, C, R, J) are from tabulary package +% - \sphinxaftertopcaption +% - \sphinxatlongtableend +% - \sphinxatlongtablestart +% - \sphinxattableend +% - \sphinxattablestart +% - \sphinxcapstartof +% - \sphinxcolwidth +% - \sphinxlongtablecapskipadjust +% - \sphinxmultirow +% - \sphinxstartmulticolumn +% - \sphinxstopmulticolumn +% - \sphinxtablestrut +% - \sphinxthecaptionisattop +% - \sphinxthelongtablecaptionisattop +% +% Executes \RequirePackage for: +% +% - tabulary +% - longtable +% - varwidth +% +% Extends tabulary and longtable via patches and custom macros to support +% merged cells possibly containing code-blocks in complex tables + +\RequirePackage{tabulary} +% tabulary has a bug with its re-definition of \multicolumn in its first pass +% which is not \long. But now Sphinx does not use LaTeX's \multicolumn but its +% own macro. Hence we don't even need to patch tabulary. See +% sphinxpackagemulticell.sty +% X or S (Sphinx) may have meanings if some table package is loaded hence +% \X was chosen to avoid possibility of conflict +\newcolumntype{\X}[2]{p{\dimexpr + (\linewidth-\arrayrulewidth)*#1/#2-\tw@\tabcolsep-\arrayrulewidth\relax}} +\newcolumntype{\Y}[1]{p{\dimexpr + #1\dimexpr\linewidth-\arrayrulewidth\relax-\tw@\tabcolsep-\arrayrulewidth\relax}} +% using here T (for Tabulary) feels less of a problem than the X could be +\newcolumntype{T}{J}% +% For tables allowing pagebreaks +\RequirePackage{longtable} +% User interface to set-up whitespace before and after tables: +\newcommand*\sphinxtablepre {0pt}% +\newcommand*\sphinxtablepost{\medskipamount}% +% Space from caption baseline to top of table or frame of literal-block +\newcommand*\sphinxbelowcaptionspace{.5\sphinxbaselineskip}% +% as one can not use \baselineskip from inside longtable (it is zero there) +% we need \sphinxbaselineskip, which defaults to \baselineskip +\def\sphinxbaselineskip{\baselineskip}% +% The following is to ensure that, whether tabular(y) or longtable: +% - if a caption is on top of table: +% a) the space between its last baseline and the top rule of table is +% exactly \sphinxbelowcaptionspace +% b) the space from last baseline of previous text to first baseline of +% caption is exactly \parskip+\baselineskip+ height of a strut. +% c) the caption text will wrap at width \LTcapwidth (4in) +% - make sure this works also if "caption" package is loaded by user +% (with its width or margin option taking place of \LTcapwidth role) +% TODO: obtain same for caption of literal block: a) & c) DONE, b) TO BE DONE +% +% To modify space below such top caption, adjust \sphinxbelowcaptionspace +% To add or remove space above such top caption, adjust \sphinxtablepre: +% notice that \abovecaptionskip, \belowcaptionskip, \LTpre are **ignored** +% A. Table with longtable +\def\sphinxatlongtablestart + {\par + \vskip\parskip + \vskip\dimexpr\sphinxtablepre\relax % adjust vertical position + \vbox{}% get correct baseline from above + \LTpre\z@skip\LTpost\z@skip % set to zero longtable's own skips + \edef\sphinxbaselineskip{\dimexpr\the\dimexpr\baselineskip\relax\relax}% + }% +% Compatibility with caption package +\def\sphinxthelongtablecaptionisattop{% + \spx@ifcaptionpackage{\noalign{\vskip-\belowcaptionskip}}{}% +}% +% Achieves exactly \sphinxbelowcaptionspace below longtable caption +\def\sphinxlongtablecapskipadjust + {\dimexpr-\dp\strutbox + -\spx@ifcaptionpackage{\abovecaptionskip}{\sphinxbaselineskip}% + +\sphinxbelowcaptionspace\relax}% +\def\sphinxatlongtableend{\@nobreakfalse % latex3/latex2e#173 + \prevdepth\z@\vskip\sphinxtablepost\relax}% +% B. Table with tabular or tabulary +\def\sphinxattablestart{\par\vskip\dimexpr\sphinxtablepre\relax}% +\let\sphinxattableend\sphinxatlongtableend +% This is used by tabular and tabulary templates +\newcommand*\sphinxcapstartof[1]{% + \vskip\parskip + \vbox{}% force baselineskip for good positioning by capstart of hyperanchor + % hyperref puts the anchor 6pt above this baseline; in case of caption + % this baseline will be \ht\strutbox above first baseline of caption + \def\@captype{#1}% + \capstart +% move back vertically, as tabular (or its caption) will compensate + \vskip-\baselineskip\vskip-\parskip +}% +\def\sphinxthecaptionisattop{% locate it after \sphinxcapstartof + \spx@ifcaptionpackage + {\caption@setposition{t}% + \vskip\baselineskip\vskip\parskip % undo those from \sphinxcapstartof + \vskip-\belowcaptionskip % anticipate caption package skip + % caption package uses a \vbox, not a \vtop, so "single line" case + % gives different result from "multi-line" without this: + \nointerlineskip + }% + {}% +}% +\def\sphinxthecaptionisatbottom{% (not finalized; for template usage) + \spx@ifcaptionpackage{\caption@setposition{b}}{}% +}% +% The aim of \sphinxcaption is to apply to tabular(y) the maximal width +% of caption as done by longtable +\def\sphinxtablecapwidth{\LTcapwidth}% +\newcommand\sphinxcaption{\@dblarg\spx@caption}% +\long\def\spx@caption[#1]#2{% + \noindent\hb@xt@\linewidth{\hss + \vtop{\@tempdima\dimexpr\sphinxtablecapwidth\relax +% don't exceed linewidth for the caption width + \ifdim\@tempdima>\linewidth\hsize\linewidth\else\hsize\@tempdima\fi +% longtable ignores \abovecaptionskip/\belowcaptionskip, so do the same here + \abovecaptionskip\sphinxabovecaptionskip % \z@skip + \belowcaptionskip\sphinxbelowcaptionskip % \z@skip + \caption[{#1}]% + {\strut\ignorespaces#2\ifhmode\unskip\@finalstrut\strutbox\fi}% + }\hss}% + \par\prevdepth\dp\strutbox +}% +\def\sphinxabovecaptionskip{\z@skip}% Do not use! Flagged for removal +\def\sphinxbelowcaptionskip{\z@skip}% Do not use! Flagged for removal +% This wrapper of \abovecaptionskip is used in sphinxVerbatim for top +% caption, and with another value in sphinxVerbatimintable +% TODO: To unify space above caption of a code-block with the one above +% caption of a table/longtable, \abovecaptionskip must not be used +% This auxiliary will get renamed and receive a different meaning +% in future. +\def\spx@abovecaptionskip{\abovecaptionskip}% +% Achieve \sphinxbelowcaptionspace below a caption located above a tabular +% or a tabulary +\newcommand\sphinxaftertopcaption +{% + \spx@ifcaptionpackage + {\par\prevdepth\dp\strutbox\nobreak\vskip-\abovecaptionskip}{\nobreak}% + \vskip\dimexpr\sphinxbelowcaptionspace\relax + \vskip-\baselineskip\vskip-\parskip +}% +% varwidth is crucial for our handling of general contents in merged cells +\RequirePackage{varwidth} +% but addition of a compatibility patch with hyperref is needed +% (tested with varwidth v 0.92 Mar 2009) +\AtBeginDocument {% + \let\@@vwid@Hy@raisedlink\Hy@raisedlink + \long\def\@vwid@Hy@raisedlink#1{\@vwid@wrap{\@@vwid@Hy@raisedlink{#1}}}% + \edef\@vwid@setup{% + \let\noexpand\Hy@raisedlink\noexpand\@vwid@Hy@raisedlink % HYPERREF ! + \unexpanded\expandafter{\@vwid@setup}}% +}% + +%%%%%%%%%%%%%%%%%%%%% +% --- MULTICOLUMN --- +% standard LaTeX's \multicolumn +% 1. does not allow verbatim contents, +% 2. interacts very poorly with tabulary. +% +% It is needed to write own macros for Sphinx: to allow code-blocks in merged +% cells rendered by tabular/longtable, and to allow multi-column cells with +% paragraphs to be taken into account sanely by tabulary algorithm for column +% widths. +% +% This requires quite a bit of hacking. First, in Sphinx, the multi-column +% contents will *always* be wrapped in a varwidth environment. The issue +% becomes to pass it the correct target width. We must trick tabulary into +% believing the multicolumn is simply separate columns, else tabulary does not +% incorporate the contents in its algorithm. But then we must clear the +% vertical rules... +% +% configuration of tabulary +\setlength{\tymin}{3\fontcharwd\font`0 }% minimal width of "squeezed" columns +\setlength{\tymax}{10000pt}% allow enough room for paragraphs to "compete" +% we need access to tabulary's final computed width. \@tempdima is too volatile +% to hope it has kept tabulary's value when \sphinxcolwidth needs it. +\newdimen\sphinx@TY@tablewidth +\def\tabulary{% + \def\TY@final{\sphinx@TY@tablewidth\@tempdima\tabular}% + \let\endTY@final\endtabular + \TY@tabular}% +% next hack is needed only if user has set latex_use_latex_multicolumn to True: +% it fixes tabulary's bug with \multicolumn defined "short" in first pass. (if +% upstream tabulary adds a \long, our extra one causes no harm) +\def\sphinx@tempa #1\def\multicolumn#2#3#4#5#6#7#8#9\sphinx@tempa + {\def\TY@tab{#1\long\def\multicolumn####1####2####3{\multispan####1\relax}#9}}% +\expandafter\sphinx@tempa\TY@tab\sphinx@tempa +% +% TN. 1: as \omit is never executed, Sphinx multicolumn does not need to worry +% like standard multicolumn about |l| vs l|. On the other hand it assumes +% columns are separated by a | ... (if not it will add extraneous +% \arrayrulewidth space for each column separation in its estimate of available +% width). +% +% TN. 1b: as Sphinx multicolumn uses neither \omit nor \span, it can not +% (easily) get rid of extra macros from >{...} or <{...} between columns. At +% least, it has been made compatible with colortbl's \columncolor. +% +% TN. 2: tabulary's second pass is handled like tabular/longtable's single +% pass, with the difference that we hacked \TY@final to set in +% \sphinx@TY@tablewidth the final target width as computed by tabulary. This is +% needed only to handle columns with a "horizontal" specifier: "p" type columns +% (inclusive of tabulary's LJRC) holds the target column width in the +% \linewidth dimension. +% +% TN. 3: use of \begin{sphinxmulticolumn}...\end{sphinxmulticolumn} mark-up +% would need some hacking around the fact that groups can not span across table +% cells (the code does inserts & tokens, see TN1b). It was decided to keep it +% simple with \sphinxstartmulticolumn...\sphinxstopmulticolumn. +% +% MEMO about nesting: if sphinxmulticolumn is encountered in a nested tabular +% inside a tabulary it will think to be at top level in the tabulary. But +% Sphinx generates no nested tables, and if some LaTeX macro uses internally a +% tabular this will not have a \sphinxstartmulticolumn within it! +% +\def\sphinxstartmulticolumn{% + \ifx\equation$% $ tabulary's first pass + \expandafter\sphinx@TYI@start@multicolumn + \else % either not tabulary or tabulary's second pass + \expandafter\sphinx@start@multicolumn + \fi +}% +\def\sphinxstopmulticolumn{% + \ifx\equation$% $ tabulary's first pass + \expandafter\sphinx@TYI@stop@multicolumn + \else % either not tabulary or tabulary's second pass + \ignorespaces + \fi +}% +\def\sphinx@TYI@start@multicolumn#1{% + % use \gdef always to avoid stack space build up + \gdef\sphinx@tempa{#1}\begingroup\setbox\z@\hbox\bgroup +}% +\def\sphinx@TYI@stop@multicolumn{\egroup % varwidth was used with \tymax + \xdef\sphinx@tempb{\the\dimexpr\wd\z@/\sphinx@tempa}% per column width + \endgroup + \expandafter\sphinx@TYI@multispan\expandafter{\sphinx@tempa}% +}% +\def\sphinx@TYI@multispan #1{% + \kern\sphinx@tempb\ignorespaces % the per column occupied width + \ifnum#1>\@ne % repeat, taking into account subtleties of TeX's & ... + \expandafter\sphinx@TYI@multispan@next\expandafter{\the\numexpr#1-\@ne\expandafter}% + \fi +}% +\def\sphinx@TYI@multispan@next{&\relax\sphinx@TYI@multispan}% +% +% Now the branch handling either the second pass of tabulary or the single pass +% of tabular/longtable. This is the delicate part where we gather the +% dimensions from the p columns either set-up by tabulary or by user p column +% or Sphinx \X, \Y columns. The difficulty is that to get the said width, the +% template must be inserted (other hacks would be horribly complicated except +% if we rewrote crucial parts of LaTeX's \@array !) and we can not do +% \omit\span like standard \multicolumn's easy approach. Thus we must cancel +% the \vrule separators. Also, perhaps the column specifier is of the l, c, r +% type, then we attempt an ad hoc rescue to give varwidth a reasonable target +% width. +\def\sphinx@start@multicolumn#1{% + \gdef\sphinx@multiwidth{0pt}\gdef\sphinx@tempa{#1}\sphinx@multispan{#1}% +}% +\def\sphinx@multispan #1{% + \ifnum#1=\@ne\expandafter\sphinx@multispan@end + \else\expandafter\sphinx@multispan@next + \fi {#1}% +}% +\def\sphinx@multispan@next #1{% + % trick to recognize L, C, R, J or p, m, b type columns + \ifdim\baselineskip>\z@ + \gdef\sphinx@tempb{\linewidth}% + \else + % if in an l, r, c type column, try and hope for the best + \xdef\sphinx@tempb{\the\dimexpr(\ifx\TY@final\@undefined\linewidth\else + \sphinx@TY@tablewidth\fi-\arrayrulewidth)/\sphinx@tempa + -\tw@\tabcolsep-\arrayrulewidth\relax}% + \fi + \noindent\kern\sphinx@tempb\relax + \xdef\sphinx@multiwidth + {\the\dimexpr\sphinx@multiwidth+\sphinx@tempb+\tw@\tabcolsep+\arrayrulewidth}% + % hack the \vline and the colortbl macros + \sphinx@hack@vline\sphinx@hack@CT&\relax + % repeat + \expandafter\sphinx@multispan\expandafter{\the\numexpr#1-\@ne}% +}% +% packages like colortbl add group levels, we need to "climb back up" to be +% able to hack the \vline and also the colortbl inserted tokens. This creates +% empty space whether or not the columns were | separated: +\def\sphinx@hack@vline{\ifnum\currentgrouptype=6\relax + \kern\arrayrulewidth\arrayrulewidth\z@\else\aftergroup\sphinx@hack@vline\fi}% +\def\sphinx@hack@CT{\ifnum\currentgrouptype=6\relax + \let\CT@setup\sphinx@CT@setup\else\aftergroup\sphinx@hack@CT\fi}% +% It turns out \CT@row@color is not expanded contrarily to \CT@column@color +% during LaTeX+colortbl preamble preparation, hence it would be possible for +% \sphinx@CT@setup to discard only the column color and choose to obey or not +% row color and cell color. It would even be possible to propagate cell color +% to row color for the duration of the Sphinx multicolumn... the (provisional?) +% choice has been made to cancel the colortbl colours for the multicolumn +% duration. +\def\sphinx@CT@setup #1\endgroup{\endgroup}% hack to remove colour commands +\def\sphinx@multispan@end#1{% + % first, trace back our steps horizontally + \noindent\kern-\dimexpr\sphinx@multiwidth\relax + % and now we set the final computed width for the varwidth environment + \ifdim\baselineskip>\z@ + \xdef\sphinx@multiwidth{\the\dimexpr\sphinx@multiwidth+\linewidth}% + \else + \xdef\sphinx@multiwidth{\the\dimexpr\sphinx@multiwidth+ + (\ifx\TY@final\@undefined\linewidth\else + \sphinx@TY@tablewidth\fi-\arrayrulewidth)/\sphinx@tempa + -\tw@\tabcolsep-\arrayrulewidth\relax}% + \fi + % we need to remove colour set-up also for last cell of the multi-column + \aftergroup\sphinx@hack@CT +}% +\newcommand*\sphinxcolwidth[2]{% + % this dimension will always be used for varwidth, and serves as maximum + % width when cells are merged either via multirow or multicolumn or both, + % as always their contents is wrapped in varwidth environment. + \ifnum#1>\@ne % multi-column (and possibly also multi-row) + % we wrote our own multicolumn code especially to handle that (and allow + % verbatim contents) + \ifx\equation$%$ + \tymax % first pass of tabulary (cf MEMO above regarding nesting) + \else % the \@gobble thing is for compatibility with standard \multicolumn + \sphinx@multiwidth\@gobble{#1/#2}% + \fi + \else % single column multirow + \ifx\TY@final\@undefined % not a tabulary. + \ifdim\baselineskip>\z@ + % in a p{..} type column, \linewidth is the target box width + \linewidth + \else + % l, c, r columns. Do our best. + \dimexpr(\linewidth-\arrayrulewidth)/#2- + \tw@\tabcolsep-\arrayrulewidth\relax + \fi + \else % in tabulary + \ifx\equation$%$% first pass + \tymax % it is set to a big value so that paragraphs can express themselves + \else + % second pass. + \ifdim\baselineskip>\z@ + \linewidth % in a L, R, C, J column or a p, \X, \Y ... + \else + % we have hacked \TY@final to put in \sphinx@TY@tablewidth the table width + \dimexpr(\sphinx@TY@tablewidth-\arrayrulewidth)/#2- + \tw@\tabcolsep-\arrayrulewidth\relax + \fi + \fi + \fi + \fi +}% +% fallback default in case user has set latex_use_latex_multicolumn to True: +% \sphinxcolwidth will use this only inside LaTeX's standard \multicolumn +\def\sphinx@multiwidth #1#2{\dimexpr % #1 to gobble the \@gobble (!) + (\ifx\TY@final\@undefined\linewidth\else\sphinx@TY@tablewidth\fi + -\arrayrulewidth)*#2-\tw@\tabcolsep-\arrayrulewidth\relax}% + +%%%%%%%%%%%%%%%%%% +% --- MULTIROW --- +% standard \multirow +% 1. does not allow verbatim contents, +% 2. does not allow blank lines in its argument, +% 3. its * specifier means to typeset "horizontally" which is very +% bad for paragraph content. 2016 version has = specifier but it +% must be used with p type columns only, else results are bad, +% 4. it requires manual intervention if the contents is too long to fit +% in the asked-for number of rows. +% 5. colour panels (either from \rowcolor or \columncolor) will hide +% the bottom part of multirow text, hence manual tuning is needed +% to put the multirow insertion at the _bottom_. +% +% The Sphinx solution consists in always having contents wrapped +% in a varwidth environment so that it makes sense to estimate how many +% lines it will occupy, and then ensure by insertion of suitable struts +% that the table rows have the needed height. The needed mark-up is done +% by LaTeX writer, which has its own id for the merged cells. +% +% The colour issue is solved by clearing colour panels in all cells, +% whether or not the multirow is single-column or multi-column. +% +% In passing we obtain baseline alignements across rows (only if +% \arraystretch is 1, as LaTeX's does not obey \arraystretch in "p" +% multi-line contents, only first and last line...) +% +% TODO: examine the situation with \arraystretch > 1. The \extrarowheight +% is hopeless for multirow anyhow, it makes baseline alignment strictly +% impossible. +\newcommand\sphinxmultirow[2]{\begingroup + % #1 = nb of spanned rows, #2 = Sphinx id of "cell", #3 = contents + % but let's fetch #3 in a way allowing verbatim contents ! + \def\sphinx@nbofrows{#1}\def\sphinx@cellid{#2}% + \afterassignment\sphinx@multirow\let\next= +}% +\def\sphinx@multirow {% + \setbox\z@\hbox\bgroup\aftergroup\sphinx@@multirow\strut +}% +\def\sphinx@@multirow {% + % The contents, which is a varwidth environment, has been captured in + % \box0 (a \hbox). + % We have with \sphinx@cellid an assigned unique id. The goal is to give + % about the same height to all the involved rows. + % For this Sphinx will insert a \sphinxtablestrut{cell_id} mark-up + % in LaTeX file and the expansion of the latter will do the suitable thing. + \dimen@\dp\z@ + \dimen\tw@\ht\@arstrutbox + \advance\dimen@\dimen\tw@ + \advance\dimen\tw@\dp\@arstrutbox + \count@=\dimen@ % type conversion dim -> int + \count\tw@=\dimen\tw@ + \divide\count@\count\tw@ % TeX division truncates + \advance\dimen@-\count@\dimen\tw@ + % 1300sp is about 0.02pt. For comparison a rule default width is 0.4pt. + % (note that if \count@ holds 0, surely \dimen@>1300sp) + \ifdim\dimen@>1300sp \advance\count@\@ne \fi + % now \count@ holds the count L of needed "lines" + % and \sphinx@nbofrows holds the number N of rows + % we have L >= 1 and N >= 1 + % if L is a multiple of N, ... clear what to do ! + % else write L = qN + r, 1 <= r < N and we will + % arrange for each row to have enough space for: + % q+1 "lines" in each of the first r rows + % q "lines" in each of the (N-r) bottom rows + % for a total of (q+1) * r + q * (N-r) = q * N + r = L + % It is possible that q == 0. + \count\tw@\count@ + % the TeX division truncates + \divide\count\tw@\sphinx@nbofrows\relax + \count4\count\tw@ % q + \multiply\count\tw@\sphinx@nbofrows\relax + \advance\count@-\count\tw@ % r + \expandafter\xdef\csname sphinx@tablestrut_\sphinx@cellid\endcsname + {\noexpand\sphinx@tablestrut{\the\count4}{\the\count@}{\sphinx@cellid}}% + \dp\z@\z@ + % this will use the real height if it is >\ht\@arstrutbox + \sphinxtablestrut{\sphinx@cellid}\box\z@ + \endgroup % group was opened in \sphinxmultirow +}% +\newcommand*\sphinxtablestrut[1]{% + % #1 is a "cell_id", i.e. the id of a merged group of table cells + \csname sphinx@tablestrut_#1\endcsname +}% +% LaTeX typesets the table row by row, hence each execution can do +% an update for the next row. +\newcommand*\sphinx@tablestrut[3]{\begingroup + % #1 = q, #2 = (initially) r, #3 = cell_id, q+1 lines in first r rows + % if #2 = 0, create space for max(q,1) table lines + % if #2 > 0, create space for q+1 lines and decrement #2 + \leavevmode + \count@#1\relax + \ifnum#2=\z@ + \ifnum\count@=\z@\count@\@ne\fi + \else + % next row will be with a #2 decremented by one + \expandafter\xdef\csname sphinx@tablestrut_#3\endcsname + {\noexpand\sphinx@tablestrut{#1}{\the\numexpr#2-\@ne}{#3}}% + \advance\count@\@ne + \fi + \vrule\@height\ht\@arstrutbox + \@depth\dimexpr\count@\ht\@arstrutbox+\count@\dp\@arstrutbox-\ht\@arstrutbox\relax + \@width\z@ + \endgroup + % we need this to avoid colour panels hiding bottom parts of multirow text + \sphinx@hack@CT +}% + +\endinput diff --git a/source/frUpwork/project_spec/project_spec/sphinxmanual.cls b/source/frUpwork/project_spec/project_spec/sphinxmanual.cls new file mode 100644 index 0000000..2e4b30d --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/sphinxmanual.cls @@ -0,0 +1,128 @@ +% +% sphinxmanual.cls for Sphinx (https://www.sphinx-doc.org/) +% + +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{sphinxmanual}[2019/12/01 v2.3.0 Document class (Sphinx manual)] + +% chapters starting at odd pages (overridden by 'openany' document option) +\PassOptionsToClass{openright}{\sphinxdocclass} + +% 'oneside' option overriding the 'twoside' default +\newif\if@oneside +\DeclareOption{oneside}{\@onesidetrue} +% Pass remaining document options to the parent class. +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\sphinxdocclass}} +\ProcessOptions\relax + +% Defaults two-side document +\if@oneside +% nothing to do (oneside is the default) +\else +\PassOptionsToClass{twoside}{\sphinxdocclass} +\fi + +\LoadClass{\sphinxdocclass} + +% Set some sane defaults for section numbering depth and TOC depth. You can +% reset these counters in your preamble. +% +\setcounter{secnumdepth}{2} +\setcounter{tocdepth}{1} + +% Adapt \and command to the flushright context of \sphinxmaketitle, to +% avoid ragged line endings if author names do not fit all on one single line +\DeclareRobustCommand{\and}{% + \end{tabular}\kern-\tabcolsep + \allowbreak + \hskip\dimexpr1em+\tabcolsep\@plus.17fil\begin{tabular}[t]{c}% +}% +% If it is desired that each author name be on its own line, use in preamble: +%\DeclareRobustCommand{\and}{% +% \end{tabular}\kern-\tabcolsep\\\begin{tabular}[t]{c}% +%}% +% Change the title page to look a bit better, and fit in with the fncychap +% ``Bjarne'' style a bit better. +% +\newcommand{\sphinxmaketitle}{% + \let\sphinxrestorepageanchorsetting\relax + \ifHy@pageanchor\def\sphinxrestorepageanchorsetting{\Hy@pageanchortrue}\fi + \hypersetup{pageanchor=false}% avoid duplicate destination warnings + \begin{titlepage}% + \let\footnotesize\small + \let\footnoterule\relax + \noindent\rule{\textwidth}{1pt}\par + \begingroup % for PDF information dictionary + \def\endgraf{ }\def\and{\& }% + \pdfstringdefDisableCommands{\def\\{, }}% overwrite hyperref setup + \hypersetup{pdfauthor={\@author}, pdftitle={\@title}}% + \endgroup + \begin{flushright}% + \sphinxlogo + \py@HeaderFamily + {\Huge \@title \par} + {\itshape\LARGE \py@release\releaseinfo \par} + \vfill + {\LARGE + \begin{tabular}[t]{c} + \@author + \end{tabular}\kern-\tabcolsep + \par} + \vfill\vfill + {\large + \@date \par + \vfill + \py@authoraddress \par + }% + \end{flushright}%\par + \@thanks + \end{titlepage}% + \setcounter{footnote}{0}% + \let\thanks\relax\let\maketitle\relax + %\gdef\@thanks{}\gdef\@author{}\gdef\@title{} + \clearpage + \ifdefined\sphinxbackoftitlepage\sphinxbackoftitlepage\fi + \if@openright\cleardoublepage\else\clearpage\fi + \sphinxrestorepageanchorsetting +} + +\newcommand{\sphinxtableofcontents}{% + \pagenumbering{roman}% + \begingroup + \parskip \z@skip + \sphinxtableofcontentshook + \tableofcontents + \endgroup + % before resetting page counter, let's do the right thing. + \if@openright\cleardoublepage\else\clearpage\fi + \pagenumbering{arabic}% +} + +% This is needed to get the width of the section # area wide enough in the +% library reference. Doing it here keeps it the same for all the manuals. +% +\newcommand{\sphinxtableofcontentshook}{% + \renewcommand*\l@section{\@dottedtocline{1}{1.5em}{2.6em}}% + \renewcommand*\l@subsection{\@dottedtocline{2}{4.1em}{3.5em}}% +} + +% Fix the bibliography environment to add an entry to the Table of +% Contents. +% For a report document class this environment is a chapter. +% +\newenvironment{sphinxthebibliography}[1]{% + \if@openright\cleardoublepage\else\clearpage\fi + % \phantomsection % not needed here since TeXLive 2010's hyperref + \begin{thebibliography}{#1}% + \addcontentsline{toc}{chapter}{\bibname}}{\end{thebibliography}} + +% Same for the indices. +% The memoir class already does this, so we don't duplicate it in that case. +% +\@ifclassloaded{memoir} + {\newenvironment{sphinxtheindex}{\begin{theindex}}{\end{theindex}}} + {\newenvironment{sphinxtheindex}{% + \if@openright\cleardoublepage\else\clearpage\fi + \phantomsection % needed as no chapter, section, ... created + \begin{theindex}% + \addcontentsline{toc}{chapter}{\indexname}}{\end{theindex}}} diff --git a/source/frUpwork/project_spec/project_spec/sphinxmessages.sty b/source/frUpwork/project_spec/project_spec/sphinxmessages.sty new file mode 100644 index 0000000..68ebffa --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/sphinxmessages.sty @@ -0,0 +1,21 @@ +% +% sphinxmessages.sty +% +% message resources for Sphinx +% +\ProvidesPackage{sphinxmessages}[2019/01/04 v2.0 Localized LaTeX macros (Sphinx team)] + +\renewcommand{\literalblockcontinuedname}{continued from previous page} +\renewcommand{\literalblockcontinuesname}{continues on next page} +\renewcommand{\sphinxnonalphabeticalgroupname}{Non\sphinxhyphen{}alphabetical} +\renewcommand{\sphinxsymbolsname}{Symbols} +\renewcommand{\sphinxnumbersname}{Numbers} +\def\pageautorefname{page} + +\addto\captionsenglish{\renewcommand{\figurename}{Fig.\@{} }} +\def\fnum@figure{\figurename\thefigure{}} + +\addto\captionsenglish{\renewcommand{\tablename}{Table }} +\def\fnum@table{\tablename\thetable{}} + +\addto\captionsenglish{\renewcommand{\literalblockname}{Listing}} \ No newline at end of file diff --git a/source/frUpwork/project_spec/project_spec/sphinxoptionsgeometry.sty b/source/frUpwork/project_spec/project_spec/sphinxoptionsgeometry.sty new file mode 100644 index 0000000..af5a804 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/sphinxoptionsgeometry.sty @@ -0,0 +1,54 @@ +%% OPTIONS FOR GEOMETRY +% +% change this info string if making any custom modification +\ProvidesFile{sphinxoptionsgeometry.sty}[2021/01/27 geometry] + +% geometry +\ifx\kanjiskip\@undefined + \PassOptionsToPackage{% + hmargin={\unexpanded{\spx@opt@hmargin}},% + vmargin={\unexpanded{\spx@opt@vmargin}},% + marginpar=\unexpanded{\spx@opt@marginpar}} + {geometry} +\else + % set text width for Japanese documents to be integer multiple of 1zw + % and text height to be integer multiple of \baselineskip + % the execution is delayed to \sphinxsetup then geometry.sty + \normalsize\normalfont + \newcommand*\sphinxtextwidthja[1]{% + \if@twocolumn\tw@\fi + \dimexpr + \numexpr\dimexpr\paperwidth-\tw@\dimexpr#1\relax\relax/ + \dimexpr\if@twocolumn\tw@\else\@ne\fi zw\relax + zw\relax}% + \newcommand*\sphinxmarginparwidthja[1]{% + \dimexpr\numexpr\dimexpr#1\relax/\dimexpr1zw\relax zw\relax}% + \newcommand*\sphinxtextlinesja[1]{% + \numexpr\@ne+\dimexpr\paperheight-\topskip-\tw@\dimexpr#1\relax\relax/ + \baselineskip\relax}% + \ifx\@jsc@uplatextrue\@undefined\else + % the way we found in order for the papersize special written by + % geometry in the dvi file to be correct in case of jsbook class + \ifnum\mag=\@m\else % do nothing special if nomag class option or 10pt + \PassOptionsToPackage{truedimen}{geometry}% + \fi + \fi + \PassOptionsToPackage{% + hmarginratio={1:1},% + textwidth=\unexpanded{\sphinxtextwidthja{\spx@opt@hmargin}},% + vmarginratio={1:1},% + lines=\unexpanded{\sphinxtextlinesja{\spx@opt@vmargin}},% + marginpar=\unexpanded{\sphinxmarginparwidthja{\spx@opt@marginpar}},% + footskip=2\baselineskip,% + }{geometry}% + \AtBeginDocument + {% update a dimension used by the jsclasses + \ifx\@jsc@uplatextrue\@undefined\else\fullwidth\textwidth\fi + % for some reason, jreport normalizes all dimensions with \@settopoint + \@ifclassloaded{jreport} + {\@settopoint\textwidth\@settopoint\textheight\@settopoint\marginparwidth} + {}% <-- "false" clause of \@ifclassloaded + }% +\fi + +\endinput diff --git a/source/frUpwork/project_spec/project_spec/sphinxoptionshyperref.sty b/source/frUpwork/project_spec/project_spec/sphinxoptionshyperref.sty new file mode 100644 index 0000000..b88f108 --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/sphinxoptionshyperref.sty @@ -0,0 +1,35 @@ +%% Bookmarks and hyperlinks +% +% change this info string if making any custom modification +\ProvidesFile{sphinxoptionshyperref.sty}[2021/01/27 hyperref] + +% to make pdf with correct encoded bookmarks in Japanese +% this should precede the hyperref package +\ifx\kanjiskip\@undefined +% for non-Japanese: make sure bookmarks are ok also with lualatex + \PassOptionsToPackage{pdfencoding=unicode}{hyperref} +\else + \RequirePackage{atbegshi} + \ifx\ucs\@undefined + \ifnum 42146=\euc"A4A2 + \AtBeginShipoutFirst{\special{pdf:tounicode EUC-UCS2}} + \else + \AtBeginShipoutFirst{\special{pdf:tounicode 90ms-RKSJ-UCS2}} + \fi + \else + \AtBeginShipoutFirst{\special{pdf:tounicode UTF8-UCS2}} + \fi +\fi + +\ifx\@jsc@uplatextrue\@undefined\else + \PassOptionsToPackage{setpagesize=false}{hyperref} +\fi + +% These options can be overridden inside 'hyperref' key +% or by later use of \hypersetup. +\PassOptionsToPackage{colorlinks,breaklinks,% + linkcolor=InnerLinkColor,filecolor=OuterLinkColor,% + menucolor=OuterLinkColor,urlcolor=OuterLinkColor,% + citecolor=InnerLinkColor}{hyperref} + +\endinput diff --git a/source/frUpwork/project_spec/project_spec/sphinxpackagecyrillic.sty b/source/frUpwork/project_spec/project_spec/sphinxpackagecyrillic.sty new file mode 100644 index 0000000..9aa62fc --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/sphinxpackagecyrillic.sty @@ -0,0 +1,55 @@ +%% CYRILLIC IN NON-CYRILLIC DOCUMENTS (pdflatex only) +% +% refs: https://tex.stackexchange.com/q/460271/ +\ProvidesPackage{sphinxpackagecyrillic}% + [2018/11/21 v2.0 support for Cyrillic in non-Cyrillic documents] +\RequirePackage{kvoptions} +\SetupKeyvalOptions{prefix=spx@cyropt@} % use \spx@cyropt@ prefix +\DeclareBoolOption[false]{Xtwo} +\DeclareBoolOption[false]{TtwoA} +\DeclareDefaultOption{\@unknownoptionerror} +\ProcessLocalKeyvalOptions* % ignore class options + +\ifspx@cyropt@Xtwo +% original code by tex.sx user egreg (updated 2019/10/28): +% https://tex.stackexchange.com/a/460325/ +% 159 Cyrillic glyphs as available in X2 TeX 8bit font encoding +% This assumes inputenc loaded with utf8 option, or LaTeX release +% as recent as 2018/04/01 which does it automatically. + \@tfor\next:=% + {Ё}{Ђ}{Є}{Ѕ}{І}{Ј}{Љ}{Њ}{Ћ}{Ў}{Џ}{А}{Б}{В}{Г}{Д}{Е}{Ж}{З}{И}{Й}% + {К}{Л}{М}{Н}{О}{П}{Р}{С}{Т}{У}{Ф}{Х}{Ц}{Ч}{Ш}{Щ}{Ъ}{Ы}{Ь}{Э}{Ю}% + {Я}{а}{б}{в}{г}{д}{е}{ж}{з}{и}{й}{к}{л}{м}{н}{о}{п}{р}{с}{т}{у}% + {ф}{х}{ц}{ч}{ш}{щ}{ъ}{ы}{ь}{э}{ю}{я}{ё}{ђ}{є}{ѕ}{і}{ј}{љ}{њ}{ћ}% + {ў}{џ}{Ѣ}{ѣ}{Ѫ}{ѫ}{Ѵ}{ѵ}{Ґ}{ґ}{Ғ}{ғ}{Ҕ}{ҕ}{Җ}{җ}{Ҙ}{ҙ}{Қ}{қ}{Ҝ}{ҝ}% + {Ҟ}{ҟ}{Ҡ}{ҡ}{Ң}{ң}{Ҥ}{ҥ}{Ҧ}{ҧ}{Ҩ}{ҩ}{Ҫ}{ҫ}{Ҭ}{ҭ}{Ү}{ү}{Ұ}{ұ}{Ҳ}{ҳ}% + {Ҵ}{ҵ}{Ҷ}{ҷ}{Ҹ}{ҹ}{Һ}{һ}{Ҽ}{ҽ}{Ҿ}{ҿ}{Ӏ}{Ӄ}{ӄ}{Ӆ}{ӆ}{Ӈ}{ӈ}{Ӌ}{ӌ}% + {Ӎ}{ӎ}{Ӕ}{ӕ}{Ә}{ә}{Ӡ}{ӡ}{Ө}{ө}\do + {% + \begingroup\def\IeC{\protect\DeclareTextSymbolDefault}% + \protected@edef\@temp{\endgroup + \@ifl@t@r{\fmtversion}{2019/10/01}{\csname u8:\next\endcsname}{\next}}% + \@temp{X2}% + }% +\else +\ifspx@cyropt@TtwoA +% original code by tex.sx user jfbu: +% https://tex.stackexchange.com/a/460305/ +% 63*2+1=127 Cyrillic glyphs as found in T2A 8bit TeX font-encoding + \@tfor\@tempa:=% + {ae}{a}{b}{chrdsc}{chvcrs}{ch}{c}{dje}{dze}{dzhe}{d}{erev}{ery}{e}% + {f}{ghcrs}{gup}{g}{hdsc}{hrdsn}{h}{ie}{ii}{ishrt}{i}{je}% + {kbeak}{kdsc}{kvcrs}{k}{lje}{l}{m}{ndsc}{ng}{nje}{n}{otld}{o}{p}{r}% + {schwa}{sdsc}{sftsn}{shch}{shha}{sh}{s}{tshe}{t}{ushrt}{u}{v}% + {ya}{yhcrs}{yi}{yo}{yu}{y}{zdsc}{zhdsc}{zh}{z}\do + {% + \expandafter\DeclareTextSymbolDefault\expandafter + {\csname cyr\@tempa\endcsname}{T2A}% + \expandafter\uppercase\expandafter{\expandafter + \def\expandafter\@tempa\expandafter{\@tempa}}% + \expandafter\DeclareTextSymbolDefault\expandafter + {\csname CYR\@tempa\endcsname}{T2A}% + }% + \DeclareTextSymbolDefault{\CYRpalochka}{T2A}% +\fi\fi +\endinput diff --git a/source/frUpwork/project_spec/project_spec/sphinxpackagefootnote.sty b/source/frUpwork/project_spec/project_spec/sphinxpackagefootnote.sty new file mode 100644 index 0000000..a6071cf --- /dev/null +++ b/source/frUpwork/project_spec/project_spec/sphinxpackagefootnote.sty @@ -0,0 +1,396 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{sphinxpackagefootnote}% + [2021/02/04 v1.1d footnotehyper adapted to sphinx (Sphinx team)] +% Provides support for this output mark-up from Sphinx latex writer: +% - footnote environment +% - savenotes environment (table templates) +% - \sphinxfootnotemark +% +%% +%% Package: sphinxpackagefootnote +%% Version: based on footnotehyper.sty 2021/02/04 v1.1d +%% as available at https://www.ctan.org/pkg/footnotehyper +%% License: the one applying to Sphinx +%% +%% Refer to the PDF documentation at https://www.ctan.org/pkg/footnotehyper for +%% the code comments. +%% +%% Differences: +%% 1. a partial tabulary compatibility layer added (enough for Sphinx mark-up), +%% 2. use of \spx@opt@BeforeFootnote from sphinx.sty, +%% 3. use of \sphinxunactivateextrasandspace from sphinx.sty, +%% 4. macro definition \sphinxfootnotemark, +%% 5. macro definition \sphinxlongtablepatch +%% 6. replaced some \undefined by \@undefined +\newif\iffootnotehyperparse\footnotehyperparsetrue +\DeclareOption*{\PackageWarning{sphinxpackagefootnote}{Option `\CurrentOption' is unknown}}% +\ProcessOptions\relax +\newbox\FNH@notes +\newtoks\FNH@toks % 1.1c +\newdimen\FNH@width +\let\FNH@colwidth\columnwidth +\newif\ifFNH@savingnotes +\AtBeginDocument {% + \let\FNH@latex@footnote \footnote + \let\FNH@latex@footnotetext\footnotetext + \let\FNH@H@@footnotetext \@footnotetext + \let\FNH@H@@mpfootnotetext \@mpfootnotetext + \newenvironment{savenotes} + {\FNH@savenotes\ignorespaces}{\FNH@spewnotes\ignorespacesafterend}% + \let\spewnotes \FNH@spewnotes + \let\footnote \FNH@footnote + \let\footnotetext \FNH@footnotetext + \let\endfootnote \FNH@endfntext + \let\endfootnotetext\FNH@endfntext + \@ifpackageloaded{hyperref} + {\ifHy@hyperfootnotes + \let\FNH@H@@footnotetext\H@@footnotetext + \let\FNH@H@@mpfootnotetext\H@@mpfootnotetext + \else + \let\FNH@hyper@fntext\FNH@nohyp@fntext + \fi}% + {\let\FNH@hyper@fntext\FNH@nohyp@fntext}% +}% +\def\FNH@hyper@fntext{\FNH@fntext\FNH@hyper@fntext@i}% +\def\FNH@nohyp@fntext{\FNH@fntext\FNH@nohyp@fntext@i}% +\def\FNH@fntext #1{% + \ifx\ifmeasuring@\@undefined + \expandafter\@secondoftwo\else\expandafter\@firstofone\fi +% these two lines modified for Sphinx (tabulary compatibility): + {\ifmeasuring@\expandafter\@gobbletwo\else\expandafter\@firstofone\fi}% + {\ifx\equation$\expandafter\@gobbletwo\fi #1}%$ +}% +\long\def\FNH@hyper@fntext@i#1{% + \global\setbox\FNH@notes\vbox + {\unvbox\FNH@notes + \FNH@startnote + \@makefntext + {\rule\z@\footnotesep\ignorespaces + \ifHy@nesting\expandafter\ltx@firstoftwo + \else\expandafter\ltx@secondoftwo + \fi + {\expandafter\hyper@@anchor\expandafter{\Hy@footnote@currentHref}{#1}}% + {\Hy@raisedlink + {\expandafter\hyper@@anchor\expandafter{\Hy@footnote@currentHref}% + {\relax}}% + \let\@currentHref\Hy@footnote@currentHref + \let\@currentlabelname\@empty + #1}% + \@finalstrut\strutbox + }% + \FNH@endnote + }% +}% +\long\def\FNH@nohyp@fntext@i#1{% + \global\setbox\FNH@notes\vbox + {\unvbox\FNH@notes + \FNH@startnote + \@makefntext{\rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% + \FNH@endnote + }% +}% +\def\FNH@startnote{% + \hsize\FNH@colwidth + \interlinepenalty\interfootnotelinepenalty + \reset@font\footnotesize + \floatingpenalty\@MM + \@parboxrestore + \protected@edef\@currentlabel{\csname p@\@mpfn\endcsname\@thefnmark}% + \color@begingroup +}% +\def\FNH@endnote{\color@endgroup}% +\def\FNH@savenotes{% + \begingroup + \ifFNH@savingnotes\else + \FNH@savingnotestrue + \let\@footnotetext \FNH@hyper@fntext + \let\@mpfootnotetext \FNH@hyper@fntext + \let\H@@mpfootnotetext\FNH@nohyp@fntext + \FNH@width\columnwidth + \let\FNH@colwidth\FNH@width + \global\setbox\FNH@notes\box\voidb@x + \let\FNH@thempfn\thempfn + \let\FNH@mpfn\@mpfn + \ifx\@minipagerestore\relax\let\@minipagerestore\@empty\fi + \expandafter\def\expandafter\@minipagerestore\expandafter{% + \@minipagerestore + \let\thempfn\FNH@thempfn + \let\@mpfn\FNH@mpfn + }% + \fi +}% +\def\FNH@spewnotes {% + \if@endpe\ifx\par\@@par\FNH@toks{}\else + \FNH@toks\expandafter{\expandafter + \def\expandafter\par\expandafter{\par}\@endpetrue}% + \expandafter\expandafter\expandafter + \FNH@toks + \expandafter\expandafter\expandafter + {\expandafter\the\expandafter\FNH@toks + \expandafter\def\expandafter\@par\expandafter{\@par}}% + \expandafter\expandafter\expandafter + \FNH@toks + \expandafter\expandafter\expandafter + {\expandafter\the\expandafter\FNH@toks + \expandafter\everypar\expandafter{\the\everypar}}\fi + \else\FNH@toks{}\fi + \expandafter + \endgroup\the\FNH@toks + \ifFNH@savingnotes\else + \ifvoid\FNH@notes\else + \begingroup + \let\@makefntext\@empty + \let\@finalstrut\@gobble + \let\rule\@gobbletwo + \ifx\@footnotetext\@mpfootnotetext + \expandafter\FNH@H@@mpfootnotetext + \else + \expandafter\FNH@H@@footnotetext + \fi{\unvbox\FNH@notes}% + \endgroup + \fi + \fi +}% +\def\FNH@footnote@envname {footnote}% +\def\FNH@footnotetext@envname{footnotetext}% +\def\FNH@footnote{% +% this line added for Sphinx: + \spx@opt@BeforeFootnote + \ifx\@currenvir\FNH@footnote@envname + \expandafter\FNH@footnoteenv + \else + \expandafter\FNH@latex@footnote + \fi +}% +\def\FNH@footnoteenv{% +% this line added for Sphinx (footnotes in parsed literal blocks): + \catcode13=5 \sphinxunactivateextrasandspace + \@ifnextchar[% + \FNH@footnoteenv@i %] + {\stepcounter\@mpfn + \protected@xdef\@thefnmark{\thempfn}% + \@footnotemark + \def\FNH@endfntext@fntext{\@footnotetext}% + \FNH@startfntext}% +}% +\def\FNH@footnoteenv@i[#1]{% + \begingroup + \csname c@\@mpfn\endcsname #1\relax + \unrestored@protected@xdef\@thefnmark{\thempfn}% + \endgroup + \@footnotemark + \def\FNH@endfntext@fntext{\@footnotetext}% + \FNH@startfntext +}% +\def\FNH@footnotetext{% + \ifx\@currenvir\FNH@footnotetext@envname + \expandafter\FNH@footnotetextenv + \else + \expandafter\FNH@latex@footnotetext + \fi +}% +\def\FNH@footnotetextenv{% + \@ifnextchar[% + \FNH@footnotetextenv@i %] + {\protected@xdef\@thefnmark{\thempfn}% + \def\FNH@endfntext@fntext{\@footnotetext}% + \FNH@startfntext}% +}% +\def\FNH@footnotetextenv@i[#1]{% + \begingroup + \csname c@\@mpfn\endcsname #1\relax + \unrestored@protected@xdef\@thefnmark{\thempfn}% + \endgroup + \ifFNH@savingnotes + \def\FNH@endfntext@fntext{\FNH@nohyp@fntext}% + \else + \def\FNH@endfntext@fntext{\FNH@H@@footnotetext}% + \fi + \FNH@startfntext +}% +\def\FNH@startfntext{% + \setbox\z@\vbox\bgroup + \FNH@startnote + \FNH@prefntext + \rule\z@\footnotesep\ignorespaces +}% +\def\FNH@endfntext {% + \@finalstrut\strutbox + \FNH@postfntext + \FNH@endnote + \egroup + \begingroup + \let\@makefntext\@empty\let\@finalstrut\@gobble\let\rule\@gobbletwo + \FNH@endfntext@fntext {\unvbox\z@}% + \endgroup +}% +\let\FNH@prefntext\@empty +\let\FNH@postfntext\@empty +\AtBeginDocument{\iffootnotehyperparse\expandafter\FNH@check\fi}% +\def\FNH@safeif#1{% + \iftrue\csname if#1\endcsname\csname fi\endcsname\expandafter\@firstoftwo + \else\csname fi\endcsname\expandafter\@secondoftwo + \fi +}% +\def\FNH@check{% + \ifx\@makefntextFB\@undefined\expandafter\FNH@check@ + \else\expandafter\FNH@frenchb@ + \fi +}% +\def\FNH@frenchb@{% + \def\FNH@prefntext{% + \localleftbox{}% + \let\FBeverypar@save\FBeverypar@quote + \let\FBeverypar@quote\relax + \FNH@safeif{FB@koma}% + {\FNH@safeif{FBFrenchFootnotes}% + {\ifx\footnote\thanks + \let\@@makefnmark\@@makefnmarkTH + \@makefntextTH{} % space as in french.ldf + \else + \let\@@makefnmark\@@makefnmarkFB + \@makefntextFB{} % space as in french.ldf + \fi + }{\let\@@makefnmark\@@makefnmarkORI + \@makefntextORI{}% no space as in french.ldf + }% + }% + {\FNH@safeif{FBFrenchFootnotes}% + {\@makefntextFB{}}% + {\@makefntextORI{}}% + }% + }% + \def\FNH@postfntext{% + \let\FBeverypar@quote\FBeverypar@save + \localleftbox{\FBeveryline@quote}% + }% +}% +\def\FNH@check@{% + \expandafter\FNH@check@a\@makefntext{1.2!3?4,}% + \FNH@@@1.2!3?4,\FNH@@@\relax +}% +\long\def\FNH@check@a #11.2!3?4,#2\FNH@@@#3{% + \ifx\relax#3\expandafter\FNH@checkagain@ + \else + \def\FNH@prefntext{#1}\def\FNH@postfntext{#2}% + \expandafter\FNH@check@b + \fi +}% +\def\FNH@checkagain@{% + \expandafter\FNH@checkagain@a + \detokenize\expandafter{\@makefntext{1.2!3?4,}}\relax\FNH@@@ +}% +\edef\FNH@temp{\noexpand\FNH@checkagain@a ##1\string{1.2!3?4,\string}}% +\expandafter\def\FNH@temp#2#3\FNH@@@{% + \ifx\relax#2% + \def\FNH@prefntext{\@makefntext{}}% + \else\FNH@bad@makefntext@alert + \fi +}% +\def\FNH@check@b #1\relax{% + \expandafter\expandafter\expandafter\FNH@check@c + \expandafter\meaning\expandafter\FNH@prefntext + \meaning\FNH@postfntext1.2!3?4,\FNH@check@c\relax +}% +\def\FNH@check@c #11.2!3?4,#2#3\relax{% + \ifx\FNH@check@c#2\else\FNH@bad@makefntext@alert\fi +}% +% slight reformulation for Sphinx +\def\FNH@bad@makefntext@alert{% + \PackageWarningNoLine{sphinxpackagefootnote}% + {Footnotes will be sub-optimal, sorry. This is due to the document class or^^J + some package modifying macro \string\@makefntext.^^J + You can try to report this incompatibility at^^J + https://github.com/sphinx-doc/sphinx with this info:}% + \typeout{\meaning\@makefntext}% + \let\FNH@prefntext\@empty\let\FNH@postfntext\@empty +}% +% this macro from original footnote.sty is not used anymore by Sphinx +% but for simplicity sake let's just keep it as is +\def\makesavenoteenv{\@ifnextchar[\FNH@msne@ii\FNH@msne@i}%] +\def\FNH@msne@i #1{% + \expandafter\let\csname FNH$#1\expandafter\endcsname %$ + \csname #1\endcsname + \expandafter\let\csname endFNH$#1\expandafter\endcsname %$ + \csname end#1\endcsname + \FNH@msne@ii[#1]{FNH$#1}%$ +}% +\def\FNH@msne@ii[#1]#2{% + \expandafter\edef\csname#1\endcsname{% + \noexpand\savenotes + \expandafter\noexpand\csname#2\endcsname + }% + \expandafter\edef\csname end#1\endcsname{% + \expandafter\noexpand\csname end#2\endcsname + \noexpand\expandafter + \noexpand\spewnotes + \noexpand\if@endpe\noexpand\@endpetrue\noexpand\fi + }% +}% +% +% some extras for Sphinx : +% \sphinxfootnotemark: usable in section titles and silently removed from TOCs. +\def\sphinxfootnotemark [#1]% + {\ifx\thepage\relax\else\sphinxfootref{#1}\fi}% +% \sphinxfootref: +% - \spx@opt@BeforeFootnote is from BeforeFootnote sphinxsetup option +% - \ref: +% the latex.py writer inserts a \phantomsection\label{.} +% whenever +% - the footnote was explicitly numbered in sources, +% - or it was in restrained context and is rendered using footnotetext +% +% These are the two types of footnotes that \sphinxfootnotemark must +% handle. But for explicitly numbered footnotes the same number +% can be found in document. So a secondary part in is updated +% at each novel such footnote to know what is the target from then on +% for \sphinxfootnotemark and already encountered [1], or [2],... +% +% LaTeX package varioref is not supported by hyperref (from its doc: "There +% are too many problems with varioref. Nobody has time to sort them out. +% Therefore this package is now unsupported.") So we will simply use our own +% macros to access the page number of footnote text and decide whether to print +% it. \pagename is internationalized by latex-babel. +\def\spx@thefnmark#1#2{% + % #1=label for reference, #2=page where footnote was printed + \ifx\spx@tempa\spx@tempb + % same page + #1% + \else + \sphinxthefootnotemark{#1}{#2}% + \fi +}% +\def\sphinxfootref@get #1#2#3#4#5\relax{% + \def\sphinxfootref@label{#1}% + \def\sphinxfootref@page {#2}% + \def\sphinxfootref@Href {#4}% +}% +\protected\def\sphinxfootref#1{% #1 always explicit number in Sphinx usage + \spx@opt@BeforeFootnote + \ltx@ifundefined{r@\thesphinxscope.#1}% + {\gdef\@thefnmark{?}\H@@footnotemark}% + {\expandafter\expandafter\expandafter\sphinxfootref@get + \csname r@\thesphinxscope.#1\endcsname\relax + \edef\spx@tempa{\thepage}\edef\spx@tempb{\sphinxfootref@page}% + \protected@xdef\@thefnmark{\spx@thefnmark{\sphinxfootref@label}{\sphinxfootref@page}}% + \let\spx@@makefnmark\@makefnmark + \def\@makefnmark{% + \hyper@linkstart{link}{\sphinxfootref@Href}% + \spx@@makefnmark + \hyper@linkend + }% + \H@@footnotemark + \let\@makefnmark\spx@@makefnmark + }% +}% +\AtBeginDocument{% + % let hyperref less complain + \pdfstringdefDisableCommands{\def\sphinxfootnotemark [#1]{}}% + % to obtain hyperlinked footnotes in longtable environment we must replace + % hyperref's patch of longtable's patch of \@footnotetext by our own + \let\LT@p@ftntext\FNH@hyper@fntext + % this *requires* longtable to be used always wrapped in savenotes environment +}% +\endinput +%% +%% End of file `sphinxpackagefootnote.sty'. diff --git a/source/frontmatter.rst b/source/frontmatter.rst new file mode 100644 index 0000000..ab56ba4 --- /dev/null +++ b/source/frontmatter.rst @@ -0,0 +1,4 @@ +This is the front matter +============================== + +I want to see what I can put in here \ No newline at end of file diff --git a/source/index.rst b/source/index.rst new file mode 100644 index 0000000..b7534e3 --- /dev/null +++ b/source/index.rst @@ -0,0 +1,31 @@ +.. + These specifications are based on The National Master Specification (NMS) is the most comprehensive master specification in Canada, serving as an easy-to-use framework for writing construction project specifications. + + For more information on these specifications please visit - https://nrc.canada.ca/en/certifications-evaluations-standards/canadian-national-master-construction-specification + + + + +.. + This is where I will be adding any other text and image substitutions that will be needed throughout the "typical" specification + +.. |Title| replace:: Title of the Report +.. |SubTitle| replace:: Subtitle of the Report + + +|Title| +========================== + +.. toctree:: + :maxdepth: 3 + :caption: Table of Contents + :name: mastertoc + :numbered: + :glob: + + frontmatter + 111136.10 + 260500 + 260521 + 260526 +