Skip to content
This repository has been archived by the owner on Apr 12, 2022. It is now read-only.

ketan/BeautifyLatex

Repository files navigation

BeautifyLatex

Prettifies latex code using latexindent.pl

Hooks

This package offers a pre-save hook, i.e., your latex files will be reformatted automatically before saving. To activate this feature, set:

  "run_on_save": true,

The sublime command "beautify_latex" performs a save after formatting. You can disable this default by setting:

  "save_on_beautify": false

You can change the file patterns handled by this plugin in the settings:

    "file_patterns": [ "\\.tex"],

Tabs or Spaces

By default, Sublime does not translate tabs to spaces. If you wish to use tabs you will not need to change your settings. If you wish to use spaces, add the following setting.

"translate_tabs_to_spaces": true

Key Binding

  ctrl + cmd + k on OS X, or ctrl + alt + k on Windows

Installation

Package Control

This package is a fork of ketan/BeautifyLatex, and the Sublime Text package has not been updated (as of Sep 6 2017). So you have to install the package manually.

Manual Installation

1. Navigate to the Sublime Text package directory

  cd "~/Library/Application Support/Sublime Text 2/Packages/" # OS X (I think)
  cd "C:\Users\<username>\AppData\Roaming\Sublime Text 3\Packages" # (using Windows 10)

2. Clone this repository

  git clone https://github.com/flipphillips/BeautifyLatex.git
  ### Or ###
  git clone git@github.com:flipphillips/BeautifyLatex.git

3. Restart Sublime Text

Note for Mac users

If you are using OS X El Capitan and get the following error

Error: can't specify None for path argument

while saving tex files, you may want to check the following things.

  1. Do you have latexindent? This can be checked by typing which latexindent in the terminal. If you have latexindent installed, you shall get the following message telling you the directory, in which your latexindent resides.

     $ which latexindent
     /Library/TeX/texbin/latexindent
    

If you do not have latexindent at all, you may consider upgrading your MacTeX or install latexindent manually. See CTAN page of latexindent here.

  1. Is your latexindent functional? To check this, go to the terminal, cd to the directory containing your latexindent, and type perl latexindent. If your latexindent is functional, you shall see its version information (see below).

     $ cd /Library/TeX/texbin/
     $ perl latexindent
     latexindent.pl version 2.1R
     usage: latexindent.pl [options] [file][.tex]
           -h  help (see the documentation for detailed instructions and examples)
           -o  output to another file; sample usage
                     latexindent.pl -o myfile.tex outputfile.tex
           -w  overwrite the current file- a backup will be made, but still be careful
           -s  silent mode- no output will be given to the terminal
           -t  tracing mode- verbose information given to the log file
           -l  use localSettings.yaml (assuming it exists in the directory of your file)
           -d  ONLY use defaultSettings.yaml, ignore ALL user files
           -c=cruft directory used to specify the location of backup files and indent.log
    

Otherwise, you will see certain error message saying that YAML::Tiny (or some other components) was missing. To install these components, type the following lines in terminal (you may need to input your admin password).

    $ sudo cpan App::cpanminus
    $ sudo cpan YAML::Tiny
    $ sudo perl -MCPAN -e 'install "File::HomeDir"'

After executing the above lines, check the availability of latexindent by typing perl latexindent again in the terminal.

  1. Install Fix Mac Path package and add the following line

     {
       "additional_path_items": ["/Library/TeX/texbin"]
     }
    

in the user settings of BeautifyLatex. The string "/Library/TeX/texbin" is the directory containing your latexindent. Change it accordingly if you have a different directory.

  1. If the problem has been solved, great! Otherwise (I mean you still saw Error: can't specify None for path argument), type the following line in terminal,

     $ sudo ln -s /Library/TeX/texbin/latexindent /Library/TeX/texbin/latexindent.pl
    

which links latexindent.pl to latexindent. (It seems that by default MacTeX does not ship with latexindent.pl.) After linking, BeautifyLatex should run beautifully now.

As a reference, you may want to read this thread on tex.stackexchange.com.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages