{"id":25704949,"url":"https://github.com/dominikpeters/texpresso-vscode","last_synced_at":"2025-04-30T09:25:13.154Z","repository":{"id":237966740,"uuid":"795594323","full_name":"DominikPeters/texpresso-vscode","owner":"DominikPeters","description":"Visual Studio Code extension for interacting with texpresso","archived":false,"fork":false,"pushed_at":"2025-03-11T20:31:54.000Z","size":341,"stargazers_count":16,"open_issues_count":7,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-30T14:51:11.067Z","etag":null,"topics":["latex","tex","texpresso","vscode"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=DominikPeters.texpresso-basic","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DominikPeters.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-03T16:04:18.000Z","updated_at":"2025-03-29T12:01:34.000Z","dependencies_parsed_at":"2024-05-09T22:23:26.004Z","dependency_job_id":"7ad668a1-a0ed-4074-af42-70bc5089a732","html_url":"https://github.com/DominikPeters/texpresso-vscode","commit_stats":null,"previous_names":["dominikpeters/texpresso-vscode"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DominikPeters%2Ftexpresso-vscode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DominikPeters%2Ftexpresso-vscode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DominikPeters%2Ftexpresso-vscode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DominikPeters%2Ftexpresso-vscode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DominikPeters","download_url":"https://codeload.github.com/DominikPeters/texpresso-vscode/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251675597,"owners_count":21625846,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["latex","tex","texpresso","vscode"],"created_at":"2025-02-25T06:33:31.191Z","updated_at":"2025-04-30T09:25:13.131Z","avatar_url":"https://github.com/DominikPeters.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TeXpresso VS Code Extension\nVisual Studio Code extension for interacting with [TeXpresso](https://github.com/let-def/texpresso/), which provides a \"live rendering\" experience when editing LaTeX documents. TeXpresso needs to be installed separately to use this extension, following its [install guide](https://github.com/let-def/texpresso/blob/main/INSTALL.md) which contains instructions for macOS, Fedora, Arch Linux, Debian, and Ubuntu. The extension can be used simultaneously with other LaTeX extensions such as [LaTeX Workshop](https://github.com/James-Yu/LaTeX-Workshop).\n\n![ezgif-6-3b2ad402f4](https://github.com/DominikPeters/texpresso-vscode/assets/3543224/0ff5cf57-5a2e-48cd-9e5f-633a5ed44411)\n\nAfter installing the extension, you need to configure the path to the TeXpresso binary in the settings.\n\nTo use this extension, open the `.tex` document you wish to edit, then open the command pallete (\u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003eP\u003c/kbd\u003e), and select `TeXpresso: Start Document`. A separate window will open showing the compiled preview. The preview immediately updates when you edit the file in VS Code, and using SyncTeX the preview automatically jumps to the current code position (and vice versa for clicks in the preview window). Buttons at the top of the editor are provided to switch pages, and a compile log for seeing compilation errors can be found by using the Output panel.\n\n## Features\n\nTo change pages, use the buttons:\n![recording10](https://github.com/DominikPeters/texpresso-vscode/assets/3543224/2dbfb081-409e-4f31-b3af-e64cea25414b)\n\nUse SyncTeX (forwards - editor to preview):\n![recording11](https://github.com/DominikPeters/texpresso-vscode/assets/3543224/80824192-f9e9-4f71-9959-df5ed7d5d617)\n\nUse SyncTeX (backwards - preview to editor):\n![recording12](https://github.com/DominikPeters/texpresso-vscode/assets/3543224/4a9c7709-275f-48d5-b6f9-dcaeede0c622)\n\nUse theme colors in preview (if the `useEditorTheme` setting is activated):\n\u003cimg src=\"https://github.com/DominikPeters/texpresso-vscode/assets/3543224/8b09d947-82cc-418b-a4d0-a0b66f75dd49\" width=\"800\"\u003e\n\n## Requirements\n\nTeXpresso must be installed, and must be callable at the path provided in the `texpresso.command` setting.\n\n## Extension Settings\n\nThis extension contributes the following settings:\n\n* `texpresso.command`: The path to the texpresso binary.\n* `texpresso.useWSL`: Controls whether to run TeXpresso within Windows Subsystem for Linux (WSL).\n* `texpresso.syncTeXForwardOnSelection`: Controls whether the preview should be updated when the selection in the editor changes.\n* `texpresso.useEditorTheme`: Controls whether the preview should use the same color theme as the editor.\n\n## Architecture\n\nTeXpresso and the underlying LaTeX compilers are based on a UTF-8 byte representation, and [communication between the editor and TeXpresso](https://github.com/let-def/texpresso/blob/main/EDITOR-PROTOCOL.md) occurs in terms of byte offsets. However, VS Code only provides access to character positions and not their byte position. Thus, this extension keeps a copy of the current document in a *rope* data structure ([wikipedia](https://en.wikipedia.org/wiki/Rope_(data_structure))), enriched with byte offsets. This allows for efficient conversion between character and byte positions, and also allows for efficient edits to the underlying text string. The [code for the rope data structure](https://github.com/DominikPeters/texpresso-vscode/blob/master/src/rope.ts) builds on https://github.com/component/rope.\n\n## Known Issues\n\nThe extension does not yet react instantaenously to changes to files that are included using commands like `\\input`.\n\nLoses connection if the filename of the main document is changed.\n\n## Release Notes\n\n### 1.4.0\n\nAdd support for executing TeXpresso on WSL (Windows Subsystem for Linux).\n\n### 1.3.0\n\nAdd a button for toggling automatic SyncTeX forward when the selection changes.\n\nTurn off the extension when the TeXpresso window is closed.\n\n### 1.2.0\n\nAdded support for color themes.\n\n### 1.1.0\n\nChanged settings identifiers.\n\n### 1.0.0\n\nInitial release of the extension.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdominikpeters%2Ftexpresso-vscode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdominikpeters%2Ftexpresso-vscode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdominikpeters%2Ftexpresso-vscode/lists"}