{"id":13647494,"url":"https://github.com/thomasjo/atom-latex","last_synced_at":"2025-12-17T21:15:15.252Z","repository":{"id":14753734,"uuid":"17474966","full_name":"thomasjo/atom-latex","owner":"thomasjo","description":"Compile LaTeX or knitr documents from within Atom","archived":true,"fork":false,"pushed_at":"2022-08-14T09:31:29.000Z","size":1493,"stargazers_count":223,"open_issues_count":0,"forks_count":42,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-11-09T21:36:52.484Z","etag":null,"topics":["atom","build","knitr","latex","latexmk"],"latest_commit_sha":null,"homepage":"https://atom.io/packages/latex","language":"JavaScript","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/thomasjo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-03-06T11:03:55.000Z","updated_at":"2024-10-26T09:08:40.000Z","dependencies_parsed_at":"2022-09-03T14:10:54.588Z","dependency_job_id":null,"html_url":"https://github.com/thomasjo/atom-latex","commit_stats":null,"previous_names":[],"tags_count":79,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasjo%2Fatom-latex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasjo%2Fatom-latex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasjo%2Fatom-latex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasjo%2Fatom-latex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thomasjo","download_url":"https://codeload.github.com/thomasjo/atom-latex/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250163704,"owners_count":21385293,"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":["atom","build","knitr","latex","latexmk"],"created_at":"2024-08-02T01:03:36.101Z","updated_at":"2025-12-17T21:15:15.203Z","avatar_url":"https://github.com/thomasjo.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"This project is no longer maintained and — in light of the fact that the Atom editor will be [sunset on December 15, 2022](https://github.blog/2022-06-08-sunsetting-atom/) — has therefore been archived.\nIf you wish to keep writing LaTeX documents in Atom and need new functionality, either fork this package or use another package that provides whatever  functionality you desire.\n\n---\n\n# LaTeX package\nCompile LaTeX, [knitr][], [literate Agda][], [literate Haskell][], or [Pweave][]\ndocuments from within Atom.\n\n## Installing\nUse the Atom package manager and search for \"latex\", or run `apm install latex`\nfrom the command line.\n\n## Prerequisites\n### TeX distribution\nA reasonably up-to-date and working TeX distribution is required. The only\nofficially supported distributions are [TeX Live][], and [MiKTeX][]. Although,\nthe latter is not as well tested and supported as TeX Live, hence using TeX Live\nis highly recommended.\n\nYou need to ensure that the package can find your TeX distribution's binaries;\nby default the package uses your `PATH` environment variable, as well as the\nfollowing search paths on Linux and macOS\n\n1. `/usr/texbin`\n2. `/Library/TeX/texbin`\n\nand on Windows it uses\n\n1. `%SystemDrive%\\texlive\\2017\\bin\\win32`\n2. `%SystemDrive%\\texlive\\2016\\bin\\win32`\n3. `%SystemDrive%\\texlive\\2015\\bin\\win32`\n4. `%ProgramFiles%\\MiKTeX 2.9\\miktex\\bin\\x64`\n5. `%ProgramFiles(x86)%\\MiKTeX 2.9\\miktex\\bin`\n\nIf your TeX distribution's binaries are not installed in one of those locations\nor discoverable via the `PATH` environment variable, you will need to help the\npackage find the binaries. This can be done by setting the *TeX Path*\nconfiguration option to point to the folder containing the binaries, either in\nthe settings view, or directly in your `config.cson` file. See [Configuration][]\nfor further details regarding the settings of this package.\n\n### Syntax Highlighting\nIn order for this package to behave as expected, your Atom environment must\ncontain a package that provides a LaTeX grammar. We suggest [language-latex][],\nbut other valid options might exist. Additional syntax packages may be required\nto build document types other than LaTeX. For more details see\n[Builder Capabilities](#builder-capabilities) below.\n\n### Builder Selection\nThe `latex` package provides access to two automatic builders for LaTeX and\nknitr documents. By default the package will use `latexmk` for LaTeX documents\nand an included builder to prepare knitr documents for `latexmk`. In this case\nan up to date installation of `latexmk` is required. If you're using TeX Live\nthen you need only insure that `latexmk` is installed and up to date using the\nappropriate package manager.  If you're using MikTeX then see how to [use\n`latexmk` with MiKTeX][latexmk with MiKTeX].\n\nThe JavaScript based [DiCy][] builder may also be used for all documents by\nselecting the `Use DiCy` option in the settings page. [DiCy][] will be installed\nautomatically and so no further action is required for either TeX Live or\nMiKTeX.\n\n### Builder Capabilities\n\nDocument types other than LaTeX documents may be processed by this package. The\navailability and behavior of this feature depends upon the specific builder\nselected. The following table details the different types of documents that may\nbe processed by each builder and any additional syntax package requirements.\n\n| Document Type    | latexmk based Builder | DiCy Builder | Required Language Packages            |\n|------------------|-----------------------|--------------|---------------------------------------|\n| LaTeX            | Yes                   | Yes          | [language-latex][]                    |\n| knitr            | Yes                   | Yes          | [language-r][] and [language-knitr][] |\n| literate Agda    | No preprocessing      | Yes          | [language-agda][]                     |\n| literate Haskell | No preprocessing      | Yes          | [language-haskell][]                  |\n| Pweave           | No                    | Yes          | [language-weave][]                    |\n\n## Usage\nThe `latex:build` command can be invoked from the LaTex menu or by pressing the\ndefault keybind \u003ckbd\u003ectrl\u003c/kbd\u003e-\u003ckbd\u003ealt\u003c/kbd\u003e-\u003ckbd\u003eb\u003c/kbd\u003e while in a LaTex or\nknitr file. Log messages and any other messages from the build may be seen in\nthe LaTeX log panel accessible from the status bar.\n\nThe `latex` package supports other commands as detailed in the table below.\n\n| Command               | Keybinding                                  | Use                                                                      |\n|:----------------------|:-------------------------------------------:|:-------------------------------------------------------------------------|\n| `latex:build`         | \u003ckbd\u003ectrl\u003c/kbd\u003e-\u003ckbd\u003ealt\u003c/kbd\u003e-\u003ckbd\u003eb\u003c/kbd\u003e | Build LaTeX/knitr file and open result.                                  |\n| `latex:rebuild`       | None                                        | Force a rebuild of LaTeX/knitr file.                                     |\n| `latex:clean`         | \u003ckbd\u003ectrl\u003c/kbd\u003e-\u003ckbd\u003ealt\u003c/kbd\u003e-\u003ckbd\u003ec\u003c/kbd\u003e | Cleanup files after a build.                                             |\n| `latex:kill`          | None                                        | Terminate currently running build. Also available from status indicator. |\n| `latex:sync`          | \u003ckbd\u003ectrl\u003c/kbd\u003e-\u003ckbd\u003ealt\u003c/kbd\u003e-\u003ckbd\u003es\u003c/kbd\u003e | Use SyncTeX forward if possible from the current cursor position.        |\n| `latex:sync-log`      | None                                        | Display and highlight log messages from the current cursor position.     |\n| `latex:check-runtime` | None                                        | Check for the existence of `latexmk`, `Rscript` and PDF/PS/DVI viewers.  |\n\n### Overriding Build Settings\nMany of the build settings in the settings page of the `latex` package can be\noverridden on a per file basis. One way to override specific build settings is\nto use \"magic\" TeX comments in the form of `% !TEX \u003cname\u003e = \u003cvalue\u003e`. Another\nway is to use a [YAML][] formatted file with the same name as your root LaTeX\nfile, but with an extension of `.yaml`. The settings and values that can\noverridden via either method are listed in the table below. If multiple setting\nnames are listed then the first is preferred and following names are available\nfor compatibility. More details can found at [Overridding Build Settings][].\n\n| Name                                    | Value                                          | Use                                                                                       |\n|:----------------------------------------|:-----------------------------------------------|:------------------------------------------------------------------------------------------|\n| `cleanPatterns`                         | comma separated patterns, e.g. `**/*.blg, foo` | Specify patterns to use for `latex:clean`                                                 |\n| `enableSynctex`                         | `yes`, `no`, `true` or `false`                 | Override SyncTeX setting                                                                  |\n| `enableExtendedBuildMode`               | `yes`, `no`, `true` or `false`                 | Override extended build mode setting                                                      |\n| `enableShellEscape`                     | `yes`, `no`, `true` or `false`                 | Override shell escape setting                                                             |\n| `engine` or `program`                   | `pdflatex`, `lualatex`, etc.                   | Override the LaTeX engine to use for build.                                               |\n| `moveResultToSourceDirectory`           | `yes`, `no`, `true` or `false`                 | Override move result to source directory setting                                          |\n| `outputFormat` or `format`              | `dvi`, `ps` or `pdf`                           | Override the output format                                                                |\n| `jobNames`, `jobnames` or `jobname`     | comma separated names, e.g. `foo, bar`         | Control the number and names of build jobs. Only a single name can be used for `jobname`. |\n| `outputDirectory` or `output_directory` | directory path, e.g. `build`                   | Specify the output directory that should be used.                                         |\n| `producer`                              | `dvipdf`, `dvipdfmx`, `xdvipdfmx` or `ps2pdf`  | Override the PDF producer                                                                 |\n| `openResultAfterBuild`                  | `yes`, `no`, `true` or `false`                 | Override open result after build (not available for DiCy)                                                                  |\n| `root`                                  | file path, e.g. `../file.tex`                  | Specify the root file that should be built. Only available via \"magic\" TeX comments.      |        \n\nThere are additional settings that may be configured for the DiCy builder that\nmay not be accessible from this package's setting page, but can be set via a\nYAML options file or TeX magic comments. For more details please see\n[Options][DiCy Options] and [Configuration][DiCy Configuration] in the DiCy\ndocumentation.\n\n### PDF/DVI/PS Viewers\nThe `latex` package currently supports [Atril][], [Evince][], [Okular][],\n[pdf-view][], [Preview][], [Skim][], [Sumatra PDF][], Windows shell open,\n[xdg-open][], [Xreader][] and [Zathura][] as PDF/DVI/PS viewers. This includes\nsupport for cursor synchronization via SyncTeX if possible. Specific features of\neach of the viewers is detailed at [Supported Viewers][].\n\n## Development status\nPlease note that this package is in a **beta** state. It is stable, but lacks\nsome important features.\n\nAny and all help is greatly appreciated!\n\n**NOTE:** `latexmk` does not support file paths containing special characters such as `~`. To partially circumvent this, add `useRelativePaths: true` to your config file like so\n```cson\n# config.cson\n\"*\":\n  latex:\n    useRelativePaths: true\n```\nWhen set, this package will use a relative path in place of an absolute one. This will allow `latexmk` to compile projects stored in directories that contain special characters. Note that the project itself must not contain special characters in its directory or file names.\n\nThis feature has not been fully tested yet, and there are no guarantees it will work in all cases. Please raise an issue if you find a case where it fails.\n\n\n\u003c!--refs--\u003e\n[appveyor svg]: https://ci.appveyor.com/api/projects/status/oc2v06stfwgd3bkn/branch/master?svg=true\n[appveyor]: https://ci.appveyor.com/project/thomasjo/atom-latex/branch/master\n[Atril]: http://mate-desktop.com/#atril\n[Configuration]: https://github.com/thomasjo/atom-latex/wiki/Configuration\n[DiCy]: https://yitzchak.github.io/dicy/\n[DiCy Options]: https://yitzchak.github.io/dicy/options\n[DiCy Configuration]: https://yitzchak.github.io/dicy/configuration\n[dependency svg]: https://david-dm.org/thomasjo/atom-latex.svg\n[dependency]: https://david-dm.org/thomasjo/atom-latex\n[devDependency svg]: https://david-dm.org/thomasjo/atom-latex/dev-status.svg\n[devDependency]: https://david-dm.org/thomasjo/atom-latex?type=dev\n[Evince]: https://wiki.gnome.org/Apps/Evince\n[knitr]: http://yihui.name/knitr/\n[language-agda]: https://atom.io/packages/language-agda\n[language-haskell]: https://atom.io/packages/language-haskell\n[language-knitr]: https://atom.io/packages/language-knitr\n[language-latex]: https://atom.io/packages/language-latex\n[language-r]: https://atom.io/packages/language-r\n[language-weave]: https://atom.io/packages/language-weave\n[latexmk with MiKTeX]: https://github.com/thomasjo/atom-latex/wiki/Using-latexmk-with-MiKTeX\n[literate Agda]: http://wiki.portal.chalmers.se/agda/pmwiki.php?n=Main.LiterateAgda\n[literate Haskell]: https://wiki.haskell.org/Literate_programming\n[MiKTeX]: http://miktex.org/\n[Okular]: https://okular.kde.org/\n[Overridding Build Settings]: https://github.com/thomasjo/atom-latex/wiki/Overridding-Build-Settings\n[pdf-view]: https://atom.io/packages/pdf-view\n[Preview]: https://support.apple.com/en-us/HT201740\n[pweave]: https://github.com/mpastell/Pweave\n[Skim]: http://skim-app.sourceforge.net/\n[Sumatra PDF]: http://www.sumatrapdfreader.org/free-pdf-reader.html\n[Supported Viewers]: https://github.com/thomasjo/atom-latex/wiki/Supported-Viewers\n[TeX Live]: https://www.tug.org/texlive/\n[travis svg]: https://travis-ci.org/thomasjo/atom-latex.svg?branch=master\n[travis]: https://travis-ci.org/thomasjo/atom-latex\n[xdg-open]: https://linux.die.net/man/1/xdg-open\n[Xreader]: https://github.com/linuxmint/xreader\n[YAML]: http://yaml.org/\n[Zathura]: https://github.com/pwmt/zathura\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomasjo%2Fatom-latex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthomasjo%2Fatom-latex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomasjo%2Fatom-latex/lists"}