ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

La​Te​XSmart​Quotes

by r-stein ST3

A Sublime Text Package to insert the quotes in a smart way

Labels latex

Details

Installs

  • Total 5K
  • Win 2K
  • Mac 2K
  • Linux 971
Apr 26 Apr 25 Apr 24 Apr 23 Apr 22 Apr 21 Apr 20 Apr 19 Apr 18 Apr 17 Apr 16 Apr 15 Apr 14 Apr 13 Apr 12 Apr 11 Apr 10 Apr 9 Apr 8 Apr 7 Apr 6 Apr 5 Apr 4 Apr 3 Apr 2 Apr 1 Mar 31 Mar 30 Mar 29 Mar 28 Mar 27 Mar 26 Mar 25 Mar 24 Mar 23 Mar 22 Mar 21 Mar 20 Mar 19 Mar 18 Mar 17 Mar 16 Mar 15 Mar 14 Mar 13 Mar 12
Windows 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0
Mac 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 2 0 0 3 2 0 1 1 1 0 0 0
Linux 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

Readme

Source
raw.​githubusercontent.​com

LaTeX Smart Quotes

The purpose of this Sublime Text Package is to make the quotes in LaTeX “smart”, i.e. insert the quotes you intend to use. It is inspired by the typopunct-mode for Emacs.

To establish this goal it uses:

  • language detection (supported languages: English, German, French)
  • context detection according to the caret position

Usage

Usually you do not have to do anything special and just use LaTeX as always. If you type " or ' this Package will try to extract the language of the document and insert the correct quotation marks.

The language detection is executed the first time you press " or ' and the result will be cached. If you want to rerun it open the command palette (ctrl+shift+p) and insert LaTeX SmartQuotes: Auto Detect Buffer Language, the result will be displayed in the status bar at the bottom. If the detected language is incorrect or you use a multilingual document, you can change the language by executing the command LaTeX SmartQuotes: Set Buffer Language in the command palette. This command will provide you a list with all available languages. If the language ends with -ucs it will use unicode characters.

Hints

  • You can use ctrl+l " or ctrl+l ' (respectively super+l " or super+l ' on OSX) to insert the usual quotation marks instead of the LaTeX and language specific. If you want to disable the special quotes (e.g. in a lstlisting environment), you can set the buffer language to “None”.

  • If you use unicode characters you should have \usepackage[utf8]{inputenc} at the start of your document.

  • The language detection checks for specific packages, hence it does not always work correctly. Nevertheless it should always work with the babel package.

  • To disable the automatic language detection and define a language, which should always be used, you can define it in your user settings. For example you can add "latex_smart_quotes_current_language": "german-ucs" to always use german with unicode support. You might want to do this if you only use one language anyway.
    If you are a native english speaker you might want to add "latex_smart_quotes_current_language": "english" to your settings file.

Options

Options are set in the package settings file, which is as usual available in the menu Prefences>Package Settings>LaTeXSmartQuotes>Settings - User.

  • latex_smart_quotes_default_language The default language, which is used if no language has been detected
  • latex_smart_quotes_use_ucs enables unicode support, i.e. unicode quotations instead of ascii characters

Demonstration

This demonstrates the context detection, i.e. the choice of opening and closing quotes.

LaTeXSmartQuotes context detection

This demo shows some available quotes. The quote types are chosen automatically by the language detection of this package.

LaTeXSmartQuotes all quotes

Issues

If something does not work as you expected or you want support of an additional language, then you can create a pull request or an issue on github.