begin migration away from org-mode for knowlede base (moving to obsidian, todo/habits/slipbox will remain) ; remove beancount profile (not used) ; remove code profile (migrating to vs code)
This commit is contained in:
parent
95c93c39e3
commit
200163e198
|
@ -1,30 +0,0 @@
|
|||
;; -*- lexical-binding: t; -*-
|
||||
;; TURN ON IN INIT FILE!!!!!
|
||||
|
||||
;; Make gc pauses faster by decreasing the threshold.
|
||||
(setq gc-cons-threshold (* 2 1000 1000))
|
||||
|
||||
;; disable warnings from popping up, they are still logged
|
||||
(setq warning-suppress-types '((comp)))
|
||||
|
||||
(require 'package)
|
||||
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
|
||||
;; Comment/uncomment this line to enable MELPA Stable if desired. See `package-archive-priorities`
|
||||
;; and `package-pinned-packages`. Most users will not need or want to do this.
|
||||
;;(add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/") t)
|
||||
(unless (package-installed-p 'use-package)
|
||||
(package-refresh-contents)
|
||||
(package-install 'use-package))
|
||||
(require 'use-package)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; Beancount related
|
||||
(add-to-list 'load-path "~/.emacs.d/beancount-mode")
|
||||
(require 'beancount)
|
||||
(add-hook 'beancount-mode-hook #'outline-minor-mode)
|
||||
(define-key beancount-mode-map (kbd "C-c C-n") #'outline-next-visible-heading)
|
||||
(define-key beancount-mode-map (kbd "C-c C-p") #'outline-previous-visible-heading)
|
||||
(define-key beancount-mode-map (kbd "C-c C-u") #'outline-up-heading)
|
||||
(define-key beancount-mode-map (kbd "C-c C-d") #'outline-down-heading)
|
||||
(add-to-list 'auto-mode-alist '("\\.beancount\\'" . beancount-mode))
|
||||
(add-to-list 'auto-mode-alist '("\\.bean\\'" . beancount-mode))
|
|
@ -1,70 +0,0 @@
|
|||
;;; all-the-icons-autoloads.el --- automatically extracted autoloads (do not edit) -*- lexical-binding: t -*-
|
||||
;; Generated by the `loaddefs-generate' function.
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(add-to-list 'load-path (or (and load-file-name (directory-file-name (file-name-directory load-file-name))) (car load-path)))
|
||||
|
||||
|
||||
|
||||
;;; Generated autoloads from all-the-icons.el
|
||||
|
||||
(autoload 'all-the-icons-icon-for-dir "all-the-icons" "\
|
||||
Get the formatted icon for DIR.
|
||||
ARG-OVERRIDES should be a plist containining `:height',
|
||||
`:v-adjust' or `:face' properties like in the normal icon
|
||||
inserting functions.
|
||||
|
||||
Note: You want chevron, please use `all-the-icons-icon-for-dir-with-chevron'.
|
||||
|
||||
(fn DIR &rest ARG-OVERRIDES)")
|
||||
(autoload 'all-the-icons-icon-for-file "all-the-icons" "\
|
||||
Get the formatted icon for FILE.
|
||||
ARG-OVERRIDES should be a plist containining `:height',
|
||||
`:v-adjust' or `:face' properties like in the normal icon
|
||||
inserting functions.
|
||||
|
||||
(fn FILE &rest ARG-OVERRIDES)")
|
||||
(autoload 'all-the-icons-icon-for-mode "all-the-icons" "\
|
||||
Get the formatted icon for MODE.
|
||||
ARG-OVERRIDES should be a plist containining `:height',
|
||||
`:v-adjust' or `:face' properties like in the normal icon
|
||||
inserting functions.
|
||||
|
||||
(fn MODE &rest ARG-OVERRIDES)")
|
||||
(autoload 'all-the-icons-icon-for-url "all-the-icons" "\
|
||||
Get the formatted icon for URL.
|
||||
If an icon for URL isn't found in `all-the-icons-url-alist', a globe is used.
|
||||
ARG-OVERRIDES should be a plist containining `:height',
|
||||
`:v-adjust' or `:face' properties like in the normal icon
|
||||
inserting functions.
|
||||
|
||||
(fn URL &rest ARG-OVERRIDES)")
|
||||
(autoload 'all-the-icons-install-fonts "all-the-icons" "\
|
||||
Helper function to download and install the latests fonts based on OS.
|
||||
When PFX is non-nil, ignore the prompt and just install
|
||||
|
||||
(fn &optional PFX)" t)
|
||||
(autoload 'all-the-icons-insert "all-the-icons" "\
|
||||
Interactive icon insertion function.
|
||||
When Prefix ARG is non-nil, insert the propertized icon.
|
||||
When FAMILY is non-nil, limit the candidates to the icon set matching it.
|
||||
|
||||
(fn &optional ARG FAMILY)" t)
|
||||
(register-definition-prefixes "all-the-icons" '("all-the-icons-"))
|
||||
|
||||
;;; End of scraped data
|
||||
|
||||
(provide 'all-the-icons-autoloads)
|
||||
|
||||
;; Local Variables:
|
||||
;; version-control: never
|
||||
;; no-byte-compile: t
|
||||
;; no-update-autoloads: t
|
||||
;; no-native-compile: t
|
||||
;; coding: utf-8-emacs-unix
|
||||
;; End:
|
||||
|
||||
;;; all-the-icons-autoloads.el ends here
|
|
@ -1,230 +0,0 @@
|
|||
;;; all-the-icons-faces.el --- A module of faces for all-the-icons
|
||||
|
||||
;; Copyright (C) 2016 Dominic Charlesworth <dgc336@gmail.com>
|
||||
|
||||
;; Author: Dominic Charlesworth <dgc336@gmail.com>
|
||||
;; Version: 1.0.0
|
||||
;; Package-Requires: ((emacs "24.3"))
|
||||
;; URL: https://github.com/domtronn/all-the-icons.el
|
||||
;; Keywords: convenient, lisp
|
||||
|
||||
;; This program is free software; you can redistribute it and/or
|
||||
;; modify it under the terms of the GNU General Public License
|
||||
;; as published by the Free Software Foundation; either version 3
|
||||
;; of the License, or (at your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; This file contains all of the faces used by the package for
|
||||
;; colouring icons
|
||||
|
||||
;;; Code:
|
||||
|
||||
(defgroup all-the-icons-faces nil
|
||||
"Manage how All The Icons icons are coloured and themed."
|
||||
:prefix "all-the-icons-"
|
||||
:group 'tools
|
||||
:group 'all-the-icons)
|
||||
|
||||
|
||||
;; red
|
||||
(defface all-the-icons-red
|
||||
'((((background dark)) :foreground "#AC4142")
|
||||
(((background light)) :foreground "#AC4142"))
|
||||
"Face for red icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-lred
|
||||
'((((background dark)) :foreground "#EB595A")
|
||||
(((background light)) :foreground "#EB595A"))
|
||||
"Face for lred icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-dred
|
||||
'((((background dark)) :foreground "#843031")
|
||||
(((background light)) :foreground "#843031"))
|
||||
"Face for dred icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-red-alt
|
||||
'((((background dark)) :foreground "#ce5643")
|
||||
(((background light)) :foreground "#843031"))
|
||||
"Face for dred icons"
|
||||
:group 'all-the-icons-faces)
|
||||
|
||||
;; green
|
||||
(defface all-the-icons-green
|
||||
'((((background dark)) :foreground "#90A959")
|
||||
(((background light)) :foreground "#90A959"))
|
||||
"Face for green icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-lgreen
|
||||
'((((background dark)) :foreground "#C6E87A")
|
||||
(((background light)) :foreground "#3D6837"))
|
||||
"Face for lgreen icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-dgreen
|
||||
'((((background dark)) :foreground "#6D8143")
|
||||
(((background light)) :foreground "#6D8143"))
|
||||
"Face for dgreen icons"
|
||||
:group 'all-the-icons-faces)
|
||||
|
||||
;; yellow
|
||||
(defface all-the-icons-yellow
|
||||
'((((background dark)) :foreground "#FFD446")
|
||||
(((background light)) :foreground "#FFCC0E"))
|
||||
"Face for yellow icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-lyellow
|
||||
'((((background dark)) :foreground "#FFC16D")
|
||||
(((background light)) :foreground "#FF9300"))
|
||||
"Face for lyellow icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-dyellow
|
||||
'((((background dark)) :foreground "#B48D56")
|
||||
(((background light)) :foreground "#B48D56"))
|
||||
"Face for dyellow icons"
|
||||
:group 'all-the-icons-faces)
|
||||
|
||||
;; blue
|
||||
(defface all-the-icons-blue
|
||||
'((((background dark)) :foreground "#6A9FB5")
|
||||
(((background light)) :foreground "#6A9FB5"))
|
||||
"Face for blue icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-blue-alt
|
||||
'((((background dark)) :foreground "#2188b6")
|
||||
(((background light)) :foreground "#2188b6"))
|
||||
"Face for blue icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-lblue
|
||||
'((((background dark)) :foreground "#8FD7F4")
|
||||
(((background light)) :foreground "#677174"))
|
||||
"Face for lblue icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-dblue
|
||||
'((((background dark)) :foreground "#446674")
|
||||
(((background light)) :foreground "#446674"))
|
||||
"Face for dblue icons"
|
||||
:group 'all-the-icons-faces)
|
||||
|
||||
;; maroon
|
||||
(defface all-the-icons-maroon
|
||||
'((((background dark)) :foreground "#8F5536")
|
||||
(((background light)) :foreground "#8F5536"))
|
||||
"Face for maroon icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-lmaroon
|
||||
'((((background dark)) :foreground "#CE7A4E")
|
||||
(((background light)) :foreground "#CE7A4E"))
|
||||
"Face for lmaroon icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-dmaroon
|
||||
'((((background dark)) :foreground "#72584B")
|
||||
(((background light)) :foreground "#72584B"))
|
||||
"Face for dmaroon icons"
|
||||
:group 'all-the-icons-faces)
|
||||
|
||||
;; purple
|
||||
(defface all-the-icons-purple
|
||||
'((((background dark)) :foreground "#AA759F")
|
||||
(((background light)) :foreground "#68295B"))
|
||||
"Face for purple icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-purple-alt
|
||||
'((((background dark)) :foreground "#5D54E1")
|
||||
(((background light)) :foreground "#5D54E1"))
|
||||
"Face for purple icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-lpurple
|
||||
'((((background dark)) :foreground "#E69DD6")
|
||||
(((background light)) :foreground "#E69DD6"))
|
||||
"Face for lpurple icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-dpurple
|
||||
'((((background dark)) :foreground "#694863")
|
||||
(((background light)) :foreground "#694863"))
|
||||
"Face for dpurple icons"
|
||||
:group 'all-the-icons-faces)
|
||||
|
||||
;; orange
|
||||
(defface all-the-icons-orange
|
||||
'((((background dark)) :foreground "#D4843E")
|
||||
(((background light)) :foreground "#D4843E"))
|
||||
"Face for orange icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-lorange
|
||||
'((((background dark)) :foreground "#FFA500")
|
||||
(((background light)) :foreground "#FFA500"))
|
||||
"Face for lorange icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-dorange
|
||||
'((((background dark)) :foreground "#915B2D")
|
||||
(((background light)) :foreground "#915B2D"))
|
||||
"Face for dorange icons"
|
||||
:group 'all-the-icons-faces)
|
||||
|
||||
;; cyan
|
||||
(defface all-the-icons-cyan
|
||||
'((((background dark)) :foreground "#75B5AA")
|
||||
(((background light)) :foreground "#75B5AA"))
|
||||
"Face for cyan icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-cyan-alt
|
||||
'((((background dark)) :foreground "#61dafb")
|
||||
(((background light)) :foreground "#0595bd"))
|
||||
"Face for cyan icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-lcyan
|
||||
'((((background dark)) :foreground "#A5FDEC")
|
||||
(((background light)) :foreground "#2C7D6E"))
|
||||
"Face for lcyan icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-dcyan
|
||||
'((((background dark)) :foreground "#48746D")
|
||||
(((background light)) :foreground "#48746D"))
|
||||
"Face for dcyan icons"
|
||||
:group 'all-the-icons-faces)
|
||||
|
||||
;; pink
|
||||
(defface all-the-icons-pink
|
||||
'((((background dark)) :foreground "#F2B4B8")
|
||||
(((background light)) :foreground "#FC505B"))
|
||||
"Face for pink icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-lpink
|
||||
'((((background dark)) :foreground "#FFBDC1")
|
||||
(((background light)) :foreground "#FF505B"))
|
||||
"Face for lpink icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-dpink
|
||||
'((((background dark)) :foreground "#B18286")
|
||||
(((background light)) :foreground "#7E5D5F"))
|
||||
"Face for dpink icons"
|
||||
:group 'all-the-icons-faces)
|
||||
|
||||
;; silver
|
||||
(defface all-the-icons-silver
|
||||
'((((background dark)) :foreground "#716E68")
|
||||
(((background light)) :foreground "#716E68"))
|
||||
"Face for silver icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-lsilver
|
||||
'((((background dark)) :foreground "#B9B6AA")
|
||||
(((background light)) :foreground "#7F7869"))
|
||||
"Face for lsilver icons"
|
||||
:group 'all-the-icons-faces)
|
||||
(defface all-the-icons-dsilver
|
||||
'((((background dark)) :foreground "#838484")
|
||||
(((background light)) :foreground "#838484"))
|
||||
"Face for dsilver icons"
|
||||
:group 'all-the-icons-faces)
|
||||
|
||||
|
||||
(provide 'all-the-icons-faces)
|
||||
;;; all-the-icons-faces.el ends here
|
|
@ -1,14 +0,0 @@
|
|||
(define-package "all-the-icons" "20240623.1800" "A library for inserting Developer icons"
|
||||
'((emacs "24.3"))
|
||||
:commit "39ef44f810c34e8900978788467cc675870bcd19" :authors
|
||||
'(("Dominic Charlesworth" . "dgc336@gmail.com"))
|
||||
:maintainers
|
||||
'(("Dominic Charlesworth" . "dgc336@gmail.com"))
|
||||
:maintainer
|
||||
'("Dominic Charlesworth" . "dgc336@gmail.com")
|
||||
:keywords
|
||||
'("convenient" "lisp")
|
||||
:url "https://github.com/domtronn/all-the-icons.el")
|
||||
;; Local Variables:
|
||||
;; no-byte-compile: t
|
||||
;; End:
|
File diff suppressed because it is too large
Load diff
|
@ -1,70 +0,0 @@
|
|||
(defvar all-the-icons-data/alltheicons-alist
|
||||
'(
|
||||
|
||||
( "apache" . "\xe909" )
|
||||
( "atom" . "\xe917" )
|
||||
( "aws" . "\xe90c" )
|
||||
( "bower" . "\xe918" )
|
||||
( "c" . "\xe915" )
|
||||
( "c-line" . "\xe90f" )
|
||||
( "clojure" . "\xe919" )
|
||||
( "clojure-line" . "\xe91a" )
|
||||
( "coffeescript" . "\xe914" )
|
||||
( "cplusplus" . "\xe913" )
|
||||
( "cplusplus-line" . "\xe910" )
|
||||
( "csharp" . "\xe911" )
|
||||
( "csharp-line" . "\xe912" )
|
||||
( "css3" . "\xe91b" )
|
||||
( "css3-alt" . "\xe91c" )
|
||||
( "d3" . "\xe90e" )
|
||||
( "dlang" . "\xe935" )
|
||||
( "elixir" . "\xe936" )
|
||||
( "erlang" . "\xe934" )
|
||||
( "git" . "\xe907" )
|
||||
( "go" . "\xe91d" )
|
||||
( "google-drive" . "\xe91e" )
|
||||
( "grunt" . "\xe90d" )
|
||||
( "grunt-line" . "\xe91f" )
|
||||
( "gulp" . "\xe920" )
|
||||
( "haskell" . "\xe921" )
|
||||
( "html5" . "\xe932" )
|
||||
( "jasmine" . "\xe904" )
|
||||
( "java" . "\xe922" )
|
||||
( "javascript" . "\xe906" )
|
||||
( "javascript-badge" . "\xe923" )
|
||||
( "javascript-shield" . "\xe924" )
|
||||
( "less" . "\xe90b" )
|
||||
( "nginx" . "\xe933" )
|
||||
( "nodejs" . "\xe925" )
|
||||
( "perl" . "\xe905" )
|
||||
( "perldocs" . "\xe926" )
|
||||
( "postgresql" . "\xe938" )
|
||||
( "prolog" . "\xe927" )
|
||||
( "python" . "\xe928" )
|
||||
( "react" . "\xe929" )
|
||||
( "ruby" . "\xe92a" )
|
||||
( "ruby-alt" . "\xe92b" )
|
||||
( "rust" . "\xe92c" )
|
||||
( "sass" . "\xe92d" )
|
||||
( "scala" . "\xe908" )
|
||||
( "script" . "\xe90a" )
|
||||
( "spring" . "\xe937" )
|
||||
( "stylus" . "\xe92e" )
|
||||
( "svg" . "\xe903" )
|
||||
( "swift" . "\xe92f" )
|
||||
( "terminal" . "\xe930" )
|
||||
( "terminal-alt" . "\xe931" )
|
||||
( "battery-charging" . "\xe939" )
|
||||
|
||||
( "arrow-left" . "\xe93a" )
|
||||
( "arrow-right" . "\xe93b" )
|
||||
( "cup-left" . "\xe93c" )
|
||||
( "cup-right" . "\xe93d" )
|
||||
( "slant-left" . "\xe93e" )
|
||||
( "slant-right" . "\xe93f" )
|
||||
( "wave-left" . "\xe940" )
|
||||
( "wave-right" . "\xe941" )
|
||||
|
||||
))
|
||||
|
||||
(provide 'data-alltheicons)
|
|
@ -1,641 +0,0 @@
|
|||
(defvar all-the-icons-data/fa-icon-alist
|
||||
'(
|
||||
|
||||
("500px" . "\xf26e")
|
||||
("adjust" . "\xf042")
|
||||
("adn" . "\xf170")
|
||||
("align-center" . "\xf037")
|
||||
("align-justify" . "\xf039")
|
||||
("align-left" . "\xf036")
|
||||
("align-right" . "\xf038")
|
||||
("amazon" . "\xf270")
|
||||
("ambulance" . "\xf0f9")
|
||||
("american-sign-language-interpreting" . "\xf2a3")
|
||||
("anchor" . "\xf13d")
|
||||
("android" . "\xf17b")
|
||||
("angellist" . "\xf209")
|
||||
("angle-double-down" . "\xf103")
|
||||
("angle-double-left" . "\xf100")
|
||||
("angle-double-right" . "\xf101")
|
||||
("angle-double-up" . "\xf102")
|
||||
("angle-down" . "\xf107")
|
||||
("angle-left" . "\xf104")
|
||||
("angle-right" . "\xf105")
|
||||
("angle-up" . "\xf106")
|
||||
("apple" . "\xf179")
|
||||
("archive" . "\xf187")
|
||||
("area-chart" . "\xf1fe")
|
||||
("arrow-circle-down" . "\xf0ab")
|
||||
("arrow-circle-left" . "\xf0a8")
|
||||
("arrow-circle-o-down" . "\xf01a")
|
||||
("arrow-circle-o-left" . "\xf190")
|
||||
("arrow-circle-o-right" . "\xf18e")
|
||||
("arrow-circle-o-up" . "\xf01b")
|
||||
("arrow-circle-right" . "\xf0a9")
|
||||
("arrow-circle-up" . "\xf0aa")
|
||||
("arrow-down" . "\xf063")
|
||||
("arrow-left" . "\xf060")
|
||||
("arrow-right" . "\xf061")
|
||||
("arrow-up" . "\xf062")
|
||||
("arrows" . "\xf047")
|
||||
("arrows-alt" . "\xf0b2")
|
||||
("arrows-h" . "\xf07e")
|
||||
("arrows-v" . "\xf07d")
|
||||
("assistive-listening-systems" . "\xf2a2")
|
||||
("asterisk" . "\xf069")
|
||||
("at" . "\xf1fa")
|
||||
("audio-description" . "\xf29e")
|
||||
("backward" . "\xf04a")
|
||||
("balance-scale" . "\xf24e")
|
||||
("ban" . "\xf05e")
|
||||
("bar-chart" . "\xf080")
|
||||
("barcode" . "\xf02a")
|
||||
("bars" . "\xf0c9")
|
||||
("battery-empty" . "\xf244")
|
||||
("battery-full" . "\xf240")
|
||||
("battery-half" . "\xf242")
|
||||
("battery-quarter" . "\xf243")
|
||||
("battery-three-quarters" . "\xf241")
|
||||
("bed" . "\xf236")
|
||||
("beer" . "\xf0fc")
|
||||
("behance" . "\xf1b4")
|
||||
("behance-square" . "\xf1b5")
|
||||
("bell" . "\xf0f3")
|
||||
("bell-o" . "\xf0a2")
|
||||
("bell-slash" . "\xf1f6")
|
||||
("bell-slash-o" . "\xf1f7")
|
||||
("bicycle" . "\xf206")
|
||||
("binoculars" . "\xf1e5")
|
||||
("birthday-cake" . "\xf1fd")
|
||||
("bitbucket" . "\xf171")
|
||||
("bitbucket-square" . "\xf172")
|
||||
("black-tie" . "\xf27e")
|
||||
("blind" . "\xf29d")
|
||||
("bluetooth" . "\xf293")
|
||||
("bluetooth-b" . "\xf294")
|
||||
("bold" . "\xf032")
|
||||
("bolt" . "\xf0e7")
|
||||
("bomb" . "\xf1e2")
|
||||
("book" . "\xf02d")
|
||||
("bookmark" . "\xf02e")
|
||||
("bookmark-o" . "\xf097")
|
||||
("braille" . "\xf2a1")
|
||||
("briefcase" . "\xf0b1")
|
||||
("btc" . "\xf15a")
|
||||
("bug" . "\xf188")
|
||||
("building" . "\xf1ad")
|
||||
("building-o" . "\xf0f7")
|
||||
("bullhorn" . "\xf0a1")
|
||||
("bullseye" . "\xf140")
|
||||
("bus" . "\xf207")
|
||||
("buysellads" . "\xf20d")
|
||||
("calculator" . "\xf1ec")
|
||||
("calendar" . "\xf073")
|
||||
("calendar-check-o" . "\xf274")
|
||||
("calendar-minus-o" . "\xf272")
|
||||
("calendar-o" . "\xf133")
|
||||
("calendar-plus-o" . "\xf271")
|
||||
("calendar-times-o" . "\xf273")
|
||||
("camera" . "\xf030")
|
||||
("camera-retro" . "\xf083")
|
||||
("car" . "\xf1b9")
|
||||
("caret-down" . "\xf0d7")
|
||||
("caret-left" . "\xf0d9")
|
||||
("caret-right" . "\xf0da")
|
||||
("caret-square-o-down" . "\xf150")
|
||||
("caret-square-o-left" . "\xf191")
|
||||
("caret-square-o-right" . "\xf152")
|
||||
("caret-square-o-up" . "\xf151")
|
||||
("caret-up" . "\xf0d8")
|
||||
("cart-arrow-down" . "\xf218")
|
||||
("cart-plus" . "\xf217")
|
||||
("cc" . "\xf20a")
|
||||
("cc-amex" . "\xf1f3")
|
||||
("cc-diners-club" . "\xf24c")
|
||||
("cc-discover" . "\xf1f2")
|
||||
("cc-jcb" . "\xf24b")
|
||||
("cc-mastercard" . "\xf1f1")
|
||||
("cc-paypal" . "\xf1f4")
|
||||
("cc-stripe" . "\xf1f5")
|
||||
("cc-visa" . "\xf1f0")
|
||||
("certificate" . "\xf0a3")
|
||||
("chain-broken" . "\xf127")
|
||||
("check" . "\xf00c")
|
||||
("check-circle" . "\xf058")
|
||||
("check-circle-o" . "\xf05d")
|
||||
("check-square" . "\xf14a")
|
||||
("check-square-o" . "\xf046")
|
||||
("chevron-circle-down" . "\xf13a")
|
||||
("chevron-circle-left" . "\xf137")
|
||||
("chevron-circle-right" . "\xf138")
|
||||
("chevron-circle-up" . "\xf139")
|
||||
("chevron-down" . "\xf078")
|
||||
("chevron-left" . "\xf053")
|
||||
("chevron-right" . "\xf054")
|
||||
("chevron-up" . "\xf077")
|
||||
("child" . "\xf1ae")
|
||||
("chrome" . "\xf268")
|
||||
("circle" . "\xf111")
|
||||
("circle-o" . "\xf10c")
|
||||
("circle-o-notch" . "\xf1ce")
|
||||
("circle-thin" . "\xf1db")
|
||||
("clipboard" . "\xf0ea")
|
||||
("clock-o" . "\xf017")
|
||||
("clone" . "\xf24d")
|
||||
("cloud" . "\xf0c2")
|
||||
("cloud-download" . "\xf0ed")
|
||||
("cloud-upload" . "\xf0ee")
|
||||
("code" . "\xf121")
|
||||
("code-fork" . "\xf126")
|
||||
("codepen" . "\xf1cb")
|
||||
("codiepie" . "\xf284")
|
||||
("coffee" . "\xf0f4")
|
||||
("cog" . "\xf013")
|
||||
("cogs" . "\xf085")
|
||||
("columns" . "\xf0db")
|
||||
("comment" . "\xf075")
|
||||
("comment-o" . "\xf0e5")
|
||||
("commenting" . "\xf27a")
|
||||
("commenting-o" . "\xf27b")
|
||||
("comments" . "\xf086")
|
||||
("comments-o" . "\xf0e6")
|
||||
("compass" . "\xf14e")
|
||||
("compress" . "\xf066")
|
||||
("connectdevelop" . "\xf20e")
|
||||
("contao" . "\xf26d")
|
||||
("copyright" . "\xf1f9")
|
||||
("creative-commons" . "\xf25e")
|
||||
("credit-card" . "\xf09d")
|
||||
("credit-card-alt" . "\xf283")
|
||||
("crop" . "\xf125")
|
||||
("crosshairs" . "\xf05b")
|
||||
("css3" . "\xf13c")
|
||||
("cube" . "\xf1b2")
|
||||
("cubes" . "\xf1b3")
|
||||
("cutlery" . "\xf0f5")
|
||||
("dashcube" . "\xf210")
|
||||
("database" . "\xf1c0")
|
||||
("deaf" . "\xf2a4")
|
||||
("delicious" . "\xf1a5")
|
||||
("desktop" . "\xf108")
|
||||
("deviantart" . "\xf1bd")
|
||||
("diamond" . "\xf219")
|
||||
("digg" . "\xf1a6")
|
||||
("dot-circle-o" . "\xf192")
|
||||
("download" . "\xf019")
|
||||
("dribbble" . "\xf17d")
|
||||
("dropbox" . "\xf16b")
|
||||
("drupal" . "\xf1a9")
|
||||
("edge" . "\xf282")
|
||||
("eject" . "\xf052")
|
||||
("ellipsis-h" . "\xf141")
|
||||
("ellipsis-v" . "\xf142")
|
||||
("empire" . "\xf1d1")
|
||||
("envelope" . "\xf0e0")
|
||||
("envelope-o" . "\xf003")
|
||||
("envelope-square" . "\xf199")
|
||||
("envira" . "\xf299")
|
||||
("eraser" . "\xf12d")
|
||||
("eur" . "\xf153")
|
||||
("exchange" . "\xf0ec")
|
||||
("exclamation" . "\xf12a")
|
||||
("exclamation-circle" . "\xf06a")
|
||||
("exclamation-triangle" . "\xf071")
|
||||
("expand" . "\xf065")
|
||||
("expeditedssl" . "\xf23e")
|
||||
("external-link" . "\xf08e")
|
||||
("external-link-square" . "\xf14c")
|
||||
("eye" . "\xf06e")
|
||||
("eye-slash" . "\xf070")
|
||||
("eyedropper" . "\xf1fb")
|
||||
("facebook" . "\xf09a")
|
||||
("facebook-official" . "\xf230")
|
||||
("facebook-square" . "\xf082")
|
||||
("fast-backward" . "\xf049")
|
||||
("fast-forward" . "\xf050")
|
||||
("fax" . "\xf1ac")
|
||||
("female" . "\xf182")
|
||||
("fighter-jet" . "\xf0fb")
|
||||
("file" . "\xf15b")
|
||||
("file-archive-o" . "\xf1c6")
|
||||
("file-audio-o" . "\xf1c7")
|
||||
("file-code-o" . "\xf1c9")
|
||||
("file-excel-o" . "\xf1c3")
|
||||
("file-image-o" . "\xf1c5")
|
||||
("file-o" . "\xf016")
|
||||
("file-pdf-o" . "\xf1c1")
|
||||
("file-powerpoint-o" . "\xf1c4")
|
||||
("file-text" . "\xf15c")
|
||||
("file-text-o" . "\xf0f6")
|
||||
("file-video-o" . "\xf1c8")
|
||||
("file-word-o" . "\xf1c2")
|
||||
("files-o" . "\xf0c5")
|
||||
("film" . "\xf008")
|
||||
("filter" . "\xf0b0")
|
||||
("fire" . "\xf06d")
|
||||
("fire-extinguisher" . "\xf134")
|
||||
("firefox" . "\xf269")
|
||||
("first-order" . "\xf2b0")
|
||||
("flag" . "\xf024")
|
||||
("flag-checkered" . "\xf11e")
|
||||
("flag-o" . "\xf11d")
|
||||
("flask" . "\xf0c3")
|
||||
("flickr" . "\xf16e")
|
||||
("floppy-o" . "\xf0c7")
|
||||
("folder" . "\xf07b")
|
||||
("folder-o" . "\xf114")
|
||||
("folder-open" . "\xf07c")
|
||||
("folder-open-o" . "\xf115")
|
||||
("font" . "\xf031")
|
||||
("font-awesome" . "\xf2b4")
|
||||
("fonticons" . "\xf280")
|
||||
("fort-awesome" . "\xf286")
|
||||
("forumbee" . "\xf211")
|
||||
("forward" . "\xf04e")
|
||||
("foursquare" . "\xf180")
|
||||
("frown-o" . "\xf119")
|
||||
("futbol-o" . "\xf1e3")
|
||||
("gamepad" . "\xf11b")
|
||||
("gavel" . "\xf0e3")
|
||||
("gbp" . "\xf154")
|
||||
("genderless" . "\xf22d")
|
||||
("get-pocket" . "\xf265")
|
||||
("gg" . "\xf260")
|
||||
("gg-circle" . "\xf261")
|
||||
("gift" . "\xf06b")
|
||||
("git" . "\xf1d3")
|
||||
("git-square" . "\xf1d2")
|
||||
("github" . "\xf09b")
|
||||
("github-alt" . "\xf113")
|
||||
("github-square" . "\xf092")
|
||||
("gitlab" . "\xf296")
|
||||
("glass" . "\xf000")
|
||||
("glide" . "\xf2a5")
|
||||
("glide-g" . "\xf2a6")
|
||||
("globe" . "\xf0ac")
|
||||
("google" . "\xf1a0")
|
||||
("google-plus" . "\xf0d5")
|
||||
("google-plus-official" . "\xf2b3")
|
||||
("google-plus-square" . "\xf0d4")
|
||||
("google-wallet" . "\xf1ee")
|
||||
("graduation-cap" . "\xf19d")
|
||||
("gratipay" . "\xf184")
|
||||
("h-square" . "\xf0fd")
|
||||
("hacker-news" . "\xf1d4")
|
||||
("hand-lizard-o" . "\xf258")
|
||||
("hand-o-down" . "\xf0a7")
|
||||
("hand-o-left" . "\xf0a5")
|
||||
("hand-o-right" . "\xf0a4")
|
||||
("hand-o-up" . "\xf0a6")
|
||||
("hand-paper-o" . "\xf256")
|
||||
("hand-peace-o" . "\xf25b")
|
||||
("hand-pointer-o" . "\xf25a")
|
||||
("hand-rock-o" . "\xf255")
|
||||
("hand-scissors-o" . "\xf257")
|
||||
("hand-spock-o" . "\xf259")
|
||||
("hashtag" . "\xf292")
|
||||
("hdd-o" . "\xf0a0")
|
||||
("header" . "\xf1dc")
|
||||
("headphones" . "\xf025")
|
||||
("heart" . "\xf004")
|
||||
("heart-o" . "\xf08a")
|
||||
("heartbeat" . "\xf21e")
|
||||
("history" . "\xf1da")
|
||||
("home" . "\xf015")
|
||||
("hospital-o" . "\xf0f8")
|
||||
("hourglass" . "\xf254")
|
||||
("hourglass-end" . "\xf253")
|
||||
("hourglass-half" . "\xf252")
|
||||
("hourglass-o" . "\xf250")
|
||||
("hourglass-start" . "\xf251")
|
||||
("houzz" . "\xf27c")
|
||||
("html5" . "\xf13b")
|
||||
("i-cursor" . "\xf246")
|
||||
("ils" . "\xf20b")
|
||||
("inbox" . "\xf01c")
|
||||
("indent" . "\xf03c")
|
||||
("industry" . "\xf275")
|
||||
("info" . "\xf129")
|
||||
("info-circle" . "\xf05a")
|
||||
("inr" . "\xf156")
|
||||
("instagram" . "\xf16d")
|
||||
("internet-explorer" . "\xf26b")
|
||||
("ioxhost" . "\xf208")
|
||||
("italic" . "\xf033")
|
||||
("joomla" . "\xf1aa")
|
||||
("jpy" . "\xf157")
|
||||
("jsfiddle" . "\xf1cc")
|
||||
("key" . "\xf084")
|
||||
("keyboard-o" . "\xf11c")
|
||||
("krw" . "\xf159")
|
||||
("language" . "\xf1ab")
|
||||
("laptop" . "\xf109")
|
||||
("lastfm" . "\xf202")
|
||||
("lastfm-square" . "\xf203")
|
||||
("leaf" . "\xf06c")
|
||||
("leanpub" . "\xf212")
|
||||
("lemon-o" . "\xf094")
|
||||
("level-down" . "\xf149")
|
||||
("level-up" . "\xf148")
|
||||
("life-ring" . "\xf1cd")
|
||||
("lightbulb-o" . "\xf0eb")
|
||||
("line-chart" . "\xf201")
|
||||
("link" . "\xf0c1")
|
||||
("linkedin" . "\xf0e1")
|
||||
("linkedin-square" . "\xf08c")
|
||||
("linux" . "\xf17c")
|
||||
("list" . "\xf03a")
|
||||
("list-alt" . "\xf022")
|
||||
("list-ol" . "\xf0cb")
|
||||
("list-ul" . "\xf0ca")
|
||||
("location-arrow" . "\xf124")
|
||||
("lock" . "\xf023")
|
||||
("long-arrow-down" . "\xf175")
|
||||
("long-arrow-left" . "\xf177")
|
||||
("long-arrow-right" . "\xf178")
|
||||
("long-arrow-up" . "\xf176")
|
||||
("low-vision" . "\xf2a8")
|
||||
("magic" . "\xf0d0")
|
||||
("magnet" . "\xf076")
|
||||
("male" . "\xf183")
|
||||
("map" . "\xf279")
|
||||
("map-marker" . "\xf041")
|
||||
("map-o" . "\xf278")
|
||||
("map-pin" . "\xf276")
|
||||
("map-signs" . "\xf277")
|
||||
("mars" . "\xf222")
|
||||
("mars-double" . "\xf227")
|
||||
("mars-stroke" . "\xf229")
|
||||
("mars-stroke-h" . "\xf22b")
|
||||
("mars-stroke-v" . "\xf22a")
|
||||
("maxcdn" . "\xf136")
|
||||
("meanpath" . "\xf20c")
|
||||
("medium" . "\xf23a")
|
||||
("medkit" . "\xf0fa")
|
||||
("meh-o" . "\xf11a")
|
||||
("mercury" . "\xf223")
|
||||
("microphone" . "\xf130")
|
||||
("microphone-slash" . "\xf131")
|
||||
("minus" . "\xf068")
|
||||
("minus-circle" . "\xf056")
|
||||
("minus-square" . "\xf146")
|
||||
("minus-square-o" . "\xf147")
|
||||
("mixcloud" . "\xf289")
|
||||
("mobile" . "\xf10b")
|
||||
("modx" . "\xf285")
|
||||
("money" . "\xf0d6")
|
||||
("moon-o" . "\xf186")
|
||||
("motorcycle" . "\xf21c")
|
||||
("mouse-pointer" . "\xf245")
|
||||
("music" . "\xf001")
|
||||
("neuter" . "\xf22c")
|
||||
("newspaper-o" . "\xf1ea")
|
||||
("object-group" . "\xf247")
|
||||
("object-ungroup" . "\xf248")
|
||||
("odnoklassniki" . "\xf263")
|
||||
("odnoklassniki-square" . "\xf264")
|
||||
("opencart" . "\xf23d")
|
||||
("openid" . "\xf19b")
|
||||
("opera" . "\xf26a")
|
||||
("optin-monster" . "\xf23c")
|
||||
("outdent" . "\xf03b")
|
||||
("pagelines" . "\xf18c")
|
||||
("paint-brush" . "\xf1fc")
|
||||
("paper-plane" . "\xf1d8")
|
||||
("paper-plane-o" . "\xf1d9")
|
||||
("paperclip" . "\xf0c6")
|
||||
("paragraph" . "\xf1dd")
|
||||
("pause" . "\xf04c")
|
||||
("pause-circle" . "\xf28b")
|
||||
("pause-circle-o" . "\xf28c")
|
||||
("paw" . "\xf1b0")
|
||||
("paypal" . "\xf1ed")
|
||||
("pencil" . "\xf040")
|
||||
("pencil-square" . "\xf14b")
|
||||
("pencil-square-o" . "\xf044")
|
||||
("percent" . "\xf295")
|
||||
("phone" . "\xf095")
|
||||
("phone-square" . "\xf098")
|
||||
("picture-o" . "\xf03e")
|
||||
("pie-chart" . "\xf200")
|
||||
("pied-piper" . "\xf2ae")
|
||||
("pied-piper-alt" . "\xf1a8")
|
||||
("pied-piper-pp" . "\xf1a7")
|
||||
("pinterest" . "\xf0d2")
|
||||
("pinterest-p" . "\xf231")
|
||||
("pinterest-square" . "\xf0d3")
|
||||
("plane" . "\xf072")
|
||||
("play" . "\xf04b")
|
||||
("play-circle" . "\xf144")
|
||||
("play-circle-o" . "\xf01d")
|
||||
("plug" . "\xf1e6")
|
||||
("plus" . "\xf067")
|
||||
("plus-circle" . "\xf055")
|
||||
("plus-square" . "\xf0fe")
|
||||
("plus-square-o" . "\xf196")
|
||||
("power-off" . "\xf011")
|
||||
("print" . "\xf02f")
|
||||
("product-hunt" . "\xf288")
|
||||
("puzzle-piece" . "\xf12e")
|
||||
("qq" . "\xf1d6")
|
||||
("qrcode" . "\xf029")
|
||||
("question" . "\xf128")
|
||||
("question-circle" . "\xf059")
|
||||
("question-circle-o" . "\xf29c")
|
||||
("quote-left" . "\xf10d")
|
||||
("quote-right" . "\xf10e")
|
||||
("random" . "\xf074")
|
||||
("rebel" . "\xf1d0")
|
||||
("recycle" . "\xf1b8")
|
||||
("reddit" . "\xf1a1")
|
||||
("reddit-alien" . "\xf281")
|
||||
("reddit-square" . "\xf1a2")
|
||||
("refresh" . "\xf021")
|
||||
("registered" . "\xf25d")
|
||||
("renren" . "\xf18b")
|
||||
("repeat" . "\xf01e")
|
||||
("reply" . "\xf112")
|
||||
("reply-all" . "\xf122")
|
||||
("retweet" . "\xf079")
|
||||
("road" . "\xf018")
|
||||
("rocket" . "\xf135")
|
||||
("rss" . "\xf09e")
|
||||
("rss-square" . "\xf143")
|
||||
("rub" . "\xf158")
|
||||
("safari" . "\xf267")
|
||||
("scissors" . "\xf0c4")
|
||||
("scribd" . "\xf28a")
|
||||
("search" . "\xf002")
|
||||
("search-minus" . "\xf010")
|
||||
("search-plus" . "\xf00e")
|
||||
("sellsy" . "\xf213")
|
||||
("server" . "\xf233")
|
||||
("share" . "\xf064")
|
||||
("share-alt" . "\xf1e0")
|
||||
("share-alt-square" . "\xf1e1")
|
||||
("share-square" . "\xf14d")
|
||||
("share-square-o" . "\xf045")
|
||||
("shield" . "\xf132")
|
||||
("ship" . "\xf21a")
|
||||
("shirtsinbulk" . "\xf214")
|
||||
("shopping-bag" . "\xf290")
|
||||
("shopping-basket" . "\xf291")
|
||||
("shopping-cart" . "\xf07a")
|
||||
("sign-in" . "\xf090")
|
||||
("sign-language" . "\xf2a7")
|
||||
("sign-out" . "\xf08b")
|
||||
("signal" . "\xf012")
|
||||
("simplybuilt" . "\xf215")
|
||||
("sitemap" . "\xf0e8")
|
||||
("skyatlas" . "\xf216")
|
||||
("skype" . "\xf17e")
|
||||
("slack" . "\xf198")
|
||||
("sliders" . "\xf1de")
|
||||
("slideshare" . "\xf1e7")
|
||||
("smile-o" . "\xf118")
|
||||
("snapchat" . "\xf2ab")
|
||||
("snapchat-ghost" . "\xf2ac")
|
||||
("snapchat-square" . "\xf2ad")
|
||||
("sort" . "\xf0dc")
|
||||
("sort-alpha-asc" . "\xf15d")
|
||||
("sort-alpha-desc" . "\xf15e")
|
||||
("sort-amount-asc" . "\xf160")
|
||||
("sort-amount-desc" . "\xf161")
|
||||
("sort-asc" . "\xf0de")
|
||||
("sort-desc" . "\xf0dd")
|
||||
("sort-numeric-asc" . "\xf162")
|
||||
("sort-numeric-desc" . "\xf163")
|
||||
("soundcloud" . "\xf1be")
|
||||
("space-shuttle" . "\xf197")
|
||||
("spinner" . "\xf110")
|
||||
("spoon" . "\xf1b1")
|
||||
("spotify" . "\xf1bc")
|
||||
("square" . "\xf0c8")
|
||||
("square-o" . "\xf096")
|
||||
("stack-exchange" . "\xf18d")
|
||||
("stack-overflow" . "\xf16c")
|
||||
("star" . "\xf005")
|
||||
("star-half" . "\xf089")
|
||||
("star-half-o" . "\xf123")
|
||||
("star-o" . "\xf006")
|
||||
("steam" . "\xf1b6")
|
||||
("steam-square" . "\xf1b7")
|
||||
("step-backward" . "\xf048")
|
||||
("step-forward" . "\xf051")
|
||||
("stethoscope" . "\xf0f1")
|
||||
("sticky-note" . "\xf249")
|
||||
("sticky-note-o" . "\xf24a")
|
||||
("stop" . "\xf04d")
|
||||
("stop-circle" . "\xf28d")
|
||||
("stop-circle-o" . "\xf28e")
|
||||
("street-view" . "\xf21d")
|
||||
("strikethrough" . "\xf0cc")
|
||||
("stumbleupon" . "\xf1a4")
|
||||
("stumbleupon-circle" . "\xf1a3")
|
||||
("subscript" . "\xf12c")
|
||||
("subway" . "\xf239")
|
||||
("suitcase" . "\xf0f2")
|
||||
("sun-o" . "\xf185")
|
||||
("superscript" . "\xf12b")
|
||||
("table" . "\xf0ce")
|
||||
("tablet" . "\xf10a")
|
||||
("tachometer" . "\xf0e4")
|
||||
("tag" . "\xf02b")
|
||||
("tags" . "\xf02c")
|
||||
("tasks" . "\xf0ae")
|
||||
("taxi" . "\xf1ba")
|
||||
("television" . "\xf26c")
|
||||
("tencent-weibo" . "\xf1d5")
|
||||
("terminal" . "\xf120")
|
||||
("text-height" . "\xf034")
|
||||
("text-width" . "\xf035")
|
||||
("th" . "\xf00a")
|
||||
("th-large" . "\xf009")
|
||||
("th-list" . "\xf00b")
|
||||
("themeisle" . "\xf2b2")
|
||||
("thumb-tack" . "\xf08d")
|
||||
("thumbs-down" . "\xf165")
|
||||
("thumbs-o-down" . "\xf088")
|
||||
("thumbs-o-up" . "\xf087")
|
||||
("thumbs-up" . "\xf164")
|
||||
("ticket" . "\xf145")
|
||||
("times" . "\xf00d")
|
||||
("times-circle" . "\xf057")
|
||||
("times-circle-o" . "\xf05c")
|
||||
("tint" . "\xf043")
|
||||
("toggle-off" . "\xf204")
|
||||
("toggle-on" . "\xf205")
|
||||
("trademark" . "\xf25c")
|
||||
("train" . "\xf238")
|
||||
("transgender" . "\xf224")
|
||||
("transgender-alt" . "\xf225")
|
||||
("trash" . "\xf1f8")
|
||||
("trash-o" . "\xf014")
|
||||
("tree" . "\xf1bb")
|
||||
("trello" . "\xf181")
|
||||
("tripadvisor" . "\xf262")
|
||||
("trophy" . "\xf091")
|
||||
("truck" . "\xf0d1")
|
||||
("try" . "\xf195")
|
||||
("tty" . "\xf1e4")
|
||||
("tumblr" . "\xf173")
|
||||
("tumblr-square" . "\xf174")
|
||||
("twitch" . "\xf1e8")
|
||||
("twitter" . "\xf099")
|
||||
("twitter-square" . "\xf081")
|
||||
("umbrella" . "\xf0e9")
|
||||
("underline" . "\xf0cd")
|
||||
("undo" . "\xf0e2")
|
||||
("universal-access" . "\xf29a")
|
||||
("university" . "\xf19c")
|
||||
("unlock" . "\xf09c")
|
||||
("unlock-alt" . "\xf13e")
|
||||
("upload" . "\xf093")
|
||||
("usb" . "\xf287")
|
||||
("usd" . "\xf155")
|
||||
("user" . "\xf007")
|
||||
("user-md" . "\xf0f0")
|
||||
("user-plus" . "\xf234")
|
||||
("user-secret" . "\xf21b")
|
||||
("user-times" . "\xf235")
|
||||
("users" . "\xf0c0")
|
||||
("venus" . "\xf221")
|
||||
("venus-double" . "\xf226")
|
||||
("venus-mars" . "\xf228")
|
||||
("viacoin" . "\xf237")
|
||||
("viadeo" . "\xf2a9")
|
||||
("viadeo-square" . "\xf2aa")
|
||||
("video-camera" . "\xf03d")
|
||||
("vimeo" . "\xf27d")
|
||||
("vimeo-square" . "\xf194")
|
||||
("vine" . "\xf1ca")
|
||||
("vk" . "\xf189")
|
||||
("volume-control-phone" . "\xf2a0")
|
||||
("volume-down" . "\xf027")
|
||||
("volume-off" . "\xf026")
|
||||
("volume-up" . "\xf028")
|
||||
("weibo" . "\xf18a")
|
||||
("weixin" . "\xf1d7")
|
||||
("whatsapp" . "\xf232")
|
||||
("wheelchair" . "\xf193")
|
||||
("wheelchair-alt" . "\xf29b")
|
||||
("wifi" . "\xf1eb")
|
||||
("wikipedia-w" . "\xf266")
|
||||
("windows" . "\xf17a")
|
||||
("wordpress" . "\xf19a")
|
||||
("wpbeginner" . "\xf297")
|
||||
("wpforms" . "\xf298")
|
||||
("wrench" . "\xf0ad")
|
||||
("xing" . "\xf168")
|
||||
("xing-square" . "\xf169")
|
||||
("y-combinator" . "\xf23b")
|
||||
("yahoo" . "\xf19e")
|
||||
("yelp" . "\xf1e9")
|
||||
("yoast" . "\xf2b1")
|
||||
("youtube" . "\xf167")
|
||||
("youtube-play" . "\xf16a")
|
||||
("youtube-square" . "\xf166")
|
||||
|
||||
))
|
||||
|
||||
(provide 'data-faicons)
|
|
@ -1,502 +0,0 @@
|
|||
(defvar all-the-icons-data/file-icon-alist
|
||||
'(
|
||||
|
||||
( "1c" . "\xa5ea" )
|
||||
( "1c-alt" . "\xea28" )
|
||||
( "MJML" . "\xea6f" )
|
||||
( "R" . "\xe905" )
|
||||
( "abap" . "\xe92b" )
|
||||
( "abif" . "\xea4e" )
|
||||
( "access" . "\xe9ea" )
|
||||
( "actionscript" . "\xe92e" )
|
||||
( "ada" . "\xe90b" )
|
||||
( "ae" . "\xe9f3" )
|
||||
( "ai" . "\xe6b4" )
|
||||
( "akka" . "\xea0e" )
|
||||
( "alex" . "\x29cb" )
|
||||
( "alloy" . "\xe935" )
|
||||
( "alpine-linux" . "\xe9ff" )
|
||||
( "ampl" . "\xe94e" )
|
||||
( "amx" . "\xe99b" )
|
||||
( "angelscript" . "\xea5b" )
|
||||
( "ansible" . "\x24b6" )
|
||||
( "ansible-alt" . "\x61" )
|
||||
( "ant" . "\xe93e" )
|
||||
( "antlr" . "\xe92c" )
|
||||
( "antwar" . "\x2591" )
|
||||
( "api-blueprint" . "\xe92d" )
|
||||
( "apl" . "\x234b" )
|
||||
( "apl-old" . "\xe909" )
|
||||
( "apple" . "\xe925" )
|
||||
( "appveyor" . "\xe923" )
|
||||
( "arc" . "\xe92f" )
|
||||
( "arch-linux" . "\x41" )
|
||||
( "arduino" . "\xe930" )
|
||||
( "arttext" . "\x24d0" )
|
||||
( "asciidoc" . "\xe918" )
|
||||
( "assembly" . "\xEB4F" )
|
||||
( "ats" . "\xe934" )
|
||||
( "audacity" . "\xe9f9" )
|
||||
( "augeas" . "\xe931" )
|
||||
( "aurelia" . "\xea48" )
|
||||
( "auto-hotkey" . "\xe932" )
|
||||
( "autoit" . "\xe933" )
|
||||
( "babel" . "\xe91f" )
|
||||
( "bazel" . "\xea5a" )
|
||||
( "bem" . "\xea59" )
|
||||
( "bib" . "\xe601" )
|
||||
( "bintray" . "\xea6e" )
|
||||
( "bithound" . "\xea2a" )
|
||||
( "blender" . "\xe9fa" )
|
||||
( "bluespec" . "\xe93c" )
|
||||
( "boo" . "\xe939" )
|
||||
( "brain" . "\xe93a" )
|
||||
( "brakeman" . "\xe9d6" )
|
||||
( "bro" . "\xe93b" )
|
||||
( "broccoli" . "\xe922" )
|
||||
( "brotli" . "\xea6c" )
|
||||
( "browserslist" . "\xea80" )
|
||||
( "brunch" . "\xea47" )
|
||||
( "buck" . "\xea46" )
|
||||
( "build-boot" . "\xf103" )
|
||||
( "bundler" . "\xea45" )
|
||||
( "byond" . "\xe962" )
|
||||
( "cabal" . "\xe9c2" )
|
||||
( "caddy" . "\xea58" )
|
||||
( "cake" . "\xe9e3" )
|
||||
( "cakefile" . "\xe924" )
|
||||
( "cakephp" . "\xea43" )
|
||||
( "cakephp-old" . "\xe9d3" )
|
||||
( "cc" . "\xe9d5" )
|
||||
( "ceylon" . "\xe94f" )
|
||||
( "chai" . "\x63" )
|
||||
( "chapel" . "\xe950" )
|
||||
( "chartjs" . "\xea0b" )
|
||||
( "chef" . "\xea42" )
|
||||
( "chuck" . "\xe943" )
|
||||
( "circle-ci" . "\xea12" )
|
||||
( "cirru" . "\xe951" )
|
||||
( "ckeditor" . "\xea0c" )
|
||||
( "clarion" . "\xe952" )
|
||||
( "clean" . "\xe95b" )
|
||||
( "click" . "\xe95c" )
|
||||
( "clips" . "\xe940" )
|
||||
( "clj" . "\xf105" )
|
||||
( "cljs" . "\xf104" )
|
||||
( "closure-template" . "\xea82" )
|
||||
( "cmake" . "\xe93f" )
|
||||
( "cobol" . "\xea44" )
|
||||
( "codecov" . "\x2602" )
|
||||
( "codekit" . "\xea41" )
|
||||
( "codemirror" . "\xea0d" )
|
||||
( "codeship" . "\xea6a" )
|
||||
( "cold-fusion" . "\xe929" )
|
||||
( "clisp" . "\xe972" )
|
||||
( "composer" . "\xe683" )
|
||||
( "config" . "\xf07c" )
|
||||
( "config-coffeescript" . "\xeb18" )
|
||||
( "config-go" . "\xeb12" )
|
||||
( "config-haskell" . "\xeb14" )
|
||||
( "config-js" . "\xeb1a" )
|
||||
( "config-perl" . "\xeb19" )
|
||||
( "config-python" . "\xeb15" )
|
||||
( "config-react" . "\xeb16" )
|
||||
( "config-ruby" . "\xeb17" )
|
||||
( "config-rust" . "\xeb13" )
|
||||
( "config-typescript" . "\xeb1b" )
|
||||
( "coq" . "\xe95f" )
|
||||
( "cordova" . "\xea11" )
|
||||
( "cp" . "\xe942" )
|
||||
( "cpan" . "\xea87" )
|
||||
( "creole" . "\xe95e" )
|
||||
( "crystal" . "\xe902" )
|
||||
( "cs-script" . "\xe9e2" )
|
||||
( "csound" . "\xe9f0" )
|
||||
( "cucumber" . "\xf02b" )
|
||||
( "cython" . "\xe963" )
|
||||
( "d3" . "\xea10" )
|
||||
( "darcs" . "\xe964" )
|
||||
( "dart" . "\xe698" )
|
||||
( "dashboard" . "\xf07d" )
|
||||
( "dbase" . "\xe9f1" )
|
||||
( "default" . "\x1f5cc" )
|
||||
( "delphi" . "\xea40" )
|
||||
( "devicetree" . "\xea57" )
|
||||
( "diff" . "\xe960" )
|
||||
( "dockerfile" . "\xf106" )
|
||||
( "doclets" . "\xea3f" )
|
||||
( "doge" . "\xe946" )
|
||||
( "dom" . "\xea71" )
|
||||
( "donejs" . "\x1f3c1" )
|
||||
( "doxygen" . "\xe928" )
|
||||
( "dragula" . "\x1f44c" )
|
||||
( "drone" . "\xea3d" )
|
||||
( "dyalog" . "\xe90c" )
|
||||
( "dylib" . "\xea15" )
|
||||
( "e" . "\x45" )
|
||||
( "eagle" . "\xe965" )
|
||||
( "easybuild" . "\xea85" )
|
||||
( "ec" . "\xe9c9" )
|
||||
( "ecere" . "\xe966" )
|
||||
( "edge" . "\xea78" )
|
||||
( "editorconfig" . "\xea1b" )
|
||||
( "eiffel" . "\xe967" )
|
||||
( "ejs" . "\xea4b" )
|
||||
( "electron" . "\xea27" )
|
||||
( "elm" . "\xf102" )
|
||||
( "emacs" . "\xe926" )
|
||||
( "elisp" . "\xe926" )
|
||||
( "ember" . "\xe61b" )
|
||||
( "emberscript" . "\xe968" )
|
||||
( "eq" . "\xea0a" )
|
||||
( "esdoc" . "\xea5c" )
|
||||
( "eslint" . "\xea0f" )
|
||||
( "eslint-old" . "\xe90e" )
|
||||
( "excel" . "\xe9ee" )
|
||||
( "fabfile" . "\xe94b" )
|
||||
( "factor" . "\xe96a" )
|
||||
( "fancy" . "\xe96b" )
|
||||
( "fantom" . "\xe96f" )
|
||||
( "fbx" . "\xe9fc" )
|
||||
( "ffmpeg" . "\xea22" )
|
||||
( "finder" . "\xe9e9" )
|
||||
( "firebase" . "\xea7f" )
|
||||
( "flow" . "\xe921" )
|
||||
( "flux" . "\xe969" )
|
||||
( "font" . "\xe90f" )
|
||||
( "fontforge" . "\xfb00" )
|
||||
( "fortran" . "\xe90a" )
|
||||
( "franca" . "\xea56" )
|
||||
( "freemarker" . "\xe970" )
|
||||
( "frege" . "\xe96e" )
|
||||
( "fsharp" . "\xe6a7" )
|
||||
( "fuel-ux" . "\xea09" )
|
||||
( "gams" . "\xe973" )
|
||||
( "gap" . "\xe971" )
|
||||
( "gdb" . "\xea08" )
|
||||
( "genshi" . "\xe976" )
|
||||
( "gentoo" . "\xe96d" )
|
||||
( "gf" . "\xe978" )
|
||||
( "gitlab" . "\xea3c" )
|
||||
( "glade" . "\xe938" )
|
||||
( "glyphs" . "\x47" )
|
||||
( "gn" . "\xea25" )
|
||||
( "gnu" . "\xe679" )
|
||||
( "go" . "\xeaae" )
|
||||
( "godot" . "\xe974" )
|
||||
( "golo" . "\xe979" )
|
||||
( "gosu" . "\xe97a" )
|
||||
( "gradle" . "\xe903" )
|
||||
( "graphql" . "\xe97c" )
|
||||
( "graphviz" . "\xe97d" )
|
||||
( "groovy" . "\xe904" )
|
||||
( "grunt" . "\xe611" )
|
||||
( "gulp" . "\xe610" )
|
||||
( "hack" . "\xe9ce" )
|
||||
( "haml" . "\xf15b" )
|
||||
( "harbour" . "\xe97b" )
|
||||
( "hashicorp" . "\xe97e" )
|
||||
( "haxe" . "\xe907" )
|
||||
( "haxedevelop" . "\xea3b" )
|
||||
( "hg" . "\x263f" )
|
||||
( "hoplon" . "\xea4d" )
|
||||
( "hy" . "\xe97f" )
|
||||
( "icu" . "\xea23" )
|
||||
( "id" . "\xe9f4" )
|
||||
( "idl" . "\xe947" )
|
||||
( "idris" . "\xe983" )
|
||||
( "igorpro" . "\xe980" )
|
||||
( "image" . "\xf012" )
|
||||
( "inform7" . "\xe984" )
|
||||
( "inno" . "\xe985" )
|
||||
( "io" . "\xe981" )
|
||||
( "ioke" . "\xe982" )
|
||||
( "ionic-project" . "\xf14b" )
|
||||
( "isabelle" . "\xe945" )
|
||||
( "j" . "\xe937" )
|
||||
( "jade" . "\xe90d" )
|
||||
( "jake" . "\xe948" )
|
||||
( "jasmine" . "\xea3a" )
|
||||
( "jenkins" . "\xe667" )
|
||||
( "jest" . "\xea39" )
|
||||
( "jinja" . "\xe944" )
|
||||
( "jison" . "\xea55" )
|
||||
( "jolie" . "\xea75" )
|
||||
( "jsonld" . "\xe958" )
|
||||
( "jsx" . "\xf100" )
|
||||
( "jsx-2" . "\xf101" )
|
||||
( "jsx2-alt" . "\xe9e6" )
|
||||
( "julia" . "\x26ec" )
|
||||
( "junos" . "\xea81" )
|
||||
( "jupyter" . "\xe987" )
|
||||
( "karma" . "\xe9cd" )
|
||||
( "keynote" . "\xe9e5" )
|
||||
( "khronos" . "\xe9f8" )
|
||||
( "kicad" . "\xea4c" )
|
||||
( "kitchenci" . "\xea38" )
|
||||
( "kivy" . "\xe901" )
|
||||
( "knockout" . "\x4b" )
|
||||
( "kotlin" . "\xe989" )
|
||||
( "krl" . "\xe988" )
|
||||
( "labview" . "\xe98a" )
|
||||
( "lasso" . "\xe98c" )
|
||||
( "leaflet" . "\xea07" )
|
||||
( "lean" . "\x4c" )
|
||||
( "lerna" . "\xea37" )
|
||||
( "lfe" . "\xe94c" )
|
||||
( "libuv" . "\xea21" )
|
||||
( "lightwave" . "\xe9fb" )
|
||||
( "lime" . "\xea36" )
|
||||
( "lisp" . "\xe908" )
|
||||
( "livescript" . "\xe914" )
|
||||
( "llvm" . "\xe91d" )
|
||||
( "logtalk" . "\xe98d" )
|
||||
( "lookml" . "\xe98e" )
|
||||
( "lsl" . "\xe98b" )
|
||||
( "lua" . "\xe91b" )
|
||||
( "mako" . "\xe98f" )
|
||||
( "man-page" . "\xe936" )
|
||||
( "mapbox" . "\xe941" )
|
||||
( "markdownlint" . "\xf0c9" )
|
||||
( "marko" . "\xe920" )
|
||||
( "mathematica" . "\xe990" )
|
||||
( "mathjax" . "\xea06" )
|
||||
( "matlab" . "\xe991" )
|
||||
( "max" . "\xe993" )
|
||||
( "maxscript" . "\xe900" )
|
||||
( "maya" . "\xe9f6" )
|
||||
( "mediawiki" . "\xe954" )
|
||||
( "mercury" . "\xe994" )
|
||||
( "meson" . "\xeafe" )
|
||||
( "metal" . "\x4d" )
|
||||
( "meteor" . "\xe6a5" )
|
||||
( "microsoft-infopath" . "\xea35" )
|
||||
( "minecraft" . "\xe9dc" )
|
||||
( "minizinc" . "\xea53" )
|
||||
( "mirah" . "\xe995" )
|
||||
( "miranda" . "\xea52" )
|
||||
( "mocha" . "\x26fe" )
|
||||
( "modula-2" . "\xe996" )
|
||||
( "moment" . "\x1f558" )
|
||||
( "moment-tz" . "\x1f30d" )
|
||||
( "monkey" . "\xe997" )
|
||||
( "moustache" . "\xe60f" )
|
||||
( "mruby" . "\xea18" )
|
||||
( "mupad" . "\xe9ca" )
|
||||
( "nano" . "\xea76" )
|
||||
( "nanoc" . "\xea51" )
|
||||
( "nant" . "\xe9e1" )
|
||||
( "nasm" . "\xea72" )
|
||||
( "neko" . "\xea05" )
|
||||
( "netlogo" . "\xe99c" )
|
||||
( "new-relic" . "\xe9d7" )
|
||||
( "nginx" . "\xf146b" )
|
||||
( "nib" . "\x2712" )
|
||||
( "nimrod" . "\xe998" )
|
||||
( "nit" . "\xe999" )
|
||||
( "nix" . "\xe99a" )
|
||||
( "nmap" . "\xe94d" )
|
||||
( "nodemon" . "\xea26" )
|
||||
( "normalize" . "\xea04" )
|
||||
( "npm" . "\xe91c" )
|
||||
( "npm-old" . "\xf17b" )
|
||||
( "nsis" . "\xea1e" )
|
||||
( "nsis-old" . "\xe992" )
|
||||
( "nuclide" . "\xea34" )
|
||||
( "nuget" . "\xe9d9" )
|
||||
( "numpy" . "\xe99d" )
|
||||
( "nunjucks" . "\xe953" )
|
||||
( "nvidia" . "\xe95d" )
|
||||
( "nxc" . "\xea6b" )
|
||||
( "obj" . "\xe9e8" )
|
||||
( "objective-j" . "\xe99e" )
|
||||
( "ocaml" . "\xe91a" )
|
||||
( "octave" . "\xea33" )
|
||||
( "odin" . "\xeb36" )
|
||||
( "onenote" . "\xe9eb" )
|
||||
( "ooc" . "\xe9cb" )
|
||||
( "opa" . "\x2601" )
|
||||
( "opencl" . "\xe99f" )
|
||||
( "opengl" . "\xea7a" )
|
||||
( "openoffice" . "\xe9e4" )
|
||||
( "openscad" . "\xe911" )
|
||||
( "org" . "\xe917" )
|
||||
( "owl" . "\xe957" )
|
||||
( "ox" . "\xe9a1" )
|
||||
( "oxygene" . "\xe9bf" )
|
||||
( "oz" . "\xe9be" )
|
||||
( "p4" . "\xea50" )
|
||||
( "pan" . "\xe9bd" )
|
||||
( "papyrus" . "\xe9bc" )
|
||||
( "parrot" . "\xe9bb" )
|
||||
( "pascal" . "\xe92a" )
|
||||
( "patch" . "\xe961" )
|
||||
( "pawn" . "\x265f" )
|
||||
( "pb" . "\xea14" )
|
||||
( "pegjs" . "\xea74" )
|
||||
( "raku" . "\xe96c" )
|
||||
( "phalcon" . "\xe94a" )
|
||||
( "phoenix" . "\xea5f" )
|
||||
( "php" . "\xf147" )
|
||||
( "phpunit" . "\xea32" )
|
||||
( "pickle" . "\xe9c4" )
|
||||
( "pike" . "\xe9b9" )
|
||||
( "platformio" . "\xea2c" )
|
||||
( "pm2" . "\x2630" )
|
||||
( "pod" . "\xea84" )
|
||||
( "pogo" . "\xe9b8" )
|
||||
( "pointwise" . "\xe977" )
|
||||
( "polymer" . "\xea2b" )
|
||||
( "pony" . "\xe9b7" )
|
||||
( "postcss" . "\xe910" )
|
||||
( "postscript" . "\xe955" )
|
||||
( "povray" . "\x50" )
|
||||
( "powerpoint" . "\xe9ec" )
|
||||
( "powershell" . "\xe9da" )
|
||||
( "precision" . "\x2295" )
|
||||
( "premiere" . "\xe9f5" )
|
||||
( "processing" . "\xe9a0" )
|
||||
( "progress" . "\xe9c0" )
|
||||
( "propeller" . "\xe9b5" )
|
||||
( "proselint" . "\xea6d" )
|
||||
( "protractor" . "\xe9de" )
|
||||
( "ps" . "\xe6b8" )
|
||||
( "pug" . "\xea13" )
|
||||
( "pug-alt" . "\xe9d0" )
|
||||
( "puppet" . "\xf0c3" )
|
||||
( "purebasic" . "\x1b5" )
|
||||
( "purescript" . "\xe9b2" )
|
||||
( "racket" . "\xe9b1" )
|
||||
( "raml" . "\xe913" )
|
||||
( "rascal" . "\xea24" )
|
||||
( "rdoc" . "\xe9b0" )
|
||||
( "realbasic" . "\xe9af" )
|
||||
( "reason" . "\xea1d" )
|
||||
( "rebol" . "\xe9ae" )
|
||||
( "red" . "\xe9ad" )
|
||||
( "redux" . "\xea30" )
|
||||
( "regex" . "\x2a" )
|
||||
( "rexx" . "\xea16" )
|
||||
( "rhino" . "\xea4a" )
|
||||
( "ring" . "\x1f48d" )
|
||||
( "riot" . "\xe919" )
|
||||
( "robot" . "\xe9ac" )
|
||||
( "rollup" . "\xea20" )
|
||||
( "rollup-old" . "\xe9fd" )
|
||||
( "rot" . "\x1f764" )
|
||||
( "rspec" . "\xea31" )
|
||||
( "rst" . "\xe9cc" )
|
||||
( "sage" . "\xe9ab" )
|
||||
( "saltstack" . "\xe915" )
|
||||
( "sas" . "\xe95a" )
|
||||
( "sbt" . "\xe9d2" )
|
||||
( "sc" . "\xe9a2" )
|
||||
( "scheme" . "\x3bb" )
|
||||
( "scilab" . "\xe9a9" )
|
||||
( "scrutinizer" . "\xe9d4" )
|
||||
( "self" . "\xe9a8" )
|
||||
( "sequelize" . "\xea2f" )
|
||||
( "sf" . "\xe9db" )
|
||||
( "shen" . "\xe9a7" )
|
||||
( "shipit" . "\x26f5" )
|
||||
( "shippable" . "\xea2d" )
|
||||
( "shopify" . "\xe9cf" )
|
||||
( "shuriken" . "\x272b" )
|
||||
( "silverstripe" . "\xe800" )
|
||||
( "sinatra" . "\xea03" )
|
||||
( "sketch" . "\xe927" )
|
||||
( "sketchup-layout" . "\xea7c" )
|
||||
( "sketchup-make" . "\xea7e" )
|
||||
( "sketchup-stylebuilder" . "\xea7d" )
|
||||
( "slash" . "\xe9a6" )
|
||||
( "snyk" . "\xea1c" )
|
||||
( "solidity" . "\xea86" )
|
||||
( "sparql" . "\xe959" )
|
||||
( "spray" . "\xea02" )
|
||||
( "sqf" . "\xe9a5" )
|
||||
( "sqlite" . "\xe9dd" )
|
||||
( "squarespace" . "\xea5e" )
|
||||
( "stan" . "\xe9a4" )
|
||||
( "stata" . "\xe9a3" )
|
||||
( "storyist" . "\xe9ef" )
|
||||
( "strings" . "\xe9e0" )
|
||||
( "stylelint" . "\xe93d" )
|
||||
( "stylus" . "\x73" )
|
||||
( "stylus-full" . "\xe9f7" )
|
||||
( "stylus-orb" . "\x53" )
|
||||
( "sublime" . "\xe986" )
|
||||
( "sv" . "\xe9c3" )
|
||||
( "svelte" . "\x33dc" )
|
||||
( "svn" . "\xea17" )
|
||||
( "swagger" . "\xea29" )
|
||||
( "tag" . "\xf015" )
|
||||
( "tcl" . "\xe956" )
|
||||
( "telegram" . "\x2708" )
|
||||
( "terminal" . "\xf0c8" )
|
||||
( "tern" . "\x1f54a" )
|
||||
( "terraform" . "\xe916" )
|
||||
( "test-coffeescript" . "\xea62" )
|
||||
( "test-dir" . "\xea60" )
|
||||
( "test-generic" . "\xea63" )
|
||||
( "test-js" . "\xea64" )
|
||||
( "test-perl" . "\xea65" )
|
||||
( "test-python" . "\xea66" )
|
||||
( "test-react" . "\xea67" )
|
||||
( "test-ruby" . "\xea68" )
|
||||
( "test-typescript" . "\xea69" )
|
||||
( "tex" . "\xe600" )
|
||||
( "textile" . "\x74" )
|
||||
( "textmate" . "\x2122" )
|
||||
( "thor" . "\xe9d8" )
|
||||
( "tinymce" . "\xea01" )
|
||||
( "tsx" . "\xe9d1" )
|
||||
( "tsx-alt" . "\xe9e7" )
|
||||
( "tt" . "\x54" )
|
||||
( "turing" . "\xe9b6" )
|
||||
( "twig" . "\x2e19" )
|
||||
( "twine" . "\xea5d" )
|
||||
( "txl" . "\xe9c1" )
|
||||
( "typedoc" . "\xe9fe" )
|
||||
( "typescript" . "\xe912" )
|
||||
( "typescript-alt" . "\x2a6" )
|
||||
( "typings" . "\xe9df" )
|
||||
( "uno" . "\xe9b3" )
|
||||
( "unreal" . "\x75" )
|
||||
( "urweb" . "\xe9ba" )
|
||||
( "v8" . "\xea1f" )
|
||||
( "vagrant" . "\x56" )
|
||||
( "vcl" . "\xe9b4" )
|
||||
( "verilog" . "\xe949" )
|
||||
( "vertex-shader" . "\xea79" )
|
||||
( "vhdl" . "\xe9aa" )
|
||||
( "video" . "\xf057" )
|
||||
( "virtualbox" . "\xea3e" )
|
||||
( "virtualbox-alt" . "\xea2e" )
|
||||
( "visio" . "\xea83" )
|
||||
( "vmware" . "\xea49" )
|
||||
( "vue" . "\xe906" )
|
||||
( "wasm" . "\xea70" )
|
||||
( "watchman" . "\xea4f" )
|
||||
( "webgl" . "\xea7b" )
|
||||
( "webpack" . "\xea61" )
|
||||
( "webpack-old" . "\xe91e" )
|
||||
( "wercker" . "\xea19" )
|
||||
( "word" . "\xe9ed" )
|
||||
( "x10" . "\x2169" )
|
||||
( "xamarin" . "\xea77" )
|
||||
( "xmos" . "\x58" )
|
||||
( "xpages" . "\xe9c5" )
|
||||
( "xtend" . "\xe9c6" )
|
||||
( "yarn" . "\xea1a" )
|
||||
( "yasm" . "\xea73" )
|
||||
( "yin-yang" . "\x262f" )
|
||||
( "yoyo" . "\xe975" )
|
||||
( "yui" . "\xea00" )
|
||||
( "zbrush" . "\xe9f2" )
|
||||
( "zephir" . "\xe9c7" )
|
||||
( "zig" . "\x7A" )
|
||||
( "zimpl" . "\xe9c8" )
|
||||
)
|
||||
)
|
||||
|
||||
(provide 'data-fileicons)
|
|
@ -1,935 +0,0 @@
|
|||
(defvar all-the-icons-data/material-icons-alist
|
||||
'(("3d_rotation" . "\xe84d")
|
||||
("ac_unit" . "\xeb3b")
|
||||
("access_alarm" . "\xe190")
|
||||
("access_alarms" . "\xe191")
|
||||
("access_time" . "\xe192")
|
||||
("accessibility" . "\xe84e")
|
||||
("accessible" . "\xe914")
|
||||
("account_balance" . "\xe84f")
|
||||
("account_balance_wallet" . "\xe850")
|
||||
("account_box" . "\xe851")
|
||||
("account_circle" . "\xe853")
|
||||
("adb" . "\xe60e")
|
||||
("add" . "\xe145")
|
||||
("add_a_photo" . "\xe439")
|
||||
("add_alarm" . "\xe193")
|
||||
("add_alert" . "\xe003")
|
||||
("add_box" . "\xe146")
|
||||
("add_circle" . "\xe147")
|
||||
("add_circle_outline" . "\xe148")
|
||||
("add_location" . "\xe567")
|
||||
("add_shopping_cart" . "\xe854")
|
||||
("add_to_photos" . "\xe39d")
|
||||
("add_to_queue" . "\xe05c")
|
||||
("adjust" . "\xe39e")
|
||||
("airline_seat_flat" . "\xe630")
|
||||
("airline_seat_flat_angled" . "\xe631")
|
||||
("airline_seat_individual_suite" . "\xe632")
|
||||
("airline_seat_legroom_extra" . "\xe633")
|
||||
("airline_seat_legroom_normal" . "\xe634")
|
||||
("airline_seat_legroom_reduced" . "\xe635")
|
||||
("airline_seat_recline_extra" . "\xe636")
|
||||
("airline_seat_recline_normal" . "\xe637")
|
||||
("airplanemode_active" . "\xe195")
|
||||
("airplanemode_inactive" . "\xe194")
|
||||
("airplay" . "\xe055")
|
||||
("airport_shuttle" . "\xeb3c")
|
||||
("alarm" . "\xe855")
|
||||
("alarm_add" . "\xe856")
|
||||
("alarm_off" . "\xe857")
|
||||
("alarm_on" . "\xe858")
|
||||
("album" . "\xe019")
|
||||
("all_inclusive" . "\xeb3d")
|
||||
("all_out" . "\xe90b")
|
||||
("android" . "\xe859")
|
||||
("announcement" . "\xe85a")
|
||||
("apps" . "\xe5c3")
|
||||
("archive" . "\xe149")
|
||||
("arrow_back" . "\xe5c4")
|
||||
("arrow_downward" . "\xe5db")
|
||||
("arrow_drop_down" . "\xe5c5")
|
||||
("arrow_drop_down_circle" . "\xe5c6")
|
||||
("arrow_drop_up" . "\xe5c7")
|
||||
("arrow_forward" . "\xe5c8")
|
||||
("arrow_upward" . "\xe5d8")
|
||||
("art_track" . "\xe060")
|
||||
("aspect_ratio" . "\xe85b")
|
||||
("assessment" . "\xe85c")
|
||||
("assignment" . "\xe85d")
|
||||
("assignment_ind" . "\xe85e")
|
||||
("assignment_late" . "\xe85f")
|
||||
("assignment_return" . "\xe860")
|
||||
("assignment_returned" . "\xe861")
|
||||
("assignment_turned_in" . "\xe862")
|
||||
("assistant" . "\xe39f")
|
||||
("assistant_photo" . "\xe3a0")
|
||||
("attach_file" . "\xe226")
|
||||
("attach_money" . "\xe227")
|
||||
("attachment" . "\xe2bc")
|
||||
("audiotrack" . "\xe3a1")
|
||||
("autorenew" . "\xe863")
|
||||
("av_timer" . "\xe01b")
|
||||
("backspace" . "\xe14a")
|
||||
("backup" . "\xe864")
|
||||
("battery_alert" . "\xe19c")
|
||||
("battery_charging_full" . "\xe1a3")
|
||||
("battery_full" . "\xe1a4")
|
||||
("battery_std" . "\xe1a5")
|
||||
("battery_unknown" . "\xe1a6")
|
||||
("beach_access" . "\xeb3e")
|
||||
("beenhere" . "\xe52d")
|
||||
("block" . "\xe14b")
|
||||
("bluetooth" . "\xe1a7")
|
||||
("bluetooth_audio" . "\xe60f")
|
||||
("bluetooth_connected" . "\xe1a8")
|
||||
("bluetooth_disabled" . "\xe1a9")
|
||||
("bluetooth_searching" . "\xe1aa")
|
||||
("blur_circular" . "\xe3a2")
|
||||
("blur_linear" . "\xe3a3")
|
||||
("blur_off" . "\xe3a4")
|
||||
("blur_on" . "\xe3a5")
|
||||
("book" . "\xe865")
|
||||
("bookmark" . "\xe866")
|
||||
("bookmark_border" . "\xe867")
|
||||
("border_all" . "\xe228")
|
||||
("border_bottom" . "\xe229")
|
||||
("border_clear" . "\xe22a")
|
||||
("border_color" . "\xe22b")
|
||||
("border_horizontal" . "\xe22c")
|
||||
("border_inner" . "\xe22d")
|
||||
("border_left" . "\xe22e")
|
||||
("border_outer" . "\xe22f")
|
||||
("border_right" . "\xe230")
|
||||
("border_style" . "\xe231")
|
||||
("border_top" . "\xe232")
|
||||
("border_vertical" . "\xe233")
|
||||
("branding_watermark" . "\xe06b")
|
||||
("brightness_1" . "\xe3a6")
|
||||
("brightness_2" . "\xe3a7")
|
||||
("brightness_3" . "\xe3a8")
|
||||
("brightness_4" . "\xe3a9")
|
||||
("brightness_5" . "\xe3aa")
|
||||
("brightness_6" . "\xe3ab")
|
||||
("brightness_7" . "\xe3ac")
|
||||
("brightness_auto" . "\xe1ab")
|
||||
("brightness_high" . "\xe1ac")
|
||||
("brightness_low" . "\xe1ad")
|
||||
("brightness_medium" . "\xe1ae")
|
||||
("broken_image" . "\xe3ad")
|
||||
("brush" . "\xe3ae")
|
||||
("bubble_chart" . "\xe6dd")
|
||||
("bug_report" . "\xe868")
|
||||
("build" . "\xe869")
|
||||
("burst_mode" . "\xe43c")
|
||||
("business" . "\xe0af")
|
||||
("business_center" . "\xeb3f")
|
||||
("cached" . "\xe86a")
|
||||
("cake" . "\xe7e9")
|
||||
("call" . "\xe0b0")
|
||||
("call_end" . "\xe0b1")
|
||||
("call_made" . "\xe0b2")
|
||||
("call_merge" . "\xe0b3")
|
||||
("call_missed" . "\xe0b4")
|
||||
("call_missed_outgoing" . "\xe0e4")
|
||||
("call_received" . "\xe0b5")
|
||||
("call_split" . "\xe0b6")
|
||||
("call_to_action" . "\xe06c")
|
||||
("camera" . "\xe3af")
|
||||
("camera_alt" . "\xe3b0")
|
||||
("camera_enhance" . "\xe8fc")
|
||||
("camera_front" . "\xe3b1")
|
||||
("camera_rear" . "\xe3b2")
|
||||
("camera_roll" . "\xe3b3")
|
||||
("cancel" . "\xe5c9")
|
||||
("card_giftcard" . "\xe8f6")
|
||||
("card_membership" . "\xe8f7")
|
||||
("card_travel" . "\xe8f8")
|
||||
("casino" . "\xeb40")
|
||||
("cast" . "\xe307")
|
||||
("cast_connected" . "\xe308")
|
||||
("center_focus_strong" . "\xe3b4")
|
||||
("center_focus_weak" . "\xe3b5")
|
||||
("change_history" . "\xe86b")
|
||||
("chat" . "\xe0b7")
|
||||
("chat_bubble" . "\xe0ca")
|
||||
("chat_bubble_outline" . "\xe0cb")
|
||||
("check" . "\xe5ca")
|
||||
("check_box" . "\xe834")
|
||||
("check_box_outline_blank" . "\xe835")
|
||||
("check_circle" . "\xe86c")
|
||||
("chevron_left" . "\xe5cb")
|
||||
("chevron_right" . "\xe5cc")
|
||||
("child_care" . "\xeb41")
|
||||
("child_friendly" . "\xeb42")
|
||||
("chrome_reader_mode" . "\xe86d")
|
||||
("class" . "\xe86e")
|
||||
("clear" . "\xe14c")
|
||||
("clear_all" . "\xe0b8")
|
||||
("close" . "\xe5cd")
|
||||
("closed_caption" . "\xe01c")
|
||||
("cloud" . "\xe2bd")
|
||||
("cloud_circle" . "\xe2be")
|
||||
("cloud_done" . "\xe2bf")
|
||||
("cloud_download" . "\xe2c0")
|
||||
("cloud_off" . "\xe2c1")
|
||||
("cloud_queue" . "\xe2c2")
|
||||
("cloud_upload" . "\xe2c3")
|
||||
("code" . "\xe86f")
|
||||
("collections" . "\xe3b6")
|
||||
("collections_bookmark" . "\xe431")
|
||||
("color_lens" . "\xe3b7")
|
||||
("colorize" . "\xe3b8")
|
||||
("comment" . "\xe0b9")
|
||||
("compare" . "\xe3b9")
|
||||
("compare_arrows" . "\xe915")
|
||||
("computer" . "\xe30a")
|
||||
("confirmation_number" . "\xe638")
|
||||
("contact_mail" . "\xe0d0")
|
||||
("contact_phone" . "\xe0cf")
|
||||
("contacts" . "\xe0ba")
|
||||
("content_copy" . "\xe14d")
|
||||
("content_cut" . "\xe14e")
|
||||
("content_paste" . "\xe14f")
|
||||
("control_point" . "\xe3ba")
|
||||
("control_point_duplicate" . "\xe3bb")
|
||||
("copyright" . "\xe90c")
|
||||
("create" . "\xe150")
|
||||
("create_new_folder" . "\xe2cc")
|
||||
("credit_card" . "\xe870")
|
||||
("crop" . "\xe3be")
|
||||
("crop_16_9" . "\xe3bc")
|
||||
("crop_3_2" . "\xe3bd")
|
||||
("crop_5_4" . "\xe3bf")
|
||||
("crop_7_5" . "\xe3c0")
|
||||
("crop_din" . "\xe3c1")
|
||||
("crop_free" . "\xe3c2")
|
||||
("crop_landscape" . "\xe3c3")
|
||||
("crop_original" . "\xe3c4")
|
||||
("crop_portrait" . "\xe3c5")
|
||||
("crop_rotate" . "\xe437")
|
||||
("crop_square" . "\xe3c6")
|
||||
("dashboard" . "\xe871")
|
||||
("data_usage" . "\xe1af")
|
||||
("date_range" . "\xe916")
|
||||
("dehaze" . "\xe3c7")
|
||||
("delete" . "\xe872")
|
||||
("delete_forever" . "\xe92b")
|
||||
("delete_sweep" . "\xe16c")
|
||||
("description" . "\xe873")
|
||||
("desktop_mac" . "\xe30b")
|
||||
("desktop_windows" . "\xe30c")
|
||||
("details" . "\xe3c8")
|
||||
("developer_board" . "\xe30d")
|
||||
("developer_mode" . "\xe1b0")
|
||||
("device_hub" . "\xe335")
|
||||
("devices" . "\xe1b1")
|
||||
("devices_other" . "\xe337")
|
||||
("dialer_sip" . "\xe0bb")
|
||||
("dialpad" . "\xe0bc")
|
||||
("directions" . "\xe52e")
|
||||
("directions_bike" . "\xe52f")
|
||||
("directions_boat" . "\xe532")
|
||||
("directions_bus" . "\xe530")
|
||||
("directions_car" . "\xe531")
|
||||
("directions_railway" . "\xe534")
|
||||
("directions_run" . "\xe566")
|
||||
("directions_subway" . "\xe533")
|
||||
("directions_transit" . "\xe535")
|
||||
("directions_walk" . "\xe536")
|
||||
("disc_full" . "\xe610")
|
||||
("dns" . "\xe875")
|
||||
("do_not_disturb" . "\xe612")
|
||||
("do_not_disturb_alt" . "\xe611")
|
||||
("do_not_disturb_off" . "\xe643")
|
||||
("do_not_disturb_on" . "\xe644")
|
||||
("dock" . "\xe30e")
|
||||
("domain" . "\xe7ee")
|
||||
("done" . "\xe876")
|
||||
("done_all" . "\xe877")
|
||||
("donut_large" . "\xe917")
|
||||
("donut_small" . "\xe918")
|
||||
("drafts" . "\xe151")
|
||||
("drag_handle" . "\xe25d")
|
||||
("drive_eta" . "\xe613")
|
||||
("dvr" . "\xe1b2")
|
||||
("edit" . "\xe3c9")
|
||||
("edit_location" . "\xe568")
|
||||
("eject" . "\xe8fb")
|
||||
("email" . "\xe0be")
|
||||
("enhanced_encryption" . "\xe63f")
|
||||
("equalizer" . "\xe01d")
|
||||
("error" . "\xe000")
|
||||
("error_outline" . "\xe001")
|
||||
("euro_symbol" . "\xe926")
|
||||
("ev_station" . "\xe56d")
|
||||
("event" . "\xe878")
|
||||
("event_available" . "\xe614")
|
||||
("event_busy" . "\xe615")
|
||||
("event_note" . "\xe616")
|
||||
("event_seat" . "\xe903")
|
||||
("exit_to_app" . "\xe879")
|
||||
("expand_less" . "\xe5ce")
|
||||
("expand_more" . "\xe5cf")
|
||||
("explicit" . "\xe01e")
|
||||
("explore" . "\xe87a")
|
||||
("exposure" . "\xe3ca")
|
||||
("exposure_neg_1" . "\xe3cb")
|
||||
("exposure_neg_2" . "\xe3cc")
|
||||
("exposure_plus_1" . "\xe3cd")
|
||||
("exposure_plus_2" . "\xe3ce")
|
||||
("exposure_zero" . "\xe3cf")
|
||||
("extension" . "\xe87b")
|
||||
("face" . "\xe87c")
|
||||
("fast_forward" . "\xe01f")
|
||||
("fast_rewind" . "\xe020")
|
||||
("favorite" . "\xe87d")
|
||||
("favorite_border" . "\xe87e")
|
||||
("featured_play_list" . "\xe06d")
|
||||
("featured_video" . "\xe06e")
|
||||
("feedback" . "\xe87f")
|
||||
("fiber_dvr" . "\xe05d")
|
||||
("fiber_manual_record" . "\xe061")
|
||||
("fiber_new" . "\xe05e")
|
||||
("fiber_pin" . "\xe06a")
|
||||
("fiber_smart_record" . "\xe062")
|
||||
("file_download" . "\xe2c4")
|
||||
("file_upload" . "\xe2c6")
|
||||
("filter" . "\xe3d3")
|
||||
("filter_1" . "\xe3d0")
|
||||
("filter_2" . "\xe3d1")
|
||||
("filter_3" . "\xe3d2")
|
||||
("filter_4" . "\xe3d4")
|
||||
("filter_5" . "\xe3d5")
|
||||
("filter_6" . "\xe3d6")
|
||||
("filter_7" . "\xe3d7")
|
||||
("filter_8" . "\xe3d8")
|
||||
("filter_9" . "\xe3d9")
|
||||
("filter_9_plus" . "\xe3da")
|
||||
("filter_b_and_w" . "\xe3db")
|
||||
("filter_center_focus" . "\xe3dc")
|
||||
("filter_drama" . "\xe3dd")
|
||||
("filter_frames" . "\xe3de")
|
||||
("filter_hdr" . "\xe3df")
|
||||
("filter_list" . "\xe152")
|
||||
("filter_none" . "\xe3e0")
|
||||
("filter_tilt_shift" . "\xe3e2")
|
||||
("filter_vintage" . "\xe3e3")
|
||||
("find_in_page" . "\xe880")
|
||||
("find_replace" . "\xe881")
|
||||
("fingerprint" . "\xe90d")
|
||||
("first_page" . "\xe5dc")
|
||||
("fitness_center" . "\xeb43")
|
||||
("flag" . "\xe153")
|
||||
("flare" . "\xe3e4")
|
||||
("flash_auto" . "\xe3e5")
|
||||
("flash_off" . "\xe3e6")
|
||||
("flash_on" . "\xe3e7")
|
||||
("flight" . "\xe539")
|
||||
("flight_land" . "\xe904")
|
||||
("flight_takeoff" . "\xe905")
|
||||
("flip" . "\xe3e8")
|
||||
("flip_to_back" . "\xe882")
|
||||
("flip_to_front" . "\xe883")
|
||||
("folder" . "\xe2c7")
|
||||
("folder_open" . "\xe2c8")
|
||||
("folder_shared" . "\xe2c9")
|
||||
("folder_special" . "\xe617")
|
||||
("font_download" . "\xe167")
|
||||
("format_align_center" . "\xe234")
|
||||
("format_align_justify" . "\xe235")
|
||||
("format_align_left" . "\xe236")
|
||||
("format_align_right" . "\xe237")
|
||||
("format_bold" . "\xe238")
|
||||
("format_clear" . "\xe239")
|
||||
("format_color_fill" . "\xe23a")
|
||||
("format_color_reset" . "\xe23b")
|
||||
("format_color_text" . "\xe23c")
|
||||
("format_indent_decrease" . "\xe23d")
|
||||
("format_indent_increase" . "\xe23e")
|
||||
("format_italic" . "\xe23f")
|
||||
("format_line_spacing" . "\xe240")
|
||||
("format_list_bulleted" . "\xe241")
|
||||
("format_list_numbered" . "\xe242")
|
||||
("format_paint" . "\xe243")
|
||||
("format_quote" . "\xe244")
|
||||
("format_shapes" . "\xe25e")
|
||||
("format_size" . "\xe245")
|
||||
("format_strikethrough" . "\xe246")
|
||||
("format_textdirection_l_to_r" . "\xe247")
|
||||
("format_textdirection_r_to_l" . "\xe248")
|
||||
("format_underlined" . "\xe249")
|
||||
("forum" . "\xe0bf")
|
||||
("forward" . "\xe154")
|
||||
("forward_10" . "\xe056")
|
||||
("forward_30" . "\xe057")
|
||||
("forward_5" . "\xe058")
|
||||
("free_breakfast" . "\xeb44")
|
||||
("fullscreen" . "\xe5d0")
|
||||
("fullscreen_exit" . "\xe5d1")
|
||||
("functions" . "\xe24a")
|
||||
("g_translate" . "\xe927")
|
||||
("gamepad" . "\xe30f")
|
||||
("games" . "\xe021")
|
||||
("gavel" . "\xe90e")
|
||||
("gesture" . "\xe155")
|
||||
("get_app" . "\xe884")
|
||||
("gif" . "\xe908")
|
||||
("golf_course" . "\xeb45")
|
||||
("gps_fixed" . "\xe1b3")
|
||||
("gps_not_fixed" . "\xe1b4")
|
||||
("gps_off" . "\xe1b5")
|
||||
("grade" . "\xe885")
|
||||
("gradient" . "\xe3e9")
|
||||
("grain" . "\xe3ea")
|
||||
("graphic_eq" . "\xe1b8")
|
||||
("grid_off" . "\xe3eb")
|
||||
("grid_on" . "\xe3ec")
|
||||
("group" . "\xe7ef")
|
||||
("group_add" . "\xe7f0")
|
||||
("group_work" . "\xe886")
|
||||
("hd" . "\xe052")
|
||||
("hdr_off" . "\xe3ed")
|
||||
("hdr_on" . "\xe3ee")
|
||||
("hdr_strong" . "\xe3f1")
|
||||
("hdr_weak" . "\xe3f2")
|
||||
("headset" . "\xe310")
|
||||
("headset_mic" . "\xe311")
|
||||
("healing" . "\xe3f3")
|
||||
("hearing" . "\xe023")
|
||||
("help" . "\xe887")
|
||||
("help_outline" . "\xe8fd")
|
||||
("high_quality" . "\xe024")
|
||||
("highlight" . "\xe25f")
|
||||
("highlight_off" . "\xe888")
|
||||
("history" . "\xe889")
|
||||
("home" . "\xe88a")
|
||||
("hot_tub" . "\xeb46")
|
||||
("hotel" . "\xe53a")
|
||||
("hourglass_empty" . "\xe88b")
|
||||
("hourglass_full" . "\xe88c")
|
||||
("http" . "\xe902")
|
||||
("https" . "\xe88d")
|
||||
("image" . "\xe3f4")
|
||||
("image_aspect_ratio" . "\xe3f5")
|
||||
("import_contacts" . "\xe0e0")
|
||||
("import_export" . "\xe0c3")
|
||||
("important_devices" . "\xe912")
|
||||
("inbox" . "\xe156")
|
||||
("indeterminate_check_box" . "\xe909")
|
||||
("info" . "\xe88e")
|
||||
("info_outline" . "\xe88f")
|
||||
("input" . "\xe890")
|
||||
("insert_chart" . "\xe24b")
|
||||
("insert_comment" . "\xe24c")
|
||||
("insert_drive_file" . "\xe24d")
|
||||
("insert_emoticon" . "\xe24e")
|
||||
("insert_invitation" . "\xe24f")
|
||||
("insert_link" . "\xe250")
|
||||
("insert_photo" . "\xe251")
|
||||
("invert_colors" . "\xe891")
|
||||
("invert_colors_off" . "\xe0c4")
|
||||
("iso" . "\xe3f6")
|
||||
("keyboard" . "\xe312")
|
||||
("keyboard_arrow_down" . "\xe313")
|
||||
("keyboard_arrow_left" . "\xe314")
|
||||
("keyboard_arrow_right" . "\xe315")
|
||||
("keyboard_arrow_up" . "\xe316")
|
||||
("keyboard_backspace" . "\xe317")
|
||||
("keyboard_capslock" . "\xe318")
|
||||
("keyboard_hide" . "\xe31a")
|
||||
("keyboard_return" . "\xe31b")
|
||||
("keyboard_tab" . "\xe31c")
|
||||
("keyboard_voice" . "\xe31d")
|
||||
("kitchen" . "\xeb47")
|
||||
("label" . "\xe892")
|
||||
("label_outline" . "\xe893")
|
||||
("landscape" . "\xe3f7")
|
||||
("language" . "\xe894")
|
||||
("laptop" . "\xe31e")
|
||||
("laptop_chromebook" . "\xe31f")
|
||||
("laptop_mac" . "\xe320")
|
||||
("laptop_windows" . "\xe321")
|
||||
("last_page" . "\xe5dd")
|
||||
("launch" . "\xe895")
|
||||
("layers" . "\xe53b")
|
||||
("layers_clear" . "\xe53c")
|
||||
("leak_add" . "\xe3f8")
|
||||
("leak_remove" . "\xe3f9")
|
||||
("lens" . "\xe3fa")
|
||||
("library_add" . "\xe02e")
|
||||
("library_books" . "\xe02f")
|
||||
("library_music" . "\xe030")
|
||||
("lightbulb_outline" . "\xe90f")
|
||||
("line_style" . "\xe919")
|
||||
("line_weight" . "\xe91a")
|
||||
("linear_scale" . "\xe260")
|
||||
("link" . "\xe157")
|
||||
("linked_camera" . "\xe438")
|
||||
("list" . "\xe896")
|
||||
("live_help" . "\xe0c6")
|
||||
("live_tv" . "\xe639")
|
||||
("local_activity" . "\xe53f")
|
||||
("local_airport" . "\xe53d")
|
||||
("local_atm" . "\xe53e")
|
||||
("local_bar" . "\xe540")
|
||||
("local_cafe" . "\xe541")
|
||||
("local_car_wash" . "\xe542")
|
||||
("local_convenience_store" . "\xe543")
|
||||
("local_dining" . "\xe556")
|
||||
("local_drink" . "\xe544")
|
||||
("local_florist" . "\xe545")
|
||||
("local_gas_station" . "\xe546")
|
||||
("local_grocery_store" . "\xe547")
|
||||
("local_hospital" . "\xe548")
|
||||
("local_hotel" . "\xe549")
|
||||
("local_laundry_service" . "\xe54a")
|
||||
("local_library" . "\xe54b")
|
||||
("local_mall" . "\xe54c")
|
||||
("local_movies" . "\xe54d")
|
||||
("local_offer" . "\xe54e")
|
||||
("local_parking" . "\xe54f")
|
||||
("local_pharmacy" . "\xe550")
|
||||
("local_phone" . "\xe551")
|
||||
("local_pizza" . "\xe552")
|
||||
("local_play" . "\xe553")
|
||||
("local_post_office" . "\xe554")
|
||||
("local_printshop" . "\xe555")
|
||||
("local_see" . "\xe557")
|
||||
("local_shipping" . "\xe558")
|
||||
("local_taxi" . "\xe559")
|
||||
("location_city" . "\xe7f1")
|
||||
("location_disabled" . "\xe1b6")
|
||||
("location_off" . "\xe0c7")
|
||||
("location_on" . "\xe0c8")
|
||||
("location_searching" . "\xe1b7")
|
||||
("lock" . "\xe897")
|
||||
("lock_open" . "\xe898")
|
||||
("lock_outline" . "\xe899")
|
||||
("looks" . "\xe3fc")
|
||||
("looks_3" . "\xe3fb")
|
||||
("looks_4" . "\xe3fd")
|
||||
("looks_5" . "\xe3fe")
|
||||
("looks_6" . "\xe3ff")
|
||||
("looks_one" . "\xe400")
|
||||
("looks_two" . "\xe401")
|
||||
("loop" . "\xe028")
|
||||
("loupe" . "\xe402")
|
||||
("low_priority" . "\xe16d")
|
||||
("loyalty" . "\xe89a")
|
||||
("mail" . "\xe158")
|
||||
("mail_outline" . "\xe0e1")
|
||||
("map" . "\xe55b")
|
||||
("markunread" . "\xe159")
|
||||
("markunread_mailbox" . "\xe89b")
|
||||
("memory" . "\xe322")
|
||||
("menu" . "\xe5d2")
|
||||
("merge_type" . "\xe252")
|
||||
("message" . "\xe0c9")
|
||||
("mic" . "\xe029")
|
||||
("mic_none" . "\xe02a")
|
||||
("mic_off" . "\xe02b")
|
||||
("mms" . "\xe618")
|
||||
("mode_comment" . "\xe253")
|
||||
("mode_edit" . "\xe254")
|
||||
("monetization_on" . "\xe263")
|
||||
("money_off" . "\xe25c")
|
||||
("monochrome_photos" . "\xe403")
|
||||
("mood" . "\xe7f2")
|
||||
("mood_bad" . "\xe7f3")
|
||||
("more" . "\xe619")
|
||||
("more_horiz" . "\xe5d3")
|
||||
("more_vert" . "\xe5d4")
|
||||
("motorcycle" . "\xe91b")
|
||||
("mouse" . "\xe323")
|
||||
("move_to_inbox" . "\xe168")
|
||||
("movie" . "\xe02c")
|
||||
("movie_creation" . "\xe404")
|
||||
("movie_filter" . "\xe43a")
|
||||
("multiline_chart" . "\xe6df")
|
||||
("music_note" . "\xe405")
|
||||
("music_video" . "\xe063")
|
||||
("my_location" . "\xe55c")
|
||||
("nature" . "\xe406")
|
||||
("nature_people" . "\xe407")
|
||||
("navigate_before" . "\xe408")
|
||||
("navigate_next" . "\xe409")
|
||||
("navigation" . "\xe55d")
|
||||
("near_me" . "\xe569")
|
||||
("network_cell" . "\xe1b9")
|
||||
("network_check" . "\xe640")
|
||||
("network_locked" . "\xe61a")
|
||||
("network_wifi" . "\xe1ba")
|
||||
("new_releases" . "\xe031")
|
||||
("next_week" . "\xe16a")
|
||||
("nfc" . "\xe1bb")
|
||||
("no_encryption" . "\xe641")
|
||||
("no_sim" . "\xe0cc")
|
||||
("not_interested" . "\xe033")
|
||||
("note" . "\xe06f")
|
||||
("note_add" . "\xe89c")
|
||||
("notifications" . "\xe7f4")
|
||||
("notifications_active" . "\xe7f7")
|
||||
("notifications_none" . "\xe7f5")
|
||||
("notifications_off" . "\xe7f6")
|
||||
("notifications_paused" . "\xe7f8")
|
||||
("offline_pin" . "\xe90a")
|
||||
("ondemand_video" . "\xe63a")
|
||||
("opacity" . "\xe91c")
|
||||
("open_in_browser" . "\xe89d")
|
||||
("open_in_new" . "\xe89e")
|
||||
("open_with" . "\xe89f")
|
||||
("pages" . "\xe7f9")
|
||||
("pageview" . "\xe8a0")
|
||||
("palette" . "\xe40a")
|
||||
("pan_tool" . "\xe925")
|
||||
("panorama" . "\xe40b")
|
||||
("panorama_fish_eye" . "\xe40c")
|
||||
("panorama_horizontal" . "\xe40d")
|
||||
("panorama_vertical" . "\xe40e")
|
||||
("panorama_wide_angle" . "\xe40f")
|
||||
("party_mode" . "\xe7fa")
|
||||
("pause" . "\xe034")
|
||||
("pause_circle_filled" . "\xe035")
|
||||
("pause_circle_outline" . "\xe036")
|
||||
("payment" . "\xe8a1")
|
||||
("people" . "\xe7fb")
|
||||
("people_outline" . "\xe7fc")
|
||||
("perm_camera_mic" . "\xe8a2")
|
||||
("perm_contact_calendar" . "\xe8a3")
|
||||
("perm_data_setting" . "\xe8a4")
|
||||
("perm_device_information" . "\xe8a5")
|
||||
("perm_identity" . "\xe8a6")
|
||||
("perm_media" . "\xe8a7")
|
||||
("perm_phone_msg" . "\xe8a8")
|
||||
("perm_scan_wifi" . "\xe8a9")
|
||||
("person" . "\xe7fd")
|
||||
("person_add" . "\xe7fe")
|
||||
("person_outline" . "\xe7ff")
|
||||
("person_pin" . "\xe55a")
|
||||
("person_pin_circle" . "\xe56a")
|
||||
("personal_video" . "\xe63b")
|
||||
("pets" . "\xe91d")
|
||||
("phone" . "\xe0cd")
|
||||
("phone_android" . "\xe324")
|
||||
("phone_bluetooth_speaker" . "\xe61b")
|
||||
("phone_forwarded" . "\xe61c")
|
||||
("phone_in_talk" . "\xe61d")
|
||||
("phone_iphone" . "\xe325")
|
||||
("phone_locked" . "\xe61e")
|
||||
("phone_missed" . "\xe61f")
|
||||
("phone_paused" . "\xe620")
|
||||
("phonelink" . "\xe326")
|
||||
("phonelink_erase" . "\xe0db")
|
||||
("phonelink_lock" . "\xe0dc")
|
||||
("phonelink_off" . "\xe327")
|
||||
("phonelink_ring" . "\xe0dd")
|
||||
("phonelink_setup" . "\xe0de")
|
||||
("photo" . "\xe410")
|
||||
("photo_album" . "\xe411")
|
||||
("photo_camera" . "\xe412")
|
||||
("photo_filter" . "\xe43b")
|
||||
("photo_library" . "\xe413")
|
||||
("photo_size_select_actual" . "\xe432")
|
||||
("photo_size_select_large" . "\xe433")
|
||||
("photo_size_select_small" . "\xe434")
|
||||
("picture_as_pdf" . "\xe415")
|
||||
("picture_in_picture" . "\xe8aa")
|
||||
("picture_in_picture_alt" . "\xe911")
|
||||
("pie_chart" . "\xe6c4")
|
||||
("pie_chart_outlined" . "\xe6c5")
|
||||
("pin_drop" . "\xe55e")
|
||||
("place" . "\xe55f")
|
||||
("play_arrow" . "\xe037")
|
||||
("play_circle_filled" . "\xe038")
|
||||
("play_circle_outline" . "\xe039")
|
||||
("play_for_work" . "\xe906")
|
||||
("playlist_add" . "\xe03b")
|
||||
("playlist_add_check" . "\xe065")
|
||||
("playlist_play" . "\xe05f")
|
||||
("plus_one" . "\xe800")
|
||||
("poll" . "\xe801")
|
||||
("polymer" . "\xe8ab")
|
||||
("pool" . "\xeb48")
|
||||
("portable_wifi_off" . "\xe0ce")
|
||||
("portrait" . "\xe416")
|
||||
("power" . "\xe63c")
|
||||
("power_input" . "\xe336")
|
||||
("power_settings_new" . "\xe8ac")
|
||||
("pregnant_woman" . "\xe91e")
|
||||
("present_to_all" . "\xe0df")
|
||||
("print" . "\xe8ad")
|
||||
("priority_high" . "\xe645")
|
||||
("public" . "\xe80b")
|
||||
("publish" . "\xe255")
|
||||
("query_builder" . "\xe8ae")
|
||||
("question_answer" . "\xe8af")
|
||||
("queue" . "\xe03c")
|
||||
("queue_music" . "\xe03d")
|
||||
("queue_play_next" . "\xe066")
|
||||
("radio" . "\xe03e")
|
||||
("radio_button_checked" . "\xe837")
|
||||
("radio_button_unchecked" . "\xe836")
|
||||
("rate_review" . "\xe560")
|
||||
("receipt" . "\xe8b0")
|
||||
("recent_actors" . "\xe03f")
|
||||
("record_voice_over" . "\xe91f")
|
||||
("redeem" . "\xe8b1")
|
||||
("redo" . "\xe15a")
|
||||
("refresh" . "\xe5d5")
|
||||
("remove" . "\xe15b")
|
||||
("remove_circle" . "\xe15c")
|
||||
("remove_circle_outline" . "\xe15d")
|
||||
("remove_from_queue" . "\xe067")
|
||||
("remove_red_eye" . "\xe417")
|
||||
("remove_shopping_cart" . "\xe928")
|
||||
("reorder" . "\xe8fe")
|
||||
("repeat" . "\xe040")
|
||||
("repeat_one" . "\xe041")
|
||||
("replay" . "\xe042")
|
||||
("replay_10" . "\xe059")
|
||||
("replay_30" . "\xe05a")
|
||||
("replay_5" . "\xe05b")
|
||||
("reply" . "\xe15e")
|
||||
("reply_all" . "\xe15f")
|
||||
("report" . "\xe160")
|
||||
("report_problem" . "\xe8b2")
|
||||
("restaurant" . "\xe56c")
|
||||
("restaurant_menu" . "\xe561")
|
||||
("restore" . "\xe8b3")
|
||||
("restore_page" . "\xe929")
|
||||
("ring_volume" . "\xe0d1")
|
||||
("room" . "\xe8b4")
|
||||
("room_service" . "\xeb49")
|
||||
("rotate_90_degrees_ccw" . "\xe418")
|
||||
("rotate_left" . "\xe419")
|
||||
("rotate_right" . "\xe41a")
|
||||
("rounded_corner" . "\xe920")
|
||||
("router" . "\xe328")
|
||||
("rowing" . "\xe921")
|
||||
("rss_feed" . "\xe0e5")
|
||||
("rv_hookup" . "\xe642")
|
||||
("satellite" . "\xe562")
|
||||
("save" . "\xe161")
|
||||
("scanner" . "\xe329")
|
||||
("schedule" . "\xe8b5")
|
||||
("school" . "\xe80c")
|
||||
("screen_lock_landscape" . "\xe1be")
|
||||
("screen_lock_portrait" . "\xe1bf")
|
||||
("screen_lock_rotation" . "\xe1c0")
|
||||
("screen_rotation" . "\xe1c1")
|
||||
("screen_share" . "\xe0e2")
|
||||
("sd_card" . "\xe623")
|
||||
("sd_storage" . "\xe1c2")
|
||||
("search" . "\xe8b6")
|
||||
("security" . "\xe32a")
|
||||
("select_all" . "\xe162")
|
||||
("send" . "\xe163")
|
||||
("sentiment_dissatisfied" . "\xe811")
|
||||
("sentiment_neutral" . "\xe812")
|
||||
("sentiment_satisfied" . "\xe813")
|
||||
("sentiment_very_dissatisfied" . "\xe814")
|
||||
("sentiment_very_satisfied" . "\xe815")
|
||||
("settings" . "\xe8b8")
|
||||
("settings_applications" . "\xe8b9")
|
||||
("settings_backup_restore" . "\xe8ba")
|
||||
("settings_bluetooth" . "\xe8bb")
|
||||
("settings_brightness" . "\xe8bd")
|
||||
("settings_cell" . "\xe8bc")
|
||||
("settings_ethernet" . "\xe8be")
|
||||
("settings_input_antenna" . "\xe8bf")
|
||||
("settings_input_component" . "\xe8c0")
|
||||
("settings_input_composite" . "\xe8c1")
|
||||
("settings_input_hdmi" . "\xe8c2")
|
||||
("settings_input_svideo" . "\xe8c3")
|
||||
("settings_overscan" . "\xe8c4")
|
||||
("settings_phone" . "\xe8c5")
|
||||
("settings_power" . "\xe8c6")
|
||||
("settings_remote" . "\xe8c7")
|
||||
("settings_system_daydream" . "\xe1c3")
|
||||
("settings_voice" . "\xe8c8")
|
||||
("share" . "\xe80d")
|
||||
("shop" . "\xe8c9")
|
||||
("shop_two" . "\xe8ca")
|
||||
("shopping_basket" . "\xe8cb")
|
||||
("shopping_cart" . "\xe8cc")
|
||||
("short_text" . "\xe261")
|
||||
("show_chart" . "\xe6e1")
|
||||
("shuffle" . "\xe043")
|
||||
("signal_cellular_4_bar" . "\xe1c8")
|
||||
("signal_cellular_connected_no_internet_4_bar" . "\xe1cd")
|
||||
("signal_cellular_no_sim" . "\xe1ce")
|
||||
("signal_cellular_null" . "\xe1cf")
|
||||
("signal_cellular_off" . "\xe1d0")
|
||||
("signal_wifi_4_bar" . "\xe1d8")
|
||||
("signal_wifi_4_bar_lock" . "\xe1d9")
|
||||
("signal_wifi_off" . "\xe1da")
|
||||
("sim_card" . "\xe32b")
|
||||
("sim_card_alert" . "\xe624")
|
||||
("skip_next" . "\xe044")
|
||||
("skip_previous" . "\xe045")
|
||||
("slideshow" . "\xe41b")
|
||||
("slow_motion_video" . "\xe068")
|
||||
("smartphone" . "\xe32c")
|
||||
("smoke_free" . "\xeb4a")
|
||||
("smoking_rooms" . "\xeb4b")
|
||||
("sms" . "\xe625")
|
||||
("sms_failed" . "\xe626")
|
||||
("snooze" . "\xe046")
|
||||
("sort" . "\xe164")
|
||||
("sort_by_alpha" . "\xe053")
|
||||
("spa" . "\xeb4c")
|
||||
("space_bar" . "\xe256")
|
||||
("speaker" . "\xe32d")
|
||||
("speaker_group" . "\xe32e")
|
||||
("speaker_notes" . "\xe8cd")
|
||||
("speaker_notes_off" . "\xe92a")
|
||||
("speaker_phone" . "\xe0d2")
|
||||
("spellcheck" . "\xe8ce")
|
||||
("star" . "\xe838")
|
||||
("star_border" . "\xe83a")
|
||||
("star_half" . "\xe839")
|
||||
("stars" . "\xe8d0")
|
||||
("stay_current_landscape" . "\xe0d3")
|
||||
("stay_current_portrait" . "\xe0d4")
|
||||
("stay_primary_landscape" . "\xe0d5")
|
||||
("stay_primary_portrait" . "\xe0d6")
|
||||
("stop" . "\xe047")
|
||||
("stop_screen_share" . "\xe0e3")
|
||||
("storage" . "\xe1db")
|
||||
("store" . "\xe8d1")
|
||||
("store_mall_directory" . "\xe563")
|
||||
("straighten" . "\xe41c")
|
||||
("streetview" . "\xe56e")
|
||||
("strikethrough_s" . "\xe257")
|
||||
("style" . "\xe41d")
|
||||
("subdirectory_arrow_left" . "\xe5d9")
|
||||
("subdirectory_arrow_right" . "\xe5da")
|
||||
("subject" . "\xe8d2")
|
||||
("subscriptions" . "\xe064")
|
||||
("subtitles" . "\xe048")
|
||||
("subway" . "\xe56f")
|
||||
("supervisor_account" . "\xe8d3")
|
||||
("surround_sound" . "\xe049")
|
||||
("swap_calls" . "\xe0d7")
|
||||
("swap_horiz" . "\xe8d4")
|
||||
("swap_vert" . "\xe8d5")
|
||||
("swap_vertical_circle" . "\xe8d6")
|
||||
("switch_camera" . "\xe41e")
|
||||
("switch_video" . "\xe41f")
|
||||
("sync" . "\xe627")
|
||||
("sync_disabled" . "\xe628")
|
||||
("sync_problem" . "\xe629")
|
||||
("system_update" . "\xe62a")
|
||||
("system_update_alt" . "\xe8d7")
|
||||
("tab" . "\xe8d8")
|
||||
("tab_unselected" . "\xe8d9")
|
||||
("tablet" . "\xe32f")
|
||||
("tablet_android" . "\xe330")
|
||||
("tablet_mac" . "\xe331")
|
||||
("tag_faces" . "\xe420")
|
||||
("tap_and_play" . "\xe62b")
|
||||
("terrain" . "\xe564")
|
||||
("text_fields" . "\xe262")
|
||||
("text_format" . "\xe165")
|
||||
("textsms" . "\xe0d8")
|
||||
("texture" . "\xe421")
|
||||
("theaters" . "\xe8da")
|
||||
("thumb_down" . "\xe8db")
|
||||
("thumb_up" . "\xe8dc")
|
||||
("thumbs_up_down" . "\xe8dd")
|
||||
("time_to_leave" . "\xe62c")
|
||||
("timelapse" . "\xe422")
|
||||
("timeline" . "\xe922")
|
||||
("timer" . "\xe425")
|
||||
("timer_10" . "\xe423")
|
||||
("timer_3" . "\xe424")
|
||||
("timer_off" . "\xe426")
|
||||
("title" . "\xe264")
|
||||
("toc" . "\xe8de")
|
||||
("today" . "\xe8df")
|
||||
("toll" . "\xe8e0")
|
||||
("tonality" . "\xe427")
|
||||
("touch_app" . "\xe913")
|
||||
("toys" . "\xe332")
|
||||
("track_changes" . "\xe8e1")
|
||||
("traffic" . "\xe565")
|
||||
("train" . "\xe570")
|
||||
("tram" . "\xe571")
|
||||
("transfer_within_a_station" . "\xe572")
|
||||
("transform" . "\xe428")
|
||||
("translate" . "\xe8e2")
|
||||
("trending_down" . "\xe8e3")
|
||||
("trending_flat" . "\xe8e4")
|
||||
("trending_up" . "\xe8e5")
|
||||
("tune" . "\xe429")
|
||||
("turned_in" . "\xe8e6")
|
||||
("turned_in_not" . "\xe8e7")
|
||||
("tv" . "\xe333")
|
||||
("unarchive" . "\xe169")
|
||||
("undo" . "\xe166")
|
||||
("unfold_less" . "\xe5d6")
|
||||
("unfold_more" . "\xe5d7")
|
||||
("update" . "\xe923")
|
||||
("usb" . "\xe1e0")
|
||||
("verified_user" . "\xe8e8")
|
||||
("vertical_align_bottom" . "\xe258")
|
||||
("vertical_align_center" . "\xe259")
|
||||
("vertical_align_top" . "\xe25a")
|
||||
("vibration" . "\xe62d")
|
||||
("video_call" . "\xe070")
|
||||
("video_label" . "\xe071")
|
||||
("video_library" . "\xe04a")
|
||||
("videocam" . "\xe04b")
|
||||
("videocam_off" . "\xe04c")
|
||||
("videogame_asset" . "\xe338")
|
||||
("view_agenda" . "\xe8e9")
|
||||
("view_array" . "\xe8ea")
|
||||
("view_carousel" . "\xe8eb")
|
||||
("view_column" . "\xe8ec")
|
||||
("view_comfy" . "\xe42a")
|
||||
("view_compact" . "\xe42b")
|
||||
("view_day" . "\xe8ed")
|
||||
("view_headline" . "\xe8ee")
|
||||
("view_list" . "\xe8ef")
|
||||
("view_module" . "\xe8f0")
|
||||
("view_quilt" . "\xe8f1")
|
||||
("view_stream" . "\xe8f2")
|
||||
("view_week" . "\xe8f3")
|
||||
("vignette" . "\xe435")
|
||||
("visibility" . "\xe8f4")
|
||||
("visibility_off" . "\xe8f5")
|
||||
("voice_chat" . "\xe62e")
|
||||
("voicemail" . "\xe0d9")
|
||||
("volume_down" . "\xe04d")
|
||||
("volume_mute" . "\xe04e")
|
||||
("volume_off" . "\xe04f")
|
||||
("volume_up" . "\xe050")
|
||||
("vpn_key" . "\xe0da")
|
||||
("vpn_lock" . "\xe62f")
|
||||
("wallpaper" . "\xe1bc")
|
||||
("warning" . "\xe002")
|
||||
("watch" . "\xe334")
|
||||
("watch_later" . "\xe924")
|
||||
("wb_auto" . "\xe42c")
|
||||
("wb_cloudy" . "\xe42d")
|
||||
("wb_incandescent" . "\xe42e")
|
||||
("wb_iridescent" . "\xe436")
|
||||
("wb_sunny" . "\xe430")
|
||||
("wc" . "\xe63d")
|
||||
("web" . "\xe051")
|
||||
("web_asset" . "\xe069")
|
||||
("weekend" . "\xe16b")
|
||||
("whatshot" . "\xe80e")
|
||||
("widgets" . "\xe1bd")
|
||||
("wifi" . "\xe63e")
|
||||
("wifi_lock" . "\xe1e1")
|
||||
("wifi_tethering" . "\xe1e2")
|
||||
("work" . "\xe8f9")
|
||||
("wrap_text" . "\xe25b")
|
||||
("youtube_searched_for" . "\xe8fa")
|
||||
("zoom_in" . "\xe8ff")
|
||||
("zoom_out" . "\xe900")
|
||||
("zoom_out_map" . "\xe56b")))
|
||||
|
||||
(provide 'data-material)
|
|
@ -1,165 +0,0 @@
|
|||
(defvar all-the-icons-data/octicons-alist
|
||||
'(
|
||||
|
||||
("alert" . "\xf02d")
|
||||
("arrow-down" . "\xf03f")
|
||||
("arrow-left" . "\xf040")
|
||||
("arrow-right" . "\xf03e")
|
||||
("arrow-small-down" . "\xf0a0")
|
||||
("arrow-small-left" . "\xf0a1")
|
||||
("arrow-small-right" . "\xf071")
|
||||
("arrow-small-up" . "\xf09f")
|
||||
("arrow-up" . "\xf03d")
|
||||
("book" . "\xf007")
|
||||
("bookmark" . "\xf07b")
|
||||
("briefcase" . "\xf0d3")
|
||||
("broadcast" . "\xf048")
|
||||
("browser" . "\xf0c5")
|
||||
("bug" . "\xf091")
|
||||
("calendar" . "\xf068")
|
||||
("check" . "\xf03a")
|
||||
("checklist" . "\xf076")
|
||||
("chevron-down" . "\xf0a3")
|
||||
("chevron-left" . "\xf0a4")
|
||||
("chevron-right" . "\xf078")
|
||||
("chevron-up" . "\xf0a2")
|
||||
("circle-slash" . "\xf084")
|
||||
("circuit-board" . "\xf0d6")
|
||||
("clippy" . "\xf035")
|
||||
("clock" . "\xf046")
|
||||
("cloud-download" . "\xf00b")
|
||||
("cloud-upload" . "\xf00c")
|
||||
("code" . "\xf05f")
|
||||
("comment" . "\xf02b")
|
||||
("comment-discussion" . "\xf04f")
|
||||
("credit-card" . "\xf045")
|
||||
("dash" . "\xf0ca")
|
||||
("dashboard" . "\xf07d")
|
||||
("database" . "\xf096")
|
||||
("device-camera" . "\xf056")
|
||||
("device-camera-video" . "\xf057")
|
||||
("device-desktop" . "\xf27c")
|
||||
("device-mobile" . "\xf038")
|
||||
("diff" . "\xf04d")
|
||||
("diff-added" . "\xf06b")
|
||||
("diff-ignored" . "\xf099")
|
||||
("diff-modified" . "\xf06d")
|
||||
("diff-removed" . "\xf06c")
|
||||
("diff-renamed" . "\xf06e")
|
||||
("ellipsis" . "\xf09a")
|
||||
("eye" . "\xf04e")
|
||||
("file-binary" . "\xf094")
|
||||
("file-code" . "\xf010")
|
||||
("file-directory" . "\xf016")
|
||||
("file-media" . "\xf012")
|
||||
("file-pdf" . "\xf014")
|
||||
("file-submodule" . "\xf017")
|
||||
("file-symlink-directory" . "\xf0b1")
|
||||
("file-symlink-file" . "\xf0b0")
|
||||
("file-text" . "\xf011")
|
||||
("file-zip" . "\xf013")
|
||||
("flame" . "\xf0d2")
|
||||
("fold" . "\xf0cc")
|
||||
("gear" . "\xf02f")
|
||||
("gift" . "\xf042")
|
||||
("gist" . "\xf00e")
|
||||
("gist-secret" . "\xf08c")
|
||||
("git-branch" . "\xf020")
|
||||
("git-commit" . "\xf01f")
|
||||
("git-compare" . "\xf0ac")
|
||||
("git-merge" . "\xf023")
|
||||
("git-pull-request" . "\xf009")
|
||||
("globe" . "\xf0b6")
|
||||
("graph" . "\xf043")
|
||||
("beaker" . "\xf0dd")
|
||||
("heart" . "\x2665")
|
||||
("history" . "\xf07e")
|
||||
("home" . "\xf08d")
|
||||
("horizontal-rule" . "\xf070")
|
||||
("hourglass" . "\xf09e")
|
||||
("hubot" . "\xf09d")
|
||||
("inbox" . "\xf0cf")
|
||||
("info" . "\xf059")
|
||||
("issue-closed" . "\xf028")
|
||||
("issue-opened" . "\xf026")
|
||||
("issue-reopened" . "\xf027")
|
||||
("jersey" . "\xf019")
|
||||
("key" . "\xf049")
|
||||
("keyboard" . "\xf00d")
|
||||
("law" . "\xf0d8")
|
||||
("light-bulb" . "\xf000")
|
||||
("link" . "\xf05c")
|
||||
("link-external" . "\xf07f")
|
||||
("list-ordered" . "\xf062")
|
||||
("list-unordered" . "\xf061")
|
||||
("location" . "\xf060")
|
||||
("lock" . "\xf06a")
|
||||
("logo-github" . "\xf092")
|
||||
("mail" . "\xf03b")
|
||||
("mail-read" . "\xf03c")
|
||||
("mail-reply" . "\xf051")
|
||||
("mark-github" . "\xf00a")
|
||||
("markdown" . "\xf0c9")
|
||||
("megaphone" . "\xf077")
|
||||
("mention" . "\xf0be")
|
||||
("milestone" . "\xf075")
|
||||
("mirror" . "\xf024")
|
||||
("mortar-board" . "\xf0d7")
|
||||
("mute" . "\xf080")
|
||||
("no-newline" . "\xf09c")
|
||||
("octoface" . "\xf008")
|
||||
("organization" . "\xf037")
|
||||
("package" . "\xf0c4")
|
||||
("paintcan" . "\xf0d1")
|
||||
("pencil" . "\xf058")
|
||||
("person" . "\xf018")
|
||||
("pin" . "\xf041")
|
||||
("plug" . "\xf0d4")
|
||||
("plus" . "\xf05d")
|
||||
("primitive-dot" . "\xf052")
|
||||
("primitive-square" . "\xf053")
|
||||
("pulse" . "\xf085")
|
||||
("puzzle" . "\xf0c0")
|
||||
("question" . "\xf02c")
|
||||
("quote" . "\xf063")
|
||||
("radio-tower" . "\xf030")
|
||||
("repo" . "\xf001")
|
||||
("repo-clone" . "\xf04c")
|
||||
("repo-force-push" . "\xf04a")
|
||||
("repo-forked" . "\xf002")
|
||||
("repo-pull" . "\xf006")
|
||||
("repo-push" . "\xf005")
|
||||
("rocket" . "\xf033")
|
||||
("rss" . "\xf034")
|
||||
("ruby" . "\xf047")
|
||||
("search" . "\xf02e")
|
||||
("server" . "\xf097")
|
||||
("settings" . "\xf07c")
|
||||
("sign-in" . "\xf036")
|
||||
("sign-out" . "\xf032")
|
||||
("squirrel" . "\xf0b2")
|
||||
("star" . "\xf02a")
|
||||
("steps" . "\xf0c7")
|
||||
("stop" . "\xf08f")
|
||||
("sync" . "\xf087")
|
||||
("tag" . "\xf015")
|
||||
("telescope" . "\xf088")
|
||||
("terminal" . "\xf0c8")
|
||||
("three-bars" . "\xf05e")
|
||||
("thumbsdown" . "\xf0db")
|
||||
("thumbsup" . "\xf0da")
|
||||
("tools" . "\xf031")
|
||||
("trashcan" . "\xf0d0")
|
||||
("triangle-down" . "\xf05b")
|
||||
("triangle-left" . "\xf044")
|
||||
("triangle-right" . "\xf05a")
|
||||
("triangle-up" . "\xf0aa")
|
||||
("unfold" . "\xf039")
|
||||
("unmute" . "\xf0ba")
|
||||
("versions" . "\xf064")
|
||||
("x" . "\xf081")
|
||||
("zap" . "\x26A1")
|
||||
|
||||
))
|
||||
|
||||
(provide 'data-octicons)
|
|
@ -1,594 +0,0 @@
|
|||
(defvar all-the-icons-data/weather-icons-alist
|
||||
'(
|
||||
|
||||
("alien" . "\xf075")
|
||||
("barometer" . "\xf079")
|
||||
("celsius" . "\xf03c")
|
||||
("cloud" . "\xf041")
|
||||
("cloud-down" . "\xf03d")
|
||||
("cloud-refresh" . "\xf03e")
|
||||
("cloud-up" . "\xf040")
|
||||
("cloudy" . "\xf013")
|
||||
("cloudy-gusts" . "\xf011")
|
||||
("cloudy-windy" . "\xf012")
|
||||
("day-cloudy" . "\xf002")
|
||||
("day-cloudy-gusts" . "\xf000")
|
||||
("day-cloudy-high" . "\xf07d")
|
||||
("day-cloudy-windy" . "\xf001")
|
||||
("day-fog" . "\xf003")
|
||||
("day-hail" . "\xf004")
|
||||
("day-haze" . "\xf0b6")
|
||||
("day-light-wind" . "\xf0c4")
|
||||
("day-lightning" . "\xf005")
|
||||
("day-rain" . "\xf008")
|
||||
("day-rain-mix" . "\xf006")
|
||||
("day-rain-wind" . "\xf007")
|
||||
("day-showers" . "\xf009")
|
||||
("day-sleet" . "\xf0b2")
|
||||
("day-sleet-storm" . "\xf068")
|
||||
("day-snow" . "\xf00a")
|
||||
("day-snow-thunderstorm" . "\xf06b")
|
||||
("day-snow-wind" . "\xf065")
|
||||
("day-sprinkle" . "\xf00b")
|
||||
("day-storm-showers" . "\xf00e")
|
||||
("day-sunny" . "\xf00d")
|
||||
("day-sunny-overcast" . "\xf00c")
|
||||
("day-thunderstorm" . "\xf010")
|
||||
("day-windy" . "\xf085")
|
||||
("degrees" . "\xf042")
|
||||
("direction-down" . "\xf044")
|
||||
("direction-down-left" . "\xf043")
|
||||
("direction-down-right" . "\xf088")
|
||||
("direction-left" . "\xf048")
|
||||
("direction-right" . "\xf04d")
|
||||
("direction-up" . "\xf058")
|
||||
("direction-up-left" . "\xf087")
|
||||
("direction-up-right" . "\xf057")
|
||||
("dust" . "\xf063")
|
||||
("earthquake" . "\xf0c6")
|
||||
("fahrenheit" . "\xf045")
|
||||
("fire" . "\xf0c7")
|
||||
("flood" . "\xf07c")
|
||||
("fog" . "\xf014")
|
||||
("forecast-io-clear-day" . "\xf00d")
|
||||
("forecast-io-clear-night" . "\xf02e")
|
||||
("forecast-io-cloudy" . "\xf013")
|
||||
("forecast-io-fog" . "\xf014")
|
||||
("forecast-io-hail" . "\xf015")
|
||||
("forecast-io-partly-cloudy-day" . "\xf002")
|
||||
("forecast-io-partly-cloudy-night" . "\xf031")
|
||||
("forecast-io-rain" . "\xf019")
|
||||
("forecast-io-sleet" . "\xf0b5")
|
||||
("forecast-io-snow" . "\xf01b")
|
||||
("forecast-io-thunderstorm" . "\xf01e")
|
||||
("forecast-io-tornado" . "\xf056")
|
||||
("forecast-io-wind" . "\xf050")
|
||||
("gale-warning" . "\xf0cd")
|
||||
("hail" . "\xf015")
|
||||
("horizon" . "\xf047")
|
||||
("horizon-alt" . "\xf046")
|
||||
("hot" . "\xf072")
|
||||
("humidity" . "\xf07a")
|
||||
("hurricane" . "\xf073")
|
||||
("hurricane-warning" . "\xf0cf")
|
||||
("lightning" . "\xf016")
|
||||
("lunar-eclipse" . "\xf070")
|
||||
("meteor" . "\xf071")
|
||||
("moon-0" . "\xf095")
|
||||
("moon-1" . "\xf096")
|
||||
("moon-10" . "\xf09f")
|
||||
("moon-11" . "\xf0a0")
|
||||
("moon-12" . "\xf0a1")
|
||||
("moon-13" . "\xf0a2")
|
||||
("moon-14" . "\xf0a3")
|
||||
("moon-15" . "\xf0a4")
|
||||
("moon-16" . "\xf0a5")
|
||||
("moon-17" . "\xf0a6")
|
||||
("moon-18" . "\xf0a7")
|
||||
("moon-19" . "\xf0a8")
|
||||
("moon-2" . "\xf097")
|
||||
("moon-20" . "\xf0a9")
|
||||
("moon-21" . "\xf0aa")
|
||||
("moon-22" . "\xf0ab")
|
||||
("moon-23" . "\xf0ac")
|
||||
("moon-24" . "\xf0ad")
|
||||
("moon-25" . "\xf0ae")
|
||||
("moon-26" . "\xf0af")
|
||||
("moon-27" . "\xf0b0")
|
||||
("moon-3" . "\xf098")
|
||||
("moon-4" . "\xf099")
|
||||
("moon-5" . "\xf09a")
|
||||
("moon-6" . "\xf09b")
|
||||
("moon-7" . "\xf09c")
|
||||
("moon-8" . "\xf09d")
|
||||
("moon-9" . "\xf09e")
|
||||
("moon-alt-first-quarter" . "\xf0d6")
|
||||
("moon-alt-full" . "\xf0dd")
|
||||
("moon-alt-new" . "\xf0eb")
|
||||
("moon-alt-third-quarter" . "\xf0e4")
|
||||
("moon-alt-waning-crescent-1" . "\xf0e5")
|
||||
("moon-alt-waning-crescent-2" . "\xf0e6")
|
||||
("moon-alt-waning-crescent-3" . "\xf0e7")
|
||||
("moon-alt-waning-crescent-4" . "\xf0e8")
|
||||
("moon-alt-waning-crescent-5" . "\xf0e9")
|
||||
("moon-alt-waning-crescent-6" . "\xf0ea")
|
||||
("moon-alt-waning-gibbous-1" . "\xf0de")
|
||||
("moon-alt-waning-gibbous-2" . "\xf0df")
|
||||
("moon-alt-waning-gibbous-3" . "\xf0e0")
|
||||
("moon-alt-waning-gibbous-4" . "\xf0e1")
|
||||
("moon-alt-waning-gibbous-5" . "\xf0e2")
|
||||
("moon-alt-waning-gibbous-6" . "\xf0e3")
|
||||
("moon-alt-waxing-crescent-1" . "\xf0d0")
|
||||
("moon-alt-waxing-crescent-2" . "\xf0d1")
|
||||
("moon-alt-waxing-crescent-3" . "\xf0d2")
|
||||
("moon-alt-waxing-crescent-4" . "\xf0d3")
|
||||
("moon-alt-waxing-crescent-5" . "\xf0d4")
|
||||
("moon-alt-waxing-crescent-6" . "\xf0d5")
|
||||
("moon-alt-waxing-gibbous-1" . "\xf0d7")
|
||||
("moon-alt-waxing-gibbous-2" . "\xf0d8")
|
||||
("moon-alt-waxing-gibbous-3" . "\xf0d9")
|
||||
("moon-alt-waxing-gibbous-4" . "\xf0da")
|
||||
("moon-alt-waxing-gibbous-5" . "\xf0db")
|
||||
("moon-alt-waxing-gibbous-6" . "\xf0dc")
|
||||
("moon-first-quarter" . "\xf09c")
|
||||
("moon-full" . "\xf0a3")
|
||||
("moon-new" . "\xf095")
|
||||
("moon-third-quarter" . "\xf0aa")
|
||||
("moon-waning-crescent-1" . "\xf0ab")
|
||||
("moon-waning-crescent-2" . "\xf0ac")
|
||||
("moon-waning-crescent-3" . "\xf0ad")
|
||||
("moon-waning-crescent-4" . "\xf0ae")
|
||||
("moon-waning-crescent-5" . "\xf0af")
|
||||
("moon-waning-crescent-6" . "\xf0b0")
|
||||
("moon-waning-gibbous-1" . "\xf0a4")
|
||||
("moon-waning-gibbous-2" . "\xf0a5")
|
||||
("moon-waning-gibbous-3" . "\xf0a6")
|
||||
("moon-waning-gibbous-4" . "\xf0a7")
|
||||
("moon-waning-gibbous-5" . "\xf0a8")
|
||||
("moon-waning-gibbous-6" . "\xf0a9")
|
||||
("moon-waxing-crescent-1" . "\xf096")
|
||||
("moon-waxing-crescent-2" . "\xf097")
|
||||
("moon-waxing-crescent-3" . "\xf098")
|
||||
("moon-waxing-crescent-4" . "\xf099")
|
||||
("moon-waxing-crescent-5" . "\xf09a")
|
||||
("moon-waxing-crescent-6" . "\xf09b")
|
||||
("moon-waxing-gibbous-1" . "\xf09d")
|
||||
("moon-waxing-gibbous-2" . "\xf09e")
|
||||
("moon-waxing-gibbous-3" . "\xf09f")
|
||||
("moon-waxing-gibbous-4" . "\xf0a0")
|
||||
("moon-waxing-gibbous-5" . "\xf0a1")
|
||||
("moon-waxing-gibbous-6" . "\xf0a2")
|
||||
("moonrise" . "\xf0c9")
|
||||
("moonset" . "\xf0ca")
|
||||
("na" . "\xf07b")
|
||||
("night-alt-cloudy" . "\xf086")
|
||||
("night-alt-cloudy-gusts" . "\xf022")
|
||||
("night-alt-cloudy-high" . "\xf07e")
|
||||
("night-alt-cloudy-windy" . "\xf023")
|
||||
("night-alt-hail" . "\xf024")
|
||||
("night-alt-lightning" . "\xf025")
|
||||
("night-alt-partly-cloudy" . "\xf081")
|
||||
("night-alt-rain" . "\xf028")
|
||||
("night-alt-rain-mix" . "\xf026")
|
||||
("night-alt-rain-wind" . "\xf027")
|
||||
("night-alt-showers" . "\xf029")
|
||||
("night-alt-sleet" . "\xf0b4")
|
||||
("night-alt-sleet-storm" . "\xf06a")
|
||||
("night-alt-snow" . "\xf02a")
|
||||
("night-alt-snow-thunderstorm" . "\xf06d")
|
||||
("night-alt-snow-wind" . "\xf067")
|
||||
("night-alt-sprinkle" . "\xf02b")
|
||||
("night-alt-storm-showers" . "\xf02c")
|
||||
("night-alt-thunderstorm" . "\xf02d")
|
||||
("night-clear" . "\xf02e")
|
||||
("night-cloudy" . "\xf031")
|
||||
("night-cloudy-gusts" . "\xf02f")
|
||||
("night-cloudy-high" . "\xf080")
|
||||
("night-cloudy-windy" . "\xf030")
|
||||
("night-fog" . "\xf04a")
|
||||
("night-hail" . "\xf032")
|
||||
("night-lightning" . "\xf033")
|
||||
("night-partly-cloudy" . "\xf083")
|
||||
("night-rain" . "\xf036")
|
||||
("night-rain-mix" . "\xf034")
|
||||
("night-rain-wind" . "\xf035")
|
||||
("night-showers" . "\xf037")
|
||||
("night-sleet" . "\xf0b3")
|
||||
("night-sleet-storm" . "\xf069")
|
||||
("night-snow" . "\xf038")
|
||||
("night-snow-thunderstorm" . "\xf06c")
|
||||
("night-snow-wind" . "\xf066")
|
||||
("night-sprinkle" . "\xf039")
|
||||
("night-storm-showers" . "\xf03a")
|
||||
("night-thunderstorm" . "\xf03b")
|
||||
("owm-200" . "\xf01e")
|
||||
("owm-201" . "\xf01e")
|
||||
("owm-202" . "\xf01e")
|
||||
("owm-210" . "\xf016")
|
||||
("owm-211" . "\xf016")
|
||||
("owm-212" . "\xf016")
|
||||
("owm-221" . "\xf016")
|
||||
("owm-230" . "\xf01e")
|
||||
("owm-231" . "\xf01e")
|
||||
("owm-232" . "\xf01e")
|
||||
("owm-300" . "\xf01c")
|
||||
("owm-301" . "\xf01c")
|
||||
("owm-302" . "\xf019")
|
||||
("owm-310" . "\xf017")
|
||||
("owm-311" . "\xf019")
|
||||
("owm-312" . "\xf019")
|
||||
("owm-313" . "\xf01a")
|
||||
("owm-314" . "\xf019")
|
||||
("owm-321" . "\xf01c")
|
||||
("owm-500" . "\xf01c")
|
||||
("owm-501" . "\xf019")
|
||||
("owm-502" . "\xf019")
|
||||
("owm-503" . "\xf019")
|
||||
("owm-504" . "\xf019")
|
||||
("owm-511" . "\xf017")
|
||||
("owm-520" . "\xf01a")
|
||||
("owm-521" . "\xf01a")
|
||||
("owm-522" . "\xf01a")
|
||||
("owm-531" . "\xf01d")
|
||||
("owm-600" . "\xf01b")
|
||||
("owm-601" . "\xf01b")
|
||||
("owm-602" . "\xf0b5")
|
||||
("owm-611" . "\xf017")
|
||||
("owm-612" . "\xf017")
|
||||
("owm-615" . "\xf017")
|
||||
("owm-616" . "\xf017")
|
||||
("owm-620" . "\xf017")
|
||||
("owm-621" . "\xf01b")
|
||||
("owm-622" . "\xf01b")
|
||||
("owm-701" . "\xf01a")
|
||||
("owm-711" . "\xf062")
|
||||
("owm-721" . "\xf0b6")
|
||||
("owm-731" . "\xf063")
|
||||
("owm-741" . "\xf014")
|
||||
("owm-761" . "\xf063")
|
||||
("owm-762" . "\xf063")
|
||||
("owm-771" . "\xf011")
|
||||
("owm-781" . "\xf056")
|
||||
("owm-800" . "\xf00d")
|
||||
("owm-801" . "\xf011")
|
||||
("owm-802" . "\xf011")
|
||||
("owm-803" . "\xf012")
|
||||
("owm-804" . "\xf013")
|
||||
("owm-900" . "\xf056")
|
||||
("owm-901" . "\xf01d")
|
||||
("owm-902" . "\xf073")
|
||||
("owm-903" . "\xf076")
|
||||
("owm-904" . "\xf072")
|
||||
("owm-905" . "\xf021")
|
||||
("owm-906" . "\xf015")
|
||||
("owm-957" . "\xf050")
|
||||
("owm-day-200" . "\xf010")
|
||||
("owm-day-201" . "\xf010")
|
||||
("owm-day-202" . "\xf010")
|
||||
("owm-day-210" . "\xf005")
|
||||
("owm-day-211" . "\xf005")
|
||||
("owm-day-212" . "\xf005")
|
||||
("owm-day-221" . "\xf005")
|
||||
("owm-day-230" . "\xf010")
|
||||
("owm-day-231" . "\xf010")
|
||||
("owm-day-232" . "\xf010")
|
||||
("owm-day-300" . "\xf00b")
|
||||
("owm-day-301" . "\xf00b")
|
||||
("owm-day-302" . "\xf008")
|
||||
("owm-day-310" . "\xf008")
|
||||
("owm-day-311" . "\xf008")
|
||||
("owm-day-312" . "\xf008")
|
||||
("owm-day-313" . "\xf008")
|
||||
("owm-day-314" . "\xf008")
|
||||
("owm-day-321" . "\xf00b")
|
||||
("owm-day-500" . "\xf00b")
|
||||
("owm-day-501" . "\xf008")
|
||||
("owm-day-502" . "\xf008")
|
||||
("owm-day-503" . "\xf008")
|
||||
("owm-day-504" . "\xf008")
|
||||
("owm-day-511" . "\xf006")
|
||||
("owm-day-520" . "\xf009")
|
||||
("owm-day-521" . "\xf009")
|
||||
("owm-day-522" . "\xf009")
|
||||
("owm-day-531" . "\xf00e")
|
||||
("owm-day-600" . "\xf00a")
|
||||
("owm-day-601" . "\xf0b2")
|
||||
("owm-day-602" . "\xf00a")
|
||||
("owm-day-611" . "\xf006")
|
||||
("owm-day-612" . "\xf006")
|
||||
("owm-day-615" . "\xf006")
|
||||
("owm-day-616" . "\xf006")
|
||||
("owm-day-620" . "\xf006")
|
||||
("owm-day-621" . "\xf00a")
|
||||
("owm-day-622" . "\xf00a")
|
||||
("owm-day-701" . "\xf009")
|
||||
("owm-day-711" . "\xf062")
|
||||
("owm-day-721" . "\xf0b6")
|
||||
("owm-day-731" . "\xf063")
|
||||
("owm-day-741" . "\xf003")
|
||||
("owm-day-761" . "\xf063")
|
||||
("owm-day-762" . "\xf063")
|
||||
("owm-day-781" . "\xf056")
|
||||
("owm-day-800" . "\xf00d")
|
||||
("owm-day-801" . "\xf000")
|
||||
("owm-day-802" . "\xf000")
|
||||
("owm-day-803" . "\xf000")
|
||||
("owm-day-804" . "\xf00c")
|
||||
("owm-day-900" . "\xf056")
|
||||
("owm-day-902" . "\xf073")
|
||||
("owm-day-903" . "\xf076")
|
||||
("owm-day-904" . "\xf072")
|
||||
("owm-day-906" . "\xf004")
|
||||
("owm-day-957" . "\xf050")
|
||||
("owm-night-200" . "\xf02d")
|
||||
("owm-night-201" . "\xf02d")
|
||||
("owm-night-202" . "\xf02d")
|
||||
("owm-night-210" . "\xf025")
|
||||
("owm-night-211" . "\xf025")
|
||||
("owm-night-212" . "\xf025")
|
||||
("owm-night-221" . "\xf025")
|
||||
("owm-night-230" . "\xf02d")
|
||||
("owm-night-231" . "\xf02d")
|
||||
("owm-night-232" . "\xf02d")
|
||||
("owm-night-300" . "\xf02b")
|
||||
("owm-night-301" . "\xf02b")
|
||||
("owm-night-302" . "\xf028")
|
||||
("owm-night-310" . "\xf028")
|
||||
("owm-night-311" . "\xf028")
|
||||
("owm-night-312" . "\xf028")
|
||||
("owm-night-313" . "\xf028")
|
||||
("owm-night-314" . "\xf028")
|
||||
("owm-night-321" . "\xf02b")
|
||||
("owm-night-500" . "\xf02b")
|
||||
("owm-night-501" . "\xf028")
|
||||
("owm-night-502" . "\xf028")
|
||||
("owm-night-503" . "\xf028")
|
||||
("owm-night-504" . "\xf028")
|
||||
("owm-night-511" . "\xf026")
|
||||
("owm-night-520" . "\xf029")
|
||||
("owm-night-521" . "\xf029")
|
||||
("owm-night-522" . "\xf029")
|
||||
("owm-night-531" . "\xf02c")
|
||||
("owm-night-600" . "\xf02a")
|
||||
("owm-night-601" . "\xf0b4")
|
||||
("owm-night-602" . "\xf02a")
|
||||
("owm-night-611" . "\xf026")
|
||||
("owm-night-612" . "\xf026")
|
||||
("owm-night-615" . "\xf026")
|
||||
("owm-night-616" . "\xf026")
|
||||
("owm-night-620" . "\xf026")
|
||||
("owm-night-621" . "\xf02a")
|
||||
("owm-night-622" . "\xf02a")
|
||||
("owm-night-701" . "\xf029")
|
||||
("owm-night-711" . "\xf062")
|
||||
("owm-night-721" . "\xf0b6")
|
||||
("owm-night-731" . "\xf063")
|
||||
("owm-night-741" . "\xf04a")
|
||||
("owm-night-761" . "\xf063")
|
||||
("owm-night-762" . "\xf063")
|
||||
("owm-night-781" . "\xf056")
|
||||
("owm-night-800" . "\xf02e")
|
||||
("owm-night-801" . "\xf022")
|
||||
("owm-night-802" . "\xf022")
|
||||
("owm-night-803" . "\xf022")
|
||||
("owm-night-804" . "\xf086")
|
||||
("owm-night-900" . "\xf056")
|
||||
("owm-night-902" . "\xf073")
|
||||
("owm-night-903" . "\xf076")
|
||||
("owm-night-904" . "\xf072")
|
||||
("owm-night-906" . "\xf024")
|
||||
("owm-night-957" . "\xf050")
|
||||
("rain" . "\xf019")
|
||||
("rain-mix" . "\xf017")
|
||||
("rain-wind" . "\xf018")
|
||||
("raindrop" . "\xf078")
|
||||
("raindrops" . "\xf04e")
|
||||
("refresh" . "\xf04c")
|
||||
("refresh-alt" . "\xf04b")
|
||||
("sandstorm" . "\xf082")
|
||||
("showers" . "\xf01a")
|
||||
("sleet" . "\xf0b5")
|
||||
("small-craft-advisory" . "\xf0cc")
|
||||
("smog" . "\xf074")
|
||||
("smoke" . "\xf062")
|
||||
("snow" . "\xf01b")
|
||||
("snow" . "\xf01b")
|
||||
("snow-wind" . "\xf064")
|
||||
("snowflake-cold" . "\xf076")
|
||||
("solar-eclipse" . "\xf06e")
|
||||
("sprinkle" . "\xf01c")
|
||||
("stars" . "\xf077")
|
||||
("storm-showers" . "\xf01d")
|
||||
("storm-showers" . "\xf01d")
|
||||
("storm-warning" . "\xf0ce")
|
||||
("strong-wind" . "\xf050")
|
||||
("sunrise" . "\xf051")
|
||||
("sunset" . "\xf052")
|
||||
("thermometer" . "\xf055")
|
||||
("thermometer-exterior" . "\xf053")
|
||||
("thermometer-internal" . "\xf054")
|
||||
("thunderstorm" . "\xf01e")
|
||||
("thunderstorm" . "\xf01e")
|
||||
("time-1" . "\xf08a")
|
||||
("time-10" . "\xf093")
|
||||
("time-11" . "\xf094")
|
||||
("time-12" . "\xf089")
|
||||
("time-2" . "\xf08b")
|
||||
("time-3" . "\xf08c")
|
||||
("time-4" . "\xf08d")
|
||||
("time-5" . "\xf08e")
|
||||
("time-6" . "\xf08f")
|
||||
("time-7" . "\xf090")
|
||||
("time-8" . "\xf091")
|
||||
("time-9" . "\xf092")
|
||||
("tornado" . "\xf056")
|
||||
("train" . "\xf0cb")
|
||||
("tsunami" . "\xf0c5")
|
||||
("umbrella" . "\xf084")
|
||||
("volcano" . "\xf0c8")
|
||||
("wind-beaufort-0" . "\xf0b7")
|
||||
("wind-beaufort-1" . "\xf0b8")
|
||||
("wind-beaufort-10" . "\xf0c1")
|
||||
("wind-beaufort-11" . "\xf0c2")
|
||||
("wind-beaufort-12" . "\xf0c3")
|
||||
("wind-beaufort-2" . "\xf0b9")
|
||||
("wind-beaufort-3" . "\xf0ba")
|
||||
("wind-beaufort-4" . "\xf0bb")
|
||||
("wind-beaufort-5" . "\xf0bc")
|
||||
("wind-beaufort-6" . "\xf0bd")
|
||||
("wind-beaufort-7" . "\xf0be")
|
||||
("wind-beaufort-8" . "\xf0bf")
|
||||
("wind-beaufort-9" . "\xf0c0")
|
||||
("wind-direction" . "\xf0b1")
|
||||
("windy" . "\xf021")
|
||||
("wmo4680-00" . "\xf055")
|
||||
("wmo4680-01" . "\xf013")
|
||||
("wmo4680-02" . "\xf055")
|
||||
("wmo4680-03" . "\xf013")
|
||||
("wmo4680-04" . "\xf014")
|
||||
("wmo4680-05" . "\xf014")
|
||||
("wmo4680-10" . "\xf014")
|
||||
("wmo4680-11" . "\xf014")
|
||||
("wmo4680-12" . "\xf016")
|
||||
("wmo4680-18" . "\xf050")
|
||||
("wmo4680-20" . "\xf014")
|
||||
("wmo4680-21" . "\xf017")
|
||||
("wmo4680-22" . "\xf017")
|
||||
("wmo4680-23" . "\xf019")
|
||||
("wmo4680-24" . "\xf01b")
|
||||
("wmo4680-25" . "\xf015")
|
||||
("wmo4680-26" . "\xf01e")
|
||||
("wmo4680-27" . "\xf063")
|
||||
("wmo4680-28" . "\xf063")
|
||||
("wmo4680-29" . "\xf063")
|
||||
("wmo4680-30" . "\xf014")
|
||||
("wmo4680-31" . "\xf014")
|
||||
("wmo4680-32" . "\xf014")
|
||||
("wmo4680-33" . "\xf014")
|
||||
("wmo4680-34" . "\xf014")
|
||||
("wmo4680-35" . "\xf014")
|
||||
("wmo4680-40" . "\xf017")
|
||||
("wmo4680-41" . "\xf01c")
|
||||
("wmo4680-42" . "\xf019")
|
||||
("wmo4680-43" . "\xf01c")
|
||||
("wmo4680-44" . "\xf019")
|
||||
("wmo4680-45" . "\xf015")
|
||||
("wmo4680-46" . "\xf015")
|
||||
("wmo4680-47" . "\xf01b")
|
||||
("wmo4680-48" . "\xf01b")
|
||||
("wmo4680-50" . "\xf01c")
|
||||
("wmo4680-51" . "\xf01c")
|
||||
("wmo4680-52" . "\xf019")
|
||||
("wmo4680-53" . "\xf019")
|
||||
("wmo4680-54" . "\xf076")
|
||||
("wmo4680-55" . "\xf076")
|
||||
("wmo4680-56" . "\xf076")
|
||||
("wmo4680-57" . "\xf01c")
|
||||
("wmo4680-58" . "\xf019")
|
||||
("wmo4680-60" . "\xf01c")
|
||||
("wmo4680-61" . "\xf01c")
|
||||
("wmo4680-62" . "\xf019")
|
||||
("wmo4680-63" . "\xf019")
|
||||
("wmo4680-64" . "\xf015")
|
||||
("wmo4680-65" . "\xf015")
|
||||
("wmo4680-66" . "\xf015")
|
||||
("wmo4680-67" . "\xf017")
|
||||
("wmo4680-68" . "\xf017")
|
||||
("wmo4680-70" . "\xf01b")
|
||||
("wmo4680-71" . "\xf01b")
|
||||
("wmo4680-72" . "\xf01b")
|
||||
("wmo4680-73" . "\xf01b")
|
||||
("wmo4680-74" . "\xf076")
|
||||
("wmo4680-75" . "\xf076")
|
||||
("wmo4680-76" . "\xf076")
|
||||
("wmo4680-77" . "\xf01b")
|
||||
("wmo4680-78" . "\xf076")
|
||||
("wmo4680-80" . "\xf019")
|
||||
("wmo4680-81" . "\xf01c")
|
||||
("wmo4680-82" . "\xf019")
|
||||
("wmo4680-83" . "\xf019")
|
||||
("wmo4680-84" . "\xf01d")
|
||||
("wmo4680-85" . "\xf017")
|
||||
("wmo4680-86" . "\xf017")
|
||||
("wmo4680-87" . "\xf017")
|
||||
("wmo4680-89" . "\xf015")
|
||||
("wmo4680-90" . "\xf016")
|
||||
("wmo4680-91" . "\xf01d")
|
||||
("wmo4680-92" . "\xf01e")
|
||||
("wmo4680-93" . "\xf01e")
|
||||
("wmo4680-94" . "\xf016")
|
||||
("wmo4680-95" . "\xf01e")
|
||||
("wmo4680-96" . "\xf01e")
|
||||
("wmo4680-99" . "\xf056")
|
||||
("wu-chanceflurries" . "\xf064")
|
||||
("wu-chancerain" . "\xf019")
|
||||
("wu-chancesleat" . "\xf0b5")
|
||||
("wu-chancesnow" . "\xf01b")
|
||||
("wu-chancetstorms" . "\xf01e")
|
||||
("wu-clear" . "\xf00d")
|
||||
("wu-cloudy" . "\xf002")
|
||||
("wu-flurries" . "\xf064")
|
||||
("wu-hazy" . "\xf0b6")
|
||||
("wu-mostlycloudy" . "\xf002")
|
||||
("wu-mostlysunny" . "\xf00d")
|
||||
("wu-partlycloudy" . "\xf002")
|
||||
("wu-partlysunny" . "\xf00d")
|
||||
("wu-rain" . "\xf01a")
|
||||
("wu-sleat" . "\xf0b5")
|
||||
("wu-snow" . "\xf01b")
|
||||
("wu-sunny" . "\xf00d")
|
||||
("wu-tstorms" . "\xf01e")
|
||||
("wu-unknown" . "\xf00d")
|
||||
("yahoo-0" . "\xf056")
|
||||
("yahoo-1" . "\xf00e")
|
||||
("yahoo-10" . "\xf015")
|
||||
("yahoo-11" . "\xf01a")
|
||||
("yahoo-12" . "\xf01a")
|
||||
("yahoo-13" . "\xf01b")
|
||||
("yahoo-14" . "\xf00a")
|
||||
("yahoo-15" . "\xf064")
|
||||
("yahoo-16" . "\xf01b")
|
||||
("yahoo-17" . "\xf015")
|
||||
("yahoo-18" . "\xf017")
|
||||
("yahoo-19" . "\xf063")
|
||||
("yahoo-2" . "\xf073")
|
||||
("yahoo-20" . "\xf014")
|
||||
("yahoo-21" . "\xf021")
|
||||
("yahoo-22" . "\xf062")
|
||||
("yahoo-23" . "\xf050")
|
||||
("yahoo-24" . "\xf050")
|
||||
("yahoo-25" . "\xf076")
|
||||
("yahoo-26" . "\xf013")
|
||||
("yahoo-27" . "\xf031")
|
||||
("yahoo-28" . "\xf002")
|
||||
("yahoo-29" . "\xf031")
|
||||
("yahoo-3" . "\xf01e")
|
||||
("yahoo-30" . "\xf002")
|
||||
("yahoo-31" . "\xf02e")
|
||||
("yahoo-32" . "\xf00d")
|
||||
("yahoo-3200" . "\xf077")
|
||||
("yahoo-33" . "\xf083")
|
||||
("yahoo-34" . "\xf00c")
|
||||
("yahoo-35" . "\xf017")
|
||||
("yahoo-36" . "\xf072")
|
||||
("yahoo-37" . "\xf00e")
|
||||
("yahoo-38" . "\xf00e")
|
||||
("yahoo-39" . "\xf00e")
|
||||
("yahoo-4" . "\xf01e")
|
||||
("yahoo-40" . "\xf01a")
|
||||
("yahoo-41" . "\xf064")
|
||||
("yahoo-42" . "\xf01b")
|
||||
("yahoo-43" . "\xf064")
|
||||
("yahoo-44" . "\xf00c")
|
||||
("yahoo-45" . "\xf00e")
|
||||
("yahoo-46" . "\xf01b")
|
||||
("yahoo-47" . "\xf00e")
|
||||
("yahoo-5" . "\xf017")
|
||||
("yahoo-6" . "\xf017")
|
||||
("yahoo-7" . "\xf017")
|
||||
("yahoo-8" . "\xf015")
|
||||
("yahoo-9" . "\xf01a")
|
||||
|
||||
))
|
||||
|
||||
(provide 'data-weathericons)
|
|
@ -1,47 +0,0 @@
|
|||
;;; all-the-icons-dired-autoloads.el --- automatically extracted autoloads (do not edit) -*- lexical-binding: t -*-
|
||||
;; Generated by the `loaddefs-generate' function.
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(add-to-list 'load-path (or (and load-file-name (directory-file-name (file-name-directory load-file-name))) (car load-path)))
|
||||
|
||||
|
||||
|
||||
;;; Generated autoloads from all-the-icons-dired.el
|
||||
|
||||
(autoload 'all-the-icons-dired-mode "all-the-icons-dired" "\
|
||||
Display all-the-icons icon for each file in a Dired buffer.
|
||||
|
||||
This is a minor mode. If called interactively, toggle the
|
||||
`All-The-Icons-Dired mode' mode. If the prefix argument is
|
||||
positive, enable the mode, and if it is zero or negative, disable
|
||||
the mode.
|
||||
|
||||
If called from Lisp, toggle the mode if ARG is `toggle'. Enable
|
||||
the mode if ARG is nil, omitted, or is a positive number.
|
||||
Disable the mode if ARG is a negative number.
|
||||
|
||||
To check whether the minor mode is enabled in the current buffer,
|
||||
evaluate `all-the-icons-dired-mode'.
|
||||
|
||||
The mode's hook is called both when the mode is enabled and when
|
||||
it is disabled.
|
||||
|
||||
(fn &optional ARG)" t)
|
||||
(register-definition-prefixes "all-the-icons-dired" '("all-the-icons-dired-"))
|
||||
|
||||
;;; End of scraped data
|
||||
|
||||
(provide 'all-the-icons-dired-autoloads)
|
||||
|
||||
;; Local Variables:
|
||||
;; version-control: never
|
||||
;; no-byte-compile: t
|
||||
;; no-update-autoloads: t
|
||||
;; no-native-compile: t
|
||||
;; coding: utf-8-emacs-unix
|
||||
;; End:
|
||||
|
||||
;;; all-the-icons-dired-autoloads.el ends here
|
|
@ -1,15 +0,0 @@
|
|||
(define-package "all-the-icons-dired" "20231207.1324" "Shows icons for each file in dired mode"
|
||||
'((emacs "26.1")
|
||||
(all-the-icons "2.2.0"))
|
||||
:commit "e157f0668f22ed586aebe0a2c0186ab07702986c" :authors
|
||||
'(("jtbm37"))
|
||||
:maintainers
|
||||
'(("Jimmy Yuen Ho Wong" . "wyuenho@gmail.com"))
|
||||
:maintainer
|
||||
'("Jimmy Yuen Ho Wong" . "wyuenho@gmail.com")
|
||||
:keywords
|
||||
'("files" "icons" "dired")
|
||||
:url "https://github.com/wyuenho/all-the-icons-dired")
|
||||
;; Local Variables:
|
||||
;; no-byte-compile: t
|
||||
;; End:
|
|
@ -1,142 +0,0 @@
|
|||
;;; all-the-icons-dired.el --- Shows icons for each file in dired mode -*- lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 2016-2020 jtbm37
|
||||
;; Copyright (C) 2021 Jimmy Yuen Ho Wong
|
||||
|
||||
;; Author: jtbm37
|
||||
;; Maintainer: Jimmy Yuen Ho Wong <wyuenho@gmail.com>
|
||||
;; Version: 2.0
|
||||
;; Keywords: files icons dired
|
||||
;; Package-Requires: ((emacs "26.1") (all-the-icons "2.2.0"))
|
||||
;; URL: https://github.com/wyuenho/all-the-icons-dired
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
;; To use this package, simply add this to your init.el:
|
||||
;; (add-hook 'dired-mode-hook 'all-the-icons-dired-mode)
|
||||
|
||||
;; To manually install, add this to your init.el before the hook mentioned above.
|
||||
;; (add-to-load-path (expand-file-name "~/path/to/all-the-icons-dired"))
|
||||
;; (load "all-the-icons-dired.el")
|
||||
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'dired)
|
||||
(require 'all-the-icons)
|
||||
(require 'subr-x)
|
||||
(require 'image)
|
||||
(require 'jit-lock)
|
||||
(require 'font-core)
|
||||
(require 'font-lock)
|
||||
(require 'map)
|
||||
|
||||
(defface all-the-icons-dired-dir-face
|
||||
'((t (:inherit dired-directory)))
|
||||
"Face for the directory icon."
|
||||
:group 'all-the-icons-faces)
|
||||
|
||||
(defcustom all-the-icons-dired-lighter " all-the-icons-dired-mode"
|
||||
"Lighter of all-the-icons-dired-mode"
|
||||
:group 'all-the-icons
|
||||
:type 'string)
|
||||
|
||||
(defcustom all-the-icons-dired-v-adjust 0.01
|
||||
"The default vertical adjustment of the icon in the Dired buffer."
|
||||
:group 'all-the-icons
|
||||
:type 'number)
|
||||
|
||||
(defcustom all-the-icons-dired-monochrome t
|
||||
"Whether to show the icons as the same color as the text on the same line."
|
||||
:group 'all-the-icons
|
||||
:type 'boolean)
|
||||
|
||||
(defvar all-the-icons-dired-mode)
|
||||
|
||||
(defun all-the-icons-dired--icon (file)
|
||||
"Return the icon for FILE."
|
||||
(if (file-directory-p file)
|
||||
(all-the-icons-icon-for-dir file
|
||||
:face 'all-the-icons-dired-dir-face
|
||||
:v-adjust all-the-icons-dired-v-adjust)
|
||||
(apply 'all-the-icons-icon-for-file file
|
||||
(append
|
||||
`(:v-adjust ,all-the-icons-dired-v-adjust)
|
||||
(when all-the-icons-dired-monochrome
|
||||
`(:face ,(face-at-point)))))))
|
||||
|
||||
(defun all-the-icons-dired--put-icon (pos)
|
||||
"Propertize POS with icon."
|
||||
(let* ((file (dired-get-filename 'relative 'noerror))
|
||||
(icon (all-the-icons-dired--icon file))
|
||||
(image (copy-sequence (get-text-property 0 'display icon)))
|
||||
(props (map-delete (copy-sequence (text-properties-at 0 icon)) 'display)))
|
||||
(if (or (not (eq (car image) 'image)) (member file '("." "..")))
|
||||
(put-text-property (1- pos) pos 'display
|
||||
(if (member file '("." ".."))
|
||||
" "
|
||||
(concat " " icon " ")))
|
||||
(setf (image-property image :margin) (cons (/ (window-text-width nil t) (window-text-width)) 0))
|
||||
(add-text-properties (1- pos) pos (append props `(display ,image) )))))
|
||||
|
||||
(defun all-the-icons-dired--fontify-region (start end &optional loudly)
|
||||
"Add icons using text properties from START to END.
|
||||
|
||||
START, END and the optional argument LOUDLY is passed to
|
||||
`font-lock-default-fontify-region'."
|
||||
(let ((extended-region (font-lock-default-fontify-region start end loudly)))
|
||||
(when (and (consp extended-region)
|
||||
(eq (car extended-region) 'jit-lock-bounds))
|
||||
(setq start (cadr extended-region))
|
||||
(setq end (cddr extended-region)))
|
||||
(with-silent-modifications
|
||||
(save-excursion
|
||||
(goto-char start)
|
||||
(while (< (point) end)
|
||||
(when-let ((pos (dired-move-to-filename)))
|
||||
(all-the-icons-dired--put-icon pos))
|
||||
(forward-line 1))))
|
||||
extended-region))
|
||||
|
||||
(defun all-the-icons-dired--setup ()
|
||||
"Set up `all-the-icons-dired'."
|
||||
(add-function :override (local 'font-lock-fontify-region-function) #'all-the-icons-dired--fontify-region)
|
||||
(setq-local font-lock-extra-managed-props (cons 'display font-lock-extra-managed-props))
|
||||
(cond (jit-lock-mode
|
||||
(jit-lock-refontify))
|
||||
(font-lock-mode
|
||||
(font-lock-fontify-region (point-min) (point-max)))))
|
||||
|
||||
(defun all-the-icons-dired--teardown ()
|
||||
"Tear down `all-the-icons-dired'."
|
||||
(font-lock-unfontify-buffer)
|
||||
(remove-function (local 'font-lock-fontify-region-function) #'all-the-icons-dired--fontify-region)
|
||||
(setq-local font-lock-extra-managed-props (remove 'display font-lock-extra-managed-props))
|
||||
(cond (jit-lock-mode
|
||||
(jit-lock-refontify))
|
||||
(font-lock-mode
|
||||
(font-lock-fontify-region (point-min) (point-max)))))
|
||||
|
||||
;;;###autoload
|
||||
(define-minor-mode all-the-icons-dired-mode
|
||||
"Display all-the-icons icon for each file in a Dired buffer."
|
||||
:lighter all-the-icons-dired-lighter
|
||||
(when (derived-mode-p 'dired-mode)
|
||||
(if all-the-icons-dired-mode
|
||||
(all-the-icons-dired--setup)
|
||||
(all-the-icons-dired--teardown))))
|
||||
|
||||
(provide 'all-the-icons-dired)
|
||||
;;; all-the-icons-dired.el ends here
|
File diff suppressed because it is too large
Load diff
|
@ -1 +0,0 @@
|
|||
Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) <elpasign@elpa.gnu.org> (trust undefined) created at 2022-11-07T17:05:03-0500 using RSA
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1 +0,0 @@
|
|||
Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) <elpasign@elpa.gnu.org> (trust undefined) created at 2022-11-07T17:05:05-0500 using RSA
|
|
@ -1,210 +0,0 @@
|
|||
;;; async-autoloads.el --- automatically extracted autoloads (do not edit) -*- lexical-binding: t -*-
|
||||
;; Generated by the `loaddefs-generate' function.
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(add-to-list 'load-path (or (and load-file-name (directory-file-name (file-name-directory load-file-name))) (car load-path)))
|
||||
|
||||
|
||||
|
||||
;;; Generated autoloads from async.el
|
||||
|
||||
(autoload 'async-start-process "async" "\
|
||||
Start the executable PROGRAM asynchronously named NAME. See `async-start'.
|
||||
PROGRAM is passed PROGRAM-ARGS, calling FINISH-FUNC with the
|
||||
process object when done. If FINISH-FUNC is nil, the future
|
||||
object will return the process object when the program is
|
||||
finished. Set DEFAULT-DIRECTORY to change PROGRAM's current
|
||||
working directory.
|
||||
|
||||
(fn NAME PROGRAM FINISH-FUNC &rest PROGRAM-ARGS)")
|
||||
(autoload 'async-start "async" "\
|
||||
Execute START-FUNC (often a lambda) in a subordinate Emacs process.
|
||||
When done, the return value is passed to FINISH-FUNC. Example:
|
||||
|
||||
(async-start
|
||||
;; What to do in the child process
|
||||
(lambda ()
|
||||
(message \"This is a test\")
|
||||
(sleep-for 3)
|
||||
222)
|
||||
|
||||
;; What to do when it finishes
|
||||
(lambda (result)
|
||||
(message \"Async process done, result should be 222: %s\"
|
||||
result)))
|
||||
|
||||
If you call `async-send' from a child process, the message will
|
||||
be also passed to the FINISH-FUNC. You can test RESULT to see if
|
||||
it is a message by using `async-message-p'. If nil, it means
|
||||
this is the final result. Example of the FINISH-FUNC:
|
||||
|
||||
(lambda (result)
|
||||
(if (async-message-p result)
|
||||
(message \"Received a message from child process: %s\" result)
|
||||
(message \"Async process done, result: %s\" result)))
|
||||
|
||||
If FINISH-FUNC is nil or missing, a future is returned that can
|
||||
be inspected using `async-get', blocking until the value is
|
||||
ready. Example:
|
||||
|
||||
(let ((proc (async-start
|
||||
;; What to do in the child process
|
||||
(lambda ()
|
||||
(message \"This is a test\")
|
||||
(sleep-for 3)
|
||||
222))))
|
||||
|
||||
(message \"I'm going to do some work here\") ;; ....
|
||||
|
||||
(message \"Waiting on async process, result should be 222: %s\"
|
||||
(async-get proc)))
|
||||
|
||||
If you don't want to use a callback, and you don't care about any
|
||||
return value from the child process, pass the `ignore' symbol as
|
||||
the second argument (if you don't, and never call `async-get', it
|
||||
will leave *emacs* process buffers hanging around):
|
||||
|
||||
(async-start
|
||||
(lambda ()
|
||||
(delete-file \"a remote file on a slow link\" nil))
|
||||
\\='ignore)
|
||||
|
||||
Special case:
|
||||
If the output of START-FUNC is a string with properties
|
||||
e.g. (buffer-string) RESULT will be transformed in a list where the
|
||||
car is the string itself (without props) and the cdr the rest of
|
||||
properties, this allows using in FINISH-FUNC the string without
|
||||
properties and then apply the properties in cdr to this string (if
|
||||
needed).
|
||||
Properties handling special objects like markers are returned as
|
||||
list to allow restoring them later.
|
||||
See <https://github.com/jwiegley/emacs-async/issues/145> for more infos.
|
||||
|
||||
Note: Even when FINISH-FUNC is present, a future is still
|
||||
returned except that it yields no value (since the value is
|
||||
passed to FINISH-FUNC). Call `async-get' on such a future always
|
||||
returns nil. It can still be useful, however, as an argument to
|
||||
`async-ready' or `async-wait'.
|
||||
|
||||
(fn START-FUNC &optional FINISH-FUNC)")
|
||||
(register-definition-prefixes "async" '("async-"))
|
||||
|
||||
|
||||
;;; Generated autoloads from async-bytecomp.el
|
||||
|
||||
(autoload 'async-byte-recompile-directory "async-bytecomp" "\
|
||||
Compile all *.el files in DIRECTORY asynchronously.
|
||||
All *.elc files are systematically deleted before proceeding.
|
||||
|
||||
(fn DIRECTORY &optional QUIET)")
|
||||
(defvar async-bytecomp-package-mode nil "\
|
||||
Non-nil if Async-Bytecomp-Package mode is enabled.
|
||||
See the `async-bytecomp-package-mode' command
|
||||
for a description of this minor mode.
|
||||
Setting this variable directly does not take effect;
|
||||
either customize it (see the info node `Easy Customization')
|
||||
or call the function `async-bytecomp-package-mode'.")
|
||||
(custom-autoload 'async-bytecomp-package-mode "async-bytecomp" nil)
|
||||
(autoload 'async-bytecomp-package-mode "async-bytecomp" "\
|
||||
Byte compile asynchronously packages installed with package.el.
|
||||
|
||||
Async compilation of packages can be controlled by
|
||||
`async-bytecomp-allowed-packages'.
|
||||
|
||||
This is a global minor mode. If called interactively, toggle the
|
||||
`Async-Bytecomp-Package mode' mode. If the prefix argument is
|
||||
positive, enable the mode, and if it is zero or negative, disable
|
||||
the mode.
|
||||
|
||||
If called from Lisp, toggle the mode if ARG is `toggle'. Enable
|
||||
the mode if ARG is nil, omitted, or is a positive number.
|
||||
Disable the mode if ARG is a negative number.
|
||||
|
||||
To check whether the minor mode is enabled in the current buffer,
|
||||
evaluate `(default-value \\='async-bytecomp-package-mode)'.
|
||||
|
||||
The mode's hook is called both when the mode is enabled and when
|
||||
it is disabled.
|
||||
|
||||
(fn &optional ARG)" t)
|
||||
(autoload 'async-byte-compile-file "async-bytecomp" "\
|
||||
Byte compile Lisp code FILE asynchronously.
|
||||
|
||||
Same as `byte-compile-file' but asynchronous.
|
||||
|
||||
(fn FILE)" t)
|
||||
(register-definition-prefixes "async-bytecomp" '("async-"))
|
||||
|
||||
|
||||
;;; Generated autoloads from async-package.el
|
||||
|
||||
(register-definition-prefixes "async-package" '("async-package-"))
|
||||
|
||||
|
||||
;;; Generated autoloads from dired-async.el
|
||||
|
||||
(defvar dired-async-mode nil "\
|
||||
Non-nil if Dired-Async mode is enabled.
|
||||
See the `dired-async-mode' command
|
||||
for a description of this minor mode.
|
||||
Setting this variable directly does not take effect;
|
||||
either customize it (see the info node `Easy Customization')
|
||||
or call the function `dired-async-mode'.")
|
||||
(custom-autoload 'dired-async-mode "dired-async" nil)
|
||||
(autoload 'dired-async-mode "dired-async" "\
|
||||
Do dired actions asynchronously.
|
||||
|
||||
This is a global minor mode. If called interactively, toggle the
|
||||
`Dired-Async mode' mode. If the prefix argument is positive,
|
||||
enable the mode, and if it is zero or negative, disable the mode.
|
||||
|
||||
If called from Lisp, toggle the mode if ARG is `toggle'. Enable
|
||||
the mode if ARG is nil, omitted, or is a positive number.
|
||||
Disable the mode if ARG is a negative number.
|
||||
|
||||
To check whether the minor mode is enabled in the current buffer,
|
||||
evaluate `(default-value \\='dired-async-mode)'.
|
||||
|
||||
The mode's hook is called both when the mode is enabled and when
|
||||
it is disabled.
|
||||
|
||||
(fn &optional ARG)" t)
|
||||
(autoload 'dired-async-do-copy "dired-async" "\
|
||||
Run ‘dired-do-copy’ asynchronously.
|
||||
|
||||
(fn &optional ARG)" t)
|
||||
(autoload 'dired-async-do-symlink "dired-async" "\
|
||||
Run ‘dired-do-symlink’ asynchronously.
|
||||
|
||||
(fn &optional ARG)" t)
|
||||
(autoload 'dired-async-do-hardlink "dired-async" "\
|
||||
Run ‘dired-do-hardlink’ asynchronously.
|
||||
|
||||
(fn &optional ARG)" t)
|
||||
(autoload 'dired-async-do-rename "dired-async" "\
|
||||
Run ‘dired-do-rename’ asynchronously.
|
||||
|
||||
(fn &optional ARG)" t)
|
||||
(register-definition-prefixes "dired-async" '("dired-async-"))
|
||||
|
||||
|
||||
;;; Generated autoloads from smtpmail-async.el
|
||||
|
||||
(register-definition-prefixes "smtpmail-async" '("async-smtpmail-"))
|
||||
|
||||
;;; End of scraped data
|
||||
|
||||
(provide 'async-autoloads)
|
||||
|
||||
;; Local Variables:
|
||||
;; version-control: never
|
||||
;; no-byte-compile: t
|
||||
;; no-update-autoloads: t
|
||||
;; no-native-compile: t
|
||||
;; coding: utf-8-emacs-unix
|
||||
;; End:
|
||||
|
||||
;;; async-autoloads.el ends here
|
|
@ -1,201 +0,0 @@
|
|||
;;; async-bytecomp.el --- Compile elisp files asynchronously -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright (C) 2014-2022 Free Software Foundation, Inc.
|
||||
|
||||
;; Authors: John Wiegley <jwiegley@gmail.com>
|
||||
;; Thierry Volpiatto <thievol@posteo.net>
|
||||
|
||||
;; Keywords: dired async byte-compile
|
||||
;; X-URL: https://github.com/jwiegley/emacs-async
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; This package provide the `async-byte-recompile-directory' function
|
||||
;; which allows, as the name says to recompile a directory outside of
|
||||
;; your running emacs.
|
||||
;; The benefit is your files will be compiled in a clean environment without
|
||||
;; the old *.el files loaded.
|
||||
;; Among other things, this fix a bug in package.el which recompile
|
||||
;; the new files in the current environment with the old files loaded, creating
|
||||
;; errors in most packages after upgrades.
|
||||
;;
|
||||
;; NB: This package is advising the function `package--compile'.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'cl-lib)
|
||||
(require 'async)
|
||||
(require 'bytecomp)
|
||||
|
||||
(declare-function package-desc-name "package.el")
|
||||
(declare-function package-desc-dir "package.el")
|
||||
|
||||
(defcustom async-bytecomp-allowed-packages 'all
|
||||
"Packages in this list will be compiled asynchronously by `package--compile'.
|
||||
All the dependencies of these packages will be compiled async too,
|
||||
so no need to add dependencies to this list.
|
||||
The value of this variable can also be the symbol `all' (default), in this case
|
||||
all packages are always compiled asynchronously."
|
||||
:group 'async
|
||||
:type '(choice
|
||||
(const :tag "All packages" all)
|
||||
(repeat symbol)))
|
||||
|
||||
(defvar async-byte-compile-log-file
|
||||
(concat user-emacs-directory "async-bytecomp.log"))
|
||||
|
||||
(defvar async-bytecomp-load-variable-regexp "\\`load-path\\'"
|
||||
"The variable used by `async-inject-variables' when (re)compiling async.")
|
||||
|
||||
(defun async-bytecomp--file-to-comp-buffer (file-or-dir &optional quiet type)
|
||||
(let ((bn (file-name-nondirectory file-or-dir))
|
||||
(action-name (pcase type
|
||||
('file "File")
|
||||
('directory "Directory"))))
|
||||
(if (file-exists-p async-byte-compile-log-file)
|
||||
(let ((buf (get-buffer-create byte-compile-log-buffer))
|
||||
(n 0))
|
||||
(with-current-buffer buf
|
||||
(goto-char (point-max))
|
||||
(let ((inhibit-read-only t))
|
||||
(insert-file-contents async-byte-compile-log-file)
|
||||
(compilation-mode))
|
||||
(display-buffer buf)
|
||||
(delete-file async-byte-compile-log-file)
|
||||
(unless quiet
|
||||
(save-excursion
|
||||
(goto-char (point-min))
|
||||
(while (re-search-forward "^.*:Error:" nil t)
|
||||
(cl-incf n)))
|
||||
(if (> n 0)
|
||||
(message "Failed to compile %d files in directory `%s'" n bn)
|
||||
(message "%s `%s' compiled asynchronously with warnings"
|
||||
action-name bn)))))
|
||||
(unless quiet
|
||||
(message "%s `%s' compiled asynchronously with success" action-name bn)))))
|
||||
|
||||
;;;###autoload
|
||||
(defun async-byte-recompile-directory (directory &optional quiet)
|
||||
"Compile all *.el files in DIRECTORY asynchronously.
|
||||
All *.elc files are systematically deleted before proceeding."
|
||||
(cl-loop with dir = (directory-files directory t "\\.elc\\'")
|
||||
unless dir return nil
|
||||
for f in dir
|
||||
when (file-exists-p f) do (delete-file f))
|
||||
;; Ensure async is reloaded when async.elc is deleted.
|
||||
;; This happen when recompiling its own directory.
|
||||
(load "async")
|
||||
(let ((call-back
|
||||
(lambda (&optional _ignore)
|
||||
(async-bytecomp--file-to-comp-buffer directory quiet 'directory))))
|
||||
(async-start
|
||||
`(lambda ()
|
||||
(require 'bytecomp)
|
||||
,(async-inject-variables async-bytecomp-load-variable-regexp)
|
||||
(let ((default-directory (file-name-as-directory ,directory))
|
||||
error-data)
|
||||
(add-to-list 'load-path default-directory)
|
||||
(byte-recompile-directory ,directory 0 t)
|
||||
(when (get-buffer byte-compile-log-buffer)
|
||||
(setq error-data (with-current-buffer byte-compile-log-buffer
|
||||
(buffer-substring-no-properties (point-min) (point-max))))
|
||||
(unless (string= error-data "")
|
||||
(with-temp-file ,async-byte-compile-log-file
|
||||
(erase-buffer)
|
||||
(insert error-data))))))
|
||||
call-back)
|
||||
(unless quiet (message "Started compiling asynchronously directory %s" directory))))
|
||||
|
||||
(defvar package-archive-contents)
|
||||
(defvar package-alist)
|
||||
(declare-function package-desc-reqs "package.el" (cl-x))
|
||||
|
||||
(defun async-bytecomp--get-package-deps (pkgs)
|
||||
;; Same as `package--get-deps' but parse instead `package-archive-contents'
|
||||
;; because PKG is not already installed and not present in `package-alist'.
|
||||
;; However fallback to `package-alist' in case PKG no more present
|
||||
;; in `package-archive-contents' due to modification to `package-archives'.
|
||||
;; See issue #58.
|
||||
(let ((seen '()))
|
||||
(while pkgs
|
||||
(let ((pkg (pop pkgs)))
|
||||
(unless (memq pkg seen)
|
||||
(let ((pkg-desc (cadr (or (assq pkg package-archive-contents)
|
||||
(assq pkg package-alist)))))
|
||||
(when pkg-desc
|
||||
(push pkg seen)
|
||||
(setq pkgs (append (mapcar #'car (package-desc-reqs pkg-desc))
|
||||
pkgs)))))))
|
||||
seen))
|
||||
|
||||
(defun async--package-compile (orig-fun pkg-desc &rest args)
|
||||
(let ((cur-package (package-desc-name pkg-desc))
|
||||
(pkg-dir (package-desc-dir pkg-desc)))
|
||||
(if (or (member async-bytecomp-allowed-packages '(t all (all)))
|
||||
(memq cur-package (async-bytecomp--get-package-deps
|
||||
async-bytecomp-allowed-packages)))
|
||||
(progn
|
||||
(when (eq cur-package 'async)
|
||||
(fmakunbound 'async-byte-recompile-directory)
|
||||
;; Add to `load-path' the latest version of async and
|
||||
;; reload it when reinstalling async.
|
||||
(cl-pushnew pkg-dir load-path)
|
||||
(load "async-bytecomp"))
|
||||
;; `async-byte-recompile-directory' will add directory
|
||||
;; as needed to `load-path'.
|
||||
(async-byte-recompile-directory (package-desc-dir pkg-desc) t))
|
||||
(apply orig-fun pkg-desc args))))
|
||||
|
||||
;;;###autoload
|
||||
(define-minor-mode async-bytecomp-package-mode
|
||||
"Byte compile asynchronously packages installed with package.el.
|
||||
Async compilation of packages can be controlled by
|
||||
`async-bytecomp-allowed-packages'."
|
||||
:group 'async
|
||||
:global t
|
||||
(if async-bytecomp-package-mode
|
||||
(advice-add 'package--compile :around #'async--package-compile)
|
||||
(advice-remove 'package--compile #'async--package-compile)))
|
||||
|
||||
;;;###autoload
|
||||
(defun async-byte-compile-file (file)
|
||||
"Byte compile Lisp code FILE asynchronously.
|
||||
|
||||
Same as `byte-compile-file' but asynchronous."
|
||||
(interactive "fFile: ")
|
||||
(let ((call-back
|
||||
(lambda (&optional _ignore)
|
||||
(async-bytecomp--file-to-comp-buffer file nil 'file))))
|
||||
(async-start
|
||||
`(lambda ()
|
||||
(require 'bytecomp)
|
||||
,(async-inject-variables async-bytecomp-load-variable-regexp)
|
||||
(let ((default-directory ,(file-name-directory file))
|
||||
error-data)
|
||||
(add-to-list 'load-path default-directory)
|
||||
(byte-compile-file ,file)
|
||||
(when (get-buffer byte-compile-log-buffer)
|
||||
(setq error-data (with-current-buffer byte-compile-log-buffer
|
||||
(buffer-substring-no-properties (point-min) (point-max))))
|
||||
(unless (string= error-data "")
|
||||
(with-temp-file ,async-byte-compile-log-file
|
||||
(erase-buffer)
|
||||
(insert error-data))))))
|
||||
call-back)))
|
||||
|
||||
(provide 'async-bytecomp)
|
||||
|
||||
;;; async-bytecomp.el ends here
|
|
@ -1,132 +0,0 @@
|
|||
;;; async-package.el --- Fetch packages asynchronously -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright (C) 2014-2022 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Thierry Volpiatto <thievol@posteo.net>
|
||||
|
||||
;; Keywords: dired async byte-compile package
|
||||
;; X-URL: https://github.com/jwiegley/emacs-async
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Provide the function `async-package-do-action' to
|
||||
;; (re)install/upgrade packages asynchronously.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(eval-when-compile (require 'cl-lib))
|
||||
(require 'async-bytecomp)
|
||||
(require 'dired-async)
|
||||
(require 'package)
|
||||
|
||||
(define-minor-mode async-package--modeline-mode
|
||||
"Notify mode-line that an async process run."
|
||||
:group 'async
|
||||
:global t
|
||||
:lighter (:eval (propertize (format " [%s async job Installing package(s)]"
|
||||
(length (dired-async-processes
|
||||
'async-pkg-install)))
|
||||
'face 'async-package-message))
|
||||
(unless async-package--modeline-mode
|
||||
(let ((visible-bell t)) (ding))))
|
||||
|
||||
(defface async-package-message
|
||||
'((t (:foreground "yellow")))
|
||||
"Face used for mode-line message.")
|
||||
|
||||
(defun async-package-do-action (action packages error-file)
|
||||
"Execute ACTION asynchronously on PACKAGES.
|
||||
Argument ACTION can be one of \\='install, \\='upgrade, \\='reinstall.
|
||||
Argument PACKAGES is a list of packages (symbols).
|
||||
Argument ERROR-FILE is the file where errors are logged, if some."
|
||||
(require 'async-bytecomp)
|
||||
(let ((fn (pcase action
|
||||
('install 'package-install)
|
||||
('upgrade 'package-upgrade)
|
||||
('reinstall 'package-reinstall)))
|
||||
(action-string (pcase action
|
||||
('install "Installing")
|
||||
('upgrade "Upgrading")
|
||||
('reinstall "Reinstalling"))))
|
||||
(message "%s %s package(s)..." action-string (length packages))
|
||||
(process-put
|
||||
(async-start
|
||||
`(lambda ()
|
||||
(require 'bytecomp)
|
||||
(setq package-archives ',package-archives
|
||||
package-pinned-packages ',package-pinned-packages
|
||||
package-archive-contents ',package-archive-contents
|
||||
package-alist ',package-alist
|
||||
load-path ',load-path)
|
||||
(prog1
|
||||
(condition-case err
|
||||
(mapc ',fn ',packages)
|
||||
(error
|
||||
(with-temp-file ,error-file
|
||||
(insert
|
||||
(format
|
||||
"%S:\n Please refresh package list before %s"
|
||||
err ,action-string)))))
|
||||
(let (error-data)
|
||||
(when (get-buffer byte-compile-log-buffer)
|
||||
(setq error-data (with-current-buffer byte-compile-log-buffer
|
||||
(buffer-substring-no-properties
|
||||
(point-min) (point-max))))
|
||||
(unless (string= error-data "")
|
||||
(with-temp-file ,async-byte-compile-log-file
|
||||
(erase-buffer)
|
||||
(insert error-data)))))))
|
||||
(lambda (result)
|
||||
(if (file-exists-p error-file)
|
||||
(let ((buf (find-file-noselect error-file)))
|
||||
(pop-to-buffer
|
||||
buf '(nil . ((window-height . fit-window-to-buffer))))
|
||||
(special-mode)
|
||||
(delete-file error-file)
|
||||
(async-package--modeline-mode -1))
|
||||
(when result
|
||||
(let ((pkgs (if (listp result) result (list result))))
|
||||
(when (eq action 'install)
|
||||
(customize-save-variable
|
||||
'package-selected-packages
|
||||
(delete-dups (append pkgs package-selected-packages))))
|
||||
(package-load-all-descriptors) ; refresh package-alist.
|
||||
(mapc #'package-activate pkgs) ; load packages.
|
||||
(async-package--modeline-mode -1)
|
||||
(message "%s %s packages done" action-string (length packages))
|
||||
(run-with-timer
|
||||
0.1 nil
|
||||
(lambda (lst str)
|
||||
(dired-async-mode-line-message
|
||||
"%s %d package(s) done"
|
||||
'async-package-message
|
||||
str (length lst)))
|
||||
packages action-string)
|
||||
(when (file-exists-p async-byte-compile-log-file)
|
||||
(let ((buf (get-buffer-create byte-compile-log-buffer)))
|
||||
(with-current-buffer buf
|
||||
(goto-char (point-max))
|
||||
(let ((inhibit-read-only t))
|
||||
(insert-file-contents async-byte-compile-log-file)
|
||||
(compilation-mode))
|
||||
(display-buffer buf)
|
||||
(delete-file async-byte-compile-log-file)))))))))
|
||||
'async-pkg-install t)
|
||||
(async-package--modeline-mode 1)))
|
||||
|
||||
(provide 'async-package)
|
||||
|
||||
;;; async-package.el ends here
|
|
@ -1,14 +0,0 @@
|
|||
(define-package "async" "20240719.640" "Asynchronous processing in Emacs"
|
||||
'((emacs "24.4"))
|
||||
:commit "93957f5b0f2ed22aeef02972de860fb9c45b4422" :authors
|
||||
'(("John Wiegley" . "jwiegley@gmail.com"))
|
||||
:maintainers
|
||||
'(("Thierry Volpiatto" . "thievol@posteo.net"))
|
||||
:maintainer
|
||||
'("Thierry Volpiatto" . "thievol@posteo.net")
|
||||
:keywords
|
||||
'("async")
|
||||
:url "https://github.com/jwiegley/emacs-async")
|
||||
;; Local Variables:
|
||||
;; no-byte-compile: t
|
||||
;; End:
|
|
@ -1,609 +0,0 @@
|
|||
;;; async.el --- Asynchronous processing in Emacs -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright (C) 2012-2022 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: John Wiegley <jwiegley@gmail.com>
|
||||
;; Maintainer: Thierry Volpiatto <thievol@posteo.net>
|
||||
|
||||
;; Created: 18 Jun 2012
|
||||
;; Version: 1.9.8
|
||||
;; Package-Requires: ((emacs "24.4"))
|
||||
|
||||
;; Keywords: async
|
||||
;; X-URL: https://github.com/jwiegley/emacs-async
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Adds the ability to call asynchronous functions and process with ease. See
|
||||
;; the documentation for `async-start' and `async-start-process'.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(eval-when-compile (require 'cl-lib))
|
||||
|
||||
(defvar tramp-password-prompt-regexp)
|
||||
|
||||
(defgroup async nil
|
||||
"Simple asynchronous processing in Emacs"
|
||||
:group 'lisp)
|
||||
|
||||
(defcustom async-variables-noprops-function #'async--purecopy
|
||||
"Default function to remove text properties in variables."
|
||||
:type 'function)
|
||||
|
||||
(defcustom async-prompt-for-password t
|
||||
"Prompt for password in parent Emacs if needed when non nil.
|
||||
When this is nil child Emacs will hang forever when a user interaction
|
||||
for password is required unless a password is stored in a \".authinfo\" file."
|
||||
:type 'boolean)
|
||||
|
||||
(defvar async-process-noquery-on-exit nil
|
||||
"Used as the :noquery argument to `make-process'.
|
||||
|
||||
Intended to be let-bound around a call to `async-start' or
|
||||
`async-start-process'. If non-nil, the child Emacs process will
|
||||
be silently killed if the user exits the parent Emacs.")
|
||||
|
||||
(defvar async-debug nil)
|
||||
(defvar async-send-over-pipe t)
|
||||
(defvar async-in-child-emacs nil)
|
||||
(defvar async-callback nil)
|
||||
(defvar async-callback-for-process nil
|
||||
"Non-nil if the subprocess is not Emacs executing a lisp form.")
|
||||
(defvar async-callback-value nil)
|
||||
(defvar async-callback-value-set nil)
|
||||
(defvar async-current-process nil)
|
||||
(defvar async--procvar nil)
|
||||
(defvar async-read-marker nil
|
||||
"Position from which we read the last message packet.
|
||||
|
||||
Message packets are delivered from client line-by-line as base64
|
||||
encoded strings.")
|
||||
(defvar async-child-init nil
|
||||
"Initialisation file for async child Emacs.
|
||||
|
||||
If defined this allows for an init file to setup the child Emacs. It
|
||||
should not be your normal init.el as that would likely load more
|
||||
things that you require. It should limit itself to ensuring paths have
|
||||
been setup so any async code can load libraries you expect.")
|
||||
|
||||
;; For emacs<29 (only exists in emacs-29+).
|
||||
(defvar print-symbols-bare)
|
||||
|
||||
(defun async--purecopy (object)
|
||||
"Remove text properties in OBJECT.
|
||||
|
||||
Argument OBJECT may be a list or a string, if anything else it
|
||||
is returned unmodified."
|
||||
(cond ((stringp object)
|
||||
(substring-no-properties object))
|
||||
((consp object)
|
||||
(cl-loop for elm in object
|
||||
;; A string.
|
||||
if (stringp elm)
|
||||
collect (substring-no-properties elm)
|
||||
else
|
||||
;; Proper lists.
|
||||
if (and (consp elm) (null (cdr (last elm))))
|
||||
collect (async--purecopy elm)
|
||||
else
|
||||
;; Dotted lists.
|
||||
;; We handle here only dotted list where car and cdr
|
||||
;; are atoms i.e. (x . y) and not (x . (x . y)) or
|
||||
;; (x . (x y)) which should fit most cases.
|
||||
if (and (consp elm) (cdr (last elm)))
|
||||
collect (let ((key (car elm))
|
||||
(val (cdr elm)))
|
||||
(cons (if (stringp key)
|
||||
(substring-no-properties key)
|
||||
key)
|
||||
(if (stringp val)
|
||||
(substring-no-properties val)
|
||||
val)))
|
||||
else
|
||||
collect elm))
|
||||
(t object)))
|
||||
|
||||
(defvar async-inject-variables-exclude-regexps '("-syntax-table\\'")
|
||||
"A list of regexps that `async-inject-variables' should ignore.")
|
||||
|
||||
(defun async-inject-variables
|
||||
(include-regexp &optional predicate exclude-regexp noprops)
|
||||
"Return a `setq' form that replicates part of the calling environment.
|
||||
|
||||
It sets the value for every variable matching INCLUDE-REGEXP and
|
||||
also PREDICATE. It will not perform injection for any variable
|
||||
matching EXCLUDE-REGEXP (if present) and variables matching one of
|
||||
`async-inject-variables-exclude-regexps'.
|
||||
When NOPROPS is non nil it tries to strip out text properties of each
|
||||
variable's value with `async-variables-noprops-function'.
|
||||
|
||||
It is intended to be used as follows:
|
||||
|
||||
(async-start
|
||||
\\=`(lambda ()
|
||||
(require \\='smtpmail)
|
||||
(with-temp-buffer
|
||||
(insert ,(buffer-substring-no-properties (point-min) (point-max)))
|
||||
;; Pass in the variable environment for smtpmail
|
||||
,(async-inject-variables \"\\\\=`\\(smtpmail\\|\\(user-\\)?mail\\)-\")
|
||||
(smtpmail-send-it)))
|
||||
\\='ignore)"
|
||||
`(setq
|
||||
,@(let (bindings)
|
||||
(mapatoms
|
||||
(lambda (sym)
|
||||
(let ((sname (and (boundp sym) (symbol-name sym)))
|
||||
value)
|
||||
(when (and sname
|
||||
(or (null include-regexp)
|
||||
(string-match include-regexp sname))
|
||||
(or (null exclude-regexp)
|
||||
(not (string-match exclude-regexp sname)))
|
||||
(cl-loop for re in async-inject-variables-exclude-regexps
|
||||
never (string-match-p re sname)))
|
||||
(setq value (symbol-value sym))
|
||||
(unless (or (stringp value)
|
||||
(memq value '(nil t))
|
||||
(numberp value)
|
||||
(vectorp value))
|
||||
(setq value `(quote ,value)))
|
||||
(when noprops
|
||||
(setq value (funcall async-variables-noprops-function
|
||||
value)))
|
||||
(when (or (null predicate)
|
||||
(funcall predicate sym))
|
||||
(setq bindings (cons value bindings)
|
||||
bindings (cons sym bindings)))))))
|
||||
bindings)))
|
||||
|
||||
(defalias 'async-inject-environment 'async-inject-variables)
|
||||
|
||||
(defun async-handle-result (func result buf)
|
||||
(if (null func)
|
||||
(progn
|
||||
(set (make-local-variable 'async-callback-value) result)
|
||||
(set (make-local-variable 'async-callback-value-set) t))
|
||||
(unwind-protect
|
||||
(if (and (listp result)
|
||||
(eq 'async-signal (nth 0 result)))
|
||||
(signal (car (nth 1 result))
|
||||
(cdr (nth 1 result)))
|
||||
(funcall func result))
|
||||
(unless async-debug
|
||||
(kill-buffer buf)))))
|
||||
|
||||
(defun async-when-done (proc &optional _change)
|
||||
"Process sentinel used to retrieve the value from the child process."
|
||||
(when (eq 'exit (process-status proc))
|
||||
(with-current-buffer (process-buffer proc)
|
||||
(let ((async-current-process proc))
|
||||
(if (= 0 (process-exit-status proc))
|
||||
(if async-callback-for-process
|
||||
(if async-callback
|
||||
(prog1
|
||||
(funcall async-callback proc)
|
||||
(unless async-debug
|
||||
;; we need to check this because theoretically
|
||||
;; `async-callback' could've killed it already
|
||||
(when (buffer-live-p (process-buffer proc))
|
||||
(kill-buffer (process-buffer proc)))))
|
||||
(set (make-local-variable 'async-callback-value) proc)
|
||||
(set (make-local-variable 'async-callback-value-set) t))
|
||||
;; Maybe strip out unreadable "#"; They are replaced by
|
||||
;; empty string unless they are prefixing a special
|
||||
;; object like a marker. See issue #145.
|
||||
(widen)
|
||||
(goto-char (point-min))
|
||||
(save-excursion
|
||||
;; Transform markers in list like
|
||||
;; (marker (moves after insertion) at 2338 in
|
||||
;; test\.org) so that remap text properties function
|
||||
;; can parse it to restitute marker.
|
||||
(while (re-search-forward "#<\\([^>]*\\)>" nil t)
|
||||
(replace-match (concat "(" (match-string 1) ")") t t)))
|
||||
(while (re-search-forward "#(" nil t)
|
||||
(replace-match "(" t t))
|
||||
(goto-char (point-max))
|
||||
(backward-sexp)
|
||||
(let ((value (read (current-buffer))))
|
||||
(async-handle-result async-callback value (current-buffer))))
|
||||
(set (make-local-variable 'async-callback-value)
|
||||
(list 'error
|
||||
(format "Async process '%s' failed with exit code %d"
|
||||
(process-name proc) (process-exit-status proc))))
|
||||
(set (make-local-variable 'async-callback-value-set) t))))))
|
||||
|
||||
(defun async-read-from-client (proc string &optional prompt-for-pwd)
|
||||
"Process text from client process.
|
||||
|
||||
The string chunks usually arrive in maximum of 4096 bytes, so a
|
||||
long client message might be split into multiple calls of this
|
||||
function.
|
||||
|
||||
We use a marker `async-read-marker' to track the position of the
|
||||
lasts complete line. Every time we get new input, we try to look
|
||||
for newline, and if found, process the entire line and bump the
|
||||
marker position to the end of this next line.
|
||||
|
||||
Argument PROMPT-FOR-PWD allow binding lexically the value of
|
||||
`async-prompt-for-password', if unspecified its global value
|
||||
is used."
|
||||
(with-current-buffer (process-buffer proc)
|
||||
(when (and prompt-for-pwd
|
||||
(boundp 'tramp-password-prompt-regexp)
|
||||
tramp-password-prompt-regexp
|
||||
(string-match tramp-password-prompt-regexp string))
|
||||
(process-send-string
|
||||
proc (concat (read-passwd (match-string 0 string)) "\n")))
|
||||
(goto-char (point-max))
|
||||
(save-excursion
|
||||
(insert string))
|
||||
|
||||
(while (search-forward "\n" nil t)
|
||||
(save-excursion
|
||||
(save-restriction
|
||||
(widen)
|
||||
(narrow-to-region async-read-marker (point))
|
||||
(goto-char (point-min))
|
||||
(let (msg)
|
||||
(condition-case nil
|
||||
;; It is safe to throw errors in the read because we
|
||||
;; send messages always on their own line, and they
|
||||
;; are always a base64 encoded string, so a message
|
||||
;; will always read. We will also ignore the rest
|
||||
;; of this line since there won't be anything
|
||||
;; interesting.
|
||||
(while (setq msg (read (current-buffer)))
|
||||
(let ((msg-decoded (ignore-errors (base64-decode-string msg))))
|
||||
(when msg-decoded
|
||||
(setq msg-decoded (car (read-from-string msg-decoded)))
|
||||
(when (and (listp msg-decoded)
|
||||
(async-message-p msg-decoded)
|
||||
async-callback)
|
||||
(funcall async-callback msg-decoded)))))
|
||||
;; This is OK, we reached the end of the chunk subprocess sent
|
||||
;; at this time.
|
||||
(invalid-read-syntax t)
|
||||
(end-of-file t)))
|
||||
(goto-char (point-max))
|
||||
(move-marker async-read-marker (point)))))))
|
||||
|
||||
(defun async--receive-sexp (&optional stream)
|
||||
;; FIXME: Why use `utf-8-auto' instead of `utf-8-unix'? This is
|
||||
;; a communication channel over which we have complete control,
|
||||
;; so we get to choose exactly which encoding and EOL we use, isn't
|
||||
;; it?
|
||||
;; UPDATE: We use now `utf-8-emacs-unix' instead of `utf-8-auto' as
|
||||
;; recommended in bug#165.
|
||||
(let ((sexp (decode-coding-string (base64-decode-string (read stream))
|
||||
'utf-8-emacs-unix))
|
||||
;; Parent expects UTF-8 encoded text.
|
||||
(coding-system-for-write 'utf-8-emacs-unix))
|
||||
(if async-debug
|
||||
(message "Received sexp {{{%s}}}" (pp-to-string sexp)))
|
||||
(setq sexp (read sexp))
|
||||
(if async-debug
|
||||
(message "Read sexp {{{%s}}}" (pp-to-string sexp)))
|
||||
(eval sexp t)))
|
||||
|
||||
(defun async--insert-sexp (sexp)
|
||||
(let (print-level
|
||||
print-length
|
||||
(print-escape-nonascii t)
|
||||
(print-circle t)
|
||||
;; Fix bug#153 in emacs-29 with symbol's positions.
|
||||
(print-symbols-bare t))
|
||||
(prin1 sexp (current-buffer))
|
||||
;; Just in case the string we're sending might contain EOF
|
||||
(encode-coding-region (point-min) (point-max) 'utf-8-emacs-unix)
|
||||
(base64-encode-region (point-min) (point-max) t)
|
||||
(goto-char (point-min)) (insert ?\")
|
||||
(goto-char (point-max)) (insert ?\" ?\n)))
|
||||
|
||||
(defun async--transmit-sexp (process sexp)
|
||||
(with-temp-buffer
|
||||
(if async-debug
|
||||
(message "Transmitting sexp {{{%s}}}" (pp-to-string sexp)))
|
||||
(async--insert-sexp sexp)
|
||||
(process-send-region process (point-min) (point-max))))
|
||||
|
||||
(defun async-batch-invoke ()
|
||||
"Called from the child Emacs process' command line."
|
||||
;; Make sure 'message' and 'prin1' encode stuff in UTF-8, as parent
|
||||
;; process expects.
|
||||
(let ((coding-system-for-write 'utf-8-emacs-unix)
|
||||
(args-left command-line-args-left))
|
||||
(setq async-in-child-emacs t
|
||||
debug-on-error async-debug
|
||||
command-line-args-left nil)
|
||||
(condition-case-unless-debug err
|
||||
(let ((ret (funcall
|
||||
(async--receive-sexp (unless async-send-over-pipe
|
||||
args-left)))))
|
||||
;; The newlines makes client messages more robust and also
|
||||
;; handle some weird line-buffering issues on windows.
|
||||
;; Sometimes, the last "chunk" was not read by the filter,
|
||||
;; so a newline here should force a buffer flush.
|
||||
(princ "\n")
|
||||
(prin1 ret)
|
||||
(princ "\n"))
|
||||
(error
|
||||
(progn
|
||||
(princ "\n")
|
||||
(prin1 (list 'async-signal err))
|
||||
(princ "\n"))))))
|
||||
|
||||
(defun async-ready (future)
|
||||
"Query a FUTURE to see if it is ready.
|
||||
|
||||
I.e., if no blocking would result from a call to `async-get' on that FUTURE."
|
||||
(and (memq (process-status future) '(exit signal))
|
||||
(let ((buf (process-buffer future)))
|
||||
(if (buffer-live-p buf)
|
||||
(with-current-buffer buf
|
||||
async-callback-value-set)
|
||||
t))))
|
||||
|
||||
(defun async-wait (future)
|
||||
"Wait for FUTURE to become ready."
|
||||
(while (not (async-ready future))
|
||||
(sleep-for 0.05)))
|
||||
|
||||
(defun async-get (future)
|
||||
"Get the value from process FUTURE when it is ready.
|
||||
FUTURE is returned by `async-start' or `async-start-process' when
|
||||
its FINISH-FUNC is nil."
|
||||
(and future (async-wait future))
|
||||
(let ((buf (process-buffer future)))
|
||||
(when (buffer-live-p buf)
|
||||
(with-current-buffer buf
|
||||
(async-handle-result
|
||||
#'identity async-callback-value (current-buffer))))))
|
||||
|
||||
(defun async-message-p (value)
|
||||
"Return non-nil if VALUE is an async.el message packet."
|
||||
(and (listp value)
|
||||
(plist-get value :async-message)))
|
||||
|
||||
(defun async-send (process-or-key &rest args)
|
||||
"Send the given message to the asynchronous child or parent Emacs.
|
||||
|
||||
To send messages from the parent to a child, PROCESS-OR-KEY is
|
||||
the child process object. ARGS is a plist. Example:
|
||||
|
||||
(async-send proc :operation :load-file :file \"this file\")
|
||||
|
||||
To send messages from the child to the parent, PROCESS-OR-KEY is
|
||||
the first key of the plist, ARGS is a value followed by
|
||||
optionally more key-value pairs. Example:
|
||||
|
||||
(async-send :status \"finished\" :file-size 123)"
|
||||
(let ((args (append args '(:async-message t))))
|
||||
(if async-in-child-emacs
|
||||
;; `princ' because async--insert-sexp already quotes everything.
|
||||
(princ
|
||||
(with-temp-buffer
|
||||
(async--insert-sexp (cons process-or-key args))
|
||||
;; always make sure that one message package has its own
|
||||
;; line as there can be any random debug garbage printed
|
||||
;; above it.
|
||||
(concat "\n" (buffer-string))))
|
||||
(async--transmit-sexp process-or-key (list 'quote args)))))
|
||||
|
||||
(defun async-receive ()
|
||||
"Receive message from parent Emacs.
|
||||
|
||||
The child process blocks until a message is received.
|
||||
|
||||
Message is a plist with one key :async-message set to t always
|
||||
automatically added to signify this plist is an async message.
|
||||
|
||||
You can use `async-message-p' to test if the payload was a
|
||||
message.
|
||||
|
||||
Use
|
||||
|
||||
(let ((msg (async-receive))) ...)
|
||||
|
||||
to read and process a message."
|
||||
(async--receive-sexp))
|
||||
|
||||
;;;###autoload
|
||||
(defun async-start-process (name program finish-func &rest program-args)
|
||||
"Start the executable PROGRAM asynchronously named NAME. See `async-start'.
|
||||
PROGRAM is passed PROGRAM-ARGS, calling FINISH-FUNC with the
|
||||
process object when done. If FINISH-FUNC is nil, the future
|
||||
object will return the process object when the program is
|
||||
finished. Set DEFAULT-DIRECTORY to change PROGRAM's current
|
||||
working directory."
|
||||
(let* ((buf (generate-new-buffer (concat "*" name "*")))
|
||||
(buf-err (generate-new-buffer (concat "*" name ":err*")))
|
||||
(prt-for-pwd async-prompt-for-password)
|
||||
(proc (let ((process-connection-type nil))
|
||||
(make-process
|
||||
:name name
|
||||
:buffer buf
|
||||
:stderr buf-err
|
||||
:command (cons program program-args)
|
||||
:noquery async-process-noquery-on-exit))))
|
||||
(set-process-sentinel
|
||||
(get-buffer-process buf-err)
|
||||
(lambda (proc _change)
|
||||
(unless (or async-debug (process-live-p proc))
|
||||
(kill-buffer (process-buffer proc)))))
|
||||
(with-current-buffer buf
|
||||
(set (make-local-variable 'async-callback) finish-func)
|
||||
(set (make-local-variable 'async-read-marker)
|
||||
(set-marker (make-marker) (point-min) buf))
|
||||
(set-marker-insertion-type async-read-marker nil)
|
||||
(set-process-sentinel proc #'async-when-done)
|
||||
;; Pass the value of `async-prompt-for-password' to the process
|
||||
;; filter fn through the lexical local var prt-for-pwd (Issue#182).
|
||||
(set-process-filter proc (lambda (proc string)
|
||||
(async-read-from-client
|
||||
proc string prt-for-pwd)))
|
||||
(unless (string= name "emacs")
|
||||
(set (make-local-variable 'async-callback-for-process) t))
|
||||
proc)))
|
||||
|
||||
(defvar async-quiet-switch "-Q"
|
||||
"The Emacs parameter to use to call emacs without config.
|
||||
Can be one of \"-Q\" or \"-q\".
|
||||
Default is \"-Q\" but it is sometimes useful to use \"-q\" to have a
|
||||
enhanced config or some more variables loaded.")
|
||||
|
||||
(defun async--emacs-program-args (&optional sexp)
|
||||
"Return a list of arguments for invoking the child Emacs."
|
||||
;; Using `locate-library' ensure we use the right file
|
||||
;; when the .elc have been deleted.
|
||||
(let ((args (list async-quiet-switch "-l" (locate-library "async"))))
|
||||
(when async-child-init
|
||||
(setq args (append args (list "-l" async-child-init))))
|
||||
(append args (list "-batch" "-f" "async-batch-invoke"
|
||||
(if sexp
|
||||
(with-temp-buffer
|
||||
(async--insert-sexp (list 'quote sexp))
|
||||
(buffer-string))
|
||||
"<none>")))))
|
||||
|
||||
;;;###autoload
|
||||
(defun async-start (start-func &optional finish-func)
|
||||
"Execute START-FUNC (often a lambda) in a subordinate Emacs process.
|
||||
When done, the return value is passed to FINISH-FUNC. Example:
|
||||
|
||||
(async-start
|
||||
;; What to do in the child process
|
||||
(lambda ()
|
||||
(message \"This is a test\")
|
||||
(sleep-for 3)
|
||||
222)
|
||||
|
||||
;; What to do when it finishes
|
||||
(lambda (result)
|
||||
(message \"Async process done, result should be 222: %s\"
|
||||
result)))
|
||||
|
||||
If you call `async-send' from a child process, the message will
|
||||
be also passed to the FINISH-FUNC. You can test RESULT to see if
|
||||
it is a message by using `async-message-p'. If nil, it means
|
||||
this is the final result. Example of the FINISH-FUNC:
|
||||
|
||||
(lambda (result)
|
||||
(if (async-message-p result)
|
||||
(message \"Received a message from child process: %s\" result)
|
||||
(message \"Async process done, result: %s\" result)))
|
||||
|
||||
If FINISH-FUNC is nil or missing, a future is returned that can
|
||||
be inspected using `async-get', blocking until the value is
|
||||
ready. Example:
|
||||
|
||||
(let ((proc (async-start
|
||||
;; What to do in the child process
|
||||
(lambda ()
|
||||
(message \"This is a test\")
|
||||
(sleep-for 3)
|
||||
222))))
|
||||
|
||||
(message \"I'm going to do some work here\") ;; ....
|
||||
|
||||
(message \"Waiting on async process, result should be 222: %s\"
|
||||
(async-get proc)))
|
||||
|
||||
If you don't want to use a callback, and you don't care about any
|
||||
return value from the child process, pass the `ignore' symbol as
|
||||
the second argument (if you don't, and never call `async-get', it
|
||||
will leave *emacs* process buffers hanging around):
|
||||
|
||||
(async-start
|
||||
(lambda ()
|
||||
(delete-file \"a remote file on a slow link\" nil))
|
||||
\\='ignore)
|
||||
|
||||
Special case:
|
||||
If the output of START-FUNC is a string with properties
|
||||
e.g. (buffer-string) RESULT will be transformed in a list where the
|
||||
car is the string itself (without props) and the cdr the rest of
|
||||
properties, this allows using in FINISH-FUNC the string without
|
||||
properties and then apply the properties in cdr to this string (if
|
||||
needed).
|
||||
Properties handling special objects like markers are returned as
|
||||
list to allow restoring them later.
|
||||
See <https://github.com/jwiegley/emacs-async/issues/145> for more infos.
|
||||
|
||||
Note: Even when FINISH-FUNC is present, a future is still
|
||||
returned except that it yields no value (since the value is
|
||||
passed to FINISH-FUNC). Call `async-get' on such a future always
|
||||
returns nil. It can still be useful, however, as an argument to
|
||||
`async-ready' or `async-wait'."
|
||||
(let ((sexp start-func)
|
||||
;; Subordinate Emacs will send text encoded in UTF-8.
|
||||
(coding-system-for-read 'utf-8-emacs-unix))
|
||||
(setq async--procvar
|
||||
(apply 'async-start-process
|
||||
"emacs" (file-truename
|
||||
(expand-file-name invocation-name
|
||||
invocation-directory))
|
||||
finish-func
|
||||
(async--emacs-program-args (if (not async-send-over-pipe) sexp))))
|
||||
|
||||
(if async-send-over-pipe
|
||||
(async--transmit-sexp async--procvar (list 'quote sexp)))
|
||||
async--procvar))
|
||||
|
||||
(defmacro async-sandbox(func)
|
||||
"Evaluate FUNC in a separate Emacs process, synchronously."
|
||||
`(async-get (async-start ,func)))
|
||||
|
||||
(defun async--fold-left (fn forms bindings)
|
||||
(let ((res forms))
|
||||
(dolist (binding bindings)
|
||||
(setq res (funcall fn res
|
||||
(if (listp binding)
|
||||
binding
|
||||
(list binding)))))
|
||||
res))
|
||||
|
||||
(defmacro async-let (bindings &rest forms)
|
||||
"Implements `let', but each binding is established asynchronously.
|
||||
For example:
|
||||
|
||||
(async-let ((x (foo))
|
||||
(y (bar)))
|
||||
(message \"%s %s\" x y))
|
||||
|
||||
expands to ==>
|
||||
|
||||
(async-start (foo)
|
||||
(lambda (x)
|
||||
(async-start (bar)
|
||||
(lambda (y)
|
||||
(message \"%s %s\" x y)))))"
|
||||
(declare (indent 1))
|
||||
(async--fold-left
|
||||
(lambda (acc binding)
|
||||
(let ((fun (pcase (cadr binding)
|
||||
((and (pred functionp) f) f)
|
||||
(f `(lambda () ,f)))))
|
||||
`(async-start ,fun
|
||||
(lambda (,(car binding))
|
||||
,acc))))
|
||||
`(progn ,@forms)
|
||||
(reverse bindings)))
|
||||
|
||||
(provide 'async)
|
||||
|
||||
;;; async.el ends here
|
|
@ -1,490 +0,0 @@
|
|||
;;; dired-async.el --- Asynchronous dired actions -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright (C) 2012-2019 Free Software Foundation, Inc.
|
||||
|
||||
;; Authors: John Wiegley <jwiegley@gmail.com>
|
||||
;; Thierry Volpiatto <thievol@posteo.net>
|
||||
|
||||
;; Keywords: dired async network
|
||||
;; X-URL: https://github.com/jwiegley/emacs-async
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; This file provide a redefinition of `dired-create-file' function,
|
||||
;; performs copies, moves and all what is handled by `dired-create-file'
|
||||
;; in the background using a slave Emacs process,
|
||||
;; by means of the async.el module.
|
||||
;; To use it, put this in your .emacs:
|
||||
|
||||
;; (dired-async-mode 1)
|
||||
|
||||
;; This will enable async copy/rename etc...
|
||||
;; in dired and helm.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'cl-lib)
|
||||
(require 'dired-aux)
|
||||
(require 'async)
|
||||
|
||||
(eval-when-compile
|
||||
(defvar async-callback))
|
||||
|
||||
(defgroup dired-async nil
|
||||
"Copy rename files asynchronously from dired."
|
||||
:group 'dired)
|
||||
|
||||
(defcustom dired-async-env-variables-regexp
|
||||
"\\`\\(tramp-\\(default\\|connection\\|remote\\)\\|ange-ftp\\)-.*"
|
||||
"Variables matching this regexp will be loaded on Child Emacs."
|
||||
:type 'regexp)
|
||||
|
||||
(defcustom dired-async-message-function 'dired-async-mode-line-message
|
||||
"Function to use to notify result when operation finish.
|
||||
Should take same args as `message'."
|
||||
:type 'function)
|
||||
|
||||
(defcustom dired-async-log-file "/tmp/dired-async.log"
|
||||
"File use to communicate errors from Child Emacs to host Emacs."
|
||||
:type 'string)
|
||||
|
||||
(defcustom dired-async-mode-lighter '(:eval
|
||||
(when (eq major-mode 'dired-mode)
|
||||
" Async"))
|
||||
"Mode line lighter used for `dired-async-mode'."
|
||||
:risky t
|
||||
:type 'sexp)
|
||||
|
||||
(defcustom dired-async-skip-fast nil
|
||||
"If non-nil, skip async for fast operations.
|
||||
Same device renames and copying and renaming files smaller than
|
||||
`dired-async-small-file-max' are considered fast."
|
||||
:risky t
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom dired-async-small-file-max 5000000
|
||||
"Files smaller than this in bytes are considered fast to copy
|
||||
or rename for `dired-async-skip-fast'."
|
||||
:risky t
|
||||
:type 'integer)
|
||||
|
||||
(defcustom dired-async-large-file-warning-threshold large-file-warning-threshold
|
||||
"Same as `large-file-warning-threshold' but for dired-async."
|
||||
:type 'integer)
|
||||
|
||||
(defface dired-async-message
|
||||
'((t (:foreground "yellow")))
|
||||
"Face used for mode-line message.")
|
||||
|
||||
(defface dired-async-failures
|
||||
'((t (:foreground "red")))
|
||||
"Face used for mode-line message.")
|
||||
|
||||
(defface dired-async-mode-message
|
||||
'((t (:foreground "Gold")))
|
||||
"Face used for `dired-async--modeline-mode' lighter.")
|
||||
|
||||
(define-minor-mode dired-async--modeline-mode
|
||||
"Notify mode-line that an async process run."
|
||||
:global t
|
||||
:lighter (:eval (propertize (format " [%s Async job(s) running]"
|
||||
(length (dired-async-processes)))
|
||||
'face 'dired-async-mode-message))
|
||||
(unless dired-async--modeline-mode
|
||||
(let ((visible-bell t)) (ding))))
|
||||
|
||||
(defun dired-async-mode-line-message (text face &rest args)
|
||||
"Notify end of operation in `mode-line'."
|
||||
(message nil)
|
||||
(let ((mode-line-format (concat
|
||||
" " (propertize
|
||||
(if args
|
||||
(apply #'format text args)
|
||||
text)
|
||||
'face face))))
|
||||
(force-mode-line-update)
|
||||
(sit-for 3)
|
||||
(force-mode-line-update)))
|
||||
|
||||
(defun dired-async-processes (&optional propname)
|
||||
(cl-loop for p in (process-list)
|
||||
when (process-get p (or propname 'dired-async-process))
|
||||
collect p))
|
||||
|
||||
(defun dired-async-kill-process ()
|
||||
(interactive)
|
||||
(let* ((processes (dired-async-processes))
|
||||
(proc (car (last processes))))
|
||||
(and proc (delete-process proc))
|
||||
(unless (> (length processes) 1)
|
||||
(dired-async--modeline-mode -1))))
|
||||
|
||||
(defun dired-async-after-file-create (total operation failures skipped)
|
||||
"Callback function used for operation handled by `dired-create-file'."
|
||||
(unless (dired-async-processes)
|
||||
;; Turn off mode-line notification
|
||||
;; only when last process end.
|
||||
(dired-async--modeline-mode -1))
|
||||
(when operation
|
||||
(if (file-exists-p dired-async-log-file)
|
||||
(progn
|
||||
(pop-to-buffer (get-buffer-create dired-log-buffer))
|
||||
(goto-char (point-max))
|
||||
(setq inhibit-read-only t)
|
||||
(insert "Error: ")
|
||||
(insert-file-contents dired-async-log-file)
|
||||
(special-mode)
|
||||
(shrink-window-if-larger-than-buffer)
|
||||
(delete-file dired-async-log-file))
|
||||
(run-with-timer
|
||||
0.1 nil
|
||||
(lambda ()
|
||||
;; First send error messages.
|
||||
(cond (failures
|
||||
(funcall dired-async-message-function
|
||||
"%s failed for %d of %d file%s -- See *Dired log* buffer"
|
||||
'dired-async-failures
|
||||
(car operation) (length failures)
|
||||
total (dired-plural-s total)))
|
||||
(skipped
|
||||
(funcall dired-async-message-function
|
||||
"%s: %d of %d file%s skipped -- See *Dired log* buffer"
|
||||
'dired-async-failures
|
||||
(car operation) (length skipped) total
|
||||
(dired-plural-s total))))
|
||||
(when dired-buffers
|
||||
(cl-loop for (_f . b) in dired-buffers
|
||||
when (buffer-live-p b)
|
||||
do (with-current-buffer b
|
||||
(when (and (not (file-remote-p default-directory nil t))
|
||||
(file-exists-p default-directory))
|
||||
(revert-buffer nil t)))))
|
||||
;; Finally send the success message.
|
||||
(funcall dired-async-message-function
|
||||
"Asynchronous %s of %s on %s file%s done"
|
||||
'dired-async-message
|
||||
(car operation) (cadr operation)
|
||||
total (dired-plural-s total)))))))
|
||||
|
||||
(defun dired-async-maybe-kill-ftp ()
|
||||
"Return a form to kill ftp process in child emacs."
|
||||
(quote
|
||||
(progn
|
||||
(require 'cl-lib)
|
||||
(let ((buf (cl-loop for b in (buffer-list)
|
||||
thereis (and (string-match
|
||||
"\\`\\*ftp.*"
|
||||
(buffer-name b)) b))))
|
||||
(when buf (kill-buffer buf))))))
|
||||
|
||||
(defsubst dired-async--directory-p (attributes)
|
||||
"Return non-nil if ATTRIBUTES is for a directory.
|
||||
See `file-attributes'."
|
||||
;; Can also be a string for symlinks, so check for t explicitly.
|
||||
(eq (file-attribute-type attributes) t))
|
||||
|
||||
(defsubst dired-async--same-device-p (f1 f2)
|
||||
"Return non-nil if F1 and F2 have the same device number."
|
||||
;; file-attribute-device-number may be a cons cell, so use equal for
|
||||
;; testing (See Emacs bug/58446).
|
||||
(equal (file-attribute-device-number (file-attributes f1))
|
||||
(file-attribute-device-number (file-attributes f2))))
|
||||
|
||||
(defun dired-async--small-file-p (file)
|
||||
"Return non-nil if FILE is considered small.
|
||||
|
||||
File is considered small if it size is smaller than
|
||||
`dired-async-small-file-max'."
|
||||
(let ((a (file-attributes file)))
|
||||
;; Directories are always large since we can't easily figure out
|
||||
;; their total size.
|
||||
(and (not (dired-async--directory-p a))
|
||||
(< (file-attribute-size a) dired-async-small-file-max))))
|
||||
|
||||
(defun dired-async--skip-async-p (file-creator file name-constructor)
|
||||
"Return non-nil if we should skip async for FILE.
|
||||
See `dired-create-files' for FILE-CREATOR and NAME-CONSTRUCTOR."
|
||||
;; Skip async for small files.
|
||||
(or (dired-async--small-file-p file)
|
||||
;; Also skip async for same device renames.
|
||||
(and (eq file-creator 'dired-rename-file)
|
||||
(let ((new (funcall name-constructor file)))
|
||||
(dired-async--same-device-p file (file-name-directory new))))))
|
||||
|
||||
(defun dired-async--smart-create-files (old-func file-creator
|
||||
operation fn-list name-constructor
|
||||
&optional marker-char)
|
||||
"Around advice for `dired-create-files'.
|
||||
Uses async like `dired-async-create-files' but skips certain fast
|
||||
cases if `dired-async-skip-fast' is non-nil."
|
||||
(let (async-list quick-list)
|
||||
(if (or (eq file-creator 'backup-file)
|
||||
(null dired-async-skip-fast))
|
||||
(setq async-list fn-list)
|
||||
(dolist (old fn-list)
|
||||
(if (dired-async--skip-async-p file-creator old name-constructor)
|
||||
(push old quick-list)
|
||||
(push old async-list))))
|
||||
(when async-list
|
||||
(dired-async-create-files
|
||||
file-creator operation (nreverse async-list)
|
||||
name-constructor marker-char))
|
||||
(when quick-list
|
||||
(funcall old-func file-creator operation
|
||||
(nreverse quick-list) name-constructor marker-char))))
|
||||
|
||||
(defun dired-async--abort-if-file-too-large (size op-type filename)
|
||||
"Warn when FILENAME larger than `dired-async-large-file-warning-threshold'.
|
||||
Same as `abort-if-file-too-large' but without user-error."
|
||||
(when (and dired-async-large-file-warning-threshold size
|
||||
(> size dired-async-large-file-warning-threshold))
|
||||
(files--ask-user-about-large-file
|
||||
size op-type filename nil)))
|
||||
|
||||
(defvar overwrite-query)
|
||||
(defun dired-async-create-files (file-creator operation fn-list name-constructor
|
||||
&optional _marker-char)
|
||||
"Same as `dired-create-files' but asynchronous.
|
||||
|
||||
See `dired-create-files' for the behavior of arguments."
|
||||
(setq overwrite-query nil)
|
||||
(let ((total (length fn-list))
|
||||
failures async-fn-list skipped callback
|
||||
async-quiet-switch create-dir)
|
||||
(let (to)
|
||||
(dolist (from fn-list)
|
||||
(setq to (funcall name-constructor from))
|
||||
(if (and (equal to from)
|
||||
(null (eq file-creator 'backup-file)))
|
||||
(progn
|
||||
(setq to nil)
|
||||
(dired-log "Cannot %s to same file: %s\n"
|
||||
(downcase operation) from)))
|
||||
(if (not to)
|
||||
(setq skipped (cons (dired-make-relative from) skipped))
|
||||
(let* ((overwrite (and (null (eq file-creator 'backup-file))
|
||||
(file-exists-p to)))
|
||||
(dired-overwrite-confirmed ; for dired-handle-overwrite
|
||||
(and overwrite
|
||||
(let ((help-form `(format "\
|
||||
Type SPC or `y' to overwrite file `%s',
|
||||
DEL or `n' to skip to next,
|
||||
ESC or `q' to not overwrite any of the remaining files,
|
||||
`!' to overwrite all remaining files with no more questions." ,to)))
|
||||
(dired-query 'overwrite-query "Overwrite `%s'?" to)))))
|
||||
;; Handle the `dired-copy-file' file-creator specially
|
||||
;; When copying a directory to another directory or
|
||||
;; possibly to itself or one of its subdirectories.
|
||||
;; e.g "~/foo/" => "~/test/"
|
||||
;; or "~/foo/" =>"~/foo/"
|
||||
;; or "~/foo/ => ~/foo/bar/")
|
||||
;; In this case the 'name-constructor' have set the destination
|
||||
;; TO to "~/test/foo" because the old emacs23 behavior
|
||||
;; of `copy-directory' was to not create the subdirectory
|
||||
;; and instead copy the contents.
|
||||
;; With the new behavior of `copy-directory'
|
||||
;; (similar to the `cp' shell command) we don't
|
||||
;; need such a construction of the target directory,
|
||||
;; so modify the destination TO to "~/test/" instead of "~/test/foo/".
|
||||
(let ((destname (file-name-directory to)))
|
||||
(when (and (file-directory-p from)
|
||||
(file-directory-p to)
|
||||
(eq file-creator 'dired-copy-file))
|
||||
(setq to destname))
|
||||
;; If DESTNAME is a subdirectory of FROM, not a symlink,
|
||||
;; and the method in use is copying, signal an error.
|
||||
(and (eq t (car (file-attributes destname)))
|
||||
(eq file-creator 'dired-copy-file)
|
||||
(file-in-directory-p destname from)
|
||||
(error "Cannot copy `%s' into its subdirectory `%s'"
|
||||
from to)))
|
||||
;; Skip file if it is too large.
|
||||
(if (and (member operation '("Copy" "Rename"))
|
||||
(eq (dired-async--abort-if-file-too-large
|
||||
(file-attribute-size
|
||||
(file-attributes (file-truename from)))
|
||||
(downcase operation) from)
|
||||
'abort))
|
||||
(push from skipped)
|
||||
(if overwrite
|
||||
(or (and dired-overwrite-confirmed
|
||||
(push (cons from to) async-fn-list))
|
||||
(progn
|
||||
(push (dired-make-relative from) failures)
|
||||
(dired-log "%s `%s' to `%s' failed\n"
|
||||
operation from to)))
|
||||
(push (cons from to) async-fn-list))))))
|
||||
;; Fix tramp issue #80 with emacs-26, use "-q" only when needed.
|
||||
(setq async-quiet-switch
|
||||
(if (and (boundp 'tramp-cache-read-persistent-data)
|
||||
async-fn-list
|
||||
(cl-loop for (_from . to) in async-fn-list
|
||||
thereis (file-remote-p to)))
|
||||
"-q" "-Q"))
|
||||
;; When failures have been printed to dired log add the date at bob.
|
||||
(when (or failures skipped) (dired-log t))
|
||||
;; When async-fn-list is empty that's mean only one file
|
||||
;; had to be copied and user finally answer NO.
|
||||
;; In this case async process will never start and callback
|
||||
;; will have no chance to run, so notify failures here.
|
||||
(unless async-fn-list
|
||||
(cond (failures
|
||||
(funcall dired-async-message-function
|
||||
"%s failed for %d of %d file%s -- See *Dired log* buffer"
|
||||
'dired-async-failures
|
||||
operation (length failures)
|
||||
total (dired-plural-s total)))
|
||||
(skipped
|
||||
(funcall dired-async-message-function
|
||||
"%s: %d of %d file%s skipped -- See *Dired log* buffer"
|
||||
'dired-async-failures
|
||||
operation (length skipped) total
|
||||
(dired-plural-s total)))))
|
||||
;; Setup callback.
|
||||
(setq callback
|
||||
(lambda (&optional _ignore)
|
||||
(dired-async-after-file-create
|
||||
total (list operation (length async-fn-list)) failures skipped)
|
||||
(when (string= (downcase operation) "rename")
|
||||
(cl-loop for (file . to) in async-fn-list
|
||||
for bf = (get-file-buffer file)
|
||||
for destp = (file-exists-p to)
|
||||
do (and bf destp
|
||||
(with-current-buffer bf
|
||||
(set-visited-file-name to t t)))))))
|
||||
(let ((dirp (file-directory-p to))
|
||||
(dest (file-name-directory to)))
|
||||
(when (boundp 'dired-create-destination-dirs)
|
||||
(setq create-dir
|
||||
(cl-case dired-create-destination-dirs
|
||||
(always 'always)
|
||||
(ask (and (null dirp)
|
||||
(null (file-directory-p dest))
|
||||
(y-or-n-p (format "Create directory `%s'? " dest)))
|
||||
'always))))))
|
||||
;; Start async process.
|
||||
(when async-fn-list
|
||||
(process-put
|
||||
(async-start `(lambda ()
|
||||
(require 'cl-lib) (require 'dired-aux) (require 'dired-x)
|
||||
,(async-inject-variables dired-async-env-variables-regexp)
|
||||
(advice-add #'files--ask-user-about-large-file
|
||||
:override (lambda (&rest args) nil))
|
||||
(let ((dired-recursive-copies (quote always))
|
||||
(dired-copy-preserve-time
|
||||
,dired-copy-preserve-time)
|
||||
(dired-create-destination-dirs ',create-dir)
|
||||
(dired-vc-rename-file ,dired-vc-rename-file)
|
||||
auth-source-save-behavior)
|
||||
(setq overwrite-backup-query nil)
|
||||
;; Inline `backup-file' as long as it is not
|
||||
;; available in emacs.
|
||||
(defalias 'backup-file
|
||||
;; Same feature as "cp -f --backup=numbered from to"
|
||||
;; Symlinks are copied as file from source unlike
|
||||
;; `dired-copy-file' which is same as cp -d.
|
||||
;; Directories are omitted.
|
||||
(lambda (from to ok)
|
||||
(cond ((file-directory-p from) (ignore))
|
||||
(t (let ((count 0))
|
||||
(while (let ((attrs (file-attributes to)))
|
||||
(and attrs (null (nth 0 attrs))))
|
||||
(cl-incf count)
|
||||
(setq to (concat (file-name-sans-versions to)
|
||||
(format ".~%s~" count)))))
|
||||
(condition-case err
|
||||
(copy-file from to ok dired-copy-preserve-time)
|
||||
(file-date-error
|
||||
(dired-log "Can't set date on %s:\n%s\n" from err)))))))
|
||||
;; Now run the FILE-CREATOR function on files.
|
||||
(cl-loop with fn = (quote ,file-creator)
|
||||
for (from . dest) in (quote ,async-fn-list)
|
||||
do (condition-case err
|
||||
(funcall fn from dest t)
|
||||
(file-error
|
||||
(dired-log "%s: %s\n" (car err) (cdr err))
|
||||
nil)))
|
||||
(when (get-buffer dired-log-buffer)
|
||||
(dired-log t)
|
||||
(with-current-buffer dired-log-buffer
|
||||
(write-region (point-min) (point-max)
|
||||
,dired-async-log-file))))
|
||||
,(dired-async-maybe-kill-ftp))
|
||||
callback)
|
||||
'dired-async-process t)
|
||||
;; Run mode-line notifications while process running.
|
||||
(dired-async--modeline-mode 1)
|
||||
(message "%s proceeding asynchronously..." operation))))
|
||||
|
||||
(defvar wdired-use-interactive-rename)
|
||||
(defun dired-async-wdired-do-renames (old-fn &rest args)
|
||||
;; Perhaps a better fix would be to ask for renaming BEFORE starting
|
||||
;; OLD-FN when `wdired-use-interactive-rename' is non-nil. For now
|
||||
;; just bind it to nil to ensure no questions will be asked between
|
||||
;; each rename.
|
||||
(let (wdired-use-interactive-rename)
|
||||
(apply old-fn args)))
|
||||
|
||||
;;;###autoload
|
||||
(define-minor-mode dired-async-mode
|
||||
"Do dired actions asynchronously."
|
||||
:lighter dired-async-mode-lighter
|
||||
:global t
|
||||
(if dired-async-mode
|
||||
(progn
|
||||
(advice-add 'dired-create-files :around #'dired-async--smart-create-files)
|
||||
(advice-add 'wdired-do-renames :around #'dired-async-wdired-do-renames))
|
||||
(progn
|
||||
(advice-remove 'dired-create-files #'dired-async--smart-create-files)
|
||||
(advice-remove 'wdired-do-renames #'dired-async-wdired-do-renames))))
|
||||
|
||||
(defmacro dired-async--with-async-create-files (&rest body)
|
||||
"Evaluate BODY with ‘dired-create-files’ set to ‘dired-async-create-files’."
|
||||
(declare (indent 0))
|
||||
`(cl-letf (((symbol-function 'dired-create-files) #'dired-async-create-files))
|
||||
,@body))
|
||||
|
||||
;;;###autoload
|
||||
(defun dired-async-do-copy (&optional arg)
|
||||
"Run ‘dired-do-copy’ asynchronously."
|
||||
(interactive "P")
|
||||
(dired-async--with-async-create-files
|
||||
(dired-do-copy arg)))
|
||||
|
||||
;;;###autoload
|
||||
(defun dired-async-do-symlink (&optional arg)
|
||||
"Run ‘dired-do-symlink’ asynchronously."
|
||||
(interactive "P")
|
||||
(dired-async--with-async-create-files
|
||||
(dired-do-symlink arg)))
|
||||
|
||||
;;;###autoload
|
||||
(defun dired-async-do-hardlink (&optional arg)
|
||||
"Run ‘dired-do-hardlink’ asynchronously."
|
||||
(interactive "P")
|
||||
(dired-async--with-async-create-files
|
||||
(dired-do-hardlink arg)))
|
||||
|
||||
;;;###autoload
|
||||
(defun dired-async-do-rename (&optional arg)
|
||||
"Run ‘dired-do-rename’ asynchronously."
|
||||
(interactive "P")
|
||||
(dired-async--with-async-create-files
|
||||
(dired-do-rename arg)))
|
||||
|
||||
(provide 'dired-async)
|
||||
|
||||
;;; dired-async.el ends here
|
|
@ -1,71 +0,0 @@
|
|||
;;; smtpmail-async.el --- Send e-mail with smtpmail.el asynchronously -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright (C) 2012-2022 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: John Wiegley <jwiegley@gmail.com>
|
||||
;; Created: 18 Jun 2012
|
||||
|
||||
;; Keywords: email async
|
||||
;; X-URL: https://github.com/jwiegley/emacs-async
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Send e-mail with smtpmail.el asynchronously. To use:
|
||||
;;
|
||||
;; (require 'smtpmail-async)
|
||||
;;
|
||||
;; (setq send-mail-function 'async-smtpmail-send-it
|
||||
;; message-send-mail-function 'async-smtpmail-send-it)
|
||||
;;
|
||||
;; This assumes you already have smtpmail.el working.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(defgroup smtpmail-async nil
|
||||
"Send e-mail with smtpmail.el asynchronously"
|
||||
:group 'smptmail)
|
||||
|
||||
(require 'async)
|
||||
(require 'smtpmail)
|
||||
(require 'message)
|
||||
|
||||
(defvar async-smtpmail-before-send-hook nil
|
||||
"Hook running in the child emacs in `async-smtpmail-send-it'.
|
||||
It is called just before calling `smtpmail-send-it'.")
|
||||
|
||||
(defun async-smtpmail-send-it ()
|
||||
(let ((to (message-field-value "To"))
|
||||
(buf-content (buffer-substring-no-properties
|
||||
(point-min) (point-max))))
|
||||
(message "Delivering message to %s..." to)
|
||||
(async-start
|
||||
`(lambda ()
|
||||
(require 'smtpmail)
|
||||
(with-temp-buffer
|
||||
(insert ,buf-content)
|
||||
(set-buffer-multibyte nil)
|
||||
;; Pass in the variable environment for smtpmail
|
||||
,(async-inject-variables
|
||||
"\\`\\(smtpmail\\|async-smtpmail\\|\\(user-\\)?mail\\)-\\|auth-sources\\|epg\\|nsm"
|
||||
nil "\\`\\(mail-header-format-function\\|smtpmail-address-buffer\\|mail-mode-abbrev-table\\)")
|
||||
(run-hooks 'async-smtpmail-before-send-hook)
|
||||
(smtpmail-send-it)))
|
||||
(lambda (&optional _ignore)
|
||||
(message "Delivering message to %s...done" to)))))
|
||||
|
||||
(provide 'smtpmail-async)
|
||||
|
||||
;;; smtpmail-async.el ends here
|
|
@ -1,14 +0,0 @@
|
|||
*.m4
|
||||
*.in
|
||||
*.ac
|
||||
*.spec
|
||||
autogen.sh
|
||||
install-sh
|
||||
lpath.el
|
||||
mkinstalldirs
|
||||
prv-install.el
|
||||
README.GIT
|
||||
tests
|
||||
build-aux
|
||||
admin
|
||||
.dir-locals.el
|
|
@ -1,674 +0,0 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The GNU General Public License is a free, copyleft license for
|
||||
software and other kinds of works.
|
||||
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
the GNU General Public License is intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains free
|
||||
software for all its users. We, the Free Software Foundation, use the
|
||||
GNU General Public License for most of our software; it applies also to
|
||||
any other work released this way by its authors. You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to prevent others from denying you
|
||||
these rights or asking you to surrender the rights. Therefore, you have
|
||||
certain responsibilities if you distribute copies of the software, or if
|
||||
you modify it: responsibilities to respect the freedom of others.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must pass on to the recipients the same
|
||||
freedoms that you received. You must make sure that they, too, receive
|
||||
or can get the source code. And you must show them these terms so they
|
||||
know their rights.
|
||||
|
||||
Developers that use the GNU GPL protect your rights with two steps:
|
||||
(1) assert copyright on the software, and (2) offer you this License
|
||||
giving you legal permission to copy, distribute and/or modify it.
|
||||
|
||||
For the developers' and authors' protection, the GPL clearly explains
|
||||
that there is no warranty for this free software. For both users' and
|
||||
authors' sake, the GPL requires that modified versions be marked as
|
||||
changed, so that their problems will not be attributed erroneously to
|
||||
authors of previous versions.
|
||||
|
||||
Some devices are designed to deny users access to install or run
|
||||
modified versions of the software inside them, although the manufacturer
|
||||
can do so. This is fundamentally incompatible with the aim of
|
||||
protecting users' freedom to change the software. The systematic
|
||||
pattern of such abuse occurs in the area of products for individuals to
|
||||
use, which is precisely where it is most unacceptable. Therefore, we
|
||||
have designed this version of the GPL to prohibit the practice for those
|
||||
products. If such problems arise substantially in other domains, we
|
||||
stand ready to extend this provision to those domains in future versions
|
||||
of the GPL, as needed to protect the freedom of users.
|
||||
|
||||
Finally, every program is threatened constantly by software patents.
|
||||
States should not allow patents to restrict development and use of
|
||||
software on general-purpose computers, but in those that do, we wish to
|
||||
avoid the special danger that patents applied to a free program could
|
||||
make it effectively proprietary. To prevent this, the GPL assures that
|
||||
patents cannot be used to render the program non-free.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
TERMS AND CONDITIONS
|
||||
|
||||
0. Definitions.
|
||||
|
||||
"This License" refers to version 3 of the GNU General Public License.
|
||||
|
||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||
works, such as semiconductor masks.
|
||||
|
||||
"The Program" refers to any copyrightable work licensed under this
|
||||
License. Each licensee is addressed as "you". "Licensees" and
|
||||
"recipients" may be individuals or organizations.
|
||||
|
||||
To "modify" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of an
|
||||
exact copy. The resulting work is called a "modified version" of the
|
||||
earlier work or a work "based on" the earlier work.
|
||||
|
||||
A "covered work" means either the unmodified Program or a work based
|
||||
on the Program.
|
||||
|
||||
To "propagate" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification), making available to the
|
||||
public, and in some countries other activities as well.
|
||||
|
||||
To "convey" a work means any kind of propagation that enables other
|
||||
parties to make or receive copies. Mere interaction with a user through
|
||||
a computer network, with no transfer of a copy, is not conveying.
|
||||
|
||||
An interactive user interface displays "Appropriate Legal Notices"
|
||||
to the extent that it includes a convenient and prominently visible
|
||||
feature that (1) displays an appropriate copyright notice, and (2)
|
||||
tells the user that there is no warranty for the work (except to the
|
||||
extent that warranties are provided), that licensees may convey the
|
||||
work under this License, and how to view a copy of this License. If
|
||||
the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.
|
||||
|
||||
1. Source Code.
|
||||
|
||||
The "source code" for a work means the preferred form of the work
|
||||
for making modifications to it. "Object code" means any non-source
|
||||
form of a work.
|
||||
|
||||
A "Standard Interface" means an interface that either is an official
|
||||
standard defined by a recognized standards body, or, in the case of
|
||||
interfaces specified for a particular programming language, one that
|
||||
is widely used among developers working in that language.
|
||||
|
||||
The "System Libraries" of an executable work include anything, other
|
||||
than the work as a whole, that (a) is included in the normal form of
|
||||
packaging a Major Component, but which is not part of that Major
|
||||
Component, and (b) serves only to enable use of the work with that
|
||||
Major Component, or to implement a Standard Interface for which an
|
||||
implementation is available to the public in source code form. A
|
||||
"Major Component", in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system
|
||||
(if any) on which the executable work runs, or a compiler used to
|
||||
produce the work, or an object code interpreter used to run it.
|
||||
|
||||
The "Corresponding Source" for a work in object code form means all
|
||||
the source code needed to generate, install, and (for an executable
|
||||
work) run the object code and to modify the work, including scripts to
|
||||
control those activities. However, it does not include the work's
|
||||
System Libraries, or general-purpose tools or generally available free
|
||||
programs which are used unmodified in performing those activities but
|
||||
which are not part of the work. For example, Corresponding Source
|
||||
includes interface definition files associated with source files for
|
||||
the work, and the source code for shared libraries and dynamically
|
||||
linked subprograms that the work is specifically designed to require,
|
||||
such as by intimate data communication or control flow between those
|
||||
subprograms and other parts of the work.
|
||||
|
||||
The Corresponding Source need not include anything that users
|
||||
can regenerate automatically from other parts of the Corresponding
|
||||
Source.
|
||||
|
||||
The Corresponding Source for a work in source code form is that
|
||||
same work.
|
||||
|
||||
2. Basic Permissions.
|
||||
|
||||
All rights granted under this License are granted for the term of
|
||||
copyright on the Program, and are irrevocable provided the stated
|
||||
conditions are met. This License explicitly affirms your unlimited
|
||||
permission to run the unmodified Program. The output from running a
|
||||
covered work is covered by this License only if the output, given its
|
||||
content, constitutes a covered work. This License acknowledges your
|
||||
rights of fair use or other equivalent, as provided by copyright law.
|
||||
|
||||
You may make, run and propagate covered works that you do not
|
||||
convey, without conditions so long as your license otherwise remains
|
||||
in force. You may convey covered works to others for the sole purpose
|
||||
of having them make modifications exclusively for you, or provide you
|
||||
with facilities for running those works, provided that you comply with
|
||||
the terms of this License in conveying all material for which you do
|
||||
not control copyright. Those thus making or running the covered works
|
||||
for you must do so exclusively on your behalf, under your direction
|
||||
and control, on terms that prohibit them from making any copies of
|
||||
your copyrighted material outside their relationship with you.
|
||||
|
||||
Conveying under any other circumstances is permitted solely under
|
||||
the conditions stated below. Sublicensing is not allowed; section 10
|
||||
makes it unnecessary.
|
||||
|
||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
|
||||
No covered work shall be deemed part of an effective technological
|
||||
measure under any applicable law fulfilling obligations under article
|
||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||
similar laws prohibiting or restricting circumvention of such
|
||||
measures.
|
||||
|
||||
When you convey a covered work, you waive any legal power to forbid
|
||||
circumvention of technological measures to the extent such circumvention
|
||||
is effected by exercising rights under this License with respect to
|
||||
the covered work, and you disclaim any intention to limit operation or
|
||||
modification of the work as a means of enforcing, against the work's
|
||||
users, your or third parties' legal rights to forbid circumvention of
|
||||
technological measures.
|
||||
|
||||
4. Conveying Verbatim Copies.
|
||||
|
||||
You may convey verbatim copies of the Program's source code as you
|
||||
receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice;
|
||||
keep intact all notices stating that this License and any
|
||||
non-permissive terms added in accord with section 7 apply to the code;
|
||||
keep intact all notices of the absence of any warranty; and give all
|
||||
recipients a copy of this License along with the Program.
|
||||
|
||||
You may charge any price or no price for each copy that you convey,
|
||||
and you may offer support or warranty protection for a fee.
|
||||
|
||||
5. Conveying Modified Source Versions.
|
||||
|
||||
You may convey a work based on the Program, or the modifications to
|
||||
produce it from the Program, in the form of source code under the
|
||||
terms of section 4, provided that you also meet all of these conditions:
|
||||
|
||||
a) The work must carry prominent notices stating that you modified
|
||||
it, and giving a relevant date.
|
||||
|
||||
b) The work must carry prominent notices stating that it is
|
||||
released under this License and any conditions added under section
|
||||
7. This requirement modifies the requirement in section 4 to
|
||||
"keep intact all notices".
|
||||
|
||||
c) You must license the entire work, as a whole, under this
|
||||
License to anyone who comes into possession of a copy. This
|
||||
License will therefore apply, along with any applicable section 7
|
||||
additional terms, to the whole of the work, and all its parts,
|
||||
regardless of how they are packaged. This License gives no
|
||||
permission to license the work in any other way, but it does not
|
||||
invalidate such permission if you have separately received it.
|
||||
|
||||
d) If the work has interactive user interfaces, each must display
|
||||
Appropriate Legal Notices; however, if the Program has interactive
|
||||
interfaces that do not display Appropriate Legal Notices, your
|
||||
work need not make them do so.
|
||||
|
||||
A compilation of a covered work with other separate and independent
|
||||
works, which are not by their nature extensions of the covered work,
|
||||
and which are not combined with it such as to form a larger program,
|
||||
in or on a volume of a storage or distribution medium, is called an
|
||||
"aggregate" if the compilation and its resulting copyright are not
|
||||
used to limit the access or legal rights of the compilation's users
|
||||
beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other
|
||||
parts of the aggregate.
|
||||
|
||||
6. Conveying Non-Source Forms.
|
||||
|
||||
You may convey a covered work in object code form under the terms
|
||||
of sections 4 and 5, provided that you also convey the
|
||||
machine-readable Corresponding Source under the terms of this License,
|
||||
in one of these ways:
|
||||
|
||||
a) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by the
|
||||
Corresponding Source fixed on a durable physical medium
|
||||
customarily used for software interchange.
|
||||
|
||||
b) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by a
|
||||
written offer, valid for at least three years and valid for as
|
||||
long as you offer spare parts or customer support for that product
|
||||
model, to give anyone who possesses the object code either (1) a
|
||||
copy of the Corresponding Source for all the software in the
|
||||
product that is covered by this License, on a durable physical
|
||||
medium customarily used for software interchange, for a price no
|
||||
more than your reasonable cost of physically performing this
|
||||
conveying of source, or (2) access to copy the
|
||||
Corresponding Source from a network server at no charge.
|
||||
|
||||
c) Convey individual copies of the object code with a copy of the
|
||||
written offer to provide the Corresponding Source. This
|
||||
alternative is allowed only occasionally and noncommercially, and
|
||||
only if you received the object code with such an offer, in accord
|
||||
with subsection 6b.
|
||||
|
||||
d) Convey the object code by offering access from a designated
|
||||
place (gratis or for a charge), and offer equivalent access to the
|
||||
Corresponding Source in the same way through the same place at no
|
||||
further charge. You need not require recipients to copy the
|
||||
Corresponding Source along with the object code. If the place to
|
||||
copy the object code is a network server, the Corresponding Source
|
||||
may be on a different server (operated by you or a third party)
|
||||
that supports equivalent copying facilities, provided you maintain
|
||||
clear directions next to the object code saying where to find the
|
||||
Corresponding Source. Regardless of what server hosts the
|
||||
Corresponding Source, you remain obligated to ensure that it is
|
||||
available for as long as needed to satisfy these requirements.
|
||||
|
||||
e) Convey the object code using peer-to-peer transmission, provided
|
||||
you inform other peers where the object code and Corresponding
|
||||
Source of the work are being offered to the general public at no
|
||||
charge under subsection 6d.
|
||||
|
||||
A separable portion of the object code, whose source code is excluded
|
||||
from the Corresponding Source as a System Library, need not be
|
||||
included in conveying the object code work.
|
||||
|
||||
A "User Product" is either (1) a "consumer product", which means any
|
||||
tangible personal property which is normally used for personal, family,
|
||||
or household purposes, or (2) anything designed or sold for incorporation
|
||||
into a dwelling. In determining whether a product is a consumer product,
|
||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||
product received by a particular user, "normally used" refers to a
|
||||
typical or common use of that class of product, regardless of the status
|
||||
of the particular user or of the way in which the particular user
|
||||
actually uses, or expects or is expected to use, the product. A product
|
||||
is a consumer product regardless of whether the product has substantial
|
||||
commercial, industrial or non-consumer uses, unless such uses represent
|
||||
the only significant mode of use of the product.
|
||||
|
||||
"Installation Information" for a User Product means any methods,
|
||||
procedures, authorization keys, or other information required to install
|
||||
and execute modified versions of a covered work in that User Product from
|
||||
a modified version of its Corresponding Source. The information must
|
||||
suffice to ensure that the continued functioning of the modified object
|
||||
code is in no case prevented or interfered with solely because
|
||||
modification has been made.
|
||||
|
||||
If you convey an object code work under this section in, or with, or
|
||||
specifically for use in, a User Product, and the conveying occurs as
|
||||
part of a transaction in which the right of possession and use of the
|
||||
User Product is transferred to the recipient in perpetuity or for a
|
||||
fixed term (regardless of how the transaction is characterized), the
|
||||
Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply
|
||||
if neither you nor any third party retains the ability to install
|
||||
modified object code on the User Product (for example, the work has
|
||||
been installed in ROM).
|
||||
|
||||
The requirement to provide Installation Information does not include a
|
||||
requirement to continue to provide support service, warranty, or updates
|
||||
for a work that has been modified or installed by the recipient, or for
|
||||
the User Product in which it has been modified or installed. Access to a
|
||||
network may be denied when the modification itself materially and
|
||||
adversely affects the operation of the network or violates the rules and
|
||||
protocols for communication across the network.
|
||||
|
||||
Corresponding Source conveyed, and Installation Information provided,
|
||||
in accord with this section must be in a format that is publicly
|
||||
documented (and with an implementation available to the public in
|
||||
source code form), and must require no special password or key for
|
||||
unpacking, reading or copying.
|
||||
|
||||
7. Additional Terms.
|
||||
|
||||
"Additional permissions" are terms that supplement the terms of this
|
||||
License by making exceptions from one or more of its conditions.
|
||||
Additional permissions that are applicable to the entire Program shall
|
||||
be treated as though they were included in this License, to the extent
|
||||
that they are valid under applicable law. If additional permissions
|
||||
apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by
|
||||
this License without regard to the additional permissions.
|
||||
|
||||
When you convey a copy of a covered work, you may at your option
|
||||
remove any additional permissions from that copy, or from any part of
|
||||
it. (Additional permissions may be written to require their own
|
||||
removal in certain cases when you modify the work.) You may place
|
||||
additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.
|
||||
|
||||
Notwithstanding any other provision of this License, for material you
|
||||
add to a covered work, you may (if authorized by the copyright holders of
|
||||
that material) supplement the terms of this License with terms:
|
||||
|
||||
a) Disclaiming warranty or limiting liability differently from the
|
||||
terms of sections 15 and 16 of this License; or
|
||||
|
||||
b) Requiring preservation of specified reasonable legal notices or
|
||||
author attributions in that material or in the Appropriate Legal
|
||||
Notices displayed by works containing it; or
|
||||
|
||||
c) Prohibiting misrepresentation of the origin of that material, or
|
||||
requiring that modified versions of such material be marked in
|
||||
reasonable ways as different from the original version; or
|
||||
|
||||
d) Limiting the use for publicity purposes of names of licensors or
|
||||
authors of the material; or
|
||||
|
||||
e) Declining to grant rights under trademark law for use of some
|
||||
trade names, trademarks, or service marks; or
|
||||
|
||||
f) Requiring indemnification of licensors and authors of that
|
||||
material by anyone who conveys the material (or modified versions of
|
||||
it) with contractual assumptions of liability to the recipient, for
|
||||
any liability that these contractual assumptions directly impose on
|
||||
those licensors and authors.
|
||||
|
||||
All other non-permissive additional terms are considered "further
|
||||
restrictions" within the meaning of section 10. If the Program as you
|
||||
received it, or any part of it, contains a notice stating that it is
|
||||
governed by this License along with a term that is a further
|
||||
restriction, you may remove that term. If a license document contains
|
||||
a further restriction but permits relicensing or conveying under this
|
||||
License, you may add to a covered work material governed by the terms
|
||||
of that license document, provided that the further restriction does
|
||||
not survive such relicensing or conveying.
|
||||
|
||||
If you add terms to a covered work in accord with this section, you
|
||||
must place, in the relevant source files, a statement of the
|
||||
additional terms that apply to those files, or a notice indicating
|
||||
where to find the applicable terms.
|
||||
|
||||
Additional terms, permissive or non-permissive, may be stated in the
|
||||
form of a separately written license, or stated as exceptions;
|
||||
the above requirements apply either way.
|
||||
|
||||
8. Termination.
|
||||
|
||||
You may not propagate or modify a covered work except as expressly
|
||||
provided under this License. Any attempt otherwise to propagate or
|
||||
modify it is void, and will automatically terminate your rights under
|
||||
this License (including any patent licenses granted under the third
|
||||
paragraph of section 11).
|
||||
|
||||
However, if you cease all violation of this License, then your
|
||||
license from a particular copyright holder is reinstated (a)
|
||||
provisionally, unless and until the copyright holder explicitly and
|
||||
finally terminates your license, and (b) permanently, if the copyright
|
||||
holder fails to notify you of the violation by some reasonable means
|
||||
prior to 60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, you do not qualify to receive new licenses for the same
|
||||
material under section 10.
|
||||
|
||||
9. Acceptance Not Required for Having Copies.
|
||||
|
||||
You are not required to accept this License in order to receive or
|
||||
run a copy of the Program. Ancillary propagation of a covered work
|
||||
occurring solely as a consequence of using peer-to-peer transmission
|
||||
to receive a copy likewise does not require acceptance. However,
|
||||
nothing other than this License grants you permission to propagate or
|
||||
modify any covered work. These actions infringe copyright if you do
|
||||
not accept this License. Therefore, by modifying or propagating a
|
||||
covered work, you indicate your acceptance of this License to do so.
|
||||
|
||||
10. Automatic Licensing of Downstream Recipients.
|
||||
|
||||
Each time you convey a covered work, the recipient automatically
|
||||
receives a license from the original licensors, to run, modify and
|
||||
propagate that work, subject to this License. You are not responsible
|
||||
for enforcing compliance by third parties with this License.
|
||||
|
||||
An "entity transaction" is a transaction transferring control of an
|
||||
organization, or substantially all assets of one, or subdividing an
|
||||
organization, or merging organizations. If propagation of a covered
|
||||
work results from an entity transaction, each party to that
|
||||
transaction who receives a copy of the work also receives whatever
|
||||
licenses to the work the party's predecessor in interest had or could
|
||||
give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if
|
||||
the predecessor has it or can get it with reasonable efforts.
|
||||
|
||||
You may not impose any further restrictions on the exercise of the
|
||||
rights granted or affirmed under this License. For example, you may
|
||||
not impose a license fee, royalty, or other charge for exercise of
|
||||
rights granted under this License, and you may not initiate litigation
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||
any patent claim is infringed by making, using, selling, offering for
|
||||
sale, or importing the Program or any portion of it.
|
||||
|
||||
11. Patents.
|
||||
|
||||
A "contributor" is a copyright holder who authorizes use under this
|
||||
License of the Program or a work on which the Program is based. The
|
||||
work thus licensed is called the contributor's "contributor version".
|
||||
|
||||
A contributor's "essential patent claims" are all patent claims
|
||||
owned or controlled by the contributor, whether already acquired or
|
||||
hereafter acquired, that would be infringed by some manner, permitted
|
||||
by this License, of making, using, or selling its contributor version,
|
||||
but do not include claims that would be infringed only as a
|
||||
consequence of further modification of the contributor version. For
|
||||
purposes of this definition, "control" includes the right to grant
|
||||
patent sublicenses in a manner consistent with the requirements of
|
||||
this License.
|
||||
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||
patent license under the contributor's essential patent claims, to
|
||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||
propagate the contents of its contributor version.
|
||||
|
||||
In the following three paragraphs, a "patent license" is any express
|
||||
agreement or commitment, however denominated, not to enforce a patent
|
||||
(such as an express permission to practice a patent or covenant not to
|
||||
sue for patent infringement). To "grant" such a patent license to a
|
||||
party means to make such an agreement or commitment not to enforce a
|
||||
patent against the party.
|
||||
|
||||
If you convey a covered work, knowingly relying on a patent license,
|
||||
and the Corresponding Source of the work is not available for anyone
|
||||
to copy, free of charge and under the terms of this License, through a
|
||||
publicly available network server or other readily accessible means,
|
||||
then you must either (1) cause the Corresponding Source to be so
|
||||
available, or (2) arrange to deprive yourself of the benefit of the
|
||||
patent license for this particular work, or (3) arrange, in a manner
|
||||
consistent with the requirements of this License, to extend the patent
|
||||
license to downstream recipients. "Knowingly relying" means you have
|
||||
actual knowledge that, but for the patent license, your conveying the
|
||||
covered work in a country, or your recipient's use of the covered work
|
||||
in a country, would infringe one or more identifiable patents in that
|
||||
country that you have reason to believe are valid.
|
||||
|
||||
If, pursuant to or in connection with a single transaction or
|
||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||
covered work, and grant a patent license to some of the parties
|
||||
receiving the covered work authorizing them to use, propagate, modify
|
||||
or convey a specific copy of the covered work, then the patent license
|
||||
you grant is automatically extended to all recipients of the covered
|
||||
work and works based on it.
|
||||
|
||||
A patent license is "discriminatory" if it does not include within
|
||||
the scope of its coverage, prohibits the exercise of, or is
|
||||
conditioned on the non-exercise of one or more of the rights that are
|
||||
specifically granted under this License. You may not convey a covered
|
||||
work if you are a party to an arrangement with a third party that is
|
||||
in the business of distributing software, under which you make payment
|
||||
to the third party based on the extent of your activity of conveying
|
||||
the work, and under which the third party grants, to any of the
|
||||
parties who would receive the covered work from you, a discriminatory
|
||||
patent license (a) in connection with copies of the covered work
|
||||
conveyed by you (or copies made from those copies), or (b) primarily
|
||||
for and in connection with specific products or compilations that
|
||||
contain the covered work, unless you entered into that arrangement,
|
||||
or that patent license was granted, prior to 28 March 2007.
|
||||
|
||||
Nothing in this License shall be construed as excluding or limiting
|
||||
any implied license or other defenses to infringement that may
|
||||
otherwise be available to you under applicable patent law.
|
||||
|
||||
12. No Surrender of Others' Freedom.
|
||||
|
||||
If conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot convey a
|
||||
covered work so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you may
|
||||
not convey it at all. For example, if you agree to terms that obligate you
|
||||
to collect a royalty for further conveying from those to whom you convey
|
||||
the Program, the only way you could satisfy both those terms and this
|
||||
License would be to refrain entirely from conveying the Program.
|
||||
|
||||
13. Use with the GNU Affero General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU Affero General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the special requirements of the GNU Affero General Public License,
|
||||
section 13, concerning interaction through a network will apply to the
|
||||
combination as such.
|
||||
|
||||
14. Revised Versions of this License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions of
|
||||
the GNU General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Program specifies that a certain numbered version of the GNU General
|
||||
Public License "or any later version" applies to it, you have the
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of the
|
||||
GNU General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.
|
||||
|
||||
If the Program specifies that a proxy can decide which future
|
||||
versions of the GNU General Public License can be used, that proxy's
|
||||
public statement of acceptance of a version permanently authorizes you
|
||||
to choose that version for the Program.
|
||||
|
||||
Later license versions may give you additional or different
|
||||
permissions. However, no additional obligations are imposed on any
|
||||
author or copyright holder as a result of your choosing to follow a
|
||||
later version.
|
||||
|
||||
15. Disclaimer of Warranty.
|
||||
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. Limitation of Liability.
|
||||
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
|
||||
17. Interpretation of Sections 15 and 16.
|
||||
|
||||
If the disclaimer of warranty and limitation of liability provided
|
||||
above cannot be given local legal effect according to their terms,
|
||||
reviewing courts shall apply local law that most closely approximates
|
||||
an absolute waiver of all civil liability in connection with the
|
||||
Program, unless a warranty or assumption of liability accompanies a
|
||||
copy of the Program in return for a fee.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program does terminal interaction, make it output a short
|
||||
notice like this when it starts in an interactive mode:
|
||||
|
||||
<program> Copyright (C) <year> <name of author>
|
||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, your program's commands
|
||||
might be different; for a GUI interface, you would use an "about box".
|
||||
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU GPL, see
|
||||
<https://www.gnu.org/licenses/>.
|
||||
|
||||
The GNU General Public License does not permit incorporating your program
|
||||
into proprietary programs. If your program is a subroutine library, you
|
||||
may consider it more useful to permit linking proprietary applications with
|
||||
the library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License. But first, please read
|
||||
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,93 +0,0 @@
|
|||
# Rules to generate the files that need to go into the ELPA package.
|
||||
|
||||
# Files we need to auto-generate:
|
||||
# dir
|
||||
# auctex.info
|
||||
# preview-latex.info
|
||||
# README
|
||||
# ChangeLog
|
||||
# auctex.el (or auctex-pkg.el)?
|
||||
# tex-site.el
|
||||
# doc: preview-dtxdoc.texi
|
||||
# doc: version.texi
|
||||
# latex: prauctex.cfg
|
||||
# latex: prauctex.def
|
||||
# latex: prcounters.def
|
||||
# latex: preview.sty
|
||||
# latex: prfootnotes.def
|
||||
# latex: prlyx.def
|
||||
# latex: prshowbox.def
|
||||
# latex: prshowlabels.def
|
||||
# latex: prtightpage.def
|
||||
# latex: prtracingall.def
|
||||
|
||||
|
||||
MAKEINFO=makeinfo
|
||||
INSTALL_INFO=install-info
|
||||
PERL=perl
|
||||
|
||||
MANUALS=auctex preview-latex
|
||||
INFO_FILES=$(MANUALS:=.info)
|
||||
|
||||
TEXMFGEN:=$(shell sed -n 's/^%<installer>.*file[{]\([^}.]*\.[sdc][tef][yfg]\)[}].*/\1/p' latex/preview.dtx)
|
||||
LATEX_FILES:=$(patsubst %, latex/%, $(shell echo $$(echo "$(TEXMFGEN)")))
|
||||
|
||||
GENERATED_FILES=dir \
|
||||
$(INFO_FILES) \
|
||||
README \
|
||||
tex-site.el \
|
||||
doc/version.texi \
|
||||
doc/preview-dtxdoc.texi \
|
||||
$(LATEX_FILES)
|
||||
|
||||
all: $(GENERATED_FILES)
|
||||
|
||||
# We want the tex-site.el target to be always run so that the version
|
||||
# (especially the release version grabbed from the top of the git
|
||||
# log/ChangeLog) is correct.
|
||||
.PHONY: tex-site.el
|
||||
|
||||
clean:
|
||||
rm -f $(GENERATED_FILES)
|
||||
|
||||
# Copied&adapted from doc/Makefile.in.
|
||||
MAKEINFO_PLAIN=$(MAKEINFO) -D rawfile --no-headers
|
||||
README: doc/intro.texi doc/preview-readme.texi doc/macros.texi
|
||||
(cd doc; $(MAKEINFO_PLAIN) intro.texi --output -) >$@
|
||||
(cd doc; $(MAKEINFO_PLAIN) preview-readme.texi --output -) >> $@
|
||||
|
||||
# Commands copied&adapted from autogen.sh and doc/Makefile.in.
|
||||
IGNORED:=$(shell rm -f ChangeLog && ./build-aux/gitlog-to-auctexlog && cat ChangeLog.1 >> ChangeLog)
|
||||
AUCTEXDATE:=$(shell LANG=C sed -n '1s/^\([-0-9][-0-9]*\).*/\1/p' ChangeLog)
|
||||
THISVERSION:=$(shell sed -n '2,/^[0-9]/s/.*Version \(.*\) released\..*/\1/p' ChangeLog)
|
||||
LASTVERSION:=$(shell sed -n '/.*Version .* released\./{s/.*Version \(.*\) released\..*/\1/p;q}' ChangeLog)
|
||||
AUCTEXVERSION:=$(if $(THISVERSION),$(THISVERSION),$(LASTVERSION).$(AUCTEXDATE))
|
||||
|
||||
tex-site.el: tex-site.el.in
|
||||
sed -e 's|@lisppackagelispdir@|(file-name-directory load-file-name)|'\
|
||||
-e 's|@lisppackagedatadir@|(file-name-directory load-file-name)|'\
|
||||
-e 's|@lispautodir@|(if (file-writable-p "/usr/local/var/auctex") "/usr/local/var/auctex" "~/.emacs.d/auctex")|'\
|
||||
-e 's|@AUCTEXVERSION@|$(AUCTEXVERSION)|'\
|
||||
-e 's|@AUCTEXDATE@|$(AUCTEXDATE)|'\
|
||||
$< >$@
|
||||
|
||||
doc/version.texi: ChangeLog
|
||||
echo @set VERSION $(AUCTEXVERSION) >$@
|
||||
echo @set UPDATED $(AUCTEXDATE) >>$@
|
||||
|
||||
# Copied&adapted from doc/Makefile.in.
|
||||
doc/preview-dtxdoc.texi: latex/preview.dtx doc/preview-dtxdoc.pl
|
||||
$(PERL) doc/preview-dtxdoc.pl latex/preview.dtx $@
|
||||
|
||||
# Copied&adapted from doc/Makefile.in.
|
||||
TEXI_SOURCES:=$(wildcard doc/*.texi) doc/version.texi doc/preview-dtxdoc.texi
|
||||
$(INFO_FILES): %.info: $(TEXI_SOURCES)
|
||||
cd doc; $(MAKEINFO) --no-split $*.texi
|
||||
mv doc/$*.info $@
|
||||
|
||||
dir: $(INFO_FILES)
|
||||
for f in $(INFO_FILES); do $(INSTALL_INFO) --info-dir=. $$f; done
|
||||
|
||||
$(LATEX_FILES): latex/preview.dtx latex/bootstrap.ins
|
||||
cd latex; $(TEX) '\nonstopmode \input bootstrap.ins'
|
||||
cd latex; $(TEX) '\nonstopmode \input preview-mk.ins'
|
|
@ -1,240 +0,0 @@
|
|||
This is the README file for the AUCTeX distribution.
|
||||
|
||||
Copyright (C) 2008, 2017, 2018 Free Software Foundation, Inc.
|
||||
|
||||
Copying and distribution of this file, with or without
|
||||
modification, are permitted in any medium without royalty provided
|
||||
the copyright notice and this notice are preserved.
|
||||
|
||||
Introduction to AUCTeX
|
||||
**********************
|
||||
|
||||
This file gives a brief overview of what AUCTeX is. It is *not* an
|
||||
attempt to document AUCTeX. Real documentation for AUCTeX is available
|
||||
in the manual, which should be available as an info file after
|
||||
installation.
|
||||
|
||||
AUCTeX is a comprehensive customizable integrated environment for
|
||||
writing input files for TeX, LaTeX, ConTeXt, Texinfo, and docTeX using
|
||||
Emacs.
|
||||
|
||||
It supports you in the insertion of macros, environments, and sectioning
|
||||
commands by providing completion alternatives and prompting for
|
||||
parameters. It automatically indents your text as you type it and lets
|
||||
you format a whole file at once. The outlining and folding facilities
|
||||
provide you with a focused and clean view of your text.
|
||||
|
||||
AUCTeX lets you process your source files by running TeX and related
|
||||
tools (such as output filters, post processors for generating indices
|
||||
and bibliographies, and viewers) from inside Emacs. AUCTeX lets you
|
||||
browse through the errors TeX reported, while it moves the cursor
|
||||
directly to the reported error, and displays some documentation for that
|
||||
particular error. This will even work when the document is spread over
|
||||
several files.
|
||||
|
||||
One component of AUCTeX that LaTeX users will find attractive is
|
||||
preview-latex, a combination of folding and in-source previewing that
|
||||
provides true “What You See Is What You Get” experience in your
|
||||
sourcebuffer, while letting you retain full control. For more
|
||||
information, see further below.
|
||||
|
||||
More detailed information about the features and usage of AUCTeX can be
|
||||
found in the AUCTeX manual. You can access it from within Emacs by
|
||||
typing ‘C-h i d m auctex <RET>’. If you prefer the standalone info
|
||||
reader, issue the command ‘info auctex’ in a terminal.
|
||||
|
||||
AUCTeX is written entirely in Emacs Lisp, and hence you can easily add
|
||||
new features for your own needs. It is a GNU project and distributed
|
||||
under the ‘GNU General Public License Version 3’.
|
||||
|
||||
The most recent version is always available at
|
||||
<https://ftp.gnu.org/pub/gnu/auctex/>.
|
||||
|
||||
WWW users may want to check out the AUCTeX page at
|
||||
<https://www.gnu.org/software/auctex/>.
|
||||
|
||||
For comprehensive information about how to install AUCTeX read the file
|
||||
‘INSTALL’ or ‘INSTALL.windows’, respectively.
|
||||
|
||||
If you are considering upgrading AUCTeX, the recent changes are
|
||||
described in the ‘CHANGES’ file.
|
||||
|
||||
If you want to discuss AUCTeX with other users or its developers, there
|
||||
are several mailing lists you can use.
|
||||
|
||||
Send a mail with the subject “subscribe” to <auctex-request@gnu.org> in
|
||||
order to join the general discussion list for AUCTeX. Articles should
|
||||
be sent to <auctex@gnu.org>. In a similar way, you can subscribe to the
|
||||
<info-auctex@gnu.org> list for just getting important announcements
|
||||
about AUCTeX. The list <bug-auctex@gnu.org> is for bug reports which
|
||||
you should usually file with the ‘M-x TeX-submit-bug-report <RET>’
|
||||
command. If you want to address the developers of AUCTeX themselves
|
||||
with technical issues, they can be found on the discussion list
|
||||
<auctex-devel@gnu.org>.
|
||||
preview-latex in a nutshell
|
||||
***************************
|
||||
|
||||
Does your neck hurt from turning between previewer windows and the
|
||||
source too often? This AUCTeX component will render your displayed
|
||||
LaTeX equations right into the editing window where they belong.
|
||||
|
||||
The purpose of preview-latex is to embed LaTeX environments such as
|
||||
display math or figures into the source buffers and switch conveniently
|
||||
between source and image representation.
|
||||
|
||||
1 What use is it?
|
||||
*****************
|
||||
|
||||
WYSIWYG (what you see is what you get) sometimes is considered all the
|
||||
rage, sometimes frowned upon. Do we really want it? Wrong question.
|
||||
The right question is _what_ we want from it. Except when finetuning
|
||||
the layout, we don’t want to use printer fonts for on-screen text
|
||||
editing. The low resolution and contrast of a computer screen render
|
||||
all but the coarsest printer fonts (those for low-quality newsprint)
|
||||
unappealing, and the margins and pagination of the print are not wanted
|
||||
on the screen, either. On the other hand, more complex visual
|
||||
compositions like math formulas and tables can’t easily be taken in when
|
||||
seen only in the source. preview-latex strikes a balance: it only uses
|
||||
graphic renditions of the output for certain, configurable constructs,
|
||||
does this only when told, and then right in the source code. Switching
|
||||
back and forth between the source and preview is easy and natural and
|
||||
can be done for each image independently. Behind the scenes of
|
||||
preview-latex, a sophisticated framework of other programs like
|
||||
‘dvipng’, Dvips and Ghostscript are employed together with a special
|
||||
LaTeX style file for extracting the material of interest in the
|
||||
background and providing fast interactive response.
|
||||
|
||||
2 Activating preview-latex
|
||||
**************************
|
||||
|
||||
After installation, the package may need to be activated (and remember
|
||||
to activate AUCTeX too). If preview-latex is installed via the Emacs
|
||||
package manager (ELPA), activation should be automatic upon
|
||||
installation.
|
||||
|
||||
The usual activation (if it is not done automatically) would be
|
||||
|
||||
(load "preview-latex.el" nil t t)
|
||||
|
||||
If you still don’t get a “Preview” menu in LaTeX mode in spite of AUCTeX
|
||||
showing its “Command”, your installation is broken. One possible cause
|
||||
are duplicate Lisp files that might be detectable with ‘M-x
|
||||
list-load-path-shadows <RET>’.
|
||||
|
||||
3 Getting started
|
||||
*****************
|
||||
|
||||
Once activated, preview-latex and its documentation will be accessible
|
||||
via its menus (note that preview-latex requires AUCTeX to be loaded).
|
||||
When you have loaded a LaTeX document (a sample document ‘circ.tex’ is
|
||||
included in the distribution, but most documents including math and/or
|
||||
figures should do), you can use its menu or ‘C-c C-p C-d’ (for
|
||||
‘Preview/Document’). Previews will now be generated for various objects
|
||||
in your document. You can use the time to take a short look at the
|
||||
other menu entries and key bindings in the ‘Preview’ menu. You’ll see
|
||||
the previewed objects change into a roadworks sign when preview-latex
|
||||
has determined just what it is going to preview. Note that you can
|
||||
freely navigate the buffer while this is going on. When the process is
|
||||
finished you will see the objects typeset in your buffer.
|
||||
|
||||
It is a bad idea, however, to edit the buffer before the roadworks signs
|
||||
appear, since that is the moment when the correlation between the
|
||||
original text and the buffer locations gets established. If the buffer
|
||||
changes before that point of time, the previews will not be placed where
|
||||
they belong. If you do want to change some obvious error you just
|
||||
spotted, we recommend you stop the background process by pressing ‘C-c
|
||||
C-k’.
|
||||
|
||||
To see/edit the LaTeX code for a specific object, put the point (the
|
||||
cursor) on it and press ‘C-c C-p C-p’ (for ‘Preview/at point’). It will
|
||||
also do to click with the middle mouse button on the preview. Now you
|
||||
can edit the code, and generate a new preview by again pressing ‘C-c C-p
|
||||
C-p’ (or by clicking with the middle mouse button on the icon before the
|
||||
edited text).
|
||||
|
||||
If you are using the ‘desktop’ package, previews will remain from one
|
||||
session to the next as long as you don’t kill your buffer.
|
||||
|
||||
4 Basic modes of operation
|
||||
**************************
|
||||
|
||||
preview-latex has a number of methods for generating its graphics. Its
|
||||
default operation is equivalent to using the ‘LaTeX’ command from
|
||||
AUCTeX. If this happens to be a call of PDFLaTeX generating PDF output
|
||||
(you need at least AUCTeX 11.51 for this), then Ghostscript will be
|
||||
called directly on the resulting PDF file. If a DVI file gets produced,
|
||||
first Dvips and then Ghostscript get called by default.
|
||||
|
||||
The image type to be generated by Ghostscript can be configured with
|
||||
|
||||
M-x customize-option <RET> preview-image-type <RET>
|
||||
|
||||
The default is ‘png’ (the most efficient image type). A special setting
|
||||
is ‘dvipng’ in case you have the ‘dvipng’ program installed. In this
|
||||
case, ‘dvipng’ will be used for converting DVI files and Ghostscript
|
||||
(with a ‘PNG’ device) for converting PDF files. ‘dvipng’ is much faster
|
||||
than the combination of Dvips and Ghostscript. You can get downloads,
|
||||
access to its CVS archive and further information from its project site
|
||||
(https://savannah.nongnu.org/projects/dvipng).
|
||||
|
||||
5 More documentation
|
||||
********************
|
||||
|
||||
After the installation, documentation in the form of an info manual will
|
||||
be available. You can access it with the standalone info reader with
|
||||
|
||||
info preview-latex
|
||||
|
||||
or by pressing ‘C-h i d m preview-latex <RET>’ in Emacs. Once
|
||||
preview-latex is activated, you can instead use ‘C-c C-p <TAB>’ (or the
|
||||
menu entry ‘Preview/Read documentation’).
|
||||
|
||||
Depending on your installation, a printable manual may also be available
|
||||
in the form of ‘preview-latex.pdf’.
|
||||
|
||||
Detailed documentation for the LaTeX style used for extracting the
|
||||
preview images is placed in ‘preview.pdf’ in a suitable directory during
|
||||
installation; on typical TeX Live-based systems,
|
||||
|
||||
texdoc preview
|
||||
|
||||
will display it.
|
||||
|
||||
6 Availability
|
||||
**************
|
||||
|
||||
The preview-latex project is now part of AUCTeX and accessible as part
|
||||
of the AUCTeX project page (https://savannah.gnu.org/projects/auctex).
|
||||
You can get its files from the AUCTeX download area
|
||||
(https://ftp.gnu.org/pub/gnu/auctex/). As of AUCTeX 11.81,
|
||||
preview-latex should already be integrated into AUCTeX, so no separate
|
||||
download will be necessary.
|
||||
|
||||
Anonymous Git is available at <git://git.savannah.gnu.org/auctex.git> or
|
||||
<https://git.savannah.gnu.org/git/auctex.git>. You can also browse the
|
||||
repository (https://git.savannah.gnu.org/cgit/auctex.git) via web
|
||||
interface.
|
||||
|
||||
7 Contacts
|
||||
**********
|
||||
|
||||
Bug reports should be sent by using ‘M-x preview-report-bug <RET>’, as
|
||||
this will fill in a lot of information interesting to us. If the
|
||||
installation fails (but this should be a rare event), report bugs to
|
||||
<bug-auctex@gnu.org>.
|
||||
|
||||
There is a general discussion list for AUCTeX which also covers
|
||||
preview-latex, look at <https://lists.gnu.org/mailman/listinfo/auctex>.
|
||||
For more information on the mailing list, send a message with just the
|
||||
word “help” as subject or body to <auctex-request@gnu.org>. For the
|
||||
developers, there is the <auctex-devel@gnu.org> list; it would probably
|
||||
make sense to direct feature requests and questions about internal
|
||||
details there. There is a low-volume read-only announcement list
|
||||
available to which you can subscribe by sending a mail with “subscribe”
|
||||
in the subject to <info-auctex-request@gnu.org>.
|
||||
|
||||
Offers to support further development will be appreciated. If you want
|
||||
to show your appreciation with a donation to the main developer, you can
|
||||
do so via PayPal to <dak@gnu.org>, and of course you can arrange for
|
||||
service contracts or for added functionality. Take a look at the ‘TODO’
|
||||
list for suggestions in that area.
|
|
@ -1,171 +0,0 @@
|
|||
Release notes for AUCTeX 13.2 with preview-latex
|
||||
================================================
|
||||
|
||||
AUCTeX provides by far the most wide-spread and sophisticated
|
||||
environment for editing LaTeX, TeX, ConTeXt and Texinfo documents with
|
||||
Emacs. Combined with packages like RefTeX, flyspell and others it is
|
||||
pretty much without peer as a comprehensive authoring solution for a
|
||||
large variety of operating system platforms and TeX distributions. It
|
||||
supports document-dependent completion and syntax highlighting, easily
|
||||
accessible menus, jumping to error locations in the source file, a
|
||||
number of editing shortcuts, intelligent indentation and filling of
|
||||
text during entry, and WYSIWYG previews of graphical elements like
|
||||
math formulas right in the Emacs source buffer, by virtue of its
|
||||
preview-latex component.
|
||||
|
||||
One part of the preview-latex subsystem is the central `preview.sty'
|
||||
file that is independently useful for a number of applications and is
|
||||
available in unbundled form from CTAN.[1]
|
||||
|
||||
AUCTeX needs volunteers in particular for non-programming tasks:
|
||||
documentation writing, tutorials, translations, reference material,
|
||||
sleuth work, testing.
|
||||
|
||||
New features and fixed bugs in this release
|
||||
-------------------------------------------
|
||||
|
||||
AUCTeX no longer refuses to insert dollar sign when you type ‘$’ at
|
||||
point where AUCTeX thinks the current math mode didn’t start with
|
||||
dollar(s). AUCTeX assumes the user knows that it isn’t in math
|
||||
mode actually.
|
||||
|
||||
You can keep the former behavior by enabling the new customize
|
||||
option ‘TeX-refuse-unmatched-dollar’.
|
||||
|
||||
AUCTeX supports completion-at-point of macro and environment
|
||||
arguments in LaTeX buffers. The responsible function recognizes
|
||||
the argument position and extracts the corresponding candidates
|
||||
from the variables ‘TeX-symbol-list’ and ‘LaTeX-environment-list’.
|
||||
|
||||
AUCTeX underlines the argument of macros which produce underlined
|
||||
text in the final product with ‘font-latex-underline-face’. The
|
||||
corresponding keyword class is called ‘underline-command’. See the
|
||||
section for fontification of macros if you dislike this feature and
|
||||
wish to deactivate it.
|
||||
|
||||
Support for the Sioyek document viewer is added.
|
||||
|
||||
AUCTeX now requires GNU Emacs 25.1 or higher.
|
||||
|
||||
AUCTeX tracks the change in Emacs where initial inputs in the
|
||||
minibuffer during queries are getting phased out. Queries for the
|
||||
mandatory arguments of macros and environments are adjusted where
|
||||
applicable. The value which will be used after hitting ‘RET’
|
||||
without other input is shown in the prompt in parentheses prefixed
|
||||
with ‘default’. For this change the signature of the function
|
||||
‘TeX-arg-length’ is altered. The old argument list was:
|
||||
(defun TeX-arg-length (optional &optional prompt
|
||||
initial-input definition default)
|
||||
|
||||
whereas the new one is:
|
||||
(defun TeX-arg-length (optional &optional prompt
|
||||
default initial-input definition)
|
||||
|
||||
Note the position change of ‘DEFAULT’.
|
||||
|
||||
Indenting of conditionals is improved. Code inside constructs like
|
||||
‘\ifx . \else . \fi’ is correctly indented. An interface for style
|
||||
files is also introduced which can add their macros to the
|
||||
indentation engine. Check the file ‘algpseudocode.el’ for an
|
||||
example.
|
||||
|
||||
You can optionally enable indent inside square brackets ‘[]’ by new
|
||||
user options ‘TeX-indent-open-delimiters’ and
|
||||
‘TeX-indent-close-delimiters’.
|
||||
|
||||
Now ‘tex-buf.el’ is merged into ‘tex.el’ and no longer exists. If
|
||||
your personal code has ‘(require 'tex-buf)’, one of the following
|
||||
prescriptions would serve.
|
||||
1. Remove ‘(require 'tex-buf)’.
|
||||
2. Replace it with ‘(require 'tex)’.
|
||||
3. Replace it with ‘(require 'latex)’.
|
||||
|
||||
When you edit a document divided into multiple files, auto parsed
|
||||
information for all sub files are saved under ‘auto’ subdirectory
|
||||
at master directory when ‘TeX-parse-self’ and ‘TeX-auto-save’
|
||||
options are enabled. Now you can have support ‘.el’ file saved
|
||||
under ‘auto’ subdirectory of each directory of the sub file when
|
||||
the sub files aren’t located at the master directory.
|
||||
|
||||
To achieve that, set new user option ‘TeX-auto-save-aggregate’ to
|
||||
‘nil’.
|
||||
|
||||
There was another hook where former dynamic free variables could be
|
||||
used. The usage was invalidated at version 13.1, by introduction
|
||||
of lexical binding over AUCTeX.
|
||||
|
||||
The functions in ‘TeX-region-hook’ could access the free variables
|
||||
‘master-buffer’ and ‘orig-buffer’. Those are now named
|
||||
‘TeX-region-master-buffer’ and ‘TeX-region-orig-buffer’,
|
||||
respectively.
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
It is required that you use at least GNU Emacs 26.1.
|
||||
|
||||
The preview-latex subsystem requires image support.
|
||||
|
||||
You'll also need a working LaTeX installation and Ghostscript.
|
||||
dvipng[2] (version 1.4 or later), a very fast DVI converter, can be
|
||||
used to speed up the conversion.
|
||||
|
||||
Availability
|
||||
------------
|
||||
|
||||
The easiest way for getting AUCTeX is installing it with GNU ELPA, see
|
||||
<URL:https://elpa.gnu.org/packages/auctex.html> for more information.
|
||||
Other download options are available at
|
||||
<URL:https://ftp.gnu.org/gnu/auctex/>. At release time, we provide the
|
||||
source tarball. You can also use versions of Emacs that already
|
||||
include AUCTeX or a software package management system for your
|
||||
operating system which provides you with the latest release.
|
||||
|
||||
A separate directory for each release contains some stuff from the
|
||||
tarball, such as ChangeLog, printable manuals, and a reference sheet.
|
||||
The download area is mirrored to the directory support/auctex on CTAN.
|
||||
AUCTeX is licensed under the GNU General Public License version 3.
|
||||
|
||||
You'll find more information at the web site of AUCTeX
|
||||
<URL:https://www.gnu.org/software/auctex/>, including its mailing list
|
||||
addresses.
|
||||
|
||||
Future development and additional information
|
||||
---------------------------------------------
|
||||
|
||||
AUCTeX is proceeding as a GNU project with the long-term intent of
|
||||
merging it into Emacs. For that reason, all new contributors need to
|
||||
assign copyright to their contributions to the FSF (the usual
|
||||
procedure for Emacs contributors). The same holds for past
|
||||
contributors. The principal authors and maintainers have already done
|
||||
so, but it would require a diligent and diplomatic volunteer to find
|
||||
and ask the rest.
|
||||
|
||||
Current AUCTeX managers are Arash Esbati, Mosè Giordano, and Tassilo
|
||||
Horn. Everybody is welcome to contribute to the project by reporting
|
||||
bugs and suggesting improvements, but the most effective way of
|
||||
helping AUCTeX development remains volunteering for tasks.
|
||||
|
||||
The following people contributed to this release series (in
|
||||
alphabetical order): Ivan Andrus, Ralf Angeli, Masayuki Ataka,
|
||||
Mohammad Hossein Bateni, Fabrice Ben Hamouda, Thomas Baumann, Vincent
|
||||
Belaïche, Berend de Boer, Alex Branham, Uwe Brauer, Ken Brown, Joshua
|
||||
Buhl, Jean-François Burnol, Patrice Dumas, Arash Esbati, Werner Fink,
|
||||
Miguel Frasson, Peter S. Galbraith, Mosè Giordano, Andrea Greselin,
|
||||
Patrick Gundlach, Abdul-Lateef Haji-Ali, Jobst Hoffmann, Tassilo Horn,
|
||||
Yvon Hevel, Orlando Iovino, Mads Jensen, Arne Jørgensen, Philip
|
||||
Kaludercic, David Kastrup, Ikumi Keita, Philip Kime, Oleh Krehel,
|
||||
Joost Kremers, Frank Küster, Jan-Åke Larsson, Matthew Leach, Brian
|
||||
Leung, Antoine Levitt, Leo Liu, Vladimir Lomov, Stefan Monnier, Dan
|
||||
Nicolaescu, Piet van Oostrum, Pieter Pareit, Nicolas Richard, Augusto
|
||||
Ritter Stoffel, Florent Rougon, Santiago Saavedra, Davide
|
||||
G. M. Salvetti, Rüdiger Sonderfeld, Holger Sparr, Mike Sperber, Reiner
|
||||
Steib, Christian Schlauer, Shiro Takeda, Mark Trettin (Please accept
|
||||
our apologies if we forgot somebody.)
|
||||
|
||||
Footnotes:
|
||||
|
||||
[1] <URL:https://www.ctan.org/pkg/preview>
|
||||
|
||||
[2] dvipng is available via its project page
|
||||
<URL:https://savannah.nongnu.org/projects/dvipng> and from CTAN.
|
|
@ -1,412 +0,0 @@
|
|||
;;; auctex-autoloads.el --- automatically extracted autoloads -*- lexical-binding: t -*-
|
||||
;;
|
||||
;;; Code:
|
||||
|
||||
(add-to-list 'load-path (directory-file-name
|
||||
(or (file-name-directory #$) (car load-path))))
|
||||
|
||||
|
||||
;;;### (autoloads nil "bib-cite" "bib-cite.el" (0 0 0 0))
|
||||
;;; Generated autoloads from bib-cite.el
|
||||
|
||||
(autoload 'bib-cite-minor-mode "bib-cite" "\
|
||||
Toggle bib-cite mode.
|
||||
When bib-cite mode is enabled, citations, labels and refs are highlighted
|
||||
when the mouse is over them. Clicking on these highlights with [mouse-2]
|
||||
runs `bib-find', and [mouse-3] runs `bib-display'.
|
||||
|
||||
\(fn ARG)" t nil)
|
||||
|
||||
(autoload 'turn-on-bib-cite "bib-cite" "\
|
||||
Unconditionally turn on Bib Cite mode." nil nil)
|
||||
|
||||
(register-definition-prefixes "bib-cite" '("LaTeX-find-label-hist-alist" "bib-" "create-alist-from-list" "member-cis" "psg-" "search-directory-tree"))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "context" "context.el" (0 0 0 0))
|
||||
;;; Generated autoloads from context.el
|
||||
|
||||
(defalias 'ConTeXt-mode #'context-mode)
|
||||
|
||||
(autoload 'context-mode "context" "\
|
||||
Major mode in AUCTeX for editing ConTeXt files.
|
||||
|
||||
Special commands:
|
||||
\\{ConTeXt-mode-map}
|
||||
|
||||
Entering `context-mode' calls the value of `text-mode-hook',
|
||||
then the value of `TeX-mode-hook', and then the value
|
||||
of `ConTeXt-mode-hook'." t nil)
|
||||
|
||||
(register-definition-prefixes "context" '("ConTeXt-" "TeX-ConTeXt-sentinel" "context-guess-current-interface"))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "context-en" "context-en.el" (0 0 0 0))
|
||||
;;; Generated autoloads from context-en.el
|
||||
|
||||
(autoload 'context-en-mode "context-en" "\
|
||||
Major mode for editing files for ConTeXt using its english interface.
|
||||
|
||||
Special commands:
|
||||
\\{ConTeXt-mode-map}
|
||||
|
||||
Entering `context-mode' calls the value of `text-mode-hook',
|
||||
then the value of `TeX-mode-hook', and then the value
|
||||
of `ConTeXt-mode-hook'." t nil)
|
||||
|
||||
(register-definition-prefixes "context-en" '("ConTeXt-"))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "context-nl" "context-nl.el" (0 0 0 0))
|
||||
;;; Generated autoloads from context-nl.el
|
||||
|
||||
(autoload 'context-nl-mode "context-nl" "\
|
||||
Major mode for editing files for ConTeXt using its dutch interface.
|
||||
|
||||
Special commands:
|
||||
\\{ConTeXt-mode-map}
|
||||
|
||||
Entering `context-mode' calls the value of `text-mode-hook',
|
||||
then the value of `TeX-mode-hook', and then the value
|
||||
of `ConTeXt-mode-hook'." t nil)
|
||||
|
||||
(register-definition-prefixes "context-nl" '("ConTeXt-"))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "font-latex" "font-latex.el" (0 0 0 0))
|
||||
;;; Generated autoloads from font-latex.el
|
||||
|
||||
(autoload 'font-latex-setup "font-latex" "\
|
||||
Setup this buffer for LaTeX font-lock. Usually called from a hook." nil nil)
|
||||
|
||||
(register-definition-prefixes "font-latex" '("font-latex-"))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "latex" "latex.el" (0 0 0 0))
|
||||
;;; Generated autoloads from latex.el
|
||||
|
||||
(autoload 'BibTeX-auto-store "latex" "\
|
||||
This function should be called from `bibtex-mode-hook'.
|
||||
It will setup BibTeX to store keys in an auto file." nil nil)
|
||||
|
||||
(add-to-list 'auto-mode-alist '("\\.drv\\'" . latex-mode) t)
|
||||
|
||||
(add-to-list 'auto-mode-alist '("\\.hva\\'" . latex-mode))
|
||||
|
||||
(autoload 'TeX-latex-mode "latex" "\
|
||||
Major mode in AUCTeX for editing LaTeX files.
|
||||
See info under AUCTeX for full documentation.
|
||||
|
||||
Special commands:
|
||||
\\{LaTeX-mode-map}
|
||||
|
||||
Entering LaTeX mode calls the value of `text-mode-hook',
|
||||
then the value of `TeX-mode-hook', and then the value
|
||||
of `LaTeX-mode-hook'." t nil)
|
||||
|
||||
(add-to-list 'auto-mode-alist '("\\.dtx\\'" . doctex-mode))
|
||||
|
||||
(autoload 'docTeX-mode "latex" "\
|
||||
Major mode in AUCTeX for editing .dtx files derived from `LaTeX-mode'.
|
||||
Runs `LaTeX-mode', sets a few variables and
|
||||
runs the hooks in `docTeX-mode-hook'.
|
||||
|
||||
\(fn)" t nil)
|
||||
|
||||
(defalias 'TeX-doctex-mode #'docTeX-mode)
|
||||
|
||||
(register-definition-prefixes "latex" '("Bib" "LaTeX-" "TeX-" "docTeX-" "latex-math-mode"))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "latex-flymake" "latex-flymake.el" (0 0 0 0))
|
||||
;;; Generated autoloads from latex-flymake.el
|
||||
|
||||
(register-definition-prefixes "latex-flymake" '("LaTeX-"))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "multi-prompt" "multi-prompt.el" (0 0 0 0))
|
||||
;;; Generated autoloads from multi-prompt.el
|
||||
|
||||
(autoload 'multi-prompt "multi-prompt" "\
|
||||
Completing prompt for a list of strings.
|
||||
The first argument SEPARATOR should be the string (of length 1) to
|
||||
separate the elements in the list. The second argument UNIQUE should
|
||||
be non-nil, if each element must be unique. The remaining elements
|
||||
are the arguments to `completing-read'. See that.
|
||||
|
||||
\(fn SEPARATOR UNIQUE PROMPT TABLE &optional MP-PREDICATE REQUIRE-MATCH INITIAL HISTORY)" nil nil)
|
||||
|
||||
(autoload 'multi-prompt-key-value "multi-prompt" "\
|
||||
Read multiple strings, with completion and key=value support.
|
||||
PROMPT is a string to prompt with, usually ending with a colon
|
||||
and a space.
|
||||
|
||||
TABLE is an alist where each entry is a list. The first element
|
||||
of each list is a string representing a key and the optional
|
||||
second element is a list with strings to be used as values for
|
||||
the key. The second element can also be a variable returning a
|
||||
list of strings.
|
||||
|
||||
See the documentation for `completing-read' for details on the
|
||||
other arguments: PREDICATE, REQUIRE-MATCH, INITIAL-INPUT, HIST,
|
||||
DEF, and INHERIT-INPUT-METHOD.
|
||||
|
||||
The return value is the string as entered in the minibuffer.
|
||||
|
||||
\(fn PROMPT TABLE &optional PREDICATE REQUIRE-MATCH INITIAL-INPUT HIST DEF INHERIT-INPUT-METHOD)" nil nil)
|
||||
|
||||
(register-definition-prefixes "multi-prompt" '("multi-prompt-"))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "plain-tex" "plain-tex.el" (0 0 0 0))
|
||||
;;; Generated autoloads from plain-tex.el
|
||||
|
||||
(autoload 'TeX-plain-tex-mode "plain-tex" "\
|
||||
Major mode in AUCTeX for editing plain TeX files.
|
||||
See info under AUCTeX for documentation.
|
||||
|
||||
Special commands:
|
||||
\\{plain-TeX-mode-map}
|
||||
|
||||
Entering `plain-tex-mode' calls the value of `text-mode-hook',
|
||||
then the value of `TeX-mode-hook', and then the value
|
||||
of `plain-TeX-mode-hook'." t nil)
|
||||
|
||||
(autoload 'ams-tex-mode "plain-tex" "\
|
||||
Major mode in AUCTeX for editing AmS-TeX files.
|
||||
See info under AUCTeX for documentation.
|
||||
|
||||
Special commands:
|
||||
\\{AmSTeX-mode-map}
|
||||
|
||||
Entering `ams-tex-mode' calls the value of `text-mode-hook',
|
||||
then the value of `TeX-mode-hook', and then the value
|
||||
of `AmS-TeX-mode-hook'." t nil)
|
||||
|
||||
(register-definition-prefixes "plain-tex" '("AmS" "plain-TeX-"))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "preview" "preview.el" (0 0 0 0))
|
||||
;;; Generated autoloads from preview.el
|
||||
|
||||
(autoload 'desktop-buffer-preview "preview" "\
|
||||
Hook function for restoring persistent previews into a buffer.
|
||||
|
||||
\(fn FILE-NAME BUFFER-NAME MISC)" nil nil)
|
||||
|
||||
(add-to-list 'desktop-buffer-mode-handlers '(latex-mode . desktop-buffer-preview))
|
||||
|
||||
(autoload 'preview-install-styles "preview" "\
|
||||
Installs the TeX style files into a permanent location.
|
||||
This must be in the TeX search path. If FORCE-OVERWRITE is greater
|
||||
than 1, files will get overwritten without query, if it is less
|
||||
than 1 or nil, the operation will fail. The default of 1 for interactive
|
||||
use will query.
|
||||
|
||||
Similarly FORCE-SAVE can be used for saving
|
||||
`preview-TeX-style-dir' to record the fact that the uninstalled
|
||||
files are no longer needed in the search path.
|
||||
|
||||
\(fn DIR &optional FORCE-OVERWRITE FORCE-SAVE)" t nil)
|
||||
|
||||
(autoload 'LaTeX-preview-setup "preview" "\
|
||||
Hook function for embedding the preview package into AUCTeX.
|
||||
This is called by `LaTeX-mode-hook' and changes AUCTeX variables
|
||||
to add the preview functionality." nil nil)
|
||||
|
||||
(autoload 'preview-report-bug "preview" "\
|
||||
Report a bug in the preview-latex package." t nil)
|
||||
|
||||
(register-definition-prefixes "preview" '("TeX-" "desktop-buffer-preview-misc-data" "preview-"))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "tex" "tex.el" (0 0 0 0))
|
||||
;;; Generated autoloads from tex.el
|
||||
|
||||
(autoload 'TeX-tex-mode "tex" "\
|
||||
Major mode in AUCTeX for editing TeX or LaTeX files.
|
||||
Tries to guess whether this file is for plain TeX or LaTeX.
|
||||
|
||||
The algorithm is as follows:
|
||||
|
||||
1) if the file is empty or `TeX-force-default-mode' is not set to nil,
|
||||
`TeX-default-mode' is chosen
|
||||
2) If \\documentstyle or \\begin{, \\section{, \\part{ or \\chapter{ is
|
||||
found, `latex-mode' is selected.
|
||||
3) Otherwise, use `plain-tex-mode'" t nil)
|
||||
|
||||
(autoload 'TeX-auto-generate "tex" "\
|
||||
Generate style file for TEX and store it in AUTO.
|
||||
If TEX is a directory, generate style files for all files in the directory.
|
||||
|
||||
\(fn TEX AUTO)" t nil)
|
||||
|
||||
(autoload 'TeX-auto-generate-global "tex" "\
|
||||
Create global auto directory for global TeX macro definitions." t nil)
|
||||
|
||||
(autoload 'TeX-submit-bug-report "tex" "\
|
||||
Submit a bug report on AUCTeX via mail.
|
||||
|
||||
Don't hesitate to report any problems or inaccurate documentation.
|
||||
|
||||
If you don't have setup sending mail from Emacs, please copy the
|
||||
output buffer into your mail program, as it gives us important
|
||||
information about your AUCTeX version and AUCTeX configuration." t nil)
|
||||
|
||||
(register-definition-prefixes "tex" '("Bib" "ConTeXt-" "LaTeX-" "TeX-" "VirTeX-common-initialization" "docTeX-default-extension" "plain-TeX-auto-regexp-list" "tex-"))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "tex-bar" "tex-bar.el" (0 0 0 0))
|
||||
;;; Generated autoloads from tex-bar.el
|
||||
|
||||
(autoload 'TeX-install-toolbar "tex-bar" "\
|
||||
Install toolbar buttons for TeX mode." t nil)
|
||||
|
||||
(autoload 'LaTeX-install-toolbar "tex-bar" "\
|
||||
Install toolbar buttons for LaTeX mode." t nil)
|
||||
|
||||
(register-definition-prefixes "tex-bar" '("TeX-bar-"))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "tex-fold" "tex-fold.el" (0 0 0 0))
|
||||
;;; Generated autoloads from tex-fold.el
|
||||
|
||||
(autoload 'TeX-fold-mode "tex-fold" "\
|
||||
Minor mode for hiding and revealing macros and environments.
|
||||
|
||||
Called interactively, with no prefix argument, toggle the mode.
|
||||
With universal prefix ARG (or if ARG is nil) turn mode on.
|
||||
With zero or negative ARG turn mode off.
|
||||
|
||||
\(fn &optional ARG)" t nil)
|
||||
|
||||
(defalias 'tex-fold-mode #'TeX-fold-mode)
|
||||
|
||||
(register-definition-prefixes "tex-fold" '("TeX-fold-"))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "tex-font" "tex-font.el" (0 0 0 0))
|
||||
;;; Generated autoloads from tex-font.el
|
||||
|
||||
(autoload 'tex-font-setup "tex-font" "\
|
||||
Setup font lock support for TeX." nil nil)
|
||||
|
||||
(register-definition-prefixes "tex-font" '("tex-"))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "tex-info" "tex-info.el" (0 0 0 0))
|
||||
;;; Generated autoloads from tex-info.el
|
||||
|
||||
(defalias 'Texinfo-mode #'texinfo-mode)
|
||||
|
||||
(autoload 'TeX-texinfo-mode "tex-info" "\
|
||||
Major mode in AUCTeX for editing Texinfo files.
|
||||
|
||||
Special commands:
|
||||
\\{Texinfo-mode-map}
|
||||
|
||||
Entering Texinfo mode calls the value of `text-mode-hook' and then the
|
||||
value of `Texinfo-mode-hook'." t nil)
|
||||
|
||||
(register-definition-prefixes "tex-info" '("Texinfo-" "texinfo-environment-regexp"))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "tex-ispell" "tex-ispell.el" (0 0 0 0))
|
||||
;;; Generated autoloads from tex-ispell.el
|
||||
|
||||
(register-definition-prefixes "tex-ispell" '("TeX-ispell-"))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "tex-jp" "tex-jp.el" (0 0 0 0))
|
||||
;;; Generated autoloads from tex-jp.el
|
||||
|
||||
(autoload 'japanese-plain-tex-mode "tex-jp" "\
|
||||
Major mode in AUCTeX for editing Japanese plain TeX files.
|
||||
Set `japanese-TeX-mode' to t, and enter `TeX-plain-tex-mode'." t nil)
|
||||
|
||||
(autoload 'japanese-latex-mode "tex-jp" "\
|
||||
Major mode in AUCTeX for editing Japanese LaTeX files.
|
||||
Set `japanese-TeX-mode' to t, and enter `TeX-latex-mode'." t nil)
|
||||
|
||||
(register-definition-prefixes "tex-jp" '("TeX-" "japanese-"))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "tex-site" "tex-site.el" (0 0 0 0))
|
||||
;;; Generated autoloads from tex-site.el
|
||||
(require 'tex-site)
|
||||
|
||||
(register-definition-prefixes "tex-site" '("AUCTeX-" "TeX-" "preview-TeX-style-dir" "tex-site-unload-function"))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "tex-style" "tex-style.el" (0 0 0 0))
|
||||
;;; Generated autoloads from tex-style.el
|
||||
|
||||
(register-definition-prefixes "tex-style" '("LaTeX-" "TeX-TikZ-point-name-regexp"))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "tex-wizard" "tex-wizard.el" (0 0 0 0))
|
||||
;;; Generated autoloads from tex-wizard.el
|
||||
|
||||
(register-definition-prefixes "tex-wizard" '("TeX-wizard"))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "texmathp" "texmathp.el" (0 0 0 0))
|
||||
;;; Generated autoloads from texmathp.el
|
||||
|
||||
(autoload 'texmathp "texmathp" "\
|
||||
Determine if point is inside (La)TeX math mode.
|
||||
Returns t or nil. Additional info is placed into `texmathp-why'.
|
||||
The functions assumes that you have (almost) syntactically correct (La)TeX in
|
||||
the buffer.
|
||||
See the variable `texmathp-tex-commands' about which commands are checked." t nil)
|
||||
|
||||
(autoload 'texmathp-match-switch "texmathp" "\
|
||||
Search backward for any of the math switches.
|
||||
Limit searched to BOUND.
|
||||
|
||||
\(fn BOUND)" nil nil)
|
||||
|
||||
(register-definition-prefixes "texmathp" '("texmathp-"))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil "toolbar-x" "toolbar-x.el" (0 0 0 0))
|
||||
;;; Generated autoloads from toolbar-x.el
|
||||
(autoload 'toolbarx-install-toolbar "toolbar-x")
|
||||
|
||||
(register-definition-prefixes "toolbar-x" '("toolbarx-"))
|
||||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads nil nil ("auctex-pkg.el" "auctex.el" "tex-mik.el")
|
||||
;;;;;; (0 0 0 0))
|
||||
|
||||
;;;***
|
||||
|
||||
;; Local Variables:
|
||||
;; version-control: never
|
||||
;; no-byte-compile: t
|
||||
;; no-update-autoloads: t
|
||||
;; coding: utf-8
|
||||
;; End:
|
||||
;;; auctex-autoloads.el ends here
|
|
@ -1,2 +0,0 @@
|
|||
;; Generated package description from auctex.el -*- no-byte-compile: t -*-
|
||||
(define-package "auctex" "13.2.1" "Integrated environment for *TeX*" '((emacs "25.1")) :commit "1c3360b1621a524e14fa0067dc7e138630c2267f" :maintainer '(nil . "auctex-devel@gnu.org") :keywords '("tex" "latex" "texinfo" "context" "doctex" "preview-latex") :url "https://www.gnu.org/software/auctex/")
|
|
@ -1,45 +0,0 @@
|
|||
;;; auctex.el --- Integrated environment for *TeX* -*- lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 2014-2021 Free Software Foundation, Inc.
|
||||
|
||||
;; Version: 13.2.1
|
||||
;; URL: https://www.gnu.org/software/auctex/
|
||||
;; Maintainer: auctex-devel@gnu.org
|
||||
;; Notifications-To: auctex-diffs@gnu.org
|
||||
;; Package-Requires: ((emacs "25.1"))
|
||||
;; Keywords: TeX LaTeX Texinfo ConTeXt docTeX preview-latex
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
;; GNU Emacs is free software: you can redistribute it and/or modify it
|
||||
;; under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; GNU Emacs is distributed in the hope that it will be useful, but
|
||||
;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
;; General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; This can be used for starting up AUCTeX. The following somewhat
|
||||
;; strange trick causes tex-site.el to be loaded in a way that can be
|
||||
;; safely undone using (unload-feature 'tex-site).
|
||||
|
||||
;; FIXME: I don't quite understand in which way this is better than less
|
||||
;; strange code such as
|
||||
;; (require 'tex-site (expand-file-name "tex-site.el"
|
||||
;; (file-name-directory load-file-name))
|
||||
|
||||
;;; Code:
|
||||
|
||||
(autoload 'TeX-load-hack
|
||||
(expand-file-name "tex-site.el"
|
||||
(file-name-directory load-file-name)))
|
||||
(TeX-load-hack)
|
||||
|
||||
;;; auctex.el ends here
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,479 +0,0 @@
|
|||
\documentclass[a4paper,twocolumn]{article}
|
||||
\usepackage[german]{babel}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage[latin1]{inputenc}
|
||||
\usepackage[showlabels,sections,floats,textmath,displaymath]{preview}
|
||||
\newbox\chaos
|
||||
\newdimen\tdim
|
||||
\def\fframe{%
|
||||
\tdim=\columnwidth
|
||||
\advance\tdim by -2\fboxsep
|
||||
\advance\tdim by -2\fboxrule
|
||||
\setbox\chaos=\hbox\bgroup\begin{minipage}{\tdim}}
|
||||
\def\endfframe{\end{minipage}\egroup\fbox{\box\chaos}}
|
||||
\unitlength 1mm
|
||||
\newcount\fives
|
||||
\fives 14
|
||||
\newcount\ones
|
||||
\ones\fives
|
||||
\multiply \ones by 5
|
||||
\newsavebox{\raster}
|
||||
\savebox{\raster}(\ones,\ones)
|
||||
{\thicklines
|
||||
\put(0,0){\line(0,1){\ones}}
|
||||
\put(0,0){\line(1,0){\ones}}
|
||||
\multiput(0,0)(5,0){\fives}
|
||||
{\begin{picture}(0,0)
|
||||
\put(5,0){\line(0,1){\ones}}
|
||||
\thinlines\multiput(1,0)(1,0){4}{\line(0,1){\ones}}
|
||||
\end{picture}}
|
||||
\multiput(0,0)(0,5){\fives}
|
||||
{\begin{picture}(0,0)
|
||||
\put(0,5){\line(1,0){\ones}}
|
||||
\thinlines\multiput(0,1)(0,1){4}{\line(1,0){\ones}}
|
||||
\end{picture}}
|
||||
}
|
||||
\begin{document}
|
||||
\title{Einfache Kurven auf Rastergrafiken}
|
||||
\author{David Kastrup}
|
||||
\maketitle
|
||||
|
||||
\begin{abstract}
|
||||
Es sollen hier einfache Methoden vorgestellt werden, um auf einer
|
||||
Rastereinheit verschiedene Kurven darzustellen. Vorgestellt werden
|
||||
Zeichenalgorithmen für Linien, Kreise und Hyperbeln. Die hier
|
||||
hergeleiteten Gleichungen sind auch unter dem Namen {\tt DDA}s bekannt.
|
||||
\end{abstract}
|
||||
|
||||
\section{Einführung}
|
||||
Bei den hier vorgestellten Algorithmen werden zunächst nur
|
||||
Kurvenstücke betrachtet, die die folgenden Eigenschaften besitzen:
|
||||
\begin{enumerate}
|
||||
\item Sie lassen sich als Funktion $y = f(x)$ darstellen.
|
||||
\item $y$ ist im betrachteten Bereich monoton, das heißt, entweder
|
||||
durchgehend steigend oder durchgehend fallend.
|
||||
\item Wenn $x$ sich um $1$ ändert, so ändert sich $y$ betragsmäßig
|
||||
höchstens um $1$
|
||||
($\left|\frac{\partial y}{\partial x}\right| \leq 1$).
|
||||
\end{enumerate}
|
||||
|
||||
\section{Die gerade Linie}
|
||||
Wir betrachten hier zunächst nur die gerade Linie im ersten Oktanten,
|
||||
die durch den Punkt $0 \choose 0$ geht. Alle anderen Linien lassen
|
||||
sich durch Vertauschen von $x$ und~$y$ sowie Vorzeichenwechsel
|
||||
erzeugen. Im ersten Oktanten gilt $x \geq y \geq 0$. Zum Zeichnen
|
||||
einer Linie genügt es also, $x$ durchlaufen zu lassen und für $y$ die
|
||||
dazugehörigen Werte zu berechnen und zu runden.
|
||||
|
||||
Die Gleichung einer Geraden durch $\Delta x \choose \Delta y$ lautet:
|
||||
\begin{equation}
|
||||
\label{lgi}
|
||||
y = \frac{\Delta y}{\Delta x}x
|
||||
\end{equation}
|
||||
%
|
||||
Nun stellen wir $y$ als Summe eines ganzzahligen Wertes $e$ und eines
|
||||
gebrochenen Wertes $f$ dar, für den gilt: $-0.5 \leq f < 0.5$. Somit
|
||||
stellt dann $e$ den gewünschten, auf die nächste ganze Zahl gerundeten
|
||||
$y$-Wert dar. Jetzt formen wir (\ref{lgi}) um:
|
||||
\begin{eqnarray}
|
||||
e + f &=& x \frac{\Delta y}{\Delta x}\nonumber\\
|
||||
e \Delta x + f \Delta x &=& x \Delta y\nonumber\\
|
||||
f \Delta x - \left\lceil\frac{\Delta x}2\right\rceil &=&
|
||||
x \Delta y - e \Delta x - \left\lceil\frac{\Delta x}2\right\rceil \label{lgii}
|
||||
\end{eqnarray}
|
||||
%
|
||||
Den linken Ausdruck in (\ref{lgii}) bezeichnen wir jetzt mit $d$. Für
|
||||
positive gerade Werte von $\Delta x$ ist offensichtlich $d < 0$ eine
|
||||
zu~$f < 0.5$ equivalente Bedingung.
|
||||
|
||||
Für ungerade Werte von~$\Delta x$ ist $f < 0.5$ equivalent zu
|
||||
$d + 0.5 < 0$.
|
||||
Da $d$ stets eine ganze Zahl ist, ist dies wieder zu $d < 0$
|
||||
equivalent.
|
||||
|
||||
% INTENTIONAL ERRORS! INTENTIONAL ERRORS! INTENTIONAL ERRORS!
|
||||
%
|
||||
% The following line should flag a PostScript error when previewing,
|
||||
% but processing of other previews should continue.
|
||||
%
|
||||
Wird nun $\ifPreview\special{ps: junk}\fi f \geq 0.5$, wie sich durch
|
||||
den Vergleich $d \stackrel{?}{<} 0$ feststellen läßt, so muß man
|
||||
korrigieren, indem man $f$ um~1 erniedrigt und $e$ um~$1$ erhöht.
|
||||
%
|
||||
% The following line will make Ghostscript abort unexpectedly when
|
||||
% previewing, but processing of other previews should continue.
|
||||
%
|
||||
$\ifPreview\special{ps: quit}\fi d$ muß dann auch entsprechend
|
||||
angepaßt werden.
|
||||
|
||||
Mit den angegebenen Formeln ergibt sich jetzt bei Berücksichtigung der
|
||||
Einflüsse von $x$ und $e$ auf $d$ der in Tabelle~\ref{linalg}
|
||||
angegebene Algorithmus. Eine optimierte C-function, die die
|
||||
Oktantenaufteilung berücksichtigt, ist in Tabelle~\ref{linc} zu
|
||||
finden. Einige hiermit gezeichnete Linien sind in
|
||||
Abbildung~\ref{linpict} zu sehen.
|
||||
\begin{table}
|
||||
\caption{Linienzugalgorithmus} \label{linalg}
|
||||
\begin{fframe}
|
||||
\begin{enumerate}
|
||||
\item Setze $x \gets 0$, $y \gets 0$, $d \gets
|
||||
-\left\lceil\frac{\Delta x}2\right\rceil$
|
||||
\item Wiederhole bis $x = \Delta x$
|
||||
\begin{enumerate}
|
||||
\item Zeichne Punkt an $x \choose y$
|
||||
\item Setze $x \gets x + 1$, $d \gets d + \Delta y$
|
||||
\item Falls $d \geq 0$
|
||||
\begin{enumerate}
|
||||
\item Setze $d \gets d - \Delta x$
|
||||
\item Setze $y \gets y + 1$
|
||||
\end{enumerate}
|
||||
\end{enumerate}
|
||||
\end{enumerate}
|
||||
\end{fframe}
|
||||
\end{table}
|
||||
\begin{table}
|
||||
\caption{Linienziehen in C} \label{linc}
|
||||
\begin{fframe}
|
||||
\small
|
||||
\begin{verbatim}
|
||||
extern int x,y;
|
||||
/* (x,y) ist Koordinate des nicht
|
||||
* gezeichneten Startpunktes, zeigt
|
||||
* nachher auf gezeichneten Endpunkt
|
||||
*/
|
||||
#define doline(dx,dy,advx,advy) { \
|
||||
d = -(((i = dx) + 1) >> 1); \
|
||||
while (i--) { \
|
||||
advx; \
|
||||
if ((d += dy) >= 0) { \
|
||||
d -= dx; advy; \
|
||||
} \
|
||||
dot(x,y); \
|
||||
} \
|
||||
return; \
|
||||
} /* Grundalgorithmus 1. Oktant */
|
||||
/* dx ist Distanz in unabh. Richtung, *
|
||||
* dy in abh. Richtung, advx geht *
|
||||
* in unabh. Richtung, advy in abh. */
|
||||
|
||||
#define docond(cond,advx,advy) { \
|
||||
if (cond) doline(dx,dy,advx,advy) \
|
||||
doline(dy,dx,advy,advx) \
|
||||
} /* Grundalgorithmus 1./2. Oktant */
|
||||
/* cond ist true falls |dx| > |dy| */
|
||||
|
||||
void
|
||||
linedraw(int dx, int dy)
|
||||
/* Von (x,y) nach (x+dx, y+dx). */
|
||||
{
|
||||
int i;
|
||||
|
||||
if (dx >= 0) {
|
||||
if (dy >= 0)
|
||||
docond(dx > dy, ++x, ++y)
|
||||
docond(dx > (dy = -dy), ++x, --y)
|
||||
}
|
||||
if (dy >= 0)
|
||||
docond((dx = -dx) > dy,--x,++y)
|
||||
docond((dx = -dx) > (dy = -dy),
|
||||
--x, --y )
|
||||
}
|
||||
\end{verbatim}
|
||||
\end{fframe}
|
||||
\end{table}
|
||||
\begin{figure}
|
||||
\begin{picture}(\ones,\ones) \put(0,0){\usebox{\raster}}
|
||||
\newcount\x
|
||||
\newcount\y
|
||||
\newcount\d
|
||||
\newcount\dx
|
||||
\newcount\dy
|
||||
\x 0
|
||||
\y 0
|
||||
\dx \ones
|
||||
\dy \ones
|
||||
\loop %{
|
||||
\d -\dx
|
||||
\divide \d by 2 %}
|
||||
\ifnum \dy > 0 %{
|
||||
{\loop %{
|
||||
\put(\x,\y){\circle*{1}}%}
|
||||
\ifnum \x < \ones %{
|
||||
\advance \x by 1
|
||||
\advance \d by \dy %}
|
||||
\ifnum \d > -1 %{
|
||||
\advance \y by 1
|
||||
\advance \d by -\dx %}
|
||||
\fi %}}
|
||||
\repeat}
|
||||
\advance \x by 5
|
||||
\advance \dx by -5
|
||||
\advance \dy by -15 %}
|
||||
\repeat
|
||||
\end{picture}
|
||||
\caption{Einige Linien}\label{linpict}
|
||||
\end{figure}
|
||||
|
||||
\section{Der Kreis}
|
||||
Wir betrachten hier nur den Achtelkreis im zweiten Oktanten
|
||||
($y \geq x \geq 0$). Hier gelten die oben angegebenen Beziehungen.
|
||||
Alle anderen Achtelkreise lassen sich durch elementare Spiegelungen
|
||||
erzeugen.
|
||||
|
||||
Die Gleichung eines Kreises ist hier
|
||||
\begin{equation}
|
||||
y = ±\sqrt{r^2 - x^2}
|
||||
\end{equation}
|
||||
|
||||
Der Wert $y$ läßt sich darstellen als Summe einer ganzen Zahl $e$ und
|
||||
einem Wert $f$ mit $-0.5 \leq f < 0.5$. Der Wertebereich von $f$ ist
|
||||
so gewählt worden, damit $e$ einen auf ganze Zahlen gerundeten Wert
|
||||
für $y$ darstellt.
|
||||
|
||||
Nun gilt:
|
||||
\begin{eqnarray}
|
||||
e + f&=&\sqrt{r^2 - x^2}\nonumber\\
|
||||
\label{ggg}e^2 + 2ef + f^2&=&r^2 - x^2
|
||||
\end{eqnarray}
|
||||
%
|
||||
Die Gleichung (\ref{ggg}) hat für $x+1$ folgende Form:
|
||||
\begin{eqnarray}
|
||||
\label{hhh}e'^2 + 2e'f' + f'^2&=&r^2 - x^2 - 2x -1
|
||||
\end{eqnarray}
|
||||
%
|
||||
Zieht man die Gleichung (\ref{ggg}) von (\ref{hhh}) ab, so ergibt sich
|
||||
nach Umsortieren:
|
||||
\begin{eqnarray*}
|
||||
e' = e:\\
|
||||
2e'f' + f'^2&=&2ef+f^2-2x-1\\
|
||||
e' = e-1:\\
|
||||
2e'f' + f'^2&=&2ef+f^2+2e-2x-2
|
||||
\end{eqnarray*}
|
||||
%
|
||||
Jetzt wird $2ef + f^2$ mit $m$ getauft. Also:
|
||||
\begin{eqnarray*}
|
||||
e' = e:\\
|
||||
m'&=&m -2x-1\\
|
||||
e' = e-1:\\
|
||||
m'&=&m +2e-1 -2x-1
|
||||
\end{eqnarray*}
|
||||
Wie groß ist jetzt $m$? Für $x=0$ ist es sicher $0$. Solange $e$
|
||||
konstant bleibt, schrumpft $f$ stetig. Fällt $f$ unter $-0.5$, so
|
||||
fällt $m$ (unter Vernachlässigung von $f^2$) unter $-e$. Dies wird
|
||||
jetzt als Kriterium für einen Unterlauf von $f$ verwendet. Tritt
|
||||
dieser auf, so muß $f$ um $1$ erhöht und $e$ um $1$ erniedrigt werden.
|
||||
|
||||
Um die Abfragebedingung zu vereinfachen, setzt man jetzt $q$ = $m+e$.
|
||||
Der resultierende Algorithmus ist in Tabelle \ref{alg}, ein
|
||||
optimiertes C-Programm ist in Tabelle \ref{prog} zu finden.
|
||||
\begin{table}
|
||||
\caption{Kreiszeichenalgorithmus}\label{alg}
|
||||
\begin{fframe}
|
||||
\begin{enumerate}
|
||||
\item Setze $x\gets 0$, $y\gets r$, $q\gets r$
|
||||
\item Wiederhole bis $x>y$:
|
||||
\begin{enumerate}
|
||||
\item Setze einen Punkt an $x \choose y$.
|
||||
\item Setze $q\gets q-2x-1$
|
||||
\item Falls $q<0$
|
||||
\begin{enumerate}
|
||||
\item Setze $q\gets q + 2y-2$
|
||||
\item Setze $y\gets y-1$
|
||||
\end{enumerate}
|
||||
\item Setze $x\gets x+1$
|
||||
\end{enumerate}
|
||||
\end{enumerate}
|
||||
\end{fframe}
|
||||
\end{table}
|
||||
\begin{table}
|
||||
\caption{Kreiszeichenprogramm}\label{prog}
|
||||
\begin{fframe}
|
||||
\small
|
||||
\begin{verbatim}
|
||||
void
|
||||
fourfold(int x0, int y0, int x, int y)
|
||||
/* Zeichne in Oktant 1,3,5,7 */
|
||||
/* Wird benutzt, um Anfangs- und End- *
|
||||
* Punkte nicht zweimal zu zeichnen */
|
||||
{
|
||||
dot(x0+x,y0+y);
|
||||
dot(x0-y,y0+x);
|
||||
dot(x0-x,y0-y);
|
||||
dot(x0+y,y0-x);
|
||||
}
|
||||
|
||||
void
|
||||
eightfold(int x0, int y0, int x, int y)
|
||||
/* Zeichne in allen Quadranten */
|
||||
{
|
||||
fourfold(x0,y0,x,y); /* 1357 */
|
||||
fourfold(x0,y0,x,-y); /* 8642 */
|
||||
}
|
||||
|
||||
void
|
||||
circle(int x0, int y0, int r)
|
||||
{
|
||||
fourfold(x0,y0,0,r);
|
||||
/* Die ersten vier Punkte */
|
||||
for (x=0, y=q=r;; ) {
|
||||
if ((q -= 2* x++ + 1) < 0)
|
||||
q += 2* --y;
|
||||
if (x >= y)
|
||||
break;
|
||||
eightfold(x0,y0,x,y);
|
||||
}
|
||||
if (x==y)
|
||||
fourfold(x0,y0,x,y);
|
||||
/* Eventuell die letzten vier */
|
||||
}
|
||||
\end{verbatim}
|
||||
\end{fframe}
|
||||
\end{table}
|
||||
\begin{figure}
|
||||
\begin{picture}(\ones,\ones)
|
||||
\put(0,0){\usebox{\raster}}
|
||||
\newcount\x
|
||||
\newcount\y
|
||||
\newcount\q
|
||||
\loop
|
||||
{\x 0
|
||||
\y \ones
|
||||
\q \ones
|
||||
\loop
|
||||
\put(\x,\y){\circle*{1}}
|
||||
\put(\y,\x){\circle*{1}}
|
||||
\advance \q by -\x
|
||||
\advance \x by 1
|
||||
\advance \q by -\x
|
||||
\ifnum \x < \y
|
||||
\ifnum \q < 0
|
||||
\advance \y by -1
|
||||
\advance \q by \y
|
||||
\advance \q by \y
|
||||
\fi
|
||||
\repeat}
|
||||
\advance \ones by -10
|
||||
\ifnum \ones > 0
|
||||
\repeat
|
||||
\end{picture}
|
||||
\caption{Viertelkreise}\label{zeich}
|
||||
\end{figure}
|
||||
|
||||
\section{Einfache Hyperbeln}
|
||||
Als letztes Beispiel betrachten wir hier Hyperbeln, die der Formel
|
||||
$y = r^2\!/x$ genügen, und zwar im Bereich~$x \geq r$.
|
||||
|
||||
Mit dem Ansatz $y = e + f$ ergibt sich:
|
||||
\begin{eqnarray}
|
||||
e+f &=& r^2\!/x\nonumber\\
|
||||
ex + fx &=& r^2\nonumber\\
|
||||
fx &=& r^2 - ex\label{phyp}
|
||||
\end{eqnarray}
|
||||
\pagebreak[2]
|
||||
Für $x' = x+1$ hat nun (\ref{phyp}) die Form
|
||||
\begin{eqnarray*}
|
||||
e' = e:\\
|
||||
f'x' &=& r^2 - ex - e\\
|
||||
e' = e - 1:\\
|
||||
f'x' &=& r^2 - ex - e + x + 1
|
||||
\end{eqnarray*}
|
||||
Setzt man jetzt $d = (2f + 1)x$, so ist $f < -0.5$ mit~$d < 0$
|
||||
equivalent. Erreicht man diesen Fall unter Verwendung der Annahme
|
||||
$e' = e$,
|
||||
dann muß in bekannter Weise $f$ um~$1$ erhöht und $e$ um~$1$
|
||||
vermindert werden.
|
||||
|
||||
\pagebreak
|
||||
Für $d'$ ergeben sich dann die folgenden Werte:
|
||||
\begin{eqnarray*}
|
||||
e' = e:\\
|
||||
d' &=& d - 2e + 1\\
|
||||
e' = e - 1:\\
|
||||
d' &=& d - 2e + 2x + 2 + 1
|
||||
\end{eqnarray*}
|
||||
Daraus ergibt sich der in Tabelle~\ref{halg} angegebene
|
||||
Hyperbelalgorithmus für den ersten Oktanten.
|
||||
\begin{table}
|
||||
\caption{Hyperbelalgorithmus}\label{halg}
|
||||
\begin{fframe}
|
||||
\begin{enumerate}
|
||||
\item Setze $d \gets r$, $x \gets r$, $y \gets r$
|
||||
\item Wiederhole bis zufrieden
|
||||
\begin{enumerate}
|
||||
\item Setze Punkt an $x \choose y$
|
||||
\item Setze $x \gets x + 1$
|
||||
\item Setze $d \gets d - 2y + 1$
|
||||
\item Falls $d < 0$
|
||||
\begin{enumerate}
|
||||
\item Setze $d \gets d + 2x$
|
||||
\item Setze $y \gets y - 1$
|
||||
\end{enumerate}
|
||||
\end{enumerate}
|
||||
\end{enumerate}
|
||||
\end{fframe}
|
||||
\end{table}
|
||||
\begin{table}
|
||||
\caption{Hyperbeln in C}
|
||||
\begin{fframe}
|
||||
\small
|
||||
\begin{verbatim}
|
||||
void
|
||||
four(int x0, int y0, int x, int y)
|
||||
/* Hyperbeln sind nur in 4 Oktanten */
|
||||
{
|
||||
dot(x0+x,y0+y);
|
||||
dot(x0+y,y0+x);
|
||||
dot(x0-x,y0-y);
|
||||
dot(x0-y,y0-x);
|
||||
}
|
||||
|
||||
void
|
||||
hyperb(int x0, int y0, int r, int dx)
|
||||
{
|
||||
int d, x, y;
|
||||
|
||||
for (x = y = d = r; dx--;) {
|
||||
four(x0,y0,x,y);
|
||||
++x;
|
||||
if ((d -= 2*y + 1) < 0) {
|
||||
d += 2*x;
|
||||
--y;
|
||||
}
|
||||
}
|
||||
}
|
||||
\end{verbatim}
|
||||
\end{fframe}
|
||||
\end{table}
|
||||
\begin{figure}
|
||||
\begin{picture}(\ones,\ones)
|
||||
\put(0,0){\usebox{\raster}}
|
||||
\newcount\x
|
||||
\newcount\y
|
||||
\newcount\q
|
||||
\newcount\r
|
||||
\r\ones
|
||||
\loop
|
||||
\advance \r by -10
|
||||
\ifnum \r > 0
|
||||
{\x \r
|
||||
\y \r
|
||||
\q \r
|
||||
\loop
|
||||
\put(\x,\y){\circle*{1}}
|
||||
\put(\y,\x){\circle*{1}}
|
||||
\ifnum \x < \ones
|
||||
\advance \x by 1
|
||||
\advance \q by -\y
|
||||
\advance \q by -\y
|
||||
\advance \q by 1
|
||||
\ifnum \q < 0
|
||||
\advance \q by \x
|
||||
\advance \q by \x
|
||||
\advance \y by -1
|
||||
\fi
|
||||
\repeat}
|
||||
\repeat
|
||||
\end{picture}
|
||||
\caption{Hyperbeln}\label{hzeich}
|
||||
\end{figure}
|
||||
\end{document}
|
|
@ -1,229 +0,0 @@
|
|||
;;; context-en.el --- Support for the ConTeXt english interface. -*- lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 2003-2004, 2006, 2008
|
||||
;; 2010, 2014, 2020-2023 Free Software Foundation, Inc.
|
||||
|
||||
;; Maintainer: Berend de Boer <berend@pobox.com>
|
||||
;; Keywords: tex
|
||||
|
||||
;; This file is part of AUCTeX.
|
||||
|
||||
;; AUCTeX is free software; you can redistribute it and/or modify it
|
||||
;; under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation; either version 3, or (at your option)
|
||||
;; any later version.
|
||||
|
||||
;; AUCTeX is distributed in the hope that it will be useful, but
|
||||
;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
;; General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with AUCTeX; see the file COPYING. If not, write to the Free
|
||||
;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
;; 02110-1301, USA.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; This file is loaded by context.el when required.
|
||||
|
||||
;;; Code:
|
||||
|
||||
;; Build upon ConTeXt
|
||||
(require 'context)
|
||||
|
||||
;;; ConText macro names
|
||||
|
||||
;;; Code:
|
||||
(defvar ConTeXt-environment-list-en
|
||||
'("alignment" "appendices"
|
||||
"background" "backmatter" "bodymatter" "bodypart" "buffer"
|
||||
"code" "color" "columns" "combination"
|
||||
"encoding" "extroductions"
|
||||
"fact" "formula" "framedcode" "framedtext" "frontmatter"
|
||||
"helptext" "hiding"
|
||||
"itemize"
|
||||
"legend" "line" "linecorrection" "linenumbering" "lines"
|
||||
"localenvironment" "localfootnotes"
|
||||
"makeup" "mapping" "marginblock" "marginedge" "marginrule" "mode"
|
||||
"narrower" "notmode"
|
||||
"opposite"
|
||||
"packed" "pagecomment" "pagefigure" "positioning" "postponing"
|
||||
"quotation"
|
||||
"raster" "register"
|
||||
"standardmakeup"
|
||||
"table" "tabulate" "TEXpage" "text" "textbackground" "typing"
|
||||
"unpacked"
|
||||
;; project structure
|
||||
"component" "environment" "product" "project"
|
||||
;; flowcharts, if you have loaded this module
|
||||
"FLOWcell" "FLOWchart"
|
||||
;; typesetting computer languages
|
||||
"EIFFEL" "JAVA" "JAVASCRIPT" "MP" "PASCAL" "PERL" "SQL" "TEX" "XML"
|
||||
;; some metapost environments
|
||||
"MPpositiongraphic" "useMPgraphic" "MPcode" "reusableMPgraphic"
|
||||
"uniqueMPgraphic")
|
||||
"List of the ConTeXt en interface start/stop pairs.")
|
||||
|
||||
(defvar ConTeXt-define-list-en
|
||||
'("accent"
|
||||
"background" "blank" "block" "blocks" "bodyfont" "bodyfontenvironment"
|
||||
"buffer"
|
||||
"casemap" "character" "color" "colorgroup" "combinedlist" "command"
|
||||
"description" "enumeration"
|
||||
"float" "font" "fontsynonym" "framedtext" "head"
|
||||
"indenting" "label"
|
||||
"logo" "overlay"
|
||||
"palet" "program" "startstop" "type" "typing")
|
||||
"List of the names of ConTeXt en interface macro's that define things.")
|
||||
|
||||
(defvar ConTeXt-setup-list-en
|
||||
'("align" "arranging" "background" "backgrounds" "blackrules"
|
||||
"blank" "block" "bodyfont" "bodyfontenvironment" "bottom"
|
||||
"bottomtexts" "buffer" "capitals" "caption" "captions" "color"
|
||||
"colors" "columns" "combinations" "combinedlist" "descriptions"
|
||||
"enumerations" "externalfigures" "fillinlines" "fillinrules" "float"
|
||||
"floats" "footer" "footertexts" "footnodedefinition" "footnotes"
|
||||
"framed" "framedtexts" "head" "header" "headertexts" "headnumber"
|
||||
"heads" "headtext" "hyphenmark" "indentations" "indenting" "inmargin"
|
||||
"interlinespace" "itemize" "items" "labeltext" "language" "layout"
|
||||
"linenumbering" "lines" "list" "makeup" "marginblocks"
|
||||
"marginrules" "marking" "narrower" "oppositeplacing"
|
||||
"pagecomment" "pagenumber" "pagenumbering" "palet" "papersize" "paragraphs"
|
||||
"quote" "referencing" "register"
|
||||
"screens" "section" "sectionblock" "sorting" "spacing"
|
||||
"subpagenumber" "synonyms" "text" "textrules" "texttexts" "thinrules"
|
||||
"tolerance" "top" "toptexts" "type" "typing" "underbar" "whitespace")
|
||||
"List of the names of ConTeXt en interface macro's that setup things.")
|
||||
|
||||
;; referencing in ConTeXt
|
||||
(defvar ConTeXt-referencing-list-en
|
||||
'("in" "at" "about" "pagereference" "textreference" "reference")
|
||||
"List of ConTeXt en macro's that are used for referencing."
|
||||
)
|
||||
|
||||
;; lists some place macro's as well, should perhaps be under separate menu
|
||||
(defvar ConTeXt-other-macro-list-en
|
||||
'("abbreviation" "adaptlayout" "at" "combinepages" "copypages"
|
||||
"externalfigure" "framed" "from" "input" "insertpages" "filterpages"
|
||||
"getbuffer" "goto"
|
||||
"hideblocks" "keepblocks"
|
||||
"leftaligned" "midaligned"
|
||||
"obeyspaces"
|
||||
"page"
|
||||
"placecontent" "placeexternalfigure" "placefigure" "placelogos" "placetable"
|
||||
"processblocks" "protect"
|
||||
"raggedcenter" "rightaligned" "rotate"
|
||||
"scale" "selectblocks" "showexternalfigures" "slicepages"
|
||||
"useexternalfigure" "unprotect" "url" "useblocks" "usemodule" "useURL"
|
||||
"version")
|
||||
"List of ConTeXt en interface macro's that are not an environment nor a setup.")
|
||||
|
||||
(defun ConTeXt-define-command-en (what)
|
||||
"The ConTeXt en interface way of creating a define command."
|
||||
(concat "define" what))
|
||||
|
||||
(defun ConTeXt-setup-command-en (what)
|
||||
"The ConTeXt en interface way of creating a setup command."
|
||||
(concat "setup" what))
|
||||
|
||||
(defvar ConTeXt-project-structure-list-en
|
||||
'("project" "environment" "product" "component")
|
||||
"List of ConTeXt project structure elements for its en interface.
|
||||
List should be in logical order.")
|
||||
|
||||
(defvar ConTeXt-section-block-list-en
|
||||
'("frontmatter" "bodymatter" "appendices" "backmatter")
|
||||
"List of ConTeXt section block names for its en interface.
|
||||
List should be in logical order.")
|
||||
|
||||
|
||||
;; TODO:
|
||||
;; ConTeXt has alternative sections like title and subject. Currently
|
||||
;; the level is used to find the section name, so the alternative
|
||||
;; names are never found. Have to start using the section name instead
|
||||
;; of the number.
|
||||
(defvar ConTeXt-numbered-section-list-en
|
||||
'(("part" 0)
|
||||
("chapter" 1)
|
||||
("section" 2)
|
||||
("subsection" 3)
|
||||
("subsubsection" 4))
|
||||
"List of the names of ConTeXt numbered sections for its en interface.")
|
||||
|
||||
(defvar ConTeXt-unnumbered-section-list-en
|
||||
'(("title" 1)
|
||||
("subject" 2)
|
||||
("subsubject" 3)
|
||||
("subsubsubject" 4))
|
||||
"List of the names of ConTeXt unnumbered sections for its en interface.")
|
||||
|
||||
(defvar ConTeXt-section-list-en
|
||||
(append ConTeXt-numbered-section-list-en ConTeXt-unnumbered-section-list-en)
|
||||
)
|
||||
|
||||
|
||||
(defvar ConTeXt-text-en "text"
|
||||
"The ConTeXt en interface body text group.")
|
||||
|
||||
(defvar ConTeXt-item-list-en
|
||||
'("item" "its" "mar" "ran" "sub" "sym")
|
||||
"The ConTeXt macro's that are variants of item.")
|
||||
|
||||
(defcustom ConTeXt-default-environment-en "itemize"
|
||||
"The default environment when creating new ones with `ConTeXt-environment'."
|
||||
:group 'ConTeXt-en-environment
|
||||
:type 'string)
|
||||
|
||||
(defvar ConTeXt-extra-paragraph-commands-en
|
||||
'("crlf" "par" "place[A-Za-z]+")
|
||||
"List of ConTeXt macros that should have their own line.
|
||||
That is, besides the section(-block) commands.")
|
||||
|
||||
;; Emacs en menu names and labels should go here
|
||||
;; to be done
|
||||
|
||||
|
||||
;;; Mode
|
||||
|
||||
(defun ConTeXt-en-mode-initialization ()
|
||||
"ConTeXt english interface specific initialization."
|
||||
;; FIXME: Move to `ConTeXt-mode-common-initialization' replacing
|
||||
;; `ConTeXt-environment-list-en' with `ConTeXt-environment-list'?
|
||||
(mapc #'ConTeXt-add-environments (reverse ConTeXt-environment-list-en))
|
||||
|
||||
(TeX-add-symbols
|
||||
'("but" ConTeXt-arg-define-ref (TeX-arg-literal " "))
|
||||
'("item" ConTeXt-arg-define-ref (TeX-arg-literal " "))
|
||||
'("items" [ConTeXt-arg-setup] (TeX-arg-string "Comma separated list"))
|
||||
'("its" ConTeXt-arg-define-ref (TeX-arg-literal " "))
|
||||
'("nop" (TeX-arg-literal " "))
|
||||
'("ran" TeX-arg-string (TeX-arg-literal " "))
|
||||
'("sub" ConTeXt-arg-define-ref (TeX-arg-literal " "))
|
||||
'("sym" (TeX-arg-string "Symbol") (TeX-arg-literal " "))))
|
||||
|
||||
;;;###autoload
|
||||
(defun context-en-mode ()
|
||||
"Major mode for editing files for ConTeXt using its english interface.
|
||||
|
||||
Special commands:
|
||||
\\{ConTeXt-mode-map}
|
||||
|
||||
Entering `context-mode' calls the value of `text-mode-hook',
|
||||
then the value of `TeX-mode-hook', and then the value
|
||||
of `ConTeXt-mode-hook'."
|
||||
(interactive)
|
||||
;; set the ConTeXt interface
|
||||
(setq ConTeXt-current-interface "en")
|
||||
|
||||
;; initialization
|
||||
(ConTeXt-mode-common-initialization)
|
||||
(ConTeXt-en-mode-initialization)
|
||||
|
||||
;; set mode line
|
||||
(setq TeX-base-mode-name "ConTeXt-en")
|
||||
(TeX-set-mode-name))
|
||||
|
||||
(provide 'context-en)
|
||||
|
||||
;;; context-en.el ends here
|
|
@ -1,205 +0,0 @@
|
|||
;;; context-nl.el --- Support for the ConTeXt dutch interface. -*- lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 2003, 2004, 2006, 2010,
|
||||
;; 2015, 2020-2023 Free Software Foundation, Inc.
|
||||
|
||||
;; Maintainer: Berend de Boer <berend@pobox.com>
|
||||
;; Keywords: tex
|
||||
|
||||
;; This file is part of AUCTeX.
|
||||
|
||||
;; AUCTeX is free software; you can redistribute it and/or modify it
|
||||
;; under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation; either version 3, or (at your option)
|
||||
;; any later version.
|
||||
|
||||
;; AUCTeX is distributed in the hope that it will be useful, but
|
||||
;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
;; General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with AUCTeX; see the file COPYING. If not, write to the Free
|
||||
;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
;; 02110-1301, USA.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; This file is loaded by context.el when required.
|
||||
|
||||
;;; Code:
|
||||
|
||||
;; Build upon ConTeXt
|
||||
(require 'context)
|
||||
|
||||
;;; ConText macro names
|
||||
|
||||
(defvar ConTeXt-environment-list-nl
|
||||
'("achtergrond" "alinea" "bloktekst" "buffer" "citaat" "combinatie"
|
||||
"commentaar" "deelomgeving" "document" "doordefinitie"
|
||||
"doornummering" "figuur" "formule" "gegeven" "interactiemenu"
|
||||
"kadertekst" "kantlijn" "kleur" "kolommen" "legenda" "lokaal"
|
||||
"lokalevoetnoten" "margeblok" "naamopmaak" "naast"
|
||||
"opelkaar" "opmaak" "opsomming" "overlay" "overzicht"
|
||||
"paginafiguur" "positioneren" "profiel"
|
||||
"regel" "regelcorrectie" "regelnummeren" "regels"
|
||||
"smaller" "symboolset" "synchronisatie"
|
||||
"tabel" "tabellen" "tabulatie" "tekstlijn" "typen"
|
||||
"uitlijnen" "uitstellen" "vanelkaar" "verbergen" "versie"
|
||||
;; project structure
|
||||
"omgeving" "onderdeel" "produkt" "project"
|
||||
;; flowcharts, if you have loaded this module
|
||||
"FLOWcell" "FLOWchart"
|
||||
;; typesetting computer languages
|
||||
"EIFFEL" "JAVA" "JAVASCRIPT" "MP" "PASCAL" "PERL" "SQL" "TEX" "XML"
|
||||
;; some metapost environments
|
||||
"MPpositiongraphic" "useMPgraphic" "MPcode" "reusableMPgraphic"
|
||||
"uniqueMPgraphic")
|
||||
"List of the ConTeXt nl interface start/stop pairs.")
|
||||
|
||||
(defvar ConTeXt-define-list-nl
|
||||
'("achtergrond" "startstop" "typen")
|
||||
"List of ConTeXt nl interface macro's that define things.")
|
||||
|
||||
(defvar ConTeXt-setup-list-nl
|
||||
'("achtergronden" "achtergrond" "alineas" "arrangeren" "blanko"
|
||||
"blok" "blokjes" "blokkopje" "blokkopjes" "boven" "boventeksten"
|
||||
"brieven" "buffer" "buttons" "citeren" "clip" "combinaties"
|
||||
"commentaar" "doordefinieren" "doornummeren" "doorspringen"
|
||||
"dunnelijnen" "externefiguren" "formules" "formulieren"
|
||||
"hoofd" "hoofdteksten" "inmarge" "inspringen" "interactiebalk"
|
||||
"interactie" "interactiemenu" "interactiescherm" "interlinie"
|
||||
"invullijnen" "invulregels" "items" "kaderteksten" "kantlijn"
|
||||
"kapitalen" "kleuren" "kleur" "kolommen" "kop" "kopnummer"
|
||||
"koppelteken" "koppen" "koptekst" "korps" "korpsomgeving"
|
||||
"labeltekst" "layout" "legenda" "lijndikte" "lijn" "lijst"
|
||||
"margeblokken" "markering" "naastplaatsen" "nummeren" "omlijnd"
|
||||
"onder" "onderstrepen" "onderteksten" "opmaak" "opsomming"
|
||||
"paginanummer" "paginanummering" "paginaovergangen" "palet"
|
||||
"papierformaat" "papier" "paragraafnummeren" "plaatsblok"
|
||||
"plaatsblokken" "plaatsblokkensplitsen" "positioneren" "profielen"
|
||||
"programmas" "publicaties" "rasters" "referentielijst" "refereren"
|
||||
"regelnummeren" "regels" "register" "roteren" "samengesteldelijst"
|
||||
"sectieblok" "sectie" "sheets" "smaller" "sorteren" "spatiering"
|
||||
"stickers" "strut" "strut" "subpaginanummer" "symboolset"
|
||||
"synchronisatiebalk" "synchronisatie" "synoniemen" "systeem"
|
||||
"taal" "tabellen" "tab" "tabulatie" "tekst" "tekstlijnen"
|
||||
"tekstpositie" "tekstteksten" "tekstvariabele" "tolerantie" "type"
|
||||
"typen" "uitlijnen" "uitvoer" "url" "velden" "veld" "versies"
|
||||
"voet" "voetnootdefinitie" "voetnoten" "voetteksten" "witruimte")
|
||||
"List of the names of ConTeXt nl interface macro's that setup things.")
|
||||
|
||||
;; referencing in ConTeXt
|
||||
(defvar ConTeXt-referencing-list-nl
|
||||
'("in" "op" "over" "paginareferentie" "tekstreferentie" "referentie")
|
||||
"List of ConTeXt nl macro's that are used for referencing."
|
||||
)
|
||||
|
||||
(defvar ConTeXt-other-macro-list-nl
|
||||
'("regellinks" "regelmidden" "regelrechts" "toonexternefiguren")
|
||||
"List of ConTeXt nl interface macro's that are not an environment nor a setup.")
|
||||
|
||||
(defun ConTeXt-define-command-nl (what)
|
||||
"The ConTeXt nl interface way of creating a define command."
|
||||
(concat "definieer" what))
|
||||
|
||||
(defun ConTeXt-setup-command-nl (what)
|
||||
"The ConTeXt nl interface way of creating a setup command."
|
||||
(concat "stel" what "in"))
|
||||
|
||||
(defvar ConTeXt-project-structure-list-nl
|
||||
'("project" "omgeving" "produkt" "onderdeel")
|
||||
"List of ConTeXt project structure elements for its nl interface.
|
||||
List should be in logical order.")
|
||||
|
||||
(defvar ConTeXt-section-block-list-nl
|
||||
'("inleidingen" "hoofdteksten" "bijlagen" "uitleidingen")
|
||||
"List of ConTeXt section block names for its nl interface.
|
||||
List should be in logical order.")
|
||||
|
||||
|
||||
;; TODO:
|
||||
;; ConTeXt has alternative sections like title and subject. Currently
|
||||
;; the level is used to find the section name, so the alternative
|
||||
;; names are never found. Have to start using the section name instead
|
||||
;; of the number.
|
||||
(defvar ConTeXt-numbered-section-list-nl
|
||||
'(("deel" 0)
|
||||
("hoofdstuk" 1)
|
||||
("paragraaf" 2)
|
||||
("subparagraaf" 3)
|
||||
("subsubparagraaf" 4))
|
||||
"List of the names of ConTeXt numbered sections for its nl interface.")
|
||||
|
||||
(defvar ConTeXt-unnumbered-section-list-nl
|
||||
'(("titel" 1)
|
||||
("onderwerp" 2)
|
||||
("subonderwerp" 3)
|
||||
("subsubsubsubject" 4))
|
||||
"List of the names of ConTeXt unnumbered sections for its nl interface.")
|
||||
|
||||
(defvar ConTeXt-text-nl "tekst"
|
||||
"The ConTeXt nl interface body text group.")
|
||||
|
||||
(defvar ConTeXt-item-list-nl
|
||||
'("som" "its" "mar" "ran" "sub" "sym")
|
||||
"The ConTeXt macro's that are variants of item.")
|
||||
|
||||
(defcustom ConTeXt-default-environment-nl "opsomming"
|
||||
"The default environment when creating new ones with `ConTeXt-environment'."
|
||||
:group 'ConTeXt-nl-environment
|
||||
:type 'string)
|
||||
|
||||
(defvar ConTeXt-extra-paragraph-commands-nl
|
||||
'("crlf" "par" "plaats[A-Za-z]+")
|
||||
"List of ConTeXt macros that should have their own line.
|
||||
That is, besides the section(-block) commands.")
|
||||
|
||||
;; Emacs en menu names and labels should go here
|
||||
;; to be done
|
||||
|
||||
|
||||
;;; Mode
|
||||
|
||||
(defun ConTeXt-nl-mode-initialization ()
|
||||
"ConTeXt dutch interface specific initialization."
|
||||
;; FIXME: Move to `ConTeXt-mode-common-initialization' replacing
|
||||
;; `ConTeXt-environment-list-nl' with `ConTeXt-environment-list'?
|
||||
(mapc #'ConTeXt-add-environments (reverse ConTeXt-environment-list-nl))
|
||||
|
||||
(TeX-add-symbols
|
||||
'("but" ConTeXt-arg-define-ref (TeX-arg-literal " "))
|
||||
'("som" ConTeXt-arg-define-ref (TeX-arg-literal " "))
|
||||
'("items" [ConTeXt-arg-setup] (TeX-arg-string "Comma separated list"))
|
||||
'("its" ConTeXt-arg-define-ref (TeX-arg-literal " "))
|
||||
'("nop" (TeX-arg-literal " "))
|
||||
'("ran" TeX-arg-string (TeX-arg-literal " "))
|
||||
'("sub" ConTeXt-arg-define-ref (TeX-arg-literal " "))
|
||||
'("sym" (TeX-arg-string "Symbol") (TeX-arg-literal " "))))
|
||||
|
||||
;;;###autoload
|
||||
(defun context-nl-mode ()
|
||||
"Major mode for editing files for ConTeXt using its dutch interface.
|
||||
|
||||
Special commands:
|
||||
\\{ConTeXt-mode-map}
|
||||
|
||||
Entering `context-mode' calls the value of `text-mode-hook',
|
||||
then the value of `TeX-mode-hook', and then the value
|
||||
of `ConTeXt-mode-hook'."
|
||||
(interactive)
|
||||
|
||||
;; set the ConTeXt interface
|
||||
(setq ConTeXt-current-interface "nl")
|
||||
|
||||
;; initialization
|
||||
(ConTeXt-mode-common-initialization)
|
||||
(ConTeXt-nl-mode-initialization)
|
||||
|
||||
;; set mode line
|
||||
(setq TeX-base-mode-name "ConTeXt-nl")
|
||||
(TeX-set-mode-name))
|
||||
|
||||
(provide 'context-nl)
|
||||
|
||||
;;; context-nl.el ends here
|
File diff suppressed because it is too large
Load diff
|
@ -1,25 +0,0 @@
|
|||
This is the file .../info/dir, which contains the
|
||||
topmost node of the Info hierarchy, called (dir)Top.
|
||||
The first time you invoke Info you start off looking at this node.
|
||||
|
||||
File: dir, Node: Top This is the top of the INFO tree
|
||||
|
||||
This (the Directory node) gives a menu of major topics.
|
||||
Typing "q" exits, "?" lists all Info commands, "d" returns here,
|
||||
"h" gives a primer for first-timers,
|
||||
"mEmacs<Return>" visits the Emacs manual, etc.
|
||||
|
||||
In Emacs, you can click mouse button 2 on a menu item or cross reference
|
||||
to select it.
|
||||
|
||||
* Menu:
|
||||
|
||||
Emacs
|
||||
* AUCTeX: (auctex). A sophisticated TeX environment for Emacs.
|
||||
* preview-latex: (preview-latex).
|
||||
Preview LaTeX fragments in Emacs
|
||||
|
||||
TeX
|
||||
* AUCTeX: (auctex). A sophisticated TeX environment for Emacs.
|
||||
* preview-latex: (preview-latex).
|
||||
Preview LaTeX fragments in Emacs
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,48 +0,0 @@
|
|||
@include macros.texi
|
||||
@c -----------------------
|
||||
@cindex Copying
|
||||
@cindex Copyright
|
||||
@cindex GPL
|
||||
@cindex General Public License
|
||||
@cindex License
|
||||
@c @cindex Free
|
||||
@c @cindex Free software
|
||||
@c @cindex Distribution
|
||||
@c @cindex Right
|
||||
@cindex Warranty
|
||||
|
||||
(This text is stolen from the Texinfo manual, Edition 4.0).
|
||||
|
||||
The programs currently being distributed that relate to @previewlatex{}
|
||||
include lisp files for Emacs and style files for @LaTeX{}. These
|
||||
programs are @dfn{free}; this means that everyone is free to use them
|
||||
and free to redistribute them on a free basis. The @previewlatex{}
|
||||
related programs are not in the public domain; they are copyrighted and
|
||||
there are restrictions on their distribution, but these restrictions are
|
||||
designed to permit everything that a good cooperating citizen would want
|
||||
to do. What is not allowed is to try to prevent others from further
|
||||
sharing any version of these programs that they might get from you.
|
||||
|
||||
Specifically, we want to make sure that you have the right to give away
|
||||
copies of the programs that relate to @previewlatex{}, that you receive
|
||||
source code or else can get it if you want it, that you can change these
|
||||
programs or use pieces of them in new free programs, and that you know
|
||||
you can do these things.
|
||||
|
||||
To make sure that everyone has such rights, we have to forbid you to
|
||||
deprive anyone else of these rights. For example, if you distribute
|
||||
copies of the @previewlatex{} related programs, you must give the
|
||||
recipients all the rights that you have. You must make sure that they,
|
||||
too, receive or can get the source code. And you must tell them their
|
||||
rights.
|
||||
|
||||
Also, for our own protection, we must make certain that everyone finds
|
||||
out that there is no warranty for the programs that relate to
|
||||
@previewlatex{}. If these programs are modified by someone else and
|
||||
passed on, we want their recipients to know that what they have is not
|
||||
what we distributed, so that any problems introduced by others will not
|
||||
reflect on our reputation.
|
||||
|
||||
The precise conditions of the licenses for the programs currently being
|
||||
distributed that relate to @previewlatex{} are found in the General Public
|
||||
Licenses that accompany them.
|
|
@ -1,158 +0,0 @@
|
|||
@c This is part of the AUCTeX Manual.
|
||||
@c Copyright (C) 2004-2023 Free Software Foundation, Inc.
|
||||
@c See the file auctex.texi for copying conditions.
|
||||
@ifset rawfile
|
||||
@include macros.texi
|
||||
@chapheading Frequently Asked Questions about @AUCTeX{}
|
||||
@end ifset
|
||||
|
||||
@c We should switch to sectioning commands instead of items when this
|
||||
@c list grows. Keep in mind to formulate short questions because
|
||||
@c section headings will not be broken in contrast to items.
|
||||
@enumerate
|
||||
@item
|
||||
Something is not working correctly. What should I do?
|
||||
|
||||
Well, you might have guessed it, the first place to look is in the
|
||||
available documentation packaged with @AUCTeX{}. This could be the
|
||||
release notes (in the @file{RELEASE} file) or the news section of the
|
||||
manual in case you are experiencing problems after an upgrade, the
|
||||
@file{INSTALL} file in case you are having problems with the
|
||||
installation, the section about bugs in the manual in case you
|
||||
encountered a bug or the relevant sections in the manual for other
|
||||
related problems.
|
||||
|
||||
If this did not help, you can send a bug report to the @AUCTeX{} bug
|
||||
reporting list by using the command @kbd{M-x TeX-submit-bug-report @key{RET}}.
|
||||
But before you do this, you can try to get more information about the
|
||||
problem at hand which might also help you locate the cause of the error
|
||||
yourself.
|
||||
|
||||
First, you can try to generate a so-called backtrace which shows the
|
||||
functions involved in a program error. In order to do this, start Emacs
|
||||
with the command line @samp{emacs --debug-init} and/or put the line
|
||||
|
||||
@lisp
|
||||
(setq debug-on-error t)
|
||||
@end lisp
|
||||
|
||||
as the first line into your init file. After Emacs has started, you can
|
||||
load a file which triggers the error and a new window should pop up
|
||||
showing the backtrace. If you get such a backtrace, please include it
|
||||
in the bug report.
|
||||
|
||||
Second, you can try to figure out if something in your personal or site
|
||||
configuration triggers the error by starting Emacs without such
|
||||
customizations. You can do this by invoking Emacs with the following
|
||||
command line, depending on the installation scheme of @AUCTeX{} and your
|
||||
@acronym{OS}:
|
||||
@itemize
|
||||
@item
|
||||
If you installed @AUCTeX{} from @acronym{ELPA}, use @samp{emacs -q
|
||||
-no-site-file --eval "(progn (setq package-load-list '((auctex t)))
|
||||
(package-initialize))"}. The @option{--eval} option activates only
|
||||
@AUCTeX{} among all installed @acronym{EPLA} packages.
|
||||
@item
|
||||
If you installed @AUCTeX{} via traditional
|
||||
@command{configure}--@command{make} scheme, use @samp{emacs -q
|
||||
-no-site-file -l auctex}. The @option{-l} option loads @file{auctex.el}
|
||||
which you normally do in your init file.
|
||||
@item
|
||||
In both above cases, use @samp{runemacs} instead of @samp{emacs} on
|
||||
windows.
|
||||
@end itemize
|
||||
|
||||
After you
|
||||
have started Emacs like this, you can load the file triggering the
|
||||
error. If everything is working now, you know that you have to search
|
||||
either in the site configuration file or your personal init file for
|
||||
statements related to the problem.
|
||||
|
||||
@item
|
||||
What versions of Emacs are supported?
|
||||
|
||||
@AUCTeX{} was tested with @w{GNU Emacs 26.1}. Older versions may work but
|
||||
are unsupported.
|
||||
|
||||
@item
|
||||
What should I do when @command{./configure} does not find programs like @command{latex}?
|
||||
|
||||
This is problem often encountered on Windows. Make sure that the
|
||||
@env{PATH} environment variable includes the directories containing the
|
||||
relevant programs, as described in
|
||||
@ifset rawfile
|
||||
the file @file{INSTALL.windows}
|
||||
@end ifset
|
||||
@ifclear rawfile
|
||||
@ref{Installation under MS Windows,,,auctex,the @AUCTeX{} manual}.
|
||||
@end ifclear
|
||||
|
||||
@item
|
||||
Why doesn't the completion, style file, or multifile stuff work?
|
||||
|
||||
It must be enabled first, insert this in your init file:
|
||||
|
||||
@lisp
|
||||
(setq-default TeX-master nil)
|
||||
(setq TeX-parse-self t)
|
||||
(setq TeX-auto-save t)
|
||||
@end lisp
|
||||
|
||||
Read also the chapters about parsing and multifile documents in the
|
||||
manual.
|
||||
@ifclear rawfile
|
||||
@xref{Parsing Files} and @ref{Multifile}.
|
||||
@end ifclear
|
||||
|
||||
@item
|
||||
Why doesn't @code{TeX-save-document} work?
|
||||
|
||||
@code{TeX-check-path} has to contain "@file{./}" somewhere.
|
||||
|
||||
@item
|
||||
Why is the information in @file{foo.tex} forgotten when I save
|
||||
@file{foo.bib}?
|
||||
|
||||
For various reasons, @AUCTeX{} ignores the extension when it stores
|
||||
information about a file, so you should use unique base names for your
|
||||
files. E.g.@: rename @file{foo.bib} to @file{foob.bib}.
|
||||
|
||||
@item
|
||||
Why doesn't @AUCTeX{} signal when processing a document is done?
|
||||
|
||||
If the message in the minibuffer stays "Type `C-c C-l' to display
|
||||
results of compilation.", you probably have a misconfiguration in your
|
||||
init file (@file{.emacs}, @file{init.el} or similar). To track this
|
||||
down either search in the @samp{*Messages*} buffer for an error message
|
||||
or put @code{(setq debug-on-error t)} as the first line into your init
|
||||
file, restart Emacs and open a @LaTeX{} file. Emacs will complain
|
||||
loudly by opening a debugging buffer as soon as an error occurs. The
|
||||
information in the debugging buffer can help you find the cause of the
|
||||
error in your init file.
|
||||
|
||||
@item
|
||||
Why does @code{TeX-next-error} (@kbd{C-c `}) fail?
|
||||
|
||||
If @code{TeX-file-line-error} is set to nil (not the default), these
|
||||
sort of failures might be related to the the fact that when writing the
|
||||
log file, @TeX{} puts information related to a file, including error
|
||||
messages, between a pair of parentheses. In this scenario @AUCTeX{}
|
||||
determines the file where the error happened by parsing the log file and
|
||||
counting the parentheses. This can fail when there are other,
|
||||
unbalanced parentheses present.
|
||||
|
||||
Activating so-called @samp{file:line:error} messages for the log file usually
|
||||
solves this issue, as these kind of messages are are easier to parse;
|
||||
however, they may lack some details. Activation can be done either in
|
||||
the configuration of your @TeX{} system (consult its manual to see where
|
||||
this is) or by simply keeping the variable @code{TeX-file-line-error} to
|
||||
the default value of non-nil.
|
||||
|
||||
@item
|
||||
What does @samp{AUC} stand for?
|
||||
|
||||
@AUCTeX{} came into being at Aalborg University in Denmark. Back then
|
||||
the Danish name of the university was Aalborg Universitetscenter; @samp{AUC}
|
||||
for short.
|
||||
|
||||
@end enumerate
|
|
@ -1,506 +0,0 @@
|
|||
@node GNU Free Documentation License
|
||||
@appendixsec GNU Free Documentation License
|
||||
|
||||
@cindex FDL, GNU Free Documentation License
|
||||
@center Version 1.3, 3 November 2008
|
||||
|
||||
@display
|
||||
Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software
|
||||
Foundation, Inc. @uref{https://fsf.org/}
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
@end display
|
||||
|
||||
@enumerate 0
|
||||
@item
|
||||
PREAMBLE
|
||||
|
||||
The purpose of this License is to make a manual, textbook, or other
|
||||
functional and useful document @dfn{free} in the sense of freedom: to
|
||||
assure everyone the effective freedom to copy and redistribute it,
|
||||
with or without modifying it, either commercially or noncommercially.
|
||||
Secondarily, this License preserves for the author and publisher a way
|
||||
to get credit for their work, while not being considered responsible
|
||||
for modifications made by others.
|
||||
|
||||
This License is a kind of ``copyleft'', which means that derivative
|
||||
works of the document must themselves be free in the same sense. It
|
||||
complements the GNU General Public License, which is a copyleft
|
||||
license designed for free software.
|
||||
|
||||
We have designed this License in order to use it for manuals for free
|
||||
software, because free software needs free documentation: a free
|
||||
program should come with manuals providing the same freedoms that the
|
||||
software does. But this License is not limited to software manuals;
|
||||
it can be used for any textual work, regardless of subject matter or
|
||||
whether it is published as a printed book. We recommend this License
|
||||
principally for works whose purpose is instruction or reference.
|
||||
|
||||
@item
|
||||
APPLICABILITY AND DEFINITIONS
|
||||
|
||||
This License applies to any manual or other work, in any medium, that
|
||||
contains a notice placed by the copyright holder saying it can be
|
||||
distributed under the terms of this License. Such a notice grants a
|
||||
world-wide, royalty-free license, unlimited in duration, to use that
|
||||
work under the conditions stated herein. The ``Document'', below,
|
||||
refers to any such manual or work. Any member of the public is a
|
||||
licensee, and is addressed as ``you''. You accept the license if you
|
||||
copy, modify or distribute the work in a way requiring permission
|
||||
under copyright law.
|
||||
|
||||
A ``Modified Version'' of the Document means any work containing the
|
||||
Document or a portion of it, either copied verbatim, or with
|
||||
modifications and/or translated into another language.
|
||||
|
||||
A ``Secondary Section'' is a named appendix or a front-matter section
|
||||
of the Document that deals exclusively with the relationship of the
|
||||
publishers or authors of the Document to the Document's overall
|
||||
subject (or to related matters) and contains nothing that could fall
|
||||
directly within that overall subject. (Thus, if the Document is in
|
||||
part a textbook of mathematics, a Secondary Section may not explain
|
||||
any mathematics.) The relationship could be a matter of historical
|
||||
connection with the subject or with related matters, or of legal,
|
||||
commercial, philosophical, ethical or political position regarding
|
||||
them.
|
||||
|
||||
The ``Invariant Sections'' are certain Secondary Sections whose titles
|
||||
are designated, as being those of Invariant Sections, in the notice
|
||||
that says that the Document is released under this License. If a
|
||||
section does not fit the above definition of Secondary then it is not
|
||||
allowed to be designated as Invariant. The Document may contain zero
|
||||
Invariant Sections. If the Document does not identify any Invariant
|
||||
Sections then there are none.
|
||||
|
||||
The ``Cover Texts'' are certain short passages of text that are listed,
|
||||
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
|
||||
the Document is released under this License. A Front-Cover Text may
|
||||
be at most 5 words, and a Back-Cover Text may be at most 25 words.
|
||||
|
||||
A ``Transparent'' copy of the Document means a machine-readable copy,
|
||||
represented in a format whose specification is available to the
|
||||
general public, that is suitable for revising the document
|
||||
straightforwardly with generic text editors or (for images composed of
|
||||
pixels) generic paint programs or (for drawings) some widely available
|
||||
drawing editor, and that is suitable for input to text formatters or
|
||||
for automatic translation to a variety of formats suitable for input
|
||||
to text formatters. A copy made in an otherwise Transparent file
|
||||
format whose markup, or absence of markup, has been arranged to thwart
|
||||
or discourage subsequent modification by readers is not Transparent.
|
||||
An image format is not Transparent if used for any substantial amount
|
||||
of text. A copy that is not ``Transparent'' is called ``Opaque''.
|
||||
|
||||
Examples of suitable formats for Transparent copies include plain
|
||||
@sc{ascii} without markup, Texinfo input format, La@TeX{} input
|
||||
format, @acronym{SGML} or @acronym{XML} using a publicly available
|
||||
@acronym{DTD}, and standard-conforming simple @acronym{HTML},
|
||||
PostScript or @acronym{PDF} designed for human modification. Examples
|
||||
of transparent image formats include @acronym{PNG}, @acronym{XCF} and
|
||||
@acronym{JPG}. Opaque formats include proprietary formats that can be
|
||||
read and edited only by proprietary word processors, @acronym{SGML} or
|
||||
@acronym{XML} for which the @acronym{DTD} and/or processing tools are
|
||||
not generally available, and the machine-generated @acronym{HTML},
|
||||
PostScript or @acronym{PDF} produced by some word processors for
|
||||
output purposes only.
|
||||
|
||||
The ``Title Page'' means, for a printed book, the title page itself,
|
||||
plus such following pages as are needed to hold, legibly, the material
|
||||
this License requires to appear in the title page. For works in
|
||||
formats which do not have any title page as such, ``Title Page'' means
|
||||
the text near the most prominent appearance of the work's title,
|
||||
preceding the beginning of the body of the text.
|
||||
|
||||
The ``publisher'' means any person or entity that distributes copies
|
||||
of the Document to the public.
|
||||
|
||||
A section ``Entitled XYZ'' means a named subunit of the Document whose
|
||||
title either is precisely XYZ or contains XYZ in parentheses following
|
||||
text that translates XYZ in another language. (Here XYZ stands for a
|
||||
specific section name mentioned below, such as ``Acknowledgements'',
|
||||
``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title''
|
||||
of such a section when you modify the Document means that it remains a
|
||||
section ``Entitled XYZ'' according to this definition.
|
||||
|
||||
The Document may include Warranty Disclaimers next to the notice which
|
||||
states that this License applies to the Document. These Warranty
|
||||
Disclaimers are considered to be included by reference in this
|
||||
License, but only as regards disclaiming warranties: any other
|
||||
implication that these Warranty Disclaimers may have is void and has
|
||||
no effect on the meaning of this License.
|
||||
|
||||
@item
|
||||
VERBATIM COPYING
|
||||
|
||||
You may copy and distribute the Document in any medium, either
|
||||
commercially or noncommercially, provided that this License, the
|
||||
copyright notices, and the license notice saying this License applies
|
||||
to the Document are reproduced in all copies, and that you add no other
|
||||
conditions whatsoever to those of this License. You may not use
|
||||
technical measures to obstruct or control the reading or further
|
||||
copying of the copies you make or distribute. However, you may accept
|
||||
compensation in exchange for copies. If you distribute a large enough
|
||||
number of copies you must also follow the conditions in section 3.
|
||||
|
||||
You may also lend copies, under the same conditions stated above, and
|
||||
you may publicly display copies.
|
||||
|
||||
@item
|
||||
COPYING IN QUANTITY
|
||||
|
||||
If you publish printed copies (or copies in media that commonly have
|
||||
printed covers) of the Document, numbering more than 100, and the
|
||||
Document's license notice requires Cover Texts, you must enclose the
|
||||
copies in covers that carry, clearly and legibly, all these Cover
|
||||
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
|
||||
the back cover. Both covers must also clearly and legibly identify
|
||||
you as the publisher of these copies. The front cover must present
|
||||
the full title with all words of the title equally prominent and
|
||||
visible. You may add other material on the covers in addition.
|
||||
Copying with changes limited to the covers, as long as they preserve
|
||||
the title of the Document and satisfy these conditions, can be treated
|
||||
as verbatim copying in other respects.
|
||||
|
||||
If the required texts for either cover are too voluminous to fit
|
||||
legibly, you should put the first ones listed (as many as fit
|
||||
reasonably) on the actual cover, and continue the rest onto adjacent
|
||||
pages.
|
||||
|
||||
If you publish or distribute Opaque copies of the Document numbering
|
||||
more than 100, you must either include a machine-readable Transparent
|
||||
copy along with each Opaque copy, or state in or with each Opaque copy
|
||||
a computer-network location from which the general network-using
|
||||
public has access to download using public-standard network protocols
|
||||
a complete Transparent copy of the Document, free of added material.
|
||||
If you use the latter option, you must take reasonably prudent steps,
|
||||
when you begin distribution of Opaque copies in quantity, to ensure
|
||||
that this Transparent copy will remain thus accessible at the stated
|
||||
location until at least one year after the last time you distribute an
|
||||
Opaque copy (directly or through your agents or retailers) of that
|
||||
edition to the public.
|
||||
|
||||
It is requested, but not required, that you contact the authors of the
|
||||
Document well before redistributing any large number of copies, to give
|
||||
them a chance to provide you with an updated version of the Document.
|
||||
|
||||
@item
|
||||
MODIFICATIONS
|
||||
|
||||
You may copy and distribute a Modified Version of the Document under
|
||||
the conditions of sections 2 and 3 above, provided that you release
|
||||
the Modified Version under precisely this License, with the Modified
|
||||
Version filling the role of the Document, thus licensing distribution
|
||||
and modification of the Modified Version to whoever possesses a copy
|
||||
of it. In addition, you must do these things in the Modified Version:
|
||||
|
||||
@enumerate A
|
||||
@item
|
||||
Use in the Title Page (and on the covers, if any) a title distinct
|
||||
from that of the Document, and from those of previous versions
|
||||
(which should, if there were any, be listed in the History section
|
||||
of the Document). You may use the same title as a previous version
|
||||
if the original publisher of that version gives permission.
|
||||
|
||||
@item
|
||||
List on the Title Page, as authors, one or more persons or entities
|
||||
responsible for authorship of the modifications in the Modified
|
||||
Version, together with at least five of the principal authors of the
|
||||
Document (all of its principal authors, if it has fewer than five),
|
||||
unless they release you from this requirement.
|
||||
|
||||
@item
|
||||
State on the Title page the name of the publisher of the
|
||||
Modified Version, as the publisher.
|
||||
|
||||
@item
|
||||
Preserve all the copyright notices of the Document.
|
||||
|
||||
@item
|
||||
Add an appropriate copyright notice for your modifications
|
||||
adjacent to the other copyright notices.
|
||||
|
||||
@item
|
||||
Include, immediately after the copyright notices, a license notice
|
||||
giving the public permission to use the Modified Version under the
|
||||
terms of this License, in the form shown in the Addendum below.
|
||||
|
||||
@item
|
||||
Preserve in that license notice the full lists of Invariant Sections
|
||||
and required Cover Texts given in the Document's license notice.
|
||||
|
||||
@item
|
||||
Include an unaltered copy of this License.
|
||||
|
||||
@item
|
||||
Preserve the section Entitled ``History'', Preserve its Title, and add
|
||||
to it an item stating at least the title, year, new authors, and
|
||||
publisher of the Modified Version as given on the Title Page. If
|
||||
there is no section Entitled ``History'' in the Document, create one
|
||||
stating the title, year, authors, and publisher of the Document as
|
||||
given on its Title Page, then add an item describing the Modified
|
||||
Version as stated in the previous sentence.
|
||||
|
||||
@item
|
||||
Preserve the network location, if any, given in the Document for
|
||||
public access to a Transparent copy of the Document, and likewise
|
||||
the network locations given in the Document for previous versions
|
||||
it was based on. These may be placed in the ``History'' section.
|
||||
You may omit a network location for a work that was published at
|
||||
least four years before the Document itself, or if the original
|
||||
publisher of the version it refers to gives permission.
|
||||
|
||||
@item
|
||||
For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve
|
||||
the Title of the section, and preserve in the section all the
|
||||
substance and tone of each of the contributor acknowledgements and/or
|
||||
dedications given therein.
|
||||
|
||||
@item
|
||||
Preserve all the Invariant Sections of the Document,
|
||||
unaltered in their text and in their titles. Section numbers
|
||||
or the equivalent are not considered part of the section titles.
|
||||
|
||||
@item
|
||||
Delete any section Entitled ``Endorsements''. Such a section
|
||||
may not be included in the Modified Version.
|
||||
|
||||
@item
|
||||
Do not retitle any existing section to be Entitled ``Endorsements'' or
|
||||
to conflict in title with any Invariant Section.
|
||||
|
||||
@item
|
||||
Preserve any Warranty Disclaimers.
|
||||
@end enumerate
|
||||
|
||||
If the Modified Version includes new front-matter sections or
|
||||
appendices that qualify as Secondary Sections and contain no material
|
||||
copied from the Document, you may at your option designate some or all
|
||||
of these sections as invariant. To do this, add their titles to the
|
||||
list of Invariant Sections in the Modified Version's license notice.
|
||||
These titles must be distinct from any other section titles.
|
||||
|
||||
You may add a section Entitled ``Endorsements'', provided it contains
|
||||
nothing but endorsements of your Modified Version by various
|
||||
parties---for example, statements of peer review or that the text has
|
||||
been approved by an organization as the authoritative definition of a
|
||||
standard.
|
||||
|
||||
You may add a passage of up to five words as a Front-Cover Text, and a
|
||||
passage of up to 25 words as a Back-Cover Text, to the end of the list
|
||||
of Cover Texts in the Modified Version. Only one passage of
|
||||
Front-Cover Text and one of Back-Cover Text may be added by (or
|
||||
through arrangements made by) any one entity. If the Document already
|
||||
includes a cover text for the same cover, previously added by you or
|
||||
by arrangement made by the same entity you are acting on behalf of,
|
||||
you may not add another; but you may replace the old one, on explicit
|
||||
permission from the previous publisher that added the old one.
|
||||
|
||||
The author(s) and publisher(s) of the Document do not by this License
|
||||
give permission to use their names for publicity for or to assert or
|
||||
imply endorsement of any Modified Version.
|
||||
|
||||
@item
|
||||
COMBINING DOCUMENTS
|
||||
|
||||
You may combine the Document with other documents released under this
|
||||
License, under the terms defined in section 4 above for modified
|
||||
versions, provided that you include in the combination all of the
|
||||
Invariant Sections of all of the original documents, unmodified, and
|
||||
list them all as Invariant Sections of your combined work in its
|
||||
license notice, and that you preserve all their Warranty Disclaimers.
|
||||
|
||||
The combined work need only contain one copy of this License, and
|
||||
multiple identical Invariant Sections may be replaced with a single
|
||||
copy. If there are multiple Invariant Sections with the same name but
|
||||
different contents, make the title of each such section unique by
|
||||
adding at the end of it, in parentheses, the name of the original
|
||||
author or publisher of that section if known, or else a unique number.
|
||||
Make the same adjustment to the section titles in the list of
|
||||
Invariant Sections in the license notice of the combined work.
|
||||
|
||||
In the combination, you must combine any sections Entitled ``History''
|
||||
in the various original documents, forming one section Entitled
|
||||
``History''; likewise combine any sections Entitled ``Acknowledgements'',
|
||||
and any sections Entitled ``Dedications''. You must delete all
|
||||
sections Entitled ``Endorsements.''
|
||||
|
||||
@item
|
||||
COLLECTIONS OF DOCUMENTS
|
||||
|
||||
You may make a collection consisting of the Document and other documents
|
||||
released under this License, and replace the individual copies of this
|
||||
License in the various documents with a single copy that is included in
|
||||
the collection, provided that you follow the rules of this License for
|
||||
verbatim copying of each of the documents in all other respects.
|
||||
|
||||
You may extract a single document from such a collection, and distribute
|
||||
it individually under this License, provided you insert a copy of this
|
||||
License into the extracted document, and follow this License in all
|
||||
other respects regarding verbatim copying of that document.
|
||||
|
||||
@item
|
||||
AGGREGATION WITH INDEPENDENT WORKS
|
||||
|
||||
A compilation of the Document or its derivatives with other separate
|
||||
and independent documents or works, in or on a volume of a storage or
|
||||
distribution medium, is called an ``aggregate'' if the copyright
|
||||
resulting from the compilation is not used to limit the legal rights
|
||||
of the compilation's users beyond what the individual works permit.
|
||||
When the Document is included in an aggregate, this License does not
|
||||
apply to the other works in the aggregate which are not themselves
|
||||
derivative works of the Document.
|
||||
|
||||
If the Cover Text requirement of section 3 is applicable to these
|
||||
copies of the Document, then if the Document is less than one half of
|
||||
the entire aggregate, the Document's Cover Texts may be placed on
|
||||
covers that bracket the Document within the aggregate, or the
|
||||
electronic equivalent of covers if the Document is in electronic form.
|
||||
Otherwise they must appear on printed covers that bracket the whole
|
||||
aggregate.
|
||||
|
||||
@item
|
||||
TRANSLATION
|
||||
|
||||
Translation is considered a kind of modification, so you may
|
||||
distribute translations of the Document under the terms of section 4.
|
||||
Replacing Invariant Sections with translations requires special
|
||||
permission from their copyright holders, but you may include
|
||||
translations of some or all Invariant Sections in addition to the
|
||||
original versions of these Invariant Sections. You may include a
|
||||
translation of this License, and all the license notices in the
|
||||
Document, and any Warranty Disclaimers, provided that you also include
|
||||
the original English version of this License and the original versions
|
||||
of those notices and disclaimers. In case of a disagreement between
|
||||
the translation and the original version of this License or a notice
|
||||
or disclaimer, the original version will prevail.
|
||||
|
||||
If a section in the Document is Entitled ``Acknowledgements'',
|
||||
``Dedications'', or ``History'', the requirement (section 4) to Preserve
|
||||
its Title (section 1) will typically require changing the actual
|
||||
title.
|
||||
|
||||
@item
|
||||
TERMINATION
|
||||
|
||||
You may not copy, modify, sublicense, or distribute the Document
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense, or distribute it is void, and
|
||||
will automatically terminate your rights under this License.
|
||||
|
||||
However, if you cease all violation of this License, then your license
|
||||
from a particular copyright holder is reinstated (a) provisionally,
|
||||
unless and until the copyright holder explicitly and finally
|
||||
terminates your license, and (b) permanently, if the copyright holder
|
||||
fails to notify you of the violation by some reasonable means prior to
|
||||
60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, receipt of a copy of some or all of the same material does
|
||||
not give you any rights to use it.
|
||||
|
||||
@item
|
||||
FUTURE REVISIONS OF THIS LICENSE
|
||||
|
||||
The Free Software Foundation may publish new, revised versions
|
||||
of the GNU Free Documentation License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns. See
|
||||
@uref{https://www.gnu.org/licenses/}.
|
||||
|
||||
Each version of the License is given a distinguishing version number.
|
||||
If the Document specifies that a particular numbered version of this
|
||||
License ``or any later version'' applies to it, you have the option of
|
||||
following the terms and conditions either of that specified version or
|
||||
of any later version that has been published (not as a draft) by the
|
||||
Free Software Foundation. If the Document does not specify a version
|
||||
number of this License, you may choose any version ever published (not
|
||||
as a draft) by the Free Software Foundation. If the Document
|
||||
specifies that a proxy can decide which future versions of this
|
||||
License can be used, that proxy's public statement of acceptance of a
|
||||
version permanently authorizes you to choose that version for the
|
||||
Document.
|
||||
|
||||
@item
|
||||
RELICENSING
|
||||
|
||||
``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any
|
||||
World Wide Web server that publishes copyrightable works and also
|
||||
provides prominent facilities for anybody to edit those works. A
|
||||
public wiki that anybody can edit is an example of such a server. A
|
||||
``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the
|
||||
site means any set of copyrightable works thus published on the MMC
|
||||
site.
|
||||
|
||||
``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0
|
||||
license published by Creative Commons Corporation, a not-for-profit
|
||||
corporation with a principal place of business in San Francisco,
|
||||
California, as well as future copyleft versions of that license
|
||||
published by that same organization.
|
||||
|
||||
``Incorporate'' means to publish or republish a Document, in whole or
|
||||
in part, as part of another Document.
|
||||
|
||||
An MMC is ``eligible for relicensing'' if it is licensed under this
|
||||
License, and if all works that were first published under this License
|
||||
somewhere other than this MMC, and subsequently incorporated in whole
|
||||
or in part into the MMC, (1) had no cover texts or invariant sections,
|
||||
and (2) were thus incorporated prior to November 1, 2008.
|
||||
|
||||
The operator of an MMC Site may republish an MMC contained in the site
|
||||
under CC-BY-SA on the same site at any time before August 1, 2009,
|
||||
provided the MMC is eligible for relicensing.
|
||||
|
||||
@end enumerate
|
||||
|
||||
@page
|
||||
@heading ADDENDUM: How to use this License for your documents
|
||||
|
||||
To use this License in a document you have written, include a copy of
|
||||
the License in the document and put the following copyright and
|
||||
license notices just after the title page:
|
||||
|
||||
@smallexample
|
||||
@group
|
||||
Copyright (C) @var{year} @var{your name}.
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
|
||||
Texts. A copy of the license is included in the section entitled ``GNU
|
||||
Free Documentation License''.
|
||||
@end group
|
||||
@end smallexample
|
||||
|
||||
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
|
||||
replace the ``with@dots{}Texts.''@: line with this:
|
||||
|
||||
@smallexample
|
||||
@group
|
||||
with the Invariant Sections being @var{list their titles}, with
|
||||
the Front-Cover Texts being @var{list}, and with the Back-Cover Texts
|
||||
being @var{list}.
|
||||
@end group
|
||||
@end smallexample
|
||||
|
||||
If you have Invariant Sections without Cover Texts, or some other
|
||||
combination of the three, merge those two alternatives to suit the
|
||||
situation.
|
||||
|
||||
If your document contains nontrivial examples of program code, we
|
||||
recommend releasing these examples in parallel under your choice of
|
||||
free software license, such as the GNU General Public License,
|
||||
to permit their use in free software.
|
||||
|
||||
@c Local Variables:
|
||||
@c ispell-local-pdict: "ispell-dict"
|
||||
@c End:
|
||||
|
File diff suppressed because it is too large
Load diff
|
@ -1,628 +0,0 @@
|
|||
@c This is part of the AUCTeX Manual.
|
||||
@c Copyright (C) 1994, 1996, 2003-2007, 2012-2013,
|
||||
@c 2015-2023 Free Software Foundation, Inc.
|
||||
@c See the file auctex.texi for copying conditions.
|
||||
@ifset rawfile
|
||||
@include macros.texi
|
||||
@node Installation,,(dir),(dir)
|
||||
@top Installing @AUCTeX{}
|
||||
@end ifset
|
||||
|
||||
@ifclear rawfile
|
||||
@node Installation
|
||||
@chapter Installing @AUCTeX{}
|
||||
@end ifclear
|
||||
|
||||
The modern and strongly recommended way of installing @AUCTeX{} is by
|
||||
using the Emacs package manager integrated in Emacs 24 and greater
|
||||
(@acronym{ELPA}). Simply do @kbd{M-x list-packages @key{RET}}, mark the
|
||||
auctex package for installation with @kbd{i}, and hit @kbd{x} to execute
|
||||
the installation procedure. That's all.
|
||||
|
||||
@code{use-package} users can use this simple recipe in their
|
||||
@code{user-init-file} which essentially does the same as the manual
|
||||
installation explained above.
|
||||
|
||||
@lisp
|
||||
(use-package tex
|
||||
:ensure auctex)
|
||||
@end lisp
|
||||
|
||||
Using the @acronym{ELPA} version has several advantages. Besides being
|
||||
platform and @acronym{OS} independent, you will receive intermediate
|
||||
bugfix releases between major @AUCTeX{} releases conveniently. For past
|
||||
@acronym{ELPA} releases, see
|
||||
@url{https://elpa.gnu.org/packages/auctex.html}.
|
||||
@ifclear rawfile
|
||||
Once the installation is completed, you can skip the rest of this
|
||||
section and proceed to @ref{Quick Start}.
|
||||
@end ifclear
|
||||
|
||||
The remainder of this section is about installing @AUCTeX{} from a
|
||||
release tarball or from a checkout of the @AUCTeX{} repository.
|
||||
|
||||
Installing @AUCTeX{} should be simple: merely @command{./configure},
|
||||
@command{make}, and @code{make install} for a standard site-wide
|
||||
installation (most other installations can be done by specifying a
|
||||
@option{--prefix=@dots{}} option).
|
||||
|
||||
On many systems, this will already activate the package, making its
|
||||
modes the default instead of the built-in modes of Emacs. If this is
|
||||
not the case, consult @ref{Loading the package}. Please read through
|
||||
this document fully before installing anything. The installation
|
||||
procedure has changed as compared to earlier versions. Users of @w{MS
|
||||
Windows} are asked to consult
|
||||
@ifset rawfile
|
||||
the file @file{INSTALL.windows}.
|
||||
@end ifset
|
||||
@ifclear rawfile
|
||||
@xref{Installation under MS Windows}.
|
||||
@end ifclear
|
||||
|
||||
@ifclear rawfile
|
||||
@menu
|
||||
* Prerequisites::
|
||||
* Configure::
|
||||
* Build/install and uninstall::
|
||||
* Loading the package::
|
||||
* Advice for package providers::
|
||||
* Advice for non-privileged users::
|
||||
* Installation under MS Windows::
|
||||
* Customizing::
|
||||
@end menu
|
||||
@end ifclear
|
||||
|
||||
@ifset rawfile
|
||||
@menu
|
||||
* Prerequisites::
|
||||
* Configure::
|
||||
* Build/install and uninstall::
|
||||
* Loading the package::
|
||||
* Advice for package providers::
|
||||
* Advice for non-privileged users::
|
||||
* Customizing::
|
||||
@end menu
|
||||
@end ifset
|
||||
|
||||
@ifset rawfile
|
||||
@node Prerequisites
|
||||
@chapter Prerequisites
|
||||
@raisesections
|
||||
@end ifset
|
||||
|
||||
@ifclear rawfile
|
||||
@node Prerequisites
|
||||
@section Prerequisites
|
||||
@end ifclear
|
||||
|
||||
@itemize @bullet
|
||||
@item GNU Emacs 26.1 or higher
|
||||
|
||||
Using @previewlatex{} requires a version of Emacs compiled with image
|
||||
support.
|
||||
|
||||
@table @b
|
||||
@item Windows
|
||||
Precompiled versions are available from
|
||||
@uref{https://ftp.gnu.org/gnu/emacs/windows/}.
|
||||
@item macOS
|
||||
For an overview of precompiled versions of Emacs for macOS see for
|
||||
example @uref{https://www.emacswiki.org/emacs/EmacsForMacOS}.
|
||||
@item GNU/Linux
|
||||
Most GNU/Linux distributions nowadays provide a recent variant of Emacs
|
||||
via their package repositories.
|
||||
@item Self-compiled
|
||||
Compiling Emacs yourself requires a C compiler and a number of tools and
|
||||
development libraries. Details are beyond the scope of this manual.
|
||||
Instructions for checking out the source code can be found at
|
||||
@uref{https://savannah.gnu.org/git/?group=emacs}.
|
||||
@end table
|
||||
|
||||
@item A working @TeX{} installation
|
||||
|
||||
Well, @AUCTeX{} would be pointless without that. Processing
|
||||
documentation requires @TeX{}, @LaTeX{} and Texinfo during installation.
|
||||
@previewlatex{} requires Dvips or @command{dvipng} for its operation in @acronym{DVI} mode.
|
||||
The default configuration of @AUCTeX{} is tailored for @w{@TeX{} Live}-based
|
||||
distributions, but can be adapted easily.
|
||||
|
||||
@item A recent Ghostscript
|
||||
|
||||
This is needed for operation of @previewlatex{} in both @acronym{DVI}
|
||||
and @acronym{PDF} mode. Ghostscript version 7.07 or newer is required.
|
||||
|
||||
@item GNU make
|
||||
|
||||
Recent @AUCTeX{} uses GNU make specific capabilities in the Makefiles.
|
||||
If your @acronym{OS}'s default @command{make} command is not GNU make,
|
||||
you have to obtain it in order to build @AUCTeX{} by yourself. GNU make
|
||||
is sometimes provided under the name @command{gmake} in your
|
||||
@acronym{OS}'s binary package system.
|
||||
|
||||
@item The Texinfo package
|
||||
|
||||
Strictly speaking, you can get away without it if you are building
|
||||
from the distribution tarball, have not modified any files and don't
|
||||
need a printed version of the manual: the pregenerated info file is
|
||||
included in the tarball. At least @w{version 4.0} is required.
|
||||
|
||||
@end itemize
|
||||
|
||||
For some known issues with various software, see
|
||||
@ifset rawfile
|
||||
the @file{PROBLEMS.preview} file.
|
||||
@end ifset
|
||||
@ifclear rawfile
|
||||
@ref{Known problems,,,preview-latex,the @previewlatex{} manual}.
|
||||
@end ifclear
|
||||
|
||||
@node Configure
|
||||
@section Configure
|
||||
|
||||
The first step is to configure the source code, telling it where
|
||||
various files will be. To do so, run
|
||||
|
||||
@example
|
||||
./configure @var{options}
|
||||
@end example
|
||||
|
||||
(Note: if you have fetched @AUCTeX{} from Git rather than
|
||||
a regular release, you will have to first follow the instructions in
|
||||
@file{README.GIT}).
|
||||
|
||||
On many machines, you will not need to specify any options, but if
|
||||
@command{configure} cannot determine something on its own, you'll need to
|
||||
help it out with one of these options:
|
||||
|
||||
@table @code
|
||||
@item --prefix=@var{prefix}
|
||||
All automatic placements for package components will be chosen from
|
||||
sensible existing hierarchies below this: directories like @file{man},
|
||||
@file{share} and @file{bin} are supposed to be directly below
|
||||
@var{prefix}.
|
||||
|
||||
Only if no workable placement can be found there, in some cases an
|
||||
alternative search will be made in a prefix deduced from a suitable
|
||||
binary.
|
||||
|
||||
@file{/usr/local} is the default @var{prefix}, intended to be suitable
|
||||
for a site-wide installation. If you are packaging this as an
|
||||
operating system component for distribution, the setting @file{/usr}
|
||||
will probably be the right choice. See @ref{Advice for package
|
||||
providers} for detail.
|
||||
|
||||
If you are planning to install the package as a single non-priviledged
|
||||
user, you will typically set @var{prefix} to your home directory.
|
||||
Consult @ref{Advice for non-privileged users} for addtional
|
||||
instructions.
|
||||
|
||||
@item --with-emacs=@var{/path/to/emacs}
|
||||
If you are using a pretest which isn't in your @env{PATH}, or
|
||||
@command{configure} is not finding the right Emacs executable, you can
|
||||
specify it with this option.
|
||||
|
||||
@item --with-lispdir=@var{lispdir}
|
||||
This option specifies the location of the @file{site-lisp}
|
||||
directory within @code{load-path} under which the files will get
|
||||
installed (the bulk will get installed in a subdirectory).
|
||||
@command{./configure} should figure this out by itself.
|
||||
|
||||
@item --with-auctexstartfile=@file{auctex.el}
|
||||
@itemx --with-previewstartfile=@file{preview-latex.el}
|
||||
This is the name of the respective startup files. If @var{lispdir}
|
||||
contains a subdirectory @file{site-start.d}, the start files are
|
||||
placed there, and @file{site-start.el} should
|
||||
load them automatically. Please be aware that you must not move the
|
||||
start files after installation since other files are found
|
||||
@emph{relative} to them.
|
||||
|
||||
@item --with-packagelispdir=@file{auctex}
|
||||
This is the directory where the bulk of the package gets located. The
|
||||
startfile adds this into @code{load-path}.
|
||||
|
||||
@item --with-auto-dir=@var{/dir}
|
||||
You can use this option to specify the directory containing
|
||||
automatically generated information by @kbd{M-x TeX-auto-generate-global @key{RET}}. It is not necessary for most
|
||||
@TeX{} installs, but may be used if you don't like the directory that
|
||||
configure is suggesting.
|
||||
|
||||
@item --help
|
||||
This is not an option specific to @AUCTeX{}. A number of standard
|
||||
options to @command{configure} exist, and we do not have the room to
|
||||
describe them here; a short description of each is available, using
|
||||
@option{--help}.
|
||||
|
||||
@c FIXME: It seems this no longer holds.
|
||||
@c If you use @samp{--help=recursive}, then also @previewlatex{}-specific
|
||||
@c options will get listed.
|
||||
|
||||
@item --disable-preview
|
||||
This disables configuration and installation of @previewlatex{}. This
|
||||
option is not actually recommended. If your Emacs does not support
|
||||
images, you should really upgrade to a newer version. Distributors
|
||||
should, if possible, refrain from distributing @AUCTeX{} and
|
||||
@previewlatex{} separately in order to avoid confusion and upgrade
|
||||
hassles if users install partial packages on their own.
|
||||
|
||||
@item --with-texmf-dir=@var{/dir}
|
||||
@itemx --without-texmf-dir
|
||||
@cindex preview-install-styles
|
||||
This option is used for specifying a @acronym{TDS}-compliant directory
|
||||
hierarchy. Using @code{--with-texmf-dir=@var{/dir}} you can specify
|
||||
where the @TeX{} @acronym{TDS} directory hierarchy resides, and the
|
||||
@TeX{} files will get installed in
|
||||
@file{@var{/dir}/tex/latex/preview/}.
|
||||
|
||||
If you use the @option{--without-texmf-dir} option, the @TeX{}-related
|
||||
files will be kept in the Emacs Lisp tree, and at runtime the
|
||||
@env{TEXINPUTS} environment variable will be made to point there. You
|
||||
can install those files into your own @TeX{} tree at some later time
|
||||
with @kbd{M-x preview-install-styles @key{RET}}.
|
||||
|
||||
@item --with-tex-dir=@var{/dir}
|
||||
If you want to specify an exact directory for the preview @TeX{} files,
|
||||
use @code{--with-tex-dir=@var{/dir}}. In this case, the files will be
|
||||
placed in @file{@var{/dir}}, and you'll also need the following option:
|
||||
|
||||
@item --with-doc-dir=@var{/dir}
|
||||
This option may be used to specify where the @TeX{} documentation goes.
|
||||
It is to be used when you are using @code{--with-tex-dir=@var{/dir}},
|
||||
but is normally not necessary otherwise.
|
||||
@end table
|
||||
|
||||
@node Build/install and uninstall
|
||||
@section Build/install and uninstall
|
||||
|
||||
@cindex Installation
|
||||
@cindex Make
|
||||
@cindex Uninstallation
|
||||
|
||||
Once @command{configure} has been run, simply enter
|
||||
|
||||
@example
|
||||
make
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
at the prompt to byte-compile the lisp files, extract the @TeX{} files
|
||||
and build the documentation files. To install the files into the
|
||||
locations chosen earlier, type
|
||||
|
||||
@example
|
||||
make install
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
You may need special privileges to install, e.g., if you are installing
|
||||
into system directories.
|
||||
|
||||
Should you want to completely remove the installed package, in the same
|
||||
directory you built @AUCTeX{} run
|
||||
|
||||
@example
|
||||
make uninstall
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
You will need administration privileges if you installed the package
|
||||
into system directories.
|
||||
|
||||
@node Loading the package
|
||||
@section Loading the package
|
||||
@cindex @file{init.el}
|
||||
@cindex @file{.emacs}
|
||||
|
||||
You can detect the successful activation of @AUCTeX{} and
|
||||
@previewlatex{} in the menus after loading a @LaTeX{} file like
|
||||
@file{circ.tex}: @AUCTeX{} then gives you a @samp{Command} menu,
|
||||
and @previewlatex{} gives you a @samp{Preview} menu.
|
||||
|
||||
@cindex @file{auctex.el}
|
||||
@cindex @file{tex-site.el}
|
||||
With Emacs (or if you explicitly disabled use of the package system),
|
||||
the startup files @file{auctex.el} and @file{preview-latex.el} may
|
||||
already be in a directory of the @file{site-start.d/} variety if your
|
||||
Emacs installation provides it. In that case they should be
|
||||
automatically loaded on startup and nothing else needs to be done. If
|
||||
not, they should at least have been placed somewhere in your
|
||||
@code{load-path}. You can then load them by placing the lines
|
||||
|
||||
@lisp
|
||||
(load "auctex.el" nil t t)
|
||||
(load "preview-latex.el" nil t t)
|
||||
@end lisp
|
||||
@noindent
|
||||
into your init file such as @file{init.el} or @file{.emacs}.
|
||||
|
||||
If you explicitly used @code{--with-lispdir}, you may need to add the
|
||||
specified directory into Emacs' @code{load-path} variable by adding
|
||||
something like
|
||||
|
||||
@lisp
|
||||
(add-to-list 'load-path "~/elisp")
|
||||
@end lisp
|
||||
@noindent
|
||||
before the above lines into your Emacs startup file.
|
||||
|
||||
For site-wide activation in GNU Emacs, see
|
||||
@ifset rawfile
|
||||
below.
|
||||
@end ifset
|
||||
@ifclear rawfile
|
||||
@xref{Advice for package providers}.
|
||||
@end ifclear
|
||||
|
||||
Once activated, the modes provided by @AUCTeX{} are used per default for
|
||||
all supported file types. If you want to change the modes for which it
|
||||
is operative instead of the default, use
|
||||
@example
|
||||
@kbd{M-x customize-option @key{RET} TeX-modes @key{RET}}
|
||||
@end example
|
||||
|
||||
If you want to remove a preinstalled @AUCTeX{} completely before any of
|
||||
its modes have been used,
|
||||
@lisp
|
||||
(unload-feature 'tex-site)
|
||||
@end lisp
|
||||
@noindent
|
||||
should accomplish that.
|
||||
|
||||
@node Advice for package providers
|
||||
@section Providing @AUCTeX{} as a package
|
||||
|
||||
As a package provider, you should make sure that your users will be
|
||||
served best according to their intentions, and keep in mind that a
|
||||
system might be used by more than one user, with different
|
||||
preferences.
|
||||
|
||||
There are people that prefer the built-in Emacs modes for editing
|
||||
@TeX{} files, in particular plain @TeX{} users. There are various
|
||||
ways to tell @AUCTeX{} even after auto-activation that it should
|
||||
not get used, and they are described in
|
||||
@ifset rawfile
|
||||
the @file{README} file.
|
||||
@end ifset
|
||||
@ifclear rawfile
|
||||
@ref{Introduction,,Introduction to @AUCTeX{}}.
|
||||
@end ifclear
|
||||
|
||||
So if you have users that don't want to use the preinstalled @AUCTeX{},
|
||||
they can easily get rid of it. Activating @AUCTeX{} by default is
|
||||
therefore a good choice.
|
||||
|
||||
If the installation procedure did not achieve this already by placing
|
||||
@file{auctex.el} and @file{preview-latex.el} into a possibly existing
|
||||
@file{site-start.d} directory, you can do this by placing
|
||||
|
||||
@lisp
|
||||
(load "auctex.el" nil t t)
|
||||
(load "preview-latex.el" nil t t)
|
||||
@end lisp
|
||||
|
||||
@noindent in the system-wide @file{site-start.el}.
|
||||
|
||||
The @option{--without-texmf-dir} option can be convenient for systems that
|
||||
are intended to support more than a single TeX distribution. Since more
|
||||
often than not @TeX{} packages for operating system distributions are
|
||||
either much more outdated or much less complete than separately provided
|
||||
systems like @w{@TeX{} Live}, this method may be generally preferable
|
||||
when providing packages.
|
||||
|
||||
The following package structure would be adequate for a typical fully
|
||||
supported Unix-like installation:
|
||||
|
||||
@c FIXME: teTeX is much outdated now.
|
||||
@table @samp
|
||||
@item preview-tetex
|
||||
Style files and documentation for @file{preview.sty}, placed into a
|
||||
@TeX{} tree where it is accessible from the te@TeX{} executables usually
|
||||
delivered with a system. If there are other commonly used @TeX{} system
|
||||
packages, it might be appropriate to provide separate packages for
|
||||
those.
|
||||
@item auctex-emacs-tetex
|
||||
This package will require the installation of @samp{preview-tetex} and
|
||||
will record in @code{TeX-macro-global} where to find the @TeX{} tree.
|
||||
It is also a good idea to run
|
||||
@example
|
||||
emacs -batch -f TeX-auto-generate-global
|
||||
@end example
|
||||
when either @AUCTeX{} or te@TeX{} get installed or upgraded. If your
|
||||
users might want to work with a different @TeX{} distribution (nowadays
|
||||
pretty common), instead consider the following:
|
||||
@item auctex-emacs
|
||||
This package will be compiled with @option{--without-texmf-dir} and will
|
||||
consequently contain the @samp{preview} style files in its private
|
||||
directory. It will probably not be possible to initialize
|
||||
@code{TeX-macro-global} to a sensible value, so running
|
||||
@code{TeX-auto-generate-global} does not appear useful. This package
|
||||
would neither conflict with nor provide @samp{preview-tetex}.
|
||||
@end table
|
||||
|
||||
@node Advice for non-privileged users
|
||||
@section Installation for non-privileged users
|
||||
|
||||
Often people without system administration privileges want to install
|
||||
software for their private use. In that case you need to pass more
|
||||
options to the @command{configure} script.
|
||||
|
||||
The main expedient is using the @option{--prefix} option to the
|
||||
@command{configure} script, and let it point to the personal home
|
||||
directory. In that way, resulting binaries will be installed under the
|
||||
@file{bin} subdirectory of your home directory, manual pages under
|
||||
@file{man} and so on. It is reasonably easy to maintain a bunch of
|
||||
personal software, since the prefix argument is supported by most
|
||||
@command{configure} scripts.
|
||||
|
||||
You often need to specify @option{--with-lispdir} option as well.
|
||||
If you haven't installed Emacs under your home directory and use Emacs
|
||||
installed in system directories, the @command{configure} script might not
|
||||
be able to figure out suitable place to install lisp files under your
|
||||
home directory. In that case, the @command{configure} script would
|
||||
silently choose, by default, the @file{site-lisp} directory within
|
||||
@code{load-path} for the place, where administration privileges are
|
||||
usually required to put relevant files. Thus you will have to tell
|
||||
the @command{configure} script explicitly where to put those files by,
|
||||
e.g., @code{--with-lispdir=@samp{/home/myself/share/emacs/site-lisp}}.
|
||||
|
||||
You'll have to add something like
|
||||
@samp{/home/myself/share/emacs/site-lisp} to your @code{load-path}
|
||||
variable, if it isn't there already.
|
||||
|
||||
In addition, you will have to tell @command{configure} script where to
|
||||
install @TeX{}-related files such as @file{preview.sty} if
|
||||
@previewlatex{} isn't disabled. It is enough to specify
|
||||
@option{--with-texmf-dir=@file{$HOME/texmf}} for most typical cases, but
|
||||
you have to create the direcotry @file{$HOME/texmf} in advance if it
|
||||
doesn't exist. If this prescription doesn't work, consider using one or
|
||||
more of the options @code{--with-texmf-dir=@var{/dir}},
|
||||
@code{--without-texmf-dir}, @code{--with-tex-dir=@var{/dir}} and
|
||||
@code{--with-doc-dir=@var{/dir}}. See @ref{Configure} for detail of
|
||||
these options.
|
||||
|
||||
Now here is another thing to ponder: perhaps you want to make it easy
|
||||
for other users to share parts of your personal Emacs configuration. In
|
||||
general, you can do this by writing @samp{~myself/} anywhere where you
|
||||
specify paths to something installed in your personal subdirectories,
|
||||
not merely @samp{~/}, since the latter, when used by other users, will
|
||||
point to non-existent files.
|
||||
|
||||
For yourself, it will do to manipulate environment variables in your
|
||||
@file{.profile} resp.@: @file{.login} files. But if people will be
|
||||
copying just Elisp files, their copies will not work. While it would
|
||||
in general be preferable if the added components where available from
|
||||
a shell level, too (like when you call the standalone info reader, or
|
||||
try using @file{preview.sty} for functionality besides of Emacs
|
||||
previews), it will be a big help already if things work from inside
|
||||
of Emacs.
|
||||
|
||||
Here is how to do the various parts:
|
||||
|
||||
@subheading Making the Elisp available
|
||||
|
||||
In GNU Emacs, it should be sufficient if people just do
|
||||
|
||||
@lisp
|
||||
(load "~myself/share/emacs/site-lisp/auctex.el" nil t t)
|
||||
(load "~myself/share/emacs/site-lisp/preview-latex.el" nil t t)
|
||||
@end lisp
|
||||
@noindent
|
||||
where the path points to your personal installation. The rest of the
|
||||
package should be found relative from there without further ado.
|
||||
|
||||
@subheading Making the Info files available
|
||||
|
||||
For making the info files accessible from within Elisp, something like
|
||||
the following might be convenient to add into your or other people's
|
||||
startup files:
|
||||
|
||||
@lisp
|
||||
(eval-after-load 'info
|
||||
'(add-to-list 'Info-directory-list "~myself/info"))
|
||||
@end lisp
|
||||
|
||||
@subheading Making the @LaTeX{} style available
|
||||
|
||||
If you want others to be able to share your installation, you should
|
||||
configure it using @option{--without-texmf-dir}, in which case things
|
||||
should work as well for them as for you.
|
||||
|
||||
@subsection Using @AUCTeX{} from local Git repo
|
||||
|
||||
With the techniques described above, it is also possible to use @AUCTeX{}
|
||||
directly from a local Git repository. Let's assume you have your Git
|
||||
repositories under @samp{~/development/}.
|
||||
|
||||
First, you have to fetch a copy of the @AUCTeX{} Git repository. In a
|
||||
shell, change directory to @samp{~/development/} and do:
|
||||
@example
|
||||
git clone https://git.savannah.gnu.org/git/auctex.git
|
||||
@end example
|
||||
|
||||
Now change directory to @samp{~/development/auctex} and run
|
||||
@samp{./autogen.sh}. Next thing is to run @command{configure} like this:
|
||||
@example
|
||||
./configure --without-texmf-dir --with-lispdir=.
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
When finished, simply enter
|
||||
@example
|
||||
make
|
||||
@end example
|
||||
@noindent
|
||||
and you're finished. Note that the @samp{make install} step is not
|
||||
necessary.
|
||||
|
||||
Now you have to tell Emacs about the plan. The following variables must
|
||||
be set in your init file because their normal values are only correct when
|
||||
@AUCTeX{} is installed:
|
||||
@lisp
|
||||
(setq TeX-data-directory "~/development/auctex"
|
||||
TeX-lisp-directory TeX-data-directory)
|
||||
@end lisp
|
||||
|
||||
@noindent
|
||||
The info files will be available with this:
|
||||
@lisp
|
||||
(eval-after-load 'info
|
||||
'(add-to-list 'Info-additional-directory-list
|
||||
"~/development/auctex/doc"))
|
||||
@end lisp
|
||||
|
||||
@noindent
|
||||
Now you're ready to load @file{auctex.el} and @file{preview-latex.el} out
|
||||
of this directory:
|
||||
@lisp
|
||||
(load "~/development/auctex/auctex.el" nil t t)
|
||||
(load "~/development/auctex/preview-latex.el" nil t t)
|
||||
@end lisp
|
||||
|
||||
@ifclear rawfile
|
||||
@node Installation under MS Windows
|
||||
@section Installation under MS Windows
|
||||
@include wininstall.texi
|
||||
@end ifclear
|
||||
|
||||
@node Customizing
|
||||
@section Customizing
|
||||
@cindex Site initialization
|
||||
@cindex Initialization
|
||||
@cindex @file{tex-site.el}
|
||||
@cindex Personal customization
|
||||
@cindex Site customization
|
||||
@cindex Customization
|
||||
@cindex Customization, personal
|
||||
@cindex Customization, site
|
||||
Most of the site-specific customization should already have happened
|
||||
during configuration of @AUCTeX{}. Any further customization can be
|
||||
done with customization buffers directly in Emacs. Just type @kbd{M-x
|
||||
customize-group @key{RET} AUCTeX @key{RET}} to open the customization group for
|
||||
@AUCTeX{} or use the menu entries provided in the mode menus. Editing
|
||||
the file @file{tex-site.el} as suggested in former versions of @AUCTeX{}
|
||||
should not be done anymore because the installation routine will
|
||||
overwrite those changes.
|
||||
|
||||
You might check some options with a special significance. They are
|
||||
accessible directly by typing @kbd{M-x customize-option @key{RET} <option>
|
||||
@key{RET}}.
|
||||
|
||||
@defopt TeX-macro-global
|
||||
Directories containing the site's @TeX{} style files.
|
||||
@end defopt
|
||||
|
||||
Normally, @AUCTeX{} will only allow you to complete macros and
|
||||
environments which are built-in, specified in @AUCTeX{} style files or
|
||||
defined by yourself. If you issue the @kbd{M-x
|
||||
TeX-auto-generate-global} command after loading @AUCTeX{}, you will be
|
||||
able to complete on all macros available in the standard style files
|
||||
used by your document. To do this, you must set this variable to a list
|
||||
of directories where the standard style files are located. The
|
||||
directories will be searched recursively, so there is no reason to list
|
||||
subdirectories explicitly. Automatic configuration will already have
|
||||
set the variable for you if it could use the program @command{kpsewhich}.
|
||||
In this case you normally don't have to alter anything.
|
||||
|
||||
@c Local Variables:
|
||||
@c mode: texinfo
|
||||
@c TeX-master: "auctex"
|
||||
@c End:
|
|
@ -1,106 +0,0 @@
|
|||
@include macros.texi
|
||||
@ifset rawfile
|
||||
@paragraphindent none
|
||||
This is the README file for the AUCTeX distribution.
|
||||
|
||||
@quotation
|
||||
Copyright (C) 2008, 2017, 2018 Free Software Foundation, Inc.
|
||||
|
||||
Copying and distribution of this file, with or without modification, are
|
||||
permitted in any medium without royalty provided the copyright notice
|
||||
and this notice are preserved.
|
||||
@end quotation
|
||||
|
||||
@chapheading Introduction to @AUCTeX{}
|
||||
@end ifset
|
||||
|
||||
@ifclear rawfile
|
||||
@node Summary
|
||||
@chapter Overview of @AUCTeX{}
|
||||
@end ifclear
|
||||
|
||||
@ifset rawfile
|
||||
This file gives a brief overview of what @AUCTeX{} is. It is
|
||||
@strong{not} an attempt to document @AUCTeX{}. Real documentation for
|
||||
@AUCTeX{} is available in the manual, which should be available as an
|
||||
info file after installation.
|
||||
@end ifset
|
||||
|
||||
@AUCTeX{} is a comprehensive customizable integrated environment for
|
||||
writing input files for @TeX{}, @LaTeX{}, @ConTeXt{}, Texinfo, and
|
||||
doc@TeX{} using Emacs.
|
||||
|
||||
It supports you in the insertion of macros, environments, and sectioning
|
||||
commands by providing completion alternatives and prompting for
|
||||
parameters. It automatically indents your text as you type it and lets
|
||||
you format a whole file at once. The outlining and folding facilities
|
||||
provide you with a focused and clean view of your text.
|
||||
|
||||
@AUCTeX{} lets you process your source files by running @TeX{} and
|
||||
related tools (such as output filters, post processors for generating
|
||||
indices and bibliographies, and viewers) from inside Emacs. @AUCTeX{}
|
||||
lets you browse through the errors @TeX{} reported, while it moves the
|
||||
cursor directly to the reported error, and displays some documentation
|
||||
for that particular error. This will even work when the document is
|
||||
spread over several files.
|
||||
|
||||
One component of @AUCTeX{} that @LaTeX{} users will find attractive is
|
||||
@previewlatex{}, a combination of folding and in-source previewing
|
||||
that provides true ``What You See Is What You Get'' experience in your
|
||||
sourcebuffer, while letting you retain full control.
|
||||
@ifset rawfile
|
||||
For more information, see further below.
|
||||
@end ifset
|
||||
|
||||
More detailed information about the features and usage of @AUCTeX{} can
|
||||
be found in the
|
||||
@ifset rawfile
|
||||
@AUCTeX{} manual. You can access it from within Emacs by typing
|
||||
@kbd{C-h i d m auctex @key{RET}}. If you prefer the standalone info
|
||||
reader, issue the command @code{info auctex} in a terminal.
|
||||
@end ifset
|
||||
@ifclear rawfile
|
||||
remainder of this manual.
|
||||
@end ifclear
|
||||
|
||||
@AUCTeX{} is written entirely in Emacs Lisp, and hence you can easily
|
||||
add new features for your own needs. It is a GNU project and
|
||||
distributed under the `GNU General Public License Version 3'.
|
||||
|
||||
The most recent version is always available at
|
||||
@url{https://ftp.gnu.org/pub/gnu/auctex/}.
|
||||
|
||||
WWW users may want to check out the @AUCTeX{} page at
|
||||
@url{https://www.gnu.org/software/auctex/}.
|
||||
|
||||
For comprehensive information about how to install @AUCTeX{}
|
||||
@ifset rawfile
|
||||
read the file @file{INSTALL} or @file{INSTALL.windows}, respectively.
|
||||
@end ifset
|
||||
@ifclear rawfile
|
||||
@xref{Installation}, or @ref{Installation under MS Windows},
|
||||
respectively.
|
||||
@end ifclear
|
||||
|
||||
If you are considering upgrading @AUCTeX{}, the recent changes are
|
||||
described in
|
||||
@ifset rawfile
|
||||
the @file{CHANGES} file.
|
||||
@end ifset
|
||||
@ifclear rawfile
|
||||
@ref{Changes}.
|
||||
@end ifclear
|
||||
|
||||
If you want to discuss @AUCTeX{} with other users or its developers,
|
||||
there are several mailing lists you can use.
|
||||
|
||||
Send a mail with the subject ``subscribe'' to
|
||||
@email{auctex-request@@gnu.org} in order to join the general discussion
|
||||
list for @AUCTeX{}. Articles should be sent to @email{auctex@@gnu.org}.
|
||||
In a similar way, you can subscribe to the @email{info-auctex@@gnu.org}
|
||||
list for just getting important announcements about @AUCTeX{}. The list
|
||||
@email{bug-auctex@@gnu.org} is for bug reports which you should usually
|
||||
file with the @kbd{M-x TeX-submit-bug-report @key{RET}} command. If you
|
||||
want to address the developers of @AUCTeX{} themselves with technical
|
||||
issues, they can be found on the discussion list
|
||||
@email{auctex-devel@@gnu.org}.
|
|
@ -1,89 +0,0 @@
|
|||
@ifclear macros
|
||||
@set macros
|
||||
@ifnottex
|
||||
@macro AUCTeX {}
|
||||
AUC@TeX{}
|
||||
@end macro
|
||||
@macro ConTeXt {}
|
||||
Con@TeX{}t
|
||||
@end macro
|
||||
@macro previewlatex {}
|
||||
preview-latex
|
||||
@end macro
|
||||
@macro fontlatex {}
|
||||
font-latex
|
||||
@end macro
|
||||
@ifset no-acronym
|
||||
@clear no-acronym
|
||||
@macro acronym {text}
|
||||
@sc{\text\}
|
||||
@end macro
|
||||
@end ifset
|
||||
@ifset no-env
|
||||
@clear no-env
|
||||
@macro env {text}
|
||||
@code{\text\}
|
||||
@end macro
|
||||
@end ifset
|
||||
@ifset no-option
|
||||
@clear no-option
|
||||
@macro option {text}
|
||||
@samp{\text\}
|
||||
@end macro
|
||||
@end ifset
|
||||
@ifset no-command
|
||||
@clear no-command
|
||||
@macro command {text}
|
||||
@samp{\text\}
|
||||
@end macro
|
||||
@end ifset
|
||||
@end ifnottex
|
||||
@ifset no-sansserif
|
||||
@macro sansserif {text}@c
|
||||
@iftex
|
||||
{@textsf \text\}@c
|
||||
@end iftex
|
||||
@ifnottex
|
||||
\text\@c
|
||||
@end ifnottex
|
||||
@end macro
|
||||
@end ifset
|
||||
@tex
|
||||
\global\let\savedTeX\TeX
|
||||
\gdef\TeX#{\savedTeX}
|
||||
\gdef\LaTeX#{%
|
||||
L\kern-.36em\raise.3ex\hbox{\sc{a}}\kern-.15em\TeX}
|
||||
\gdef\previewlatex#{%
|
||||
{\textsf preview-latex}}
|
||||
\gdef\fontlatex#{%
|
||||
{\textsf font-latex}}
|
||||
\gdef\AUCTeX#{AUC\TeX}
|
||||
\gdef\ConTeXt#{%
|
||||
Con\TeX{}t}
|
||||
\toks0\expandafter{\indexnofonts
|
||||
\def\TeX#{TeX}%
|
||||
\def\LaTeX#{LaTeX}\def\previewlatex#{preview-latex}}
|
||||
\xdef\indexnofonts{\the\toks0}
|
||||
\ifx\commondummies\undefined \else
|
||||
\toks0\expandafter{\commondummies
|
||||
\def\TeX#{TeX}%
|
||||
\def\LaTeX#1{LaTeX}\def\previewlatex#1{preview-latex}}
|
||||
\xdef\commondummies{\the\toks0}
|
||||
\fi
|
||||
\ifx\definedummies\undefined \else
|
||||
\toks0\expandafter{\definedummies
|
||||
\def\TeX#{TeX}%
|
||||
\def\LaTeX#{LaTeX}\def\previewlatex#{preview-latex}}
|
||||
\xdef\definedummies{\the\toks0}
|
||||
\fi
|
||||
\ifx\acronym\undefined \gdef\acronym#1{{\smallcaps \lowercase{#1}}} \fi
|
||||
\ifx\env\undefined \global\let\env=\code \fi
|
||||
\ifx\option\undefined \global\let\option=\samp \fi
|
||||
\ifx\command\undefined \global\let\command=\samp \fi
|
||||
%Bug fix for texinfo.tex:
|
||||
\gdef\cslet#1#2{%
|
||||
\expandafter\let
|
||||
\csname#1\expandafter\endcsname
|
||||
\csname#2\endcsname}
|
||||
@end tex
|
||||
@end ifclear
|
|
@ -1,156 +0,0 @@
|
|||
#!/usr/bin/perl
|
||||
# -*- coding: iso-latin-1; -*-
|
||||
|
||||
# Autoconverter from preview.dtx to preview-dtxdoc.texi
|
||||
|
||||
# Author: Jan-Åke Larsson <jalar@mai.liu.se>
|
||||
# Maintainer: auctex-devel@gnu.org
|
||||
|
||||
# Copyright (C) 2002, 2005, 2020, 2021 Free Software Foundation, Inc.
|
||||
|
||||
# This file is part of AUCTeX.
|
||||
|
||||
# AUCTeX is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# AUCTeX is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with AUCTeX; see the file COPYING. If not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
# MA 02110-1301, USA.
|
||||
|
||||
# Commentary:
|
||||
|
||||
# Simpleminded autoconverter from preview.dtx to preview-dtxdoc.texi
|
||||
# run as 'perl preview-dtxdoc.pl ../latex/preview.dtx preview-dtxdoc.texi'
|
||||
|
||||
die "Usage: perl preview-dtxdoc.pl infile outfile" unless ($#ARGV == 1);
|
||||
open(STDIN, $ARGV[0]) || die "Can't open $ARGV[0] for reading";
|
||||
open(STDOUT, "> $ARGV[1]") || die "Can't open $ARGV[1] for writing";
|
||||
|
||||
|
||||
# Eat header
|
||||
MUNGE: while (<STDIN>) {
|
||||
last MUNGE if /^% *.section/;
|
||||
}
|
||||
|
||||
# Fish out possible CR characters.
|
||||
/(\r*)$/;
|
||||
$cr = $1;
|
||||
|
||||
|
||||
# Noindent is used sometimes after \end{quote} (see below)
|
||||
$noindent="";
|
||||
# Quote environments is translated into @example _without_
|
||||
# @code{..} inside (see below)
|
||||
$quote="";
|
||||
MAIN: while (<STDIN>) {
|
||||
s/^%//;
|
||||
s/\\%/%/g;
|
||||
|
||||
# Comment
|
||||
s/\^\^A.*\n//;
|
||||
|
||||
# Text-substitution macros
|
||||
s/\@/\@\@/g;
|
||||
s/\\#/#/g;
|
||||
s/AUC~?\\TeX[\\ ]?/\@AUCTeX{}/g;
|
||||
s/\\LaTeX[\\ ]?/\@LaTeX{}/g;
|
||||
s/\\TeX[\\ ]?/\@TeX{}/g;
|
||||
s/\\previewlatex[\\ ]?/\@previewlatex{}/g;
|
||||
s/EPS/\@acronym{EPS}/g;
|
||||
s/DVI/\@acronym{DVI}/g;
|
||||
s/~/\@w{ }/g;
|
||||
s/^ *//;
|
||||
# Environments
|
||||
if (s/\\begin\{quote\}/$cr\n\@example/) {
|
||||
$quote="yes" }
|
||||
if (/^\w/) {
|
||||
print $noindent }
|
||||
$noindent = "";
|
||||
if (s/\\end\{quote\}/\@end example$cr\n/) {
|
||||
$quote="";
|
||||
$noindent="\@noindent$cr\n" }
|
||||
s/\\begin\{description\}/$cr\n\@table \@w/;
|
||||
# Convoluted pattern: handle
|
||||
# \item[|...|], \item[\meta{..}] and \item[{|[]|}]
|
||||
s/\\item\[\{?(.+?[\|\}])\}?\] ?/\@item $1$cr\n/;
|
||||
s/\\end\{description\}/\@end table$cr\n/;
|
||||
s/\\begin\{enumerate\}/$cr\n\@enumerate/;
|
||||
s/\\item /\@item /;
|
||||
s/\\end\{enumerate\}/\@end enumerate$cr\n/;
|
||||
|
||||
# Formatting (\cmd is special within {quote})
|
||||
s/\\texttt/\@option/g;
|
||||
s/\\marg\{([^}]+)\}/\@{\@var{$1}\@}/g;
|
||||
s/\\meta/\@var/g;
|
||||
s/\\emph/\@emph/g;
|
||||
s/\\cmd(\\[\(\)\w]+)/|$1|/g;
|
||||
s/\\cmd\{(.*?)\}/|$1|/g;
|
||||
s/\\oarg\{([^}]+?)\}/\[\@var{$1}\]/g;
|
||||
s/\\char.//g;
|
||||
s/\\raggedright$cr\n//g;
|
||||
s/\\DescribeEnv\{(.*?)\} /\@item \\begin\@{$1\@}\@dots{}\\end\@{$1\@}$cr\n/;
|
||||
if (s/\\DescribeMacro\{(.*?)\}( |$cr\n)/\@item $1$cr\n/) {
|
||||
# Index entries for two important macros
|
||||
if (/(\\Preview(Macro|Environment))( |$cr\n)/) {
|
||||
$_ .= "\@findex $1$cr\n";
|
||||
}
|
||||
}
|
||||
|
||||
# ||||||| Hell... I hate bars
|
||||
# Braces WITHIN bars should be escaped like so: @{ @}
|
||||
# and |..| translates to @code{..} or @file{..} depending on content
|
||||
# and to .. if in {quote}
|
||||
@chunks = split /\|/;
|
||||
$odd=0;
|
||||
COMMAND: foreach (@chunks) {
|
||||
if ($odd==0) {
|
||||
$odd=1;
|
||||
} else {
|
||||
s/\{/\@\{/g;
|
||||
s/\}/\@\}/g;
|
||||
if (! $quote) {
|
||||
if (/[.\/]/) {
|
||||
$_="\@file\{".$_."\}";
|
||||
} else {
|
||||
$_="\@code\{".$_."\}";
|
||||
}
|
||||
}
|
||||
$odd=0;
|
||||
}
|
||||
}
|
||||
$_=join("",@chunks);
|
||||
# Argh! mixed types occurs in @code{...}@var{..}@file{..}
|
||||
# Should be @file{...@var{..}..}
|
||||
s/\@code(\S*?)\}(\S*)\@file\{/\@file$1$2/g;
|
||||
|
||||
# Texinfo @node-ification
|
||||
if (s/\\section\{(.*)\}/\@subsection $1/) {
|
||||
if (s/[Oo]ptions/options/) {
|
||||
$_="\@menu$cr\n" .
|
||||
"* Package options::$cr\n" .
|
||||
"* Provided commands::$cr\n" .
|
||||
"\@end menu$cr\n$cr\n" .
|
||||
"\@node Package options, Provided commands, The LaTeX style file, The LaTeX style file$cr\n" . $_;
|
||||
} elsif (s/[Cc]ommands/commands/) {
|
||||
# \Describe... needs @table
|
||||
$_= "\@node Provided commands, ,Package options, The LaTeX style file$cr\n" .
|
||||
$_ . "$cr\n\@table \@code$cr\n";
|
||||
}
|
||||
}
|
||||
|
||||
# Stop here
|
||||
# \Describe.... needs @end table
|
||||
if (/^.StopEventually/) {
|
||||
print "\@end table$cr\n";
|
||||
last MAIN;
|
||||
}
|
||||
print $_;
|
||||
}
|
|
@ -1,306 +0,0 @@
|
|||
@c This is part of the preview-latex manual.
|
||||
@c Copyright (C) 2002, 2003, 2004, 2005, 2006, 2009
|
||||
@c 2017, 2021-2023 Free Software Foundation, Inc.
|
||||
@c See file preview-latex.texi for copying conditions.
|
||||
@ifset rawfile
|
||||
@include macros.texi
|
||||
|
||||
@node Frequently Asked Questions, Introduction to FAQ, (dir), (dir)
|
||||
@top Frequently Asked Questions about @previewlatex{}
|
||||
|
||||
@contents
|
||||
|
||||
@end ifset
|
||||
|
||||
@menu
|
||||
* Introduction to FAQ::
|
||||
* Requirements::
|
||||
* Installation Trouble::
|
||||
* Customization::
|
||||
* Troubleshooting::
|
||||
* Other formats::
|
||||
@end menu
|
||||
|
||||
@comment we need at least one chapter, or the numbers disappear in the
|
||||
@comment plain version of the FAQ.
|
||||
|
||||
@ifset rawfile
|
||||
@node Introduction to FAQ, Requirements, Frequently Asked Questions, Frequently Asked Questions
|
||||
@chapter Introduction
|
||||
@raisesections
|
||||
@end ifset
|
||||
@ifclear rawfile
|
||||
@node Introduction to FAQ, Requirements, Frequently Asked Questions, Frequently Asked Questions
|
||||
@section Introduction
|
||||
@end ifclear
|
||||
|
||||
@subsection How can I contribute to the FAQ?
|
||||
|
||||
Send an email with the subject:
|
||||
@example
|
||||
Preview FAQ
|
||||
@end example
|
||||
to @email{auctex-devel@@gnu.org}.
|
||||
|
||||
@node Requirements, Installation Trouble, Introduction to FAQ, Frequently Asked Questions
|
||||
@section Requirements
|
||||
|
||||
@subsection Which version of Emacs is needed?
|
||||
|
||||
@previewlatex{} nominally requires @w{GNU Emacs} with a version of at
|
||||
least 26.1.
|
||||
|
||||
@subsection Which versions of Ghostscript and @AUCTeX{} are needed?
|
||||
|
||||
We recommend to use GNU or AFPL Ghostscript with a version of at least
|
||||
7.07.
|
||||
|
||||
@previewlatex{} has been distributed as part of @AUCTeX{} since version
|
||||
11.80. If your version of @AUCTeX{} is older than that, or if it does
|
||||
not contain a working copy of @previewlatex{}, complain to wherever you
|
||||
got it from.
|
||||
|
||||
@subsection I have trouble with the display format...
|
||||
We recommend keeping the variable @code{preview-image-type} set to
|
||||
@code{dvipng} (if you have it installed) or @code{png}. This is the
|
||||
default and can be set via the @samp{Preview/Customize} menu.
|
||||
|
||||
All other formats are known to have inconveniences, either in file size
|
||||
or quality. There are some Emacs versions around not supporting
|
||||
@acronym{PNG}; the proper way to deal with that is to complain to your
|
||||
Emacs provider. Short of that, checking out @acronym{PNM} or
|
||||
@acronym{JPEG} formats might be a good way to find out whether the lack
|
||||
of @acronym{PNG} format support might be the only problem with your
|
||||
Emacs.
|
||||
|
||||
@subsection For which OS does preview work?
|
||||
|
||||
It is known to work under the X Window System for Linux and for several
|
||||
flavors of Unix: we have reports for HP and Solaris.
|
||||
|
||||
There are several development versions of Emacs around for native MacOS
|
||||
Carbon, and @previewlatex{} is working with them, too.
|
||||
|
||||
With Windows, both native Emacs and Cygwin Emacs should work. However, it
|
||||
is known that @url{https://miktex.org/,MiK@TeX{}} sometimes doesn't work
|
||||
with @previewlatex{}. In that case, use
|
||||
@url{https://tug.org/texlive/,@TeX{} Live} instead.
|
||||
|
||||
@node Installation Trouble, Customization, Requirements, Frequently Asked Questions
|
||||
@section Installation Trouble
|
||||
|
||||
@subsection I just get @samp{LaTeX found no preview images}.
|
||||
|
||||
The reason for this is that @LaTeX{} found no preview images in the
|
||||
document in question.
|
||||
|
||||
One reason might be that there are no previews to be seen. If you have
|
||||
not used @previewlatex{} before, you might not know its manner of
|
||||
operation. One sure-fire way to test if you just have a document where
|
||||
no previews are to be found is to use the provided example document
|
||||
@file{circ.tex} (you will have to copy it to some directory where you
|
||||
have write permissions). If the symptom persists, you have a problem,
|
||||
and the problem is most likely a @LaTeX{} problem. Here are possible
|
||||
reasons:
|
||||
|
||||
@table @asis
|
||||
|
||||
@item Filename database not updated
|
||||
Various @TeX{} distributions have their own ways of knowing where the
|
||||
files are without actually searching directories. The normal
|
||||
@previewlatex{} installation should detect common tools for that purpose
|
||||
and use them. If this goes wrong, or if the files get installed into a
|
||||
place where they are not looked for, the @LaTeX{} run will fail.
|
||||
|
||||
@item An incomplete manual installation
|
||||
This should not happen if you followed installation instructions.
|
||||
Unfortunately, people know better all the time. If only
|
||||
@file{preview.sty} gets installed without a set of supplementary files
|
||||
also in the @file{latex} subdirectory, @previewlatex{} runs will not
|
||||
generate any errors, but they will not produce any previews, either.
|
||||
|
||||
@item An outdated @file{preview} installation
|
||||
The @file{preview.sty} package is useful for more than just
|
||||
@previewlatex{}. For example, it is part of @w{@TeX{} Live}. So you have
|
||||
to make sure that @previewlatex{} does not get to work with outdated
|
||||
style and configuration files: some newer features will not work with
|
||||
older @TeX{} style files, and really old files will make
|
||||
@previewlatex{} fail completely. There usual is a local @file{texmf}
|
||||
tree, or even a user-specific tree that are searched before the default
|
||||
tree. Make sure that the first version of those files that gets found
|
||||
is the correct one.
|
||||
@end table
|
||||
|
||||
@node Customization, Troubleshooting, Installation Trouble, Frequently Asked Questions
|
||||
@section Customization
|
||||
|
||||
@subsection How to include additional environments like @code{enumerate}
|
||||
|
||||
By default, @previewlatex{} is intended mainly for displaying
|
||||
mathematical formulas, so environments like @code{enumerate} or
|
||||
@code{tabular} (except where contained in a float) are not included.
|
||||
You can include them however manually by adding the lines:
|
||||
|
||||
@example
|
||||
\usepackage[displaymath,textmath,sections,graphics,floats]@{preview@}
|
||||
\PreviewEnvironment@{enumerate@}
|
||||
@end example
|
||||
@noindent
|
||||
in your document header, that is before
|
||||
|
||||
@example
|
||||
\begin@{document@}
|
||||
@end example
|
||||
@noindent
|
||||
In general, @file{preview} should be loaded as the last thing before
|
||||
the start of document.
|
||||
|
||||
Be aware that
|
||||
|
||||
@example
|
||||
\PreviewEnvironment@{...@}
|
||||
@end example
|
||||
@noindent
|
||||
does not accept a comma separated
|
||||
list! Also note that by putting more and more
|
||||
|
||||
@example
|
||||
\PreviewEnvironment@{...@}
|
||||
@end example
|
||||
@noindent
|
||||
in your document, it will look more and more like a @acronym{DVI} file
|
||||
preview when running @previewlatex{}. Since each preview is treated as
|
||||
one large monolithic block by Emacs, one should really restrict
|
||||
previews to those elements where the improvement in visual
|
||||
representation more than makes up for the decreased editability.
|
||||
|
||||
@subsection What if I don't want to change the document?
|
||||
The easiest way is to generate a configuration file in the current
|
||||
directory. You can basically either create @file{prdefault.cfg} which
|
||||
is used for any use of the @samp{preview} package, or you can use
|
||||
@file{prauctex.cfg} which only applies to the use from with Emacs. Let
|
||||
us assume you use the latter. In that case you should write something like
|
||||
|
||||
@example
|
||||
\InputIfFileExists@{preview/prauctex.cfg@}@{@}@{@}
|
||||
\PreviewEnvironment@{enumerate@}
|
||||
@end example
|
||||
@noindent
|
||||
in it. The first line inputs the system-wide default configuration
|
||||
(the file name should match that, but not your own
|
||||
@file{prauctex.cfg}), then you add your own stuff.
|
||||
|
||||
@subsection Suddenly I get gazillions of ridiculous pages?!?
|
||||
|
||||
When @previewlatex{} works on extracting its stuff, it typesets each
|
||||
single preview on a page of its own. This only happens when actual
|
||||
previews get generated. Now if you want to configure @previewlatex{} in
|
||||
your document, you need to add your own @code{\usepackage} call to
|
||||
@samp{preview} so that it will be able to interpret its various
|
||||
definition commands. It is an error to add the @code{active} option to
|
||||
this invocation: you don't want the package to be active unless
|
||||
@previewlatex{} itself enables the previewing operation (which it will).
|
||||
|
||||
@subsection Does @previewlatex{} work with presentation classes?
|
||||
|
||||
@previewlatex{} should work with most presentation classes. However,
|
||||
since those classes often have macros or pseudo environments
|
||||
encompassing a complete slide, you will need to use the customization
|
||||
facilities of @file{preview.sty} to tell it how to resolve this, whether
|
||||
you want no previews, previews of whole slides or previews of inner
|
||||
material.
|
||||
|
||||
@node Troubleshooting, Other formats, Customization, Frequently Asked Questions
|
||||
@section Troubleshooting
|
||||
|
||||
@subsection Preview causes all sort of strange error messages
|
||||
|
||||
When running @previewlatex{} and taking a look at either log file or
|
||||
terminal output, lots of messages like
|
||||
|
||||
@example
|
||||
! Preview: Snippet 3 started.
|
||||
<-><->
|
||||
|
||||
l.52 \item Sie lassen sich als Funktion $
|
||||
y = f(x)$ darstellen.
|
||||
! Preview: Snippet 3 ended.(491520+163840x2494310).
|
||||
<-><->
|
||||
|
||||
l.52 \item Sie lassen sich als Funktion $y = f(x)$
|
||||
darstellen.
|
||||
@end example
|
||||
@noindent
|
||||
appear (previous versions generated messages looking even more like
|
||||
errors). Those are not real errors (as will be noted in the log
|
||||
file). Or rather, while they @strong{are} really @TeX{} error
|
||||
messages, they are intentional. This currently is the only reliable
|
||||
way to pass the information from the @LaTeX{} run of @previewlatex{} to
|
||||
its Emacs part about where the previews originated in the source text.
|
||||
Since they are actual errors, you will also get @AUCTeX{} to state
|
||||
@example
|
||||
Preview-LaTeX exited as expected with code 1 at Wed Sep 4 17:03:30
|
||||
@end example
|
||||
@noindent
|
||||
after the @LaTeX{} run in the run buffer. This merely indicates that
|
||||
errors were present, and errors will always be present when
|
||||
@previewlatex{} is operating. There might be also real errors, so in
|
||||
case of doubt, look for them explicitly in either run buffer or the
|
||||
resulting @file{.log} file.
|
||||
|
||||
@subsection Why do my @acronym{DVI} and @acronym{PDF} output files vanish?
|
||||
|
||||
In order to produce the preview images @previewlatex{} runs @LaTeX{} on
|
||||
the master or region file. The resulting @acronym{DVI} or @acronym{PDF}
|
||||
file can happen to have the same name as the output file of a regular
|
||||
@LaTeX{} run. So the regular output file gets overwritten and is
|
||||
subsequently deleted by @previewlatex{}.
|
||||
|
||||
@subsection My output file suddenly only contains preview images?!
|
||||
|
||||
As mentioned in the previews @acronym{FAQ} entry, @previewlatex{} might
|
||||
use the file name of the original output file for the creation of
|
||||
preview images. If the original output file is being displayed with a
|
||||
viewer when this happens, you might see strange effects depending on the
|
||||
viewer, e.g.@: a message about the file being corrupted or the display of
|
||||
all the preview images instead of your typeset document. (Also
|
||||
@pxref{Customization}.)
|
||||
|
||||
|
||||
@node Other formats, , Troubleshooting, Frequently Asked Questions
|
||||
@section @previewlatex{} when not using @LaTeX{}
|
||||
|
||||
@subsection Does @previewlatex{} work with PDF@LaTeX{}?
|
||||
|
||||
Yes, as long as you use @AUCTeX{}'s own PDF@LaTeX{} mode and have not
|
||||
messed with @samp{TeX-command-list}.
|
||||
|
||||
@subsection Does @previewlatex{} work with @samp{elatex}?
|
||||
|
||||
No problem here. If you configure your @AUCTeX{} to use @samp{elatex},
|
||||
or simply have @samp{latex} point to @samp{elatex}, this will work fine.
|
||||
Modern @TeX{} distributions use e@TeX{} for @LaTeX{}, anyway.
|
||||
|
||||
@subsection Does @previewlatex{} work with @ConTeXt{}?
|
||||
|
||||
In short, no. The @samp{preview} package is
|
||||
@LaTeX{}-dependent. Adding support for other formats requires
|
||||
volunteers.
|
||||
|
||||
@subsection Does @previewlatex{} work with plain @TeX{}?
|
||||
|
||||
Again, no. Restructuring the @samp{preview} package for @samp{plain}
|
||||
operation would be required. Volunteers welcome.
|
||||
|
||||
In some cases you might get around by making a wrapper pseudo-Master
|
||||
file looking like the following:
|
||||
|
||||
@example
|
||||
\documentclass@{article@}
|
||||
\usepackage@{plain@}
|
||||
\begin@{document@}
|
||||
\begin@{plain@}
|
||||
\input myplainfile
|
||||
\end@{plain@}
|
||||
\end@{document@}
|
||||
@end example
|
|
@ -1,849 +0,0 @@
|
|||
\input texinfo
|
||||
@comment %**start of header
|
||||
@setfilename preview-latex.info
|
||||
@include version.texi
|
||||
@settitle preview-latex @value{VERSION}
|
||||
@comment %**end of header
|
||||
@include macros.texi
|
||||
@copying
|
||||
This manual is for preview-latex, a @LaTeX{} preview mode for @AUCTeX{}
|
||||
(version @value{VERSION} from @value{UPDATED}).
|
||||
|
||||
Copyright @copyright{} 2001, 2002, 2003,
|
||||
2004, 2005, 2006, 2017-2019, 2021 Free Software Foundation, Inc.
|
||||
|
||||
@quotation
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
any later version published by the Free Software Foundation; with no
|
||||
Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
|
||||
copy of the license is included in the section entitled ``GNU Free
|
||||
Documentation License.''
|
||||
@end quotation
|
||||
@end copying
|
||||
|
||||
@dircategory Emacs
|
||||
@direntry
|
||||
* preview-latex: (preview-latex). Preview LaTeX fragments in Emacs
|
||||
@end direntry
|
||||
@dircategory TeX
|
||||
@direntry
|
||||
* preview-latex: (preview-latex). Preview LaTeX fragments in Emacs
|
||||
@end direntry
|
||||
@c footnotestyle separate
|
||||
@c paragraphindent 2
|
||||
@syncodeindex vr cp
|
||||
@syncodeindex ky cp
|
||||
@syncodeindex fn cp
|
||||
|
||||
@iftex
|
||||
@tolerance 10000 @emergencystretch 3em
|
||||
@end iftex
|
||||
|
||||
@finalout
|
||||
@titlepage
|
||||
@title @previewlatex{}
|
||||
@subtitle A @LaTeX{} preview mode for @AUCTeX{} in Emacs.
|
||||
@subtitle Version @value{VERSION}, @value{UPDATED}
|
||||
@author Jan-@AA{}ke Larsson
|
||||
@author David Kastrup and others
|
||||
@page
|
||||
@vskip 0pt plus 1filll
|
||||
@insertcopying
|
||||
@end titlepage
|
||||
|
||||
@c @summarycontents
|
||||
@contents
|
||||
|
||||
@c Use @ifinfo _and_ @ifhtml here because Texinfo 3 cannot cope with
|
||||
@c @ifnottex around a top node.
|
||||
@ifinfo
|
||||
@node top, , (dir), (dir)
|
||||
@top @previewlatex{}
|
||||
|
||||
This manual may be copied under the conditions spelled out in
|
||||
@ref{Copying this Manual}.
|
||||
|
||||
@end ifinfo
|
||||
@ifhtml
|
||||
@node top, Copying, (dir), (dir)
|
||||
@top @previewlatex{}
|
||||
@insertcopying
|
||||
@end ifhtml
|
||||
|
||||
@iftex
|
||||
@unnumbered @previewlatex{}
|
||||
@end iftex
|
||||
|
||||
@previewlatex{} is a package embedding preview fragments into Emacs
|
||||
source buffers under the @AUCTeX{} editing environment for @LaTeX{}. It
|
||||
uses @file{preview.sty} for the extraction of certain environments (most
|
||||
notably displayed formulas). Other applications of this style file are
|
||||
possible and exist.
|
||||
|
||||
The name of the package is really @samp{preview-latex}, all in
|
||||
lowercase letters, with a hyphen. If you typeset it, you can use a
|
||||
sans-serif font to visually offset it.
|
||||
|
||||
@menu
|
||||
* Copying:: Copying
|
||||
* Introduction:: Getting started.
|
||||
* Installation:: Make Install.
|
||||
* Keys and lisp:: Key bindings and user-level lisp functions.
|
||||
* Simple customization:: To make it fit in.
|
||||
* Known problems:: When things go wrong.
|
||||
* For advanced users:: Internals and more customizations.
|
||||
* ToDo:: Future development.
|
||||
* Frequently Asked Questions:: All about @previewlatex{}
|
||||
* Copying this Manual:: GNU Free Documentation License
|
||||
* Index:: A menu of many topics.
|
||||
@end menu
|
||||
|
||||
@node Copying, Introduction, top, top
|
||||
@unnumbered Copying
|
||||
@cindex Copying
|
||||
@cindex Copyright
|
||||
@cindex GPL
|
||||
@cindex General Public License
|
||||
@cindex License
|
||||
@cindex Free
|
||||
@cindex Free software
|
||||
@cindex Distribution
|
||||
@cindex Right
|
||||
@cindex Warranty
|
||||
|
||||
For the conditions for copying parts of @previewlatex{}, see the General
|
||||
Public Licenses referred to in the copyright notices of the files, the
|
||||
General Public Licenses accompanying them and the explanatory section in
|
||||
@ref{Copying,,,auctex,the @AUCTeX{} manual}.
|
||||
|
||||
This manual specifically is covered by the GNU Free Documentation
|
||||
License (@pxref{Copying this Manual}).
|
||||
|
||||
@node Introduction, Installation, Copying, top
|
||||
@c Used as @file{README} as well: in separate file
|
||||
@chapter Introduction
|
||||
@include preview-readme.texi
|
||||
|
||||
@node Installation, Keys and lisp, Introduction, top
|
||||
@chapter Installation
|
||||
Installation is now being covered in
|
||||
@ref{Installation,,,auctex,the @AUCTeX{} manual}.
|
||||
|
||||
@node Keys and lisp, Simple customization, Installation, top
|
||||
@chapter Key bindings and user-level lisp functions
|
||||
|
||||
@cindex Menu entries
|
||||
@previewlatex{} adds key bindings starting with @kbd{C-c C-p} to the
|
||||
supported modes of @AUCTeX{} (@xref{Key Index,,,auctex}). It will
|
||||
also add its own @samp{Preview} menu in the menu bar, as well as an icon
|
||||
in the toolbar.
|
||||
|
||||
The following only describes the interactive use: view the documentation
|
||||
strings with @kbd{C-h f} if you need the Lisp information.
|
||||
|
||||
@table @w
|
||||
@item @kbd{C-c C-p C-p}
|
||||
@itemx @code{preview-at-point}
|
||||
@itemx Preview/Generate previews (or toggle) at point
|
||||
If the cursor is positioned on or inside of a preview area, this
|
||||
toggles its visibility, regenerating the preview if necessary. If not,
|
||||
it will run the surroundings through preview. The surroundings include
|
||||
all areas up to the next valid preview, unless invalid previews occur
|
||||
before, in which case the area will include the last such preview in
|
||||
either direction. And overriding any other
|
||||
action, if a region is active (@code{transient-mark-mode}), it is run
|
||||
through @code{preview-region}.
|
||||
@kindex @kbd{C-c C-p C-p}
|
||||
@findex preview-at-point
|
||||
|
||||
@item @kbd{@key{mouse-2}}
|
||||
The middle mouse button has a similar action bound to it as
|
||||
@code{preview-at-point}, only that it knows which preview to apply it to
|
||||
according to the position of the click. You can click either anywhere
|
||||
on a previewed image, or when the preview is opened and showing the
|
||||
source text, you can click on the icon preceding the source text. In
|
||||
other areas, the usual mouse key action (typically: paste) is not
|
||||
affected.
|
||||
|
||||
@item @kbd{@key{mouse-3}}
|
||||
The right mouse key pops up a context menu with several options:
|
||||
toggling the preview, regenerating it, removing it (leaving the
|
||||
unpreviewed text), copying the text inside of the preview, and copying
|
||||
it in a form suitable for copying as an image into a mail or news
|
||||
article. This is a one-image variant of the following command:
|
||||
|
||||
@item @kbd{C-c C-p C-w}
|
||||
@itemx @code{preview-copy-region-as-mml}
|
||||
@itemx Copy a region as MML
|
||||
@kindex @kbd{C-c C-p C-w}
|
||||
@findex preview-copy-region-as-mml
|
||||
This command is also available as a variant in the context menu on the
|
||||
right mouse button (where the region is the preview that has been
|
||||
clicked on). It copies the current region into the kill buffer in a
|
||||
form suitable for copying as a text including images into a mail or news
|
||||
article using mml-mode (@pxref{Composing,,Composing,emacs-mime,Emacs
|
||||
MIME}).
|
||||
|
||||
If you regenerate or otherwise kill the preview in its source buffer
|
||||
before the mail or news gets posted, this will fail. Also you should
|
||||
generate images you want to send with @code{preview-transparent-border}
|
||||
@vindex preview-transparent-border
|
||||
set to @code{nil}, or the images will have an ugly border.
|
||||
@previewlatex{} detects this condition and asks whether to regenerate
|
||||
the region with borders switched off. As this is an asynchronous
|
||||
operation running in the background, you'll need to call this command
|
||||
explicitly again to get the newly generated images into the kill ring.
|
||||
|
||||
Preview your articles with @code{mml-preview} (on @kbd{C-c C-m P})
|
||||
@kindex @kbd{C-c C-m P}
|
||||
to make sure they look fine.
|
||||
|
||||
@item @kbd{C-c C-p C-e}
|
||||
@itemx @code{preview-environment}
|
||||
@itemx Preview/Generate previews for environment
|
||||
Run preview on @LaTeX{} environment. The environments in
|
||||
@code{preview-inner-environments} are treated as inner levels so that
|
||||
for instance, the @code{split} environment in
|
||||
@code{\begin@{equation@}\begin@{split@}@dots{}\end@{split@}\end@{equation@}}
|
||||
is properly displayed. If called with a numeric argument, the
|
||||
corresponding number of outward nested environments is treated as inner
|
||||
levels.
|
||||
@kindex @kbd{C-c C-p C-e}
|
||||
@findex preview-environment
|
||||
|
||||
@item @kbd{C-c C-p C-s}
|
||||
@itemx @code{preview-section}
|
||||
@itemx Preview/Generate previews for section
|
||||
Run preview on this @LaTeX{} section.
|
||||
@kindex @kbd{C-c C-p C-s}
|
||||
@findex preview-section
|
||||
|
||||
@item @kbd{C-c C-p C-r}
|
||||
@itemx @code{preview-region}
|
||||
@itemx Preview/Generate previews for region
|
||||
Run preview on current region.
|
||||
@kindex @kbd{C-c C-p C-r}
|
||||
@findex preview-region
|
||||
|
||||
@item @kbd{C-c C-p C-b}
|
||||
@itemx @code{preview-buffer}
|
||||
@itemx Preview/Generate previews for buffer
|
||||
Run preview on the current buffer.
|
||||
@kindex @kbd{C-c C-p C-b}
|
||||
@findex preview-buffer
|
||||
|
||||
@item @kbd{C-c C-p C-d}
|
||||
@itemx @code{preview-document}
|
||||
@itemx Preview/Generate previews for document
|
||||
Run preview on the current document.
|
||||
@kindex @kbd{C-c C-p C-d}
|
||||
@findex preview-document
|
||||
|
||||
@item @kbd{C-c C-p C-c C-p}
|
||||
@itemx @code{preview-clearout-at-point}
|
||||
@itemx Preview/Remove previews at point
|
||||
@kindex @kbd{C-c C-p C-c C-p}
|
||||
@findex preview-clearout-at-point
|
||||
Clear out (remove) the previews that are immediately adjacent to point.
|
||||
|
||||
@item @kbd{C-c C-p C-c C-s}
|
||||
@itemx @code{preview-clearout-section}
|
||||
@itemx Preview/Remove previews from section
|
||||
@kindex @kbd{C-c C-p C-c C-s}
|
||||
@findex preview-clearout-document
|
||||
Clear out all previews in current section.
|
||||
|
||||
@item @kbd{C-c C-p C-c C-r}
|
||||
@itemx @code{preview-clearout}
|
||||
@itemx Preview/Remove previews from region
|
||||
@kindex @kbd{C-c C-p C-c C-r}
|
||||
@findex preview-clearout
|
||||
Clear out all previews in the current region.
|
||||
|
||||
@item @kbd{C-c C-p C-c C-b}
|
||||
@itemx @code{preview-clearout-buffer}
|
||||
@itemx Preview/Remove previews from buffer
|
||||
@kindex @kbd{C-c C-p C-c C-b}
|
||||
@findex preview-clearout-buffer
|
||||
Clear out all previews in current buffer. This makes the current buffer
|
||||
lose all previews.
|
||||
|
||||
@item @kbd{C-c C-p C-c C-d}
|
||||
@itemx @code{preview-clearout-document}
|
||||
@itemx Preview/Remove previews from document
|
||||
@kindex @kbd{C-c C-p C-c C-d}
|
||||
@findex preview-clearout-document
|
||||
Clear out all previews in current document. The document consists of
|
||||
all buffers that have the same master file as the current buffer. This
|
||||
makes the current document lose all previews.
|
||||
|
||||
@item @kbd{C-c C-p C-f}
|
||||
@itemx @code{preview-cache-preamble}
|
||||
@itemx Preview/Turn preamble cache on
|
||||
@kindex @kbd{C-c C-p C-f}
|
||||
@findex preview-cache-preamble
|
||||
Dump a pregenerated format file. For the rest of the session, this file
|
||||
is used when running on the same master file. Use this if you know your
|
||||
@LaTeX{} takes a long time to start up, the speedup will be most
|
||||
noticeable when generating single or few previews. If you change your
|
||||
preamble, do this again. @previewlatex{} will try to detect the
|
||||
necessity of that automatically when editing changes to the preamble are
|
||||
done from within Emacs, but it will not notice if the preamble
|
||||
effectively changes because some included file or style file is
|
||||
tampered with.
|
||||
|
||||
Note that support for preamble cache is limited for @LaTeX{} variants.
|
||||
c.f.@: @url{https://github.com/davidcarlisle/dpctex/issues/15}
|
||||
@itemize @bullet
|
||||
@item
|
||||
Xe@LaTeX{} cannot use preamble cache at all. The reason is intrinsic in
|
||||
Xe@LaTeX{}, so @previewlatex{} can't help.
|
||||
@item
|
||||
Lua@LaTeX{} works with preamble cache only when the preamble is simple
|
||||
enough, i.e., when it doesn't load opentype fonts and it doesn't use lua
|
||||
codes in preamble.
|
||||
@end itemize
|
||||
|
||||
@item @kbd{C-c C-p C-c C-f}
|
||||
@itemx @code{preview-cache-preamble-off}
|
||||
@itemx Preview/Turn preamble cache off
|
||||
@kindex @kbd{C-u C-c C-p C-f}
|
||||
@findex preview-cache-preamble-off
|
||||
Clear the pregenerated format file and stop using preambles for the
|
||||
current document. If the caching gives you problems, use this.
|
||||
|
||||
@item @kbd{C-c C-p C-i}
|
||||
@itemx @code{preview-goto-info-page}
|
||||
@itemx Preview/Read Documentation
|
||||
@kindex @kbd{C-c C-p C-i}
|
||||
@findex preview-goto-info-page
|
||||
Read
|
||||
@ifinfo
|
||||
this
|
||||
@end ifinfo
|
||||
@ifnotinfo
|
||||
the
|
||||
@end ifnotinfo
|
||||
info manual.
|
||||
|
||||
@item @kbd{M-x preview-report-bug @key{RET}}
|
||||
@itemx @code{preview-report-bug}
|
||||
@itemx Preview/Report Bug
|
||||
@kindex @kbd{M-x preview-report-bug RET}
|
||||
@findex preview-report-bug
|
||||
@cindex Report a bug
|
||||
This is the preferred way of reporting bugs as it will fill in what
|
||||
version of @previewlatex{} you are using as well as versions of
|
||||
relevant other software, and also some of the more important
|
||||
settings. Please use this method of reporting, if at all possible and
|
||||
before reporting a bug, have a look at @ref{Known problems}.
|
||||
|
||||
@item @kbd{C-c C-k}
|
||||
@itemx LaTeX/TeX Output/Kill Job
|
||||
@kindex @kbd{C-c C-k}
|
||||
@cindex Kill preview-generating process
|
||||
Kills the preview-generating process. This is really an @AUCTeX{}
|
||||
keybinding, but it is included here as a hint. If you are generating
|
||||
a preview and then make a change to the buffer, @previewlatex{} may be
|
||||
confused and place the previews wrong.
|
||||
@end table
|
||||
|
||||
@node Simple customization, Known problems, Keys and lisp, top
|
||||
@chapter Simple customization
|
||||
|
||||
Customization options can be found by typing @kbd{M-x customize-group
|
||||
@key{RET} preview @key{RET}}. Remember to set the option when you have
|
||||
changed it. The list of suggestions can be made very long (and is
|
||||
covered in detail in @ref{For advanced users}), but some are:
|
||||
|
||||
@itemize @bullet
|
||||
@item Change the color of the preview background
|
||||
|
||||
If you use a non-white background in Emacs, you might have color
|
||||
artifacts at the edges of your previews. Playing around with the option
|
||||
@code{preview-transparent-color} in the @samp{Preview Appearance} group
|
||||
might improve things. With some settings, the cursor may cover the
|
||||
whole background of a preview, however.
|
||||
|
||||
This option is specific to the display engine in use.
|
||||
|
||||
@item Showing @code{\label}s
|
||||
@cindex Showing @code{\label}s
|
||||
|
||||
When using @previewlatex{}, the @code{\label}s are hidden by the
|
||||
previews. It is possible to make them visible in the output
|
||||
by using the @LaTeX{} package @code{showkeys} alternatively
|
||||
@code{showlabels}. However, the boxes of these labels will be outside
|
||||
the region @previewlatex{} considers as the preview image. To enable a
|
||||
similar mechanism internal to @previewlatex{}, enable the
|
||||
@code{showlabels} option in the variable
|
||||
@code{preview-default-option-list} in the @samp{Preview Latex} group.
|
||||
@vindex preview-default-option-list
|
||||
|
||||
It must be noted, however, that a much better idea may be to use the
|
||||
Ref@TeX{} package for managing references. @xref{RefTeX in a
|
||||
Nutshell,,RefTeX in a Nutshell,reftex,The Ref@TeX{} Manual}.
|
||||
|
||||
@item Open previews automatically
|
||||
|
||||
The current default is to open previews automatically when you enter
|
||||
them with cursor left/right motions. Auto-opened previews will close
|
||||
again once the cursor leaves them again (this is also done when doing
|
||||
incremental search, or query-replace operations), unless you changed
|
||||
anything in it. In that case, you will have to regenerate the preview
|
||||
(via e.g., @kbd{C-c C-p C-p}). Other options for
|
||||
@code{preview-auto-reveal} are available via @code{customize}.
|
||||
|
||||
@item Automatically cache preambles
|
||||
|
||||
Currently @previewlatex{} asks you whether you want to cache the
|
||||
document preamble (everything before @code{\begin@{document@}}) before
|
||||
it generates previews for a buffer the first time. Caching the preamble
|
||||
will significantly speed up regeneration of previews. The larger your
|
||||
preamble is, the more this will be apparent. Once a preamble is cached,
|
||||
@previewlatex{} will try to keep track of when it is changed, and dump
|
||||
a fresh format in that case. If you experience problems with this, or
|
||||
if you want it to happen without asking you the first time, you can
|
||||
customize the variable @code{preview-auto-cache-preamble}.
|
||||
@vindex preview-auto-cache-preamble
|
||||
@cindex Caching a preamble
|
||||
|
||||
@item Attempt to keep counters accurate when editing
|
||||
|
||||
@vindex preview-preserve-counters
|
||||
@vindex preview-required-option-list
|
||||
Since @previewlatex{} frequently runs only small regions through
|
||||
@LaTeX{}, values like equation counters are not consistent from run to
|
||||
run. If this bothers you, customize the variable
|
||||
@code{preview-preserve-counters} to @code{t} (this is consulted by
|
||||
@code{preview-required-option-list}). @LaTeX{} will then output a load
|
||||
of counter information during compilation, and this information will be
|
||||
used on subsequent updates to keep counters set to useful values. The
|
||||
additional information takes additional time to analyze, but this is
|
||||
relevant mostly only when you are regenerating all previews at once, and
|
||||
maybe you will be less tempted to do so when counters appear more or
|
||||
less correct.
|
||||
|
||||
@item Preview your favourite @LaTeX{} constructs
|
||||
|
||||
@vindex preview-default-option-list
|
||||
@vindex preview-default-preamble
|
||||
If you have a certain macro or environment that you want to preview,
|
||||
first check if it can be chosen by cutomizing
|
||||
@code{preview-default-option-list} in the @samp{Preview Latex} group.
|
||||
|
||||
If it is not available there, you can add it to
|
||||
@code{preview-default-preamble} also in the @samp{Preview Latex} group,
|
||||
by adding a @code{\PreviewMacro} or @code{\PreviewEnvironment} entry
|
||||
(@pxref{Provided commands}) @emph{after} the @code{\RequirePackage}
|
||||
line. For example, if you want to preview the @code{center}
|
||||
environment, press the @key{Show} button and the last @key{INS} button,
|
||||
then add
|
||||
|
||||
@example
|
||||
\PreviewEnvironment@{center@}
|
||||
@end example
|
||||
@noindent
|
||||
in the space that just opened. Note that since @code{center} is a
|
||||
generic formatting construct of @LaTeX{}, a general configuration like
|
||||
that is not quite prudent. You better to do this on a per-document
|
||||
base so that it is easy to disable this behavior when you find this
|
||||
particular entry gives you trouble.
|
||||
|
||||
One possibility is to save such settings in the corresponding file-local
|
||||
variable instead of your global configuration (@pxref{File
|
||||
Variables,,Local Variables in Files,emacs,GNU Emacs Manual}). A perhaps
|
||||
more convenient place for such options would be in a configuration file
|
||||
in the same directory with your project (@pxref{Package options}).
|
||||
|
||||
The usual file for @previewlatex{} preconfiguration is
|
||||
@file{prauctex.cfg}. If you also want to keep the systemwide defaults,
|
||||
you should add a line
|
||||
|
||||
@example
|
||||
\InputIfFileExists@{preview/prauctex.cfg@}@{@}@{@}
|
||||
@end example
|
||||
@noindent
|
||||
to your own version of @file{prauctex.cfg} (this is assuming that
|
||||
global files relating to the @code{preview} package are installed in a
|
||||
subdirectory @file{preview}, the default behavior).
|
||||
|
||||
@item Don't preview inline math
|
||||
@cindex Inline math
|
||||
@vindex preview-default-option-list
|
||||
|
||||
If you have performance problems because your document is full of inline
|
||||
math (@code{$@dots{}$}), or if your usage of @code{$} conflicts with
|
||||
@previewlatex{}'s, you can turn off inline math previews. In the
|
||||
@samp{Preview Latex} group, remove @code{textmath} from
|
||||
@code{preview-default-option-list} by customizing this variable.
|
||||
@end itemize
|
||||
|
||||
@node Known problems, For advanced users, Simple customization, top
|
||||
@chapter Known problems
|
||||
@c also used as PROBLEMS file
|
||||
@include preview-problems.texi
|
||||
|
||||
@node For advanced users, ToDo, Known problems, top
|
||||
@chapter For advanced users
|
||||
|
||||
This package consists of two parts: a @LaTeX{} style that splits the
|
||||
output into appropriate parts with one preview object on each page, and
|
||||
an Emacs-lisp part integrating the thing into Emacs (aided by
|
||||
@AUCTeX{}).
|
||||
|
||||
@menu
|
||||
* The LaTeX style file::
|
||||
* The Emacs interface::
|
||||
* The preview images::
|
||||
* Misplaced previews::
|
||||
@end menu
|
||||
|
||||
@node The LaTeX style file, The Emacs interface, For advanced users, For advanced users
|
||||
@section The @LaTeX{} style file
|
||||
@c Autogenerated from ../latex/preview.dtx
|
||||
@include preview-dtxdoc.texi
|
||||
|
||||
@node The Emacs interface, The preview images, The LaTeX style file, For advanced users
|
||||
@section The Emacs interface
|
||||
|
||||
You can use @kbd{M-x customize-group @key{RET} preview-latex @key{RET}}
|
||||
in order to customize these variables, or use the menus for it. We
|
||||
explain the various available options together with explaining how they
|
||||
work together in making @previewlatex{} work as intended.
|
||||
|
||||
@vtable @code
|
||||
@item preview-LaTeX-command
|
||||
When you generate previews on a buffer or a region, the command in
|
||||
@code{preview-LaTeX-command} gets run (that variable should only be
|
||||
changed with Customize since its structure is somewhat peculiar, though
|
||||
expressive). As usual with @AUCTeX{}, you can continue working while
|
||||
this is going on. It is not a good idea to change the file until after
|
||||
@previewlatex{} has established where to place the previews which it can
|
||||
only do after the @LaTeX{} run completes. This run produces a host of
|
||||
pseudo-error messages that get parsed by @previewlatex{} at the end of
|
||||
the @LaTeX{} run and give it the necessary information about where in
|
||||
the source file the @LaTeX{} code for the various previews is located
|
||||
exactly. The parsing takes a moment and will render Emacs busy.
|
||||
|
||||
@item preview-LaTeX-command-replacements
|
||||
This variable specifies transformations to be used before calling the
|
||||
configured command. One possibility is to have @samp{\pdfoutput=0 }
|
||||
appended to every command starting with @samp{pdf}. This particular
|
||||
setting is available as the shortcut
|
||||
@code{preview-LaTeX-disable-pdfoutput}. Since @previewlatex{} can work
|
||||
with @acronym{PDF} files by now, there is little incentive for using
|
||||
this option, anymore (for projects not requiring @acronym{PDF} output,
|
||||
the added speed of @command{dvipng} might make this somewhat attractive).
|
||||
|
||||
@item preview-required-option-list
|
||||
@code{preview-LaTeX-command} uses @code{preview-required-option-list} in
|
||||
order to pass options such as @option{auctex}, @option{active} and
|
||||
@option{dvips} to the @file{preview} package. This means that the user
|
||||
need (and should) not supply these in the document itself in case he
|
||||
wants to be able to still compile his document without it turning into
|
||||
an incoherent mass of little pictures. These options even get passed
|
||||
in when the user loads @file{preview} explicitly in his document.
|
||||
|
||||
The default includes an option @code{counters} that is controlled by the
|
||||
boolean variable
|
||||
|
||||
@item preview-preserve-counters
|
||||
This option will cause the @file{preview} package to emit information
|
||||
that will assist in keeping things like equation counters and section
|
||||
numbers reasonably correct even when you are regenerating only single
|
||||
previews.
|
||||
|
||||
@item preview-default-option-list
|
||||
@itemx preview-default-preamble
|
||||
If the document does not call in the package @code{preview} itself (via
|
||||
@code{\usepackage}) in the preamble, the preview package is loaded using
|
||||
default options from @code{preview-default-option-list} and additional
|
||||
commands specified in @code{preview-default-preamble}.
|
||||
|
||||
@item preview-fast-conversion
|
||||
This is relevant only for @acronym{DVI} mode. It defaults to `On' and
|
||||
results in the whole document being processed as one large PostScript
|
||||
file from which the single images are extracted with the help of parsing
|
||||
the PostScript for use of so-called @acronym{DSC} comments. The
|
||||
bounding boxes are extracted with the help of @TeX{} instead of getting
|
||||
them from Dvips. If you are experiencing bounding box problems, try
|
||||
setting this option to `Off'.
|
||||
|
||||
@item preview-prefer-TeX-bb
|
||||
If this option is `On', it tells @previewlatex{} never to try to extract
|
||||
bounding boxes from the bounding box comments of @acronym{EPS} files,
|
||||
but rather rely on the boxes it gets from @TeX{}. If you activated
|
||||
@code{preview-fast-conversion}, this is done, anyhow, since there are no
|
||||
@acronym{EPS} files from which to read this information. The option
|
||||
defaults to `Off', simply because about the only conceivable reason to
|
||||
switch off @code{preview-fast-conversion} would be that you have some
|
||||
bounding box problem and want to get Dvips' angle on that matter.
|
||||
|
||||
@item preview-scale-function
|
||||
@itemx preview-reference-face
|
||||
@itemx preview-document-pt-list
|
||||
@itemx preview-default-document-pt
|
||||
@code{preview-scale-function} determines by what factor
|
||||
images should be scaled when appearing on the screen. If you specify a
|
||||
numerical value here, the physical size on the screen will be that of
|
||||
the original paper output scaled by the specified factor, at least if
|
||||
Emacs' information about screen size and resolution are correct. The
|
||||
default is to let @code{preview-scale-from-face} determine the scale
|
||||
function. This function determines the scale factor by making the
|
||||
size of the default font in the document match that of the on-screen
|
||||
fonts.
|
||||
|
||||
The size of the screen fonts is deduced from the font
|
||||
@code{preview-reference-face} (usually the default face used for
|
||||
display), the size of the default font for the document is determined
|
||||
by calling @code{preview-document-pt}.
|
||||
@findex preview-document-pt
|
||||
This function consults the members of @code{preview-document-pt-list} in
|
||||
turn until it gets the desired information. The default consults first
|
||||
@code{preview-parsed-font-size},
|
||||
@vindex preview-parsed-font-size
|
||||
then calls @code{preview-auctex-font-size}
|
||||
@findex preview-auctex-font-size
|
||||
which asks @AUCTeX{} about any size specification like @option{12pt} to
|
||||
the documentclass that it might have detected when parsing the document, and
|
||||
finally reverts to just assuming @code{preview-default-document-pt} as
|
||||
the size used in the document (defaulting to 10pt).
|
||||
|
||||
If you find that the size of previews and the other Emacs display
|
||||
clashes, something goes wrong. @code{preview-parsed-font-size} is
|
||||
determined at @code{\begin@{document@}} time; if the default font size
|
||||
changes after that, it will not get reported. If you have an outdated
|
||||
version of @file{preview.sty} in your path, the size might not be
|
||||
reported at all. If in this case @AUCTeX{} is unable to find a size
|
||||
specification, and if you are using a document class with a different
|
||||
default value (like @samp{KomaScript}), the default fallback assumption will
|
||||
probably be wrong and @previewlatex{} will scale up things too large.
|
||||
So better specify those size options even when you know that @LaTeX{}
|
||||
does not need them: @previewlatex{} might benefit from them. Another
|
||||
possibility for error is that you have not enabled @AUCTeX{}'s document
|
||||
parsing options. The fallback method of asking @AUCTeX{} about the size
|
||||
might be disabled in future versions of @previewlatex{} since in
|
||||
general it is more reliable to get this information from the @LaTeX{}
|
||||
run itself.
|
||||
|
||||
@item preview-fast-dvips-command
|
||||
@itemx preview-dvips-command
|
||||
The regular command for turning a @acronym{DVI} file into a single
|
||||
PostScript file is @code{preview-fast-dvips-command}, while
|
||||
@code{preview-dvips-command} is used for cranking out a @acronym{DVI}
|
||||
file where every preview is in a separate @acronym{EPS} file. Which of
|
||||
the two commands gets used depends on the setting of
|
||||
@code{preview-fast-conversion}. The printer specified here
|
||||
is @option{-Pwww} by default, which will usually get you scalable fonts
|
||||
where available. If you are experiencing problems, you might want to try
|
||||
playing around with Dvips options (@xref{Command-line options,,,dvips}).
|
||||
|
||||
The conversion of the previews into PostScript or @acronym{EPS} files
|
||||
gets started after the @LaTeX{} run completes when Emacs recognizes the
|
||||
first image while parsing the error messages. When Emacs has finished
|
||||
parsing the error messages, it activates all detected previews. This
|
||||
entails throwing away any previous previews covering the same areas, and
|
||||
then replacing the text in its visual appearance by a placeholder
|
||||
looking like a roadworks sign.
|
||||
|
||||
@item preview-nonready-icon-specs
|
||||
This is the roadworks sign displayed while previews are being prepared.
|
||||
You may want to customize the font sizes at which @previewlatex{}
|
||||
switches over between different icon sizes, and the ascent ratio which
|
||||
determines how high above the base line the icon gets placed.
|
||||
|
||||
@item preview-error-icon-specs
|
||||
@itemx preview-icon-specs
|
||||
Those are icons placed before the source code of an opened preview and,
|
||||
respectively, the image specs to be used for PostScript errors, and a
|
||||
normal open preview in text representation.
|
||||
|
||||
@item preview-inner-environments
|
||||
This is a list of environments that are regarded as inner levels of an
|
||||
outer environment when doing @code{preview-environment}. One example
|
||||
when this is needed is in
|
||||
@code{\begin@{equation@}\begin@{split@}@dots{}\end@{split@}\end@{equation@}}, and
|
||||
accordingly @code{split} is one entry in
|
||||
@code{preview-inner-environments}.
|
||||
|
||||
@end vtable
|
||||
|
||||
@node The preview images, Misplaced previews, The Emacs interface, For advanced users
|
||||
@section The preview images
|
||||
|
||||
@vtable @code
|
||||
@item preview-image-type
|
||||
@itemx preview-image-creators
|
||||
@itemx preview-gs-image-type-alist
|
||||
What happens when @LaTeX{} is finished depends on the configuration of
|
||||
@code{preview-image-type}. What to do for each of the various settings
|
||||
is specified in the variable @code{preview-image-creators}. The options
|
||||
to pass into Ghostscript and what Emacs image type to use is specified
|
||||
in @code{preview-gs-image-type-alist}.
|
||||
|
||||
@code{preview-image-type} defaults to @code{png}. For this to work,
|
||||
your version of Ghostscript needs to support the @option{png16m} device.
|
||||
If you are experiencing problems here, you might want to reconfigure
|
||||
@code{preview-gs-image-type-alist} or @code{preview-image-type}. Reconfiguring
|
||||
@code{preview-image-creators} is only necessary for adding additional
|
||||
image types.
|
||||
|
||||
Most devices make @previewlatex{} start up a single Ghostscript process
|
||||
for the entire preview run (as opposed to one per image) and feed it
|
||||
either sections of a @acronym{PDF} file (if PDF@LaTeX{} was used), or
|
||||
(after running Dvips) sections of a single PostScript file or separate
|
||||
@acronym{EPS} files in sequence for conversion into @acronym{PNG} format
|
||||
which can be displayed much faster by Emacs. Actually, not in sequence
|
||||
but backwards since you are most likely editing at the end of the
|
||||
document. And as an added convenience, any preview that happens to be
|
||||
on-screen is given higher priority so that @previewlatex{} will first
|
||||
cater for the images that are displayed. There are various options
|
||||
customizable concerning aspects of that operation, see the customization
|
||||
group @samp{Preview Gs} for this.
|
||||
|
||||
Another noteworthy setting of @code{preview-image-type} is
|
||||
@samp{dvipng}: in this case, the @command{dvipng}
|
||||
@pindex dvipng
|
||||
program will get run on @acronym{DVI} output (see below for @acronym{PDF}).
|
||||
This is in general much faster than Dvips and Ghostscript. In that
|
||||
case, the option
|
||||
|
||||
@item preview-dvipng-command
|
||||
will get run for doing the conversion, and it is expected that
|
||||
|
||||
@item preview-dvipng-image-type
|
||||
images get produced (@samp{dvipng} might be configured for other image
|
||||
types as well). You will notice that @code{preview-gs-image-type-alist}
|
||||
contains an entry for @code{dvipng}: this actually has nothing to with
|
||||
@samp{dvipng} itself but specifies the image type and Ghostscript device
|
||||
option to use when @samp{dvipng} can't be used. This will obviously be
|
||||
the case for @acronym{PDF} output by PDF@LaTeX{}, but it will also happen
|
||||
if the @acronym{DVI} file contains PostScript specials in which case the
|
||||
affected images will get run through Dvips and Ghostscript once
|
||||
@samp{dvipng} finishes.
|
||||
|
||||
Note for p@LaTeX{} and up@LaTeX{} users: It is known that @command{dvipng}
|
||||
is not compatible with p@LaTeX{} and up@LaTeX{}. If
|
||||
@code{preview-image-type} is set to @samp{dvipng} and (u)p@LaTeX{} is
|
||||
used, @samp{dvipng} just fails and @previewlatex{} falls back on Dvips
|
||||
and Ghostscript.
|
||||
|
||||
@item preview-gs-options
|
||||
Most interesting to the user perhaps is the setting of this variable.
|
||||
It contains the default antialiasing settings @option{-dTextAlphaBits=4}
|
||||
and @option{-dGraphicsAlphaBits=4}. Decreasing those values to 2 @w{or
|
||||
1} might increase Ghostscript's performance if you find it lacking.
|
||||
@end vtable
|
||||
|
||||
Running and feeding Ghostscript from @previewlatex{} happens
|
||||
asynchronously again: you can resume editing while the images arrive.
|
||||
While those pretty pictures filling in the blanks on screen tend to
|
||||
make one marvel instead of work, rendering the non-displayed images
|
||||
afterwards will not take away your attention and will eventually
|
||||
guarantee that jumping around in the document will encounter only
|
||||
prerendered images.
|
||||
|
||||
@node Misplaced previews, , The preview images, For advanced users
|
||||
@section Misplaced previews
|
||||
|
||||
If you are reading this section, the first thing is to check that your
|
||||
problem is not caused by x-symbol in connection with an installation not
|
||||
supporting 8-bit characters (@pxref{x-symbol interoperation}). If not,
|
||||
here's the beef:
|
||||
|
||||
As explained previously, Emacs uses pseudo-error messages generated by
|
||||
the @samp{preview} package in order to pinpoint the exact source
|
||||
location where a preview originated. This works in running text, but
|
||||
fails when preview material happens to lie in macro arguments, like the
|
||||
contents of @code{\emph}. Those macros first read in their entire
|
||||
argument, munge it through, perhaps transform it somehow, process it and
|
||||
perhaps then typeset something. When they finally typeset something,
|
||||
where is the location where the stuff originated? @TeX{}, having read in
|
||||
the entire argument before, does not know and actually there would be no
|
||||
sane way of defining it.
|
||||
|
||||
For previews contained inside such a macro argument, the default
|
||||
behaviour of @previewlatex{} is to use a position immediately after the
|
||||
closing brace of the argument. All the previews get placed there, all at
|
||||
a zero-width position, which means that Emacs displays it in an order
|
||||
that @previewlatex{} cannot influence (currently in Emacs it is even
|
||||
possible that the order changes between runs). And since the placement
|
||||
of those previews is goofed up, you will not be able to regenerate them
|
||||
by clicking on them. The default behaviour is thus somewhat undesirable.
|
||||
|
||||
The solution (like with other preview problems) is to tell the @LaTeX{}
|
||||
@samp{preview} package how to tackle this problem (@pxref{The LaTeX
|
||||
style file}). Simply, you don't need @code{\emph} do anything at all
|
||||
during previews! You only want the text math previewed, so the solution
|
||||
is to use @code{\PreviewMacro*\emph} in the preamble of your document
|
||||
which will make @LaTeX{} ignore @code{\emph} completely as long as it is
|
||||
not part of a larger preview (in which case it gets typeset as
|
||||
usual). Its argument thus becomes ordinary text and gets treated like
|
||||
ordinary text.
|
||||
|
||||
Note that it would be a bad idea to declare
|
||||
@code{\PreviewMacro*[@{@{@}@}]\emph} since then both @code{\emph} as
|
||||
well as its argument would be ignored instead of previewed. For
|
||||
user-level macros, this is almost never wanted, but there may be
|
||||
internal macros where you might want to ignore internal arguments.
|
||||
|
||||
The same mechanism can be used for a number of other text-formatting
|
||||
commands like @code{\textrm}, @code{\textit} and the like. While they
|
||||
all use the same internal macro @code{\text@@command}, it will not do to
|
||||
redefine just that, since they call it only after having read their
|
||||
argument in, and then it already is too late. So you need to disable
|
||||
every of those commands by hand in your document preamble.
|
||||
|
||||
Actually, we wrote all of the above just to scare you. At least all of
|
||||
the above mentioned macros and a few more are already catered for by a
|
||||
configuration file @file{prauctex.cfg} that gets loaded by default
|
||||
unless the @samp{preview} package gets loaded with the @option{noconfig}
|
||||
option. You can make your own copy of this file in a local directory
|
||||
and edit it in case of need. You can also add loading of a file of your
|
||||
liking to @code{preview-default-preamble},
|
||||
@vindex preview-default-preamble
|
||||
or alternatively do the
|
||||
manual disabling of your favorite macro in
|
||||
@code{preview-default-preamble},
|
||||
@vindex preview-default-preamble
|
||||
which is customizable in the @samp{Preview Latex} group.
|
||||
|
||||
@node ToDo, Frequently Asked Questions, For advanced users, top
|
||||
@c Also used as TODO: in separate file
|
||||
@appendix ToDo
|
||||
@include preview-todo.texi
|
||||
|
||||
@node Frequently Asked Questions, Copying this Manual, ToDo, top
|
||||
@c Also used as TODO: in separate file
|
||||
@appendix Frequently Asked Questions
|
||||
@include preview-faq.texi
|
||||
|
||||
@node Copying this Manual, Index, Frequently Asked Questions, top
|
||||
@c Not to be changed often, I think: in separate file.
|
||||
@appendix Copying this Manual
|
||||
|
||||
@ifinfo
|
||||
The copyright notice for this manual is:
|
||||
|
||||
@insertcopying
|
||||
@end ifinfo
|
||||
|
||||
The full license text can be read here:
|
||||
|
||||
@menu
|
||||
* GNU Free Documentation License:: License for copying this manual.
|
||||
@end menu
|
||||
|
||||
@include fdl.texi
|
||||
|
||||
@c @node Credits, Index, Internals, top
|
||||
@c @appendix Credits
|
||||
|
||||
@node Index, , Copying this Manual, top
|
||||
@unnumbered Index
|
||||
|
||||
@printindex cp
|
||||
|
||||
@bye
|
|
@ -1,206 +0,0 @@
|
|||
@include macros.texi
|
||||
@ifset rawfile
|
||||
@c documentencoding is used by makeinfo in our --no-headers output.
|
||||
@documentencoding ISO-8859-1
|
||||
@node Known problems,,(dir),(dir)
|
||||
@top Known problems with preview-latex
|
||||
|
||||
@end ifset
|
||||
@c -----------------------
|
||||
@c @cindex @kbd{M-x preview-report-bug @key{RET}}
|
||||
@c @cindex @code{preview-report-bug}
|
||||
@c @cindex Report a bug
|
||||
A number of issues are known concerning the interoperation with various
|
||||
other software. Some of the known problems can be solved by moving to
|
||||
newer versions of the problematic software or by simple patches.
|
||||
|
||||
@menu
|
||||
* Font problems with Dvips::
|
||||
* Too small bounding boxes::
|
||||
* x-symbol interoperation::
|
||||
* Middle-clicks paste instead of toggling::
|
||||
* No images are displayed with gs 9.27 and earlier::
|
||||
* Black texts are too hard to read on dark background::
|
||||
@end menu
|
||||
|
||||
If you find something not mentioned here, please send a bug report using
|
||||
@kbd{M-x preview-report-bug @key{RET}}, which will fill in a lot of
|
||||
information interesting to us and send it to the
|
||||
@email{bug-auctex@@gnu.org} list. Please use the bug reporting commands
|
||||
if at all possible.
|
||||
|
||||
@ifset rawfile
|
||||
@node Font problems with Dvips
|
||||
@chapter Font problems with Dvips
|
||||
@raisesections
|
||||
@end ifset
|
||||
@ifclear rawfile
|
||||
@node Font problems with Dvips
|
||||
@section Font problems with Dvips
|
||||
@end ifclear
|
||||
|
||||
Some fonts have been reported to produce wrong characters with
|
||||
@previewlatex{}. @previewlatex{} calls Dvips by default with the option
|
||||
@option{-Pwww} in order to get scalable fonts for nice results. If you
|
||||
are using antialiasing, however, the results might be sufficiently nice
|
||||
with bitmapped fonts, anyway. You might try @option{-Ppdf} for another
|
||||
stab at scalable fonts, or other printer definitions. Use
|
||||
|
||||
@display
|
||||
@kbd{M-x customize-option @key{RET} preview-fast-dvips-command @key{RET}}
|
||||
@end display
|
||||
@noindent
|
||||
and
|
||||
@display
|
||||
@kbd{M-x customize-option @key{RET} preview-dvips-command @key{RET}}
|
||||
@end display
|
||||
@noindent
|
||||
in order to customize this.
|
||||
|
||||
One particular problem is that several printer setup files (typically in
|
||||
a file called @file{/usr/share/texmf/dvips/config/config.pdf} if you are
|
||||
using the @option{-Ppdf} switch) contain the @option{G} option for
|
||||
`character shifting'. This option will result in @samp{fi} being
|
||||
rendered as @samp{@pounds{}} (British Pounds sign) in several fonts,
|
||||
unless your version of Dvips has a long-standing bug in its
|
||||
implementation fixed (only very recent versions of Dvips have).
|
||||
|
||||
@node Too small bounding boxes
|
||||
@section Too small bounding boxes
|
||||
The bounding box of a preview is determined by the @LaTeX{} package
|
||||
using the pure @TeX{} bounding boxes. If there is material extending
|
||||
outside of the @TeX{} box, that material will be missing from the
|
||||
preview image. This happens for the label-showing boxes from
|
||||
the @code{showkeys} package. This particular problem can be
|
||||
circumvented by using the @code{showlabels} option of the preview
|
||||
package.
|
||||
|
||||
In general, you should try to fix the problem in the @TeX{} code, like
|
||||
avoiding drawing outside of the picture with PSTricks.
|
||||
|
||||
One possible remedy is to set
|
||||
@code{preview-fast-conversion} to `Off'
|
||||
@ifset rawfile
|
||||
(see the manual).
|
||||
@end ifset
|
||||
@ifclear rawfile
|
||||
(@pxref{The Emacs interface}).
|
||||
@end ifclear
|
||||
The conversion will take more time, but will then use the bounding boxes
|
||||
from @acronym{EPS} files generated by Dvips.
|
||||
|
||||
Dvips generally does not miss things, but it does not understand
|
||||
PostScript constructs like @code{\resizebox} or @code{\rotate} commands,
|
||||
so will generate rather wrong boxes for those. Dvips can be helped with
|
||||
the @code{psfixbb} package option to preview
|
||||
@ifset rawfile
|
||||
(see the manual),
|
||||
@end ifset
|
||||
@ifclear rawfile
|
||||
(@pxref{The LaTeX style file}),
|
||||
@end ifclear
|
||||
which will tag the corners of the included @TeX{} box. This will mostly
|
||||
be convenient for @emph{pure} PostScript stuff like that created by
|
||||
PSTricks, which Dvips would otherwise reserve no space for.
|
||||
|
||||
@c FIXME: It seems that x-symbol is much outdated.
|
||||
@node x-symbol interoperation
|
||||
@section x-symbol interoperation
|
||||
|
||||
Thanks to the work of Christoph Wedler, starting with version
|
||||
@samp{4.0h/beta} of x-symbol, the line parsing of @AUCTeX{} and
|
||||
@previewlatex{} is fully supported. Earlier versions exhibit problems.
|
||||
However, versions before @samp{4.2.2} will cause a drastic slowdown of
|
||||
@previewlatex{}'s parsing pass, so we don't recommend to use versions
|
||||
earlier than that.
|
||||
|
||||
If you wonder what x-symbol is, it is a package that transforms various
|
||||
tokens and subscripts to a more readable form while editing and offers a
|
||||
few input methods handy especially for dealing with math. Take a look at
|
||||
@uref{http://x-symbol.sourceforge.net/}.
|
||||
|
||||
x-symbol versions up to @samp{4.5.1-beta} at least require an 8bit-clean @TeX{}
|
||||
implementation (meaning that its terminal output should not use
|
||||
@samp{^^}-started escape sequences) for cooperation with
|
||||
@previewlatex{}. Later versions may get along without it, like
|
||||
@previewlatex{} does now.
|
||||
|
||||
If you experience problems with @file{circ.tex} in connection with both
|
||||
x-symbol and Latin-1 characters, you may need to change your language
|
||||
environment or, as a last resort, customize the variable
|
||||
@code{LaTeX-command-style} by replacing the command @code{latex} with
|
||||
@code{latex -translate-file=cp8bit}.
|
||||
|
||||
@node Middle-clicks paste instead of toggling
|
||||
@section Middle-clicks paste instead of toggling
|
||||
|
||||
This is probably the fault of your favorite package. @file{isearch.el}
|
||||
is known to be affected while searches are in progress, but the code is
|
||||
such a complicated mess that no patch is in sight. Better just end the
|
||||
search with @kbd{@key{RET}} before toggling and resume with @kbd{C-s
|
||||
C-s} or similar afterwards. Since previews over the current match will
|
||||
auto-open, anyway, this should not be much of a problem in practice.
|
||||
|
||||
@node No images are displayed with gs 9.27 and earlier
|
||||
@section No images are displayed with gs 9.27 and earlier
|
||||
|
||||
@previewlatex{} tries to adjust the foreground and background colors of
|
||||
generated images to those of Emacs. Unfortunately, incompatible changes
|
||||
introduced in Ghostscript 9.27 breaks the traditional method partially,
|
||||
and @previewlatex{} can display no images under certain circumstances.
|
||||
|
||||
A new method implemented alternatively works only with Ghostscript >
|
||||
9.27. If you are using Ghostscript 9.27 or earlier, customize the
|
||||
option @code{preview-pdf-adjust-color-method}.
|
||||
|
||||
@defopt preview-pdf-adjust-color-method
|
||||
Method to adjust colors of images generated from @acronym{PDF}. It is
|
||||
not consulted when the @LaTeX{} command produces @acronym{DVI} files.
|
||||
|
||||
When the option is @code{t} (default), @previewlatex{} adjusts the FG
|
||||
and BG colors of the generated images by the new method. This method
|
||||
requires that Ghostscript has working @code{DELAYBIND} feature, thus is
|
||||
invalid with gs 9.27 (and possibly < 9.27).
|
||||
|
||||
When it is @code{compatible}, @previewlatex{} uses traditional method.
|
||||
This option is provided for backward compatibility with older gs. See
|
||||
the below explanation for detail.
|
||||
|
||||
When @code{nil}, no adjustment is done and ``black on white'' image is
|
||||
generated regardless of Emacs color. This is provided for fallback for
|
||||
gs 9.27 users with customized foreground color. See the below
|
||||
explanation for detail.
|
||||
|
||||
When the @LaTeX{} command produces @acronym{PDF} rather than
|
||||
@acronym{DVI} and Emacs has non-trivial foreground color, the
|
||||
traditional method (@code{compatible}) makes gs >= 9.27 to stop with
|
||||
error. Here, ``non-trivial foreground color'' includes customized
|
||||
themes.
|
||||
|
||||
If you use such non-trivial foreground color and the version of
|
||||
Ghostscript equals to 9.27, you have two options:
|
||||
@enumerate
|
||||
@item
|
||||
Choose the value @code{compatible} and customize
|
||||
@code{preview-reference-face} to have default (black) foreground color.
|
||||
This makes the generated image almost non-readable on dark background,
|
||||
so the next option would be your only choice in that case.
|
||||
@item
|
||||
Choose the value @code{nil}, which forces plain ``black on white''
|
||||
appearance for the generated image. You can at least read what are
|
||||
written in the image although they may not match with your Emacs color
|
||||
well.
|
||||
@end enumerate
|
||||
|
||||
The default value used to be @code{compatible} for short period before
|
||||
Ghostscript 9.50 was released but now is @code{t}.
|
||||
@end defopt
|
||||
|
||||
@node Black texts are too hard to read on dark background
|
||||
@section Black texts are too hard to read on dark background
|
||||
Unfortunately, foreground color adjustment discussed in the previous node
|
||||
doesn't work for Xe@LaTeX{} for technical reason. The texts are always
|
||||
rendered as black in the preview images, so it's almost impossible to read
|
||||
them on dark background. Hence Xe@LaTeX{} users who like dark background
|
||||
in Emacs frame should customize @code{preview-pdf-adjust-color-method} to
|
||||
@code{nil}.
|
|
@ -1,229 +0,0 @@
|
|||
@include macros.texi
|
||||
@ifset rawfile
|
||||
@node Introduction, What use is it?, (dir), (dir)
|
||||
@top @previewlatex{} in a nutshell
|
||||
@paragraphindent none
|
||||
@end ifset
|
||||
@c -----------------------
|
||||
@cindex Readme
|
||||
Does your neck hurt from turning between previewer windows and the
|
||||
source too often? This @AUCTeX{} component will render your displayed
|
||||
@LaTeX{} equations right into the editing window where they belong.
|
||||
|
||||
The purpose of @previewlatex{} is to embed @LaTeX{} environments such as
|
||||
display math or figures into the source buffers and switch conveniently
|
||||
between source and image representation.
|
||||
|
||||
@menu
|
||||
* What use is it?::
|
||||
* Activating preview-latex::
|
||||
* Getting started::
|
||||
* Basic modes of operation::
|
||||
* More documentation::
|
||||
* Availability::
|
||||
* Contacts::
|
||||
@end menu
|
||||
|
||||
@ifset rawfile
|
||||
@node What use is it?, Activating preview-latex, Introduction, Introduction
|
||||
@chapter What use is it?
|
||||
@raisesections
|
||||
@end ifset
|
||||
@ifclear rawfile
|
||||
@node What use is it?, Activating preview-latex, Introduction, Introduction
|
||||
@section What use is it?
|
||||
@end ifclear
|
||||
@cindex Philosophy of @previewlatex{}
|
||||
@acronym{WYSIWYG} (what you see is what you get) sometimes is considered
|
||||
all the rage, sometimes frowned upon. Do we really want it? Wrong
|
||||
question. The right question is @emph{what} we want from it. Except
|
||||
when finetuning the layout, we don't want to use printer fonts for
|
||||
on-screen text editing. The low resolution and contrast of a computer
|
||||
screen render all but the coarsest printer fonts (those for low-quality
|
||||
newsprint) unappealing, and the margins and pagination of the print are
|
||||
not wanted on the screen, either. On the other hand, more complex
|
||||
visual compositions like math formulas and tables can't easily be taken
|
||||
in when seen only in the source. @previewlatex{} strikes a balance: it
|
||||
only uses graphic renditions of the output for certain, configurable
|
||||
constructs, does this only when told, and then right in the source code.
|
||||
Switching back and forth between the source and preview is easy and
|
||||
natural and can be done for each image independently. Behind the scenes
|
||||
of @previewlatex{}, a sophisticated framework of other programs like
|
||||
@samp{dvipng}, Dvips and Ghostscript are employed together with a
|
||||
special @LaTeX{} style file for extracting the material of interest in
|
||||
the background and providing fast interactive response.
|
||||
|
||||
@node Activating preview-latex, Getting started, What use is it?, Introduction
|
||||
@section Activating @previewlatex{}
|
||||
@cindex Activation
|
||||
After installation, the package may need to be activated (and remember
|
||||
to activate @AUCTeX{} too). If @previewlatex{} is installed via the
|
||||
Emacs package manager (@acronym{ELPA}), activation should be automatic
|
||||
upon installation.
|
||||
|
||||
The usual activation (if it is not done automatically) would be
|
||||
|
||||
@example
|
||||
(load "preview-latex.el" nil t t)
|
||||
@end example
|
||||
|
||||
If you still don't get a ``Preview'' menu in @LaTeX{} mode in spite
|
||||
of @AUCTeX{} showing its ``Command'', your installation is broken. One
|
||||
possible cause are duplicate Lisp files that might be detectable with
|
||||
@kbd{M-x list-load-path-shadows @key{RET}}.
|
||||
|
||||
@node Getting started, Basic modes of operation, Activating preview-latex, Introduction
|
||||
@section Getting started
|
||||
|
||||
Once activated, @previewlatex{} and its documentation will be accessible
|
||||
via its menus (note that @previewlatex{} requires @AUCTeX{} to be
|
||||
loaded). When you have loaded a @LaTeX{} document (a
|
||||
sample document @file{circ.tex} is included in the distribution, but
|
||||
most documents including math and/or figures should do), you can use
|
||||
its menu or @kbd{C-c C-p C-d} (for @samp{Preview/Document}).
|
||||
Previews will now be generated for various objects in your document.
|
||||
You can use the time to take a short look at the other menu entries and
|
||||
key bindings in the @samp{Preview} menu. You'll see the previewed
|
||||
objects change into a roadworks sign when @previewlatex{} has determined
|
||||
just what it is going to preview. Note that you can freely navigate the
|
||||
buffer while this is going on. When the process is finished you will
|
||||
see the objects typeset in your buffer.
|
||||
|
||||
It is a bad idea, however, to edit the buffer before the roadworks signs
|
||||
appear, since that is the moment when the correlation between the
|
||||
original text and the buffer locations gets established. If the buffer
|
||||
changes before that point of time, the previews will not be placed where
|
||||
they belong. If you do want to change some obvious error you just
|
||||
spotted, we recommend you stop the background process by pressing
|
||||
@kbd{C-c C-k}.
|
||||
|
||||
To see/edit the @LaTeX{} code for a specific object, put the point (the
|
||||
cursor) on it and press @kbd{C-c C-p C-p} (for @samp{Preview/at point}).
|
||||
It will also do to click with the middle mouse button on the preview.
|
||||
Now you can edit the code, and generate a new preview by again pressing
|
||||
@kbd{C-c C-p C-p} (or by clicking with the middle mouse button on the
|
||||
icon before the edited text).
|
||||
|
||||
If you are using the @code{desktop} package, previews will remain from
|
||||
one session to the next as long as you don't kill your buffer.
|
||||
|
||||
@node Basic modes of operation, More documentation, Getting started, Introduction
|
||||
@section Basic modes of operation
|
||||
|
||||
@previewlatex{} has a number of methods for generating its graphics.
|
||||
Its default operation is equivalent to using the `@LaTeX{}' command from
|
||||
@AUCTeX{}. If this happens to be a call of PDF@LaTeX{} generating
|
||||
@acronym{PDF} output (you need at least @w{@AUCTeX{} 11.51} for this),
|
||||
then Ghostscript will be called directly on the resulting @acronym{PDF}
|
||||
file. If a @acronym{DVI} file gets produced, first Dvips and then
|
||||
Ghostscript get called by default.
|
||||
|
||||
The image type to be generated by Ghostscript can be configured with
|
||||
|
||||
@example
|
||||
@kbd{M-x customize-option @key{RET} preview-image-type @key{RET}}
|
||||
@end example
|
||||
@vindex preview-image-type
|
||||
|
||||
@noindent
|
||||
The default is @samp{png} (the most efficient image type). A special
|
||||
setting is @samp{dvipng} in case you have the @samp{dvipng}
|
||||
@cindex Using dvipng
|
||||
@pindex dvipng
|
||||
program installed. In this case, @samp{dvipng} will be used for
|
||||
converting @acronym{DVI} files and Ghostscript (with a @samp{PNG}
|
||||
device) for converting @acronym{PDF} files. @samp{dvipng} is much
|
||||
faster than the combination of Dvips and Ghostscript. You can get
|
||||
downloads, access to its @acronym{CVS} archive and further information
|
||||
from its @uref{https://savannah.nongnu.org/projects/dvipng, project
|
||||
site}.
|
||||
|
||||
@node More documentation, Availability, Basic modes of operation, Introduction
|
||||
@section More documentation
|
||||
After the installation, documentation in the form of
|
||||
@ifinfo
|
||||
@ifclear rawfile
|
||||
this
|
||||
@end ifclear
|
||||
@ifset rawfile
|
||||
an
|
||||
@end ifset
|
||||
@end ifinfo
|
||||
@ifnotinfo
|
||||
an
|
||||
@end ifnotinfo
|
||||
info manual will be available. You can access it with the standalone
|
||||
info reader with
|
||||
|
||||
@example
|
||||
info preview-latex
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
or by pressing @kbd{C-h i d m preview-latex @key{RET}} in Emacs. Once
|
||||
@previewlatex{} is activated, you can instead use @kbd{C-c C-p
|
||||
@key{TAB}} (or the menu entry @samp{Preview/Read documentation}).
|
||||
|
||||
Depending on your installation,
|
||||
@ifnottex
|
||||
a printable
|
||||
@end ifnottex
|
||||
@iftex
|
||||
this printed
|
||||
@end iftex
|
||||
manual may also be available in the form of @file{preview-latex.pdf}.
|
||||
|
||||
Detailed documentation for the @LaTeX{} style used for extracting the
|
||||
preview images is placed in @file{preview.pdf} in a suitable directory
|
||||
during installation; on typical @w{@TeX{} Live}-based systems,
|
||||
|
||||
@example
|
||||
texdoc preview
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
will display it.
|
||||
|
||||
@node Availability, Contacts, More documentation, Introduction
|
||||
@section Availability
|
||||
@cindex Download
|
||||
@cindex @sc{git} access
|
||||
|
||||
The @previewlatex{} project is now part of @AUCTeX{} and accessible as
|
||||
part of the @uref{https://savannah.gnu.org/projects/auctex,@AUCTeX{}
|
||||
project page}. You can get its files from the
|
||||
@uref{https://ftp.gnu.org/pub/gnu/auctex/,@AUCTeX{} download area}. As of
|
||||
@w{@AUCTeX{} 11.81}, @previewlatex{} should already be integrated into
|
||||
@AUCTeX{}, so no separate download will be necessary.
|
||||
|
||||
Anonymous Git is available at @uref{git://git.savannah.gnu.org/auctex.git}
|
||||
or @uref{https://git.savannah.gnu.org/git/auctex.git}. You can also
|
||||
@uref{https://git.savannah.gnu.org/cgit/auctex.git,browse the repository}
|
||||
via web interface.
|
||||
|
||||
@node Contacts, , Availability, Introduction
|
||||
@section Contacts
|
||||
@cindex Contacts
|
||||
@cindex Mailing list
|
||||
|
||||
Bug reports should be sent by using @kbd{M-x preview-report-bug
|
||||
@key{RET}}, as this will fill in a lot of information interesting to
|
||||
us. If the installation fails (but this should be a rare event), report
|
||||
bugs to @email{bug-auctex@@gnu.org}.
|
||||
|
||||
There is a general discussion list for @AUCTeX{} which also
|
||||
covers @previewlatex{}, look at
|
||||
@uref{https://lists.gnu.org/mailman/listinfo/auctex}. For more
|
||||
information on the mailing list, send a message with just the word
|
||||
``help'' as subject or body to @email{auctex-request@@gnu.org}. For the
|
||||
developers, there is the @email{auctex-devel@@gnu.org} list; it would
|
||||
probably make sense to direct feature requests and questions about
|
||||
internal details there. There is a low-volume read-only announcement
|
||||
list available to which you can subscribe by sending a mail with
|
||||
``subscribe'' in the subject to @email{info-auctex-request@@gnu.org}.
|
||||
|
||||
Offers to support further development will be appreciated. If you want
|
||||
to show your appreciation with a donation to the main developer, you can
|
||||
do so via PayPal to @email{dak@@gnu.org}, and of course you can arrange
|
||||
for service contracts or for added functionality. Take a look at the
|
||||
@file{TODO} list for suggestions in that area.
|
|
@ -1,118 +0,0 @@
|
|||
@ifset rawfile
|
||||
@include macros.texi
|
||||
@chapheading Future Development of @previewlatex{}
|
||||
@end ifset
|
||||
|
||||
@itemize @bullet
|
||||
|
||||
@item Support other formats than just @LaTeX{}
|
||||
|
||||
plain @TeX{} users and @ConTeXt{} users should not have to feel left
|
||||
out. While @ConTeXt{} is not supported yet by released versions of
|
||||
@AUCTeX{}, at least supporting plain would help people, and be a start
|
||||
for @ConTeXt{} as well. There are plain-based formats like MusiX@TeX{}
|
||||
that could benefit a lot from @previewlatex{}. The main part of the
|
||||
difficulties here is to adapt @file{preview.dtx} to produce stuff not
|
||||
requiring @LaTeX{}.
|
||||
|
||||
@item Support nested snippets
|
||||
|
||||
Currently you can't have both a footnote (which gets displayed as just
|
||||
its footnote number) and math inside of a footnote rendered as an image:
|
||||
such nesting might be achieved by rerunning @previewlatex{} on the
|
||||
footnote contents when one opens the footnote for editing.
|
||||
|
||||
@item Support other text properties than just images
|
||||
|
||||
Macros like @samp{\textit} can be rendered as images, but the resulting
|
||||
humungous blob is not suitable for editing, in particular since the
|
||||
line filling from LaTeX does not coincide with that of Emacs. It would
|
||||
be much more useful if text properties just switched the relevant font
|
||||
to italics rather than replacing the whole text with an image. It
|
||||
would also make editing quite easier. Then there are things like
|
||||
footnotes that are currently just replaced by their footnote number.
|
||||
While editing is not a concern here (the number is not in the original
|
||||
text, anyway), it would save a lot of conversion time if no images were
|
||||
generated, but Emacs just displayed a properly fontified version of the
|
||||
footnote number. Also, this might make @previewlatex{} useful even on
|
||||
text terminals.
|
||||
|
||||
@item Find a way to facilitate Source Specials
|
||||
|
||||
Probably in connection with adding appropriate support to
|
||||
@code{dvipng}, it would be nice if clicking on an image from a larger
|
||||
piece of source code would place the cursor at the respective source
|
||||
code location.
|
||||
|
||||
@item Make @file{preview.dtx} look reasonable in @AUCTeX{}
|
||||
|
||||
It is a bit embarrassing that @file{preview.dtx} is written in a manner
|
||||
that will not give either good syntax highlighting or good indentation
|
||||
when employing @AUCTeX{}.
|
||||
|
||||
@item Web page work
|
||||
|
||||
Currently, @previewlatex{}'s web page is not structured at all. Better
|
||||
navigation would be desirable, as well as separate News and Errata eye
|
||||
catchers.
|
||||
|
||||
@item Manual improvements
|
||||
|
||||
@itemize @minus
|
||||
@item Pepper the manual with screen shots and graphics
|
||||
|
||||
This will be of interest for the @acronym{HTML} and @TeX{} renditions
|
||||
of the texinfo manual. Since Texinfo now supports images as well, this
|
||||
could well be nice to have.
|
||||
|
||||
@item Fix duplicates
|
||||
|
||||
Various stuff appears several times.
|
||||
|
||||
@end itemize
|
||||
|
||||
@item Implement rendering pipelines for Emacs
|
||||
|
||||
The current @previewlatex{} interface is fundamentally flawed, not only
|
||||
because of a broken implementation. A general batchable and
|
||||
daemonizable rendering infrastructure that can work on all kinds of
|
||||
preview images for embedding into buffers is warranted. The current
|
||||
implementation has a rather adhoc flavor and is not easily extended.
|
||||
It will not work outside of @AUCTeX{}, either.
|
||||
|
||||
@item Integrate into Ref@TeX{}
|
||||
|
||||
When referencing to equations and the like, the preview-images of the
|
||||
source rather than plain text should be displayed. If the preview in
|
||||
question covers labels, those should appear in the bubble help and/or a
|
||||
context menu. Apropos:
|
||||
|
||||
@item Implement @LaTeX{} error indicators
|
||||
|
||||
Previews on erroneous @LaTeX{} passages might gain a red border or similar.
|
||||
|
||||
@item Pop up relevant online documentation for frequent errors
|
||||
|
||||
A lot of errors are of the ``badly configured'' variety. Perhaps the
|
||||
relevant info pages should be delivered in addition to the error
|
||||
message.
|
||||
|
||||
@item Implement a table editing mode where every table cell gets output
|
||||
as a separate preview. Alternatively, output the complete table
|
||||
metrics in a way that lets people click on individual cells for editing
|
||||
purposes.
|
||||
|
||||
@item Benchmark and kill Emacs inefficiencies
|
||||
|
||||
Both the @LaTeX{} run under Emacs control as well as actual image
|
||||
insertion in Emacs could be faster. CVS Emacs has improved in that
|
||||
respect, but it still is slower than desirable.
|
||||
|
||||
@item Improve image support under Emacs
|
||||
|
||||
The general image and color handling in Emacs is inefficient and partly
|
||||
defective. This is still the case in CVS. One option would be to
|
||||
replace the whole color and image handling with @acronym{GDK} routines
|
||||
when this library is available, since it has been optimized for it.
|
||||
|
||||
@end itemize
|
|
@ -1,327 +0,0 @@
|
|||
@include macros.texi
|
||||
|
||||
@node Quick Start
|
||||
@chapter Quick Start
|
||||
|
||||
@AUCTeX{} is a powerful program offering many features and configuration
|
||||
options. If you are new to @AUCTeX{} this might be deterrent.
|
||||
Fortunately you do not have to learn everything at once. This Quick
|
||||
Start Guide will give you the knowledge of the most important commands
|
||||
and enable you to prepare your first @LaTeX{} document with @AUCTeX{}
|
||||
after only a few minutes of reading.
|
||||
|
||||
In this introduction, we assume that @AUCTeX{} is already installed on
|
||||
your system. If this is not the case, you should read the file
|
||||
@file{INSTALL} in the base directory of the unpacked distribution
|
||||
tarball. These installation instructions are available in this manual
|
||||
as well, @ref{Installation}. We also assume that you are familiar with
|
||||
the way keystrokes are written in Emacs manuals. If not, have a look at
|
||||
the Emacs Tutorial in the Help menu.
|
||||
|
||||
If @AUCTeX{} is installed in any other way than from the Emacs package
|
||||
manager (@acronym{ELPA}), you might still need to activate it, by
|
||||
inserting
|
||||
|
||||
@lisp
|
||||
(load "auctex.el" nil t t)
|
||||
@end lisp
|
||||
@noindent
|
||||
in your user init file.@footnote{This usually is a file in your home
|
||||
directory called @file{.emacs}, or @file{.emacs.d/init.el}.}
|
||||
|
||||
If @AUCTeX{} is installed from @acronym{ELPA}, the installation
|
||||
procedure already cares about loading @AUCTeX{} correctly and you
|
||||
@strong{must not} have the line above in your init file. Note that this
|
||||
also applies if you have the following line in your init file
|
||||
|
||||
@lisp
|
||||
(package-initialize)
|
||||
@end lisp
|
||||
|
||||
In order to get support for many of the @LaTeX{} packages you will use
|
||||
in your documents, you should enable document parsing as well, which can
|
||||
be achieved by putting
|
||||
|
||||
@lisp
|
||||
(setq TeX-auto-save t)
|
||||
(setq TeX-parse-self t)
|
||||
@end lisp
|
||||
@noindent
|
||||
into your init file. Finally, if you often use @code{\include} or
|
||||
@code{\input}, you should make @AUCTeX{} aware of the multifile
|
||||
document structure. You can do this by inserting
|
||||
|
||||
@lisp
|
||||
(setq-default TeX-master nil)
|
||||
@end lisp
|
||||
|
||||
into your init file. Each time you open a new file, @AUCTeX{} will then
|
||||
ask you for a master file.
|
||||
|
||||
@menu
|
||||
* Editing Facilities:: Functions for editing TeX files
|
||||
* Processing Facilities:: Creating and viewing output, debugging
|
||||
@end menu
|
||||
|
||||
@iftex
|
||||
This Quick Start Guide covers two main topics: First we explain how
|
||||
@AUCTeX{} helps you in editing your input file for @TeX{}, @LaTeX{}, and
|
||||
some other formats. Then we describe the functions that @AUCTeX{}
|
||||
provides for processing the input files with @LaTeX{}, Bib@TeX{}, etc.,
|
||||
and for viewing and debugging.
|
||||
@end iftex
|
||||
|
||||
@node Editing Facilities
|
||||
@section Functions for editing TeX files
|
||||
|
||||
@subsection Making your @TeX{} code more readable
|
||||
|
||||
@AUCTeX{} can do syntax highlighting of your source code, that means
|
||||
commands will get special colors or fonts. This is enabled by default.
|
||||
You can disable it locally by typing @kbd{M-x font-lock-mode @key{RET}}.
|
||||
|
||||
@AUCTeX{} will indent new lines to indicate their syntactical
|
||||
relationship to the surrounding text. For example, the text of a
|
||||
@code{\footnote} or text inside of an environment will be indented
|
||||
relative to the text around it. If the indenting has gotten wrong after
|
||||
adding or deleting some characters, use @key{TAB} to reindent the line,
|
||||
@kbd{M-q} for the whole paragraph, or @kbd{M-x LaTeX-fill-buffer @key{RET}}
|
||||
for the whole buffer.
|
||||
|
||||
@subsection Entering sectioning commands
|
||||
@cindex Sectioning
|
||||
@cindex Sections
|
||||
@cindex Chapters
|
||||
@cindex @code{\chapter}
|
||||
@cindex @code{\section}
|
||||
@cindex @code{\subsection}
|
||||
@cindex @code{\label}
|
||||
|
||||
Insertion of sectioning macros, that is @samp{\chapter},
|
||||
@samp{\section}, @samp{\subsection}, etc.@: and accompanying @samp{\label}
|
||||
commands may be eased by using @kbd{C-c C-s}. You will be asked for the
|
||||
section level. As nearly everywhere in @AUCTeX{}, you can use the
|
||||
@key{TAB} or @key{SPC} key to get a list of available level names, and
|
||||
to auto-complete what you started typing. Next, you will be asked for
|
||||
the printed title of the section, and last you will be asked for a label
|
||||
to be associated with the section.
|
||||
|
||||
@subsection Inserting environments
|
||||
|
||||
Similarly, you can insert environments, that is
|
||||
@samp{\begin@{@}}--@samp{\end@{@}} pairs: Type @kbd{C-c C-e}, and select
|
||||
an environment type. Again, you can use @key{TAB} or @key{SPC} to get a
|
||||
list, and to complete what you type. Actually, the list will not only
|
||||
provide standard @LaTeX{} environments, but also take your
|
||||
@samp{\documentclass} and @samp{\usepackage} commands into account if
|
||||
you have parsing enabled by setting @code{TeX-parse-self} to @code{t}.
|
||||
If you use a couple of environments frequently, you can use the @key{up} and
|
||||
@key{down} arrow keys (or @kbd{M-p} and @kbd{M-n}) in the minibuffer to get
|
||||
back to the previously inserted commands.
|
||||
|
||||
Some environments need additional arguments. Often, @AUCTeX{} knows about
|
||||
this and asks you to enter a value.
|
||||
|
||||
@subsection Inserting macros
|
||||
|
||||
@kbd{C-c C-m}, or simply @kbd{C-c RET} will give you a prompt that asks
|
||||
you for a @LaTeX{} macro. You can use @key{TAB} for completion, or the
|
||||
@key{up}/@key{down} arrow keys (or @kbd{M-p} and @kbd{M-n}) to browse the command
|
||||
history. In many cases, @AUCTeX{} knows which arguments a macro needs
|
||||
and will ask you for that. It even can differentiate between mandatory
|
||||
and optional arguments---for details, see @ref{Completion}.
|
||||
|
||||
An additional help for inserting macros is provided by the possibility
|
||||
to complete macros right in the buffer. With point at the end of a
|
||||
partially written macro, you can complete it by typing @kbd{M-@key{TAB}}.
|
||||
|
||||
@subsection Changing the font
|
||||
|
||||
@AUCTeX{} provides convenient keyboard shortcuts for inserting macros
|
||||
which specify the font to be used for typesetting certain parts of the
|
||||
text. They start with @kbd{C-c C-f}, and the last @kbd{C-} combination
|
||||
tells @AUCTeX{} which font you want:
|
||||
|
||||
@table @kbd
|
||||
@item C-c C-f C-b
|
||||
@kindex C-c C-f C-b
|
||||
@cindex @code{\textbf}
|
||||
Insert @b{bold face} @samp{\textbf@{@point{}@}} text.
|
||||
|
||||
@item C-c C-f C-i
|
||||
@kindex C-c C-f C-i
|
||||
@cindex @code{\textit}
|
||||
Insert @i{italics} @samp{\textit@{@point{}@}} text.
|
||||
|
||||
@item C-c C-f C-e
|
||||
@kindex C-c C-f C-e
|
||||
@cindex @code{\emph}
|
||||
Insert @emph{emphasized} @samp{\emph@{@point{}@}} text.
|
||||
|
||||
@item C-c C-f C-s
|
||||
@kindex C-c C-f C-s
|
||||
@cindex @code{\textsl}
|
||||
Insert @slanted{slanted} @samp{\textsl@{@point{}@}} text.
|
||||
|
||||
@item C-c C-f C-r
|
||||
@kindex C-c C-f C-r
|
||||
@cindex @code{\textrm}
|
||||
Insert @r{roman} @samp{\textrm@{@point{}@}} text.
|
||||
|
||||
@item C-c C-f C-f
|
||||
@kindex C-c C-f C-f
|
||||
@cindex @code{\textsf}
|
||||
Insert @sansserif{sans serif} @samp{\textsf@{@point{}@}} text.
|
||||
|
||||
@item C-c C-f C-t
|
||||
@kindex C-c C-f C-t
|
||||
@cindex @code{\texttt}
|
||||
Insert @t{typewriter} @samp{\texttt@{@point{}@}} text.
|
||||
|
||||
@item C-c C-f C-c
|
||||
@kindex C-c C-f C-c
|
||||
@cindex @code{\textsc}
|
||||
Insert @sc{small caps} @samp{\textsc@{@point{}@}} text.
|
||||
|
||||
@item C-c C-f C-d
|
||||
@kindex C-c C-f C-c
|
||||
@cindex Deleting fonts
|
||||
Delete the innermost font specification containing point.
|
||||
|
||||
@end table
|
||||
|
||||
If you want to change font attributes of existing text, mark it as an
|
||||
active region, and then invoke the commands. If no region is selected,
|
||||
the command will be inserted with empty braces, and you can start typing
|
||||
the changed text.
|
||||
|
||||
Most of those commands will also work in math mode, but then macros like
|
||||
@code{\mathbf} will be inserted.
|
||||
|
||||
|
||||
@subsection Other useful features
|
||||
|
||||
@AUCTeX{} also tries to help you when inserting the right ``quote''
|
||||
signs for your language, dollar signs to typeset math, or pairs of
|
||||
braces. It offers shortcuts for commenting out text (@kbd{C-c ;} for
|
||||
the current region or @kbd{C-c %} for the paragraph you are in). The
|
||||
same keystrokes will remove the % signs, if the region or paragraph is
|
||||
commented out yet. With @code{TeX-fold-mode}, you can hide certain
|
||||
parts (like footnotes, references etc.)@: that you do not edit currently.
|
||||
Support for Emacs' outline mode is provided as well. And there's more,
|
||||
but this is beyond the scope of this Quick Start Guide.
|
||||
|
||||
|
||||
|
||||
@node Processing Facilities
|
||||
@section Creating and viewing output, debugging
|
||||
|
||||
@subsection One Command for @LaTeX{}, helpers, viewers, and printing
|
||||
|
||||
If you have typed some text and want to run @LaTeX{} (or @TeX{}, or
|
||||
other programs---see below) on it, type @kbd{C-c C-c}. If applicable,
|
||||
you will be asked whether you want to save changes, and which program
|
||||
you want to invoke. In many cases, the choice that @AUCTeX{} suggests
|
||||
will be just what you want: first @command{latex}, then a viewer. If a
|
||||
@command{latex} run produces or changes input files for
|
||||
@command{makeindex}, the next suggestion will be to run that program,
|
||||
and @AUCTeX{} knows that you need to run @command{latex} again
|
||||
afterwards---the same holds for Bib@TeX{}.
|
||||
|
||||
When no processor invocation is necessary anymore, @AUCTeX{} will
|
||||
suggest to run a viewer, or you can chose to create a PostScript file
|
||||
using @command{dvips}, or to directly print it.
|
||||
|
||||
Actually, there is another command which comes in handy to compile
|
||||
documents: type @kbd{C-c C-a} (@code{TeX-command-run-all}) and @AUCTeX{}
|
||||
will compile the document for you until it is ready and then run the
|
||||
viewer. This is the same as issuing repeatedly @kbd{C-c C-c} and
|
||||
letting @AUCTeX{} guess the next command to run.
|
||||
|
||||
At this place, a warning needs to be given: First, although @AUCTeX{} is
|
||||
really good in detecting the standard situations when an additional
|
||||
@command{latex} run is necessary, it cannot detect it always. Second,
|
||||
the creation of PostScript files or direct printing currently only works
|
||||
when your output file is a @acronym{DVI} file, not a @acronym{PDF} file.
|
||||
|
||||
Ah, you didn't know you can do both? That brings us to the next topic.
|
||||
|
||||
@subsection Choosing an output format
|
||||
|
||||
From a @LaTeX{} file, you can produce @acronym{DVI} output, or a
|
||||
@acronym{PDF} file directly @i{via} @command{pdflatex}. You can switch
|
||||
on source specials for easier navigation in the output file, or tell
|
||||
@command{latex} to stop after an error (usually @option{--noninteractive}
|
||||
is used, to allow you to detect all errors in a single run).
|
||||
|
||||
These options are controlled by toggles, the keystrokes should be easy
|
||||
to memorize:
|
||||
|
||||
@table @kbd
|
||||
@item C-c C-t C-p
|
||||
@kindex C-c C-t C-p
|
||||
This command toggles between @acronym{DVI} and @acronym{PDF} output
|
||||
|
||||
@item C-c C-t C-i
|
||||
@kindex C-c C-t C-i
|
||||
toggles interactive mode
|
||||
|
||||
@item C-c C-t C-s
|
||||
@kindex C-c C-t C-s
|
||||
toggles Sync@TeX{} (or source specials) support
|
||||
|
||||
@item C-c C-t C-o
|
||||
@kindex C-c C-t C-o
|
||||
toggles usage of Omega/lambda.
|
||||
|
||||
@end table
|
||||
|
||||
There is also another possibility: compile the document with
|
||||
@command{tex} (or @command{latex}) and then convert the resulting
|
||||
@acronym{DVI} file to @acronym{PDF} using
|
||||
@command{dvips}--@command{ps2pdf} sequence or @command{dvipdfmx} command.
|
||||
If you want to go by this route, customize @code{TeX-PDF-from-DVI} option.
|
||||
Then @AUCTeX{} will suggest you to run the appropriate command when
|
||||
you type @kbd{C-C C-c}. For details, see @ref{Processor Options}.
|
||||
|
||||
@subsection Debugging @LaTeX{}
|
||||
|
||||
When @AUCTeX{} runs a program, it creates an output buffer in which it
|
||||
displays the output of the command. If there is a syntactical error in
|
||||
your file, @command{latex} will not complete successfully. @AUCTeX{}
|
||||
will tell you that, and you can get to the place where the first error
|
||||
occured by pressing @kbd{C-c `} (the last character is a backtick). The
|
||||
view will be split in two windows, the output will be displayed in the
|
||||
lower buffer, and both buffers will be centered around the place where
|
||||
the error ocurred. You can then try to fix it in the document buffer,
|
||||
and use the same keystrokes to get to the next error. This procedure
|
||||
may be repeated until all errors have been dealt with. By pressing
|
||||
@kbd{C-c C-w} (@code{TeX-toggle-debug-boxes}) you can toggle whether
|
||||
@AUCTeX{} should notify you of overfull and underfull boxes in addition
|
||||
to regular errors.
|
||||
|
||||
Issue @kbd{M-x TeX-error-overview @key{RET}} to see a nicely formatted list of
|
||||
all errors and warnings reported by the compiler.
|
||||
|
||||
If a command got stuck in a seemingly infinite loop, or you want to stop
|
||||
execution for other reasons, you can use @kbd{C-c C-k} (for ``kill'').
|
||||
Similar to @kbd{C-l}, which centers the buffer you are in around your
|
||||
current position, @kbd{C-c C-l} centers the output buffer so that the
|
||||
last lines added at the bottom become visible.
|
||||
|
||||
@subsection Running @LaTeX{} on parts of your document
|
||||
|
||||
If you want to check how some part of your text looks like, and do not
|
||||
want to wait until the whole document has been typeset, then mark it as
|
||||
a region and use @kbd{C-c C-r}. It behaves just like @kbd{C-c C-c}, but
|
||||
it only uses the document preamble and the region you marked.
|
||||
|
||||
If you are using @code{\include} or @code{\input} to structure your
|
||||
document, try @kbd{C-c C-b} while you are editing one of the included
|
||||
files. It will run @command{latex} only on the current buffer, using the
|
||||
preamble from the master file.
|
||||
|
||||
@c Local Variables:
|
||||
@c mode: texinfo
|
||||
@c TeX-master: "auctex"
|
||||
@c End:
|
|
@ -1,683 +0,0 @@
|
|||
% Reference Card for AUCTeX version 13.1
|
||||
%**start of header
|
||||
\newcount\columnsperpage
|
||||
|
||||
% This file has only been checked with 3 columns per page. But it
|
||||
% should print fine either via DVI or PDFTeX.
|
||||
|
||||
\columnsperpage=3
|
||||
|
||||
% Papersize stuff. Use default paper size for PDF, but switch
|
||||
% orientation. Use papersize special for dvips.
|
||||
|
||||
\ifx\pdfoutput\undefined
|
||||
\csname newcount\endcsname\pdfoutput
|
||||
\pdfoutput=0
|
||||
\fi
|
||||
|
||||
\ifnum\pdfoutput=0
|
||||
% \special{papersize 8.5in,11in}%
|
||||
\special{papersize 297mm,210mm}%
|
||||
\else
|
||||
\dimen0\pdfpagewidth
|
||||
\pdfpagewidth\pdfpageheight
|
||||
\pdfpageheight\dimen0
|
||||
\fi
|
||||
|
||||
|
||||
% This file is intended to be processed by plain TeX (TeX82).
|
||||
% compile-command: "tex tex-ref" or "pdftex tex-ref"
|
||||
%
|
||||
% Original author of Auc-TeX Reference Card:
|
||||
%
|
||||
% Terrence Brannon, PO Box 5027, Bethlehem, PA 18015 , USA
|
||||
% internet: tb06@pl118f.cc.lehigh.edu (215) 758-1720 (215) 758-2104
|
||||
%
|
||||
% Kresten Krab Thorup updated the reference card to 6.
|
||||
% Per Abrahamsen updated the reference card to 7, 8, and 9.
|
||||
% Ralf Angeli updated it to 11.50.
|
||||
% And David Kastrup messed around with it, too, merging the math reference.
|
||||
%
|
||||
% Thanks to Stephen Gildea
|
||||
% Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik
|
||||
% for creating the GNU Emacs Reference Card from which this was mutated
|
||||
|
||||
\def\versionnumber{13.2}
|
||||
\def\year{2023}
|
||||
\def\version{April \year\ v\versionnumber}
|
||||
|
||||
\def\shortcopyrightnotice{\vskip 1ex plus 2 fill
|
||||
\centerline{\small \copyright\ \year\ Free Software Foundation, Inc.
|
||||
Permissions on back. v\versionnumber}}
|
||||
|
||||
\def\copyrightnotice{%
|
||||
\vskip 1ex plus 2 fill\begingroup\small
|
||||
\centerline{Copyright \copyright\ 1987, 1992-1994, 2004-2006, 2008, 2010,}
|
||||
\centerline{2012, 2014-2017, 2019-2022 Free Software Foundation, Inc.}
|
||||
\centerline{for AUC\TeX\ version \versionnumber}
|
||||
|
||||
Permission is granted to make and distribute copies of
|
||||
this card provided the copyright notice and this permission notice
|
||||
are preserved on all copies.
|
||||
|
||||
|
||||
\endgroup}
|
||||
|
||||
% make \bye not \outer so that the \def\bye in the \else clause below
|
||||
% can be scanned without complaint.
|
||||
\def\bye{\par\vfill\supereject\end}
|
||||
|
||||
\newdimen\intercolumnskip
|
||||
\newbox\columna
|
||||
\newbox\columnb
|
||||
|
||||
\edef\ncolumns{\the\columnsperpage}
|
||||
|
||||
\message{[\ncolumns\space
|
||||
column\if 1\ncolumns\else s\fi\space per page]}
|
||||
|
||||
\def\scaledmag#1{ scaled \magstep #1}
|
||||
|
||||
% This multi-way format was designed by Stephen Gildea
|
||||
% October 1986.
|
||||
\if 1\ncolumns
|
||||
\hsize 4in
|
||||
\vsize 10in
|
||||
\voffset -.7in
|
||||
\font\titlefont=\fontname\tenbf \scaledmag3
|
||||
\font\headingfont=\fontname\tenbf \scaledmag2
|
||||
\font\smallfont=\fontname\sevenrm
|
||||
\font\smallsy=\fontname\sevensy
|
||||
|
||||
\footline{\hss\folio}
|
||||
\def\makefootline{\baselineskip10pt\hsize6.5in\line{\the\footline}}
|
||||
\else
|
||||
\hsize 3.2in
|
||||
\vsize 7.6in
|
||||
\hoffset -.75in
|
||||
\voffset -.8in
|
||||
\font\titlefont=cmbx10 \scaledmag2
|
||||
\font\headingfont=cmbx10 \scaledmag1
|
||||
\font\smallfont=cmr6
|
||||
\font\smallsy=cmsy6
|
||||
\font\eightrm=cmr8
|
||||
\font\eightbf=cmbx8
|
||||
\font\eightit=cmti8
|
||||
\font\eighttt=cmtt8
|
||||
\font\eightsl=cmsl8
|
||||
\font\eightsc=cmcsc8
|
||||
\font\eightsy=cmsy8
|
||||
\textfont0=\eightrm
|
||||
\textfont2=\eightsy
|
||||
\def\rm{\fam0 \eightrm}
|
||||
\def\bf{\eightbf}
|
||||
\def\it{\eightit}
|
||||
\def\tt{\eighttt}
|
||||
\def\sl{\eightsl}
|
||||
\def\sc{\eightsc}
|
||||
\normalbaselineskip=.8\normalbaselineskip
|
||||
\ht\strutbox.8\ht\strutbox
|
||||
\dp\strutbox.8\dp\strutbox
|
||||
\normallineskip=.8\normallineskip
|
||||
\normallineskiplimit=.8\normallineskiplimit
|
||||
\normalbaselines\rm %make definitions take effect
|
||||
|
||||
\if 2\ncolumns
|
||||
\let\maxcolumn=b
|
||||
\footline{\hss\rm\folio\hss}
|
||||
\def\makefootline{\vskip 2in \hsize=6.86in\line{\the\footline}}
|
||||
\else \if 3\ncolumns
|
||||
\let\maxcolumn=c
|
||||
\nopagenumbers
|
||||
\else
|
||||
\errhelp{You must set \columnsperpage equal to 1, 2, or 3.}
|
||||
\errmessage{Illegal number of columns per page}
|
||||
\fi\fi
|
||||
|
||||
\intercolumnskip=.46in
|
||||
\def\abc{a}
|
||||
\output={%
|
||||
% This next line is useful when designing the layout.
|
||||
%\immediate\write16{Column \folio\abc\space starts with \firstmark}
|
||||
\if \maxcolumn\abc \multicolumnformat \global\def\abc{a}
|
||||
\else\if a\abc
|
||||
\global\setbox\columna\columnbox \global\def\abc{b}
|
||||
%% in case we never use \columnb (two-column mode)
|
||||
\global\setbox\columnb\hbox to -\intercolumnskip{}
|
||||
\else
|
||||
\global\setbox\columnb\columnbox \global\def\abc{c}\fi\fi}
|
||||
\def\multicolumnformat{\shipout\vbox{\makeheadline
|
||||
\hbox{\box\columna\hskip\intercolumnskip
|
||||
\box\columnb\hskip\intercolumnskip\columnbox}
|
||||
\makefootline}\advancepageno}
|
||||
\def\columnbox{\leftline{\pagebody}}
|
||||
|
||||
\def\bye{\par\vfill\supereject
|
||||
\if a\abc \else\null\vfill\eject\fi
|
||||
\if a\abc \else\null\vfill\eject\fi
|
||||
\end}
|
||||
\fi
|
||||
|
||||
% we won't be using math mode much, so redefine some of the characters
|
||||
% we might want to talk about
|
||||
\catcode`\^=12
|
||||
\catcode`\_=12
|
||||
|
||||
\chardef\\=`\\
|
||||
\chardef\{=`\{
|
||||
\chardef\}=`\}
|
||||
|
||||
\hyphenation{mini-buf-fer}
|
||||
|
||||
\parindent 0pt
|
||||
\parskip 1ex plus .5ex minus .5ex
|
||||
|
||||
\def\small{\smallfont\textfont2=\smallsy\baselineskip=.8\baselineskip}
|
||||
|
||||
\def\newcolumn{\vfill\eject}
|
||||
|
||||
\def\title#1{{\titlefont\centerline{#1}}\vskip 1ex plus .5ex}
|
||||
|
||||
\def\section#1{\par\vskip 0pt plus 0.2\vsize \penalty-3000
|
||||
\vskip 0pt plus -0.2\vsize
|
||||
\vskip 3ex plus 2ex minus 2ex {\headingfont #1}\mark{#1}%
|
||||
\vskip 2ex plus 1ex minus 1.5ex}
|
||||
|
||||
\newdimen\keyindent
|
||||
|
||||
\def\beginindentedkeys{\keyindent=1em}
|
||||
\def\endindentedkeys{\keyindent=0em}
|
||||
\endindentedkeys
|
||||
|
||||
\def\paralign{\vskip\parskip\halign}
|
||||
|
||||
\def\<#1>{$\langle${\rm #1}$\rangle$}
|
||||
|
||||
\def\kbd#1{{\tt#1}\null} %\null so not an abbrev even if period follows
|
||||
\def\var#1{{\tt #1}}
|
||||
\def\file#1{{\tt #1}}
|
||||
|
||||
\def\beginexample{\par\leavevmode\begingroup
|
||||
\obeylines\obeyspaces\parskip0pt\tt}
|
||||
{\obeyspaces\global\let =\ }
|
||||
\def\endexample{\endgroup}
|
||||
|
||||
\def\key#1#2{\leavevmode\hbox to \hsize{\vtop
|
||||
{\hsize=.68\hsize\rightskip=1em
|
||||
\hskip\keyindent\relax#1}\kbd{#2}\hfil}}
|
||||
|
||||
\newbox\metaxbox
|
||||
\setbox\metaxbox\hbox{\kbd{M-x }}
|
||||
\newdimen\metaxwidth
|
||||
\metaxwidth=\wd\metaxbox
|
||||
|
||||
\def\metax#1#2{\leavevmode\hbox to \hsize{\hbox to .75\hsize
|
||||
{\hskip\keyindent\relax#1\hfil}%
|
||||
\hskip -\metaxwidth minus 1fil
|
||||
\kbd{#2}\hfil}}
|
||||
|
||||
\def\threecol#1#2#3{\hskip\keyindent\relax#1\hfil&\kbd{#2}\quad
|
||||
&\kbd{#3}\quad\cr}
|
||||
|
||||
\def\LaTeX{%
|
||||
L\kern-.36em\raise.3ex\hbox{\sc{a}}\kern-.15em\TeX}
|
||||
|
||||
%**end of header
|
||||
|
||||
\title{AUC\TeX\ Reference Card}
|
||||
|
||||
\centerline{(for version \versionnumber)}
|
||||
|
||||
\section{Conventions Used}
|
||||
|
||||
\key{Carriage Return or \kbd{C-m}}{RET}
|
||||
\key{Tabular or \kbd{C-i}}{TAB}
|
||||
\key{Linefeed or \kbd{C-j}}{LFD}
|
||||
|
||||
\section{Shell Interaction}
|
||||
|
||||
\key{Run a command on the master file}{C-c C-c}
|
||||
\key{Run a command on the buffer}{C-c C-b}
|
||||
\key{Run a command on the region}{C-c C-r}
|
||||
\key{Fix the region}{C-c C-t C-r}
|
||||
\key{Kill job}{C-c C-k}
|
||||
\key{Recenter output buffer}{C-c C-l}
|
||||
\key{Next error in \TeX/\LaTeX\ session}{C-c `}
|
||||
\key{Previous error in \TeX/\LaTeX\ session}{M-g p}
|
||||
\key{Toggle debug of bad boxes}{C-c C-t C-b}
|
||||
\key{Toggle debug of warnings}{C-c C-t C-w}
|
||||
\key{View output file}{C-c C-v}
|
||||
\key{Compile all and view output file}{C-c C-a}
|
||||
|
||||
Commands you can run on the master file (with \kbd{C-c C-c}) or the
|
||||
region (with \kbd{C-c C-r}) include the following (starred versions
|
||||
are not available in all modes):
|
||||
|
||||
\def\star{\llap{\rm*}}
|
||||
\key{\TeX}{\star TeX}
|
||||
\key{\LaTeX}{\star LaTeX}
|
||||
\key{Con\TeX{}t (once)}{\star ConTeXt}
|
||||
\key{Con\TeX{}t Full}{\star ConTeXt Full}
|
||||
\key{Makeinfo}{\star Makeinfo}
|
||||
\key{Makeinfo with HTML output}{\star Makeinfo HTML}
|
||||
\key{Appropriate previewer}{View}
|
||||
\key{Print the output}{Print}
|
||||
\key{Bib\TeX}{BibTeX}
|
||||
\key{Biber}{Biber}
|
||||
\key{MakeIndex}{Index}
|
||||
\key{LaCheck}{Check}
|
||||
\key{Make (PostScript) File}{File}
|
||||
\key{Ispell}{Spell}
|
||||
\key{Delete intermediate files}{Clean}
|
||||
\key{Delete all output files}{Clean All}
|
||||
|
||||
\section{\TeX ing options}
|
||||
\TeX\ runs can come in various types, which may be toggled and are
|
||||
indicated in the mode line.
|
||||
|
||||
\key{PDF/DVI mode}{C-c C-t C-p}
|
||||
\key{Stop on errors (Interactive mode)}{C-c C-t C-i}
|
||||
\key{I/O correlation (S. Specials, Sync\TeX)}{C-c C-t C-s}
|
||||
|
||||
\section{Miscellaneous}
|
||||
|
||||
\key{Read AUC\TeX\ manual}{C-c TAB}
|
||||
\key{Find documentation}{C-c ?}
|
||||
\key{Math Mode}{C-c \string~}
|
||||
\key{Reset Buffer}{C-c C-n}
|
||||
\key{Reset AUC\TeX}{C-u C-c C-n}
|
||||
|
||||
\section{Multifile Handling}
|
||||
|
||||
\key{Save Document}{C-c C-d}
|
||||
\key{Switch to master file or active buffer}{C-c ^}
|
||||
\key{Query for a master file}{C-c \_}
|
||||
|
||||
\section{Command Insertion}
|
||||
|
||||
\key{Insert Section}{C-c C-s}
|
||||
\key{Insert \LaTeX\ environment}{C-c C-e}
|
||||
\key{Insert item}{C-c LFD}
|
||||
\key{Insert item (alias)}{M-RET}
|
||||
\key{Close \LaTeX\ environment}{C-c ]}
|
||||
\key{Insert \TeX\ macro \kbd{\{\}} }{C-c C-m}
|
||||
\key{Insert double brace}{C-c \{}
|
||||
\key{Complete \TeX\ macro}{M-TAB}
|
||||
\key{Smart ``quote''}{"}
|
||||
\key{Smart ``dollar''}{\$}
|
||||
|
||||
\section{Font Selection}
|
||||
|
||||
\key{Insert {\bf bold\/} text}{C-c C-f C-b}
|
||||
\key{Insert {\it italics\/} text}{C-c C-f C-i}
|
||||
\key{Insert {\rm roman} text}{C-c C-f C-r}
|
||||
\key{Insert {\it emphasized\/} text}{C-c C-f C-e}
|
||||
\key{Insert {\tt typewriter\/} text}{C-c C-f C-t}
|
||||
\key{Insert {\sl slanted\/} text}{C-c C-f C-s}
|
||||
\key{Insert {\sc Small Caps\/} text}{C-c C-f C-c}
|
||||
\key{Delete font}{C-c C-f C-d}
|
||||
\key{Replace font}{C-u C-c C-f \<key>}
|
||||
|
||||
\section{Source Formatting}
|
||||
|
||||
\key{Indent current line}{TAB}
|
||||
\key{Indent next line}{LFD}
|
||||
|
||||
\key{Format a paragraph}{M-q}
|
||||
\key{Format a region}{C-c C-q C-r}
|
||||
\key{Format a section}{C-c C-q C-s}
|
||||
\key{Format an environment}{C-c C-q C-e}
|
||||
|
||||
\key{Mark an environment}{C-c .}
|
||||
\key{Mark a section}{C-c *}
|
||||
|
||||
\key{Comment or uncomment region}{C-c ;}
|
||||
\key{Comment or uncomment paragraph}{C-c \%}
|
||||
|
||||
\copyrightnotice
|
||||
|
||||
\newcolumn
|
||||
|
||||
\title{Math Mode}
|
||||
|
||||
\section{Variables}
|
||||
|
||||
All math mode commands are under the prefix key specified by
|
||||
\var{LaTeX-math-abbrev-prefix}, default is ``\kbd{`}''.
|
||||
|
||||
You can define your own math mode commands by setting the variable
|
||||
\var{LaTeX-math-list} before enabling \var{LaTeX-math-mode}.
|
||||
|
||||
\section{Greek Letters}
|
||||
|
||||
\def\disp#1{\hbox to 6ex{$#1$\hfill}}
|
||||
\def\twocol#1\par{{%
|
||||
\def\key##1##2{##1&##2\cr}%
|
||||
\setbox0\vbox{\halign to 0.45\hsize{\tabskip0ptplus1fil\relax
|
||||
##\hfil&\kbd{##}\hfil\cr\vrule width0ptheight\ht\strutbox#1}}%
|
||||
\line{%
|
||||
\splittopskip=\ht\strutbox
|
||||
\dimen0\ht0
|
||||
\advance\dimen0\baselineskip
|
||||
\setbox2\vsplit0to0.5\dimen0
|
||||
\vtop{\unvbox2}\hfill\raise \ht\strutbox \vtop {\unvbox0}}}}
|
||||
\def\keycs#1#2#{\keycsii#1{#2}}
|
||||
\def\keycsii#1#2#3{\key{\disp{#1#2} ({\tt\string#1})}{#3}}
|
||||
|
||||
\twocol
|
||||
\keycs\alpha{a}
|
||||
\keycs\beta{b}
|
||||
\keycs\gamma{g}
|
||||
\keycs\delta{d}
|
||||
\keycs\epsilon{e}
|
||||
\keycs\zeta{z}
|
||||
\keycs\eta{h}
|
||||
\keycs\theta{j}
|
||||
\keycs\kappa{k}
|
||||
\keycs\lambda{l}
|
||||
\keycs\mu{m}
|
||||
\keycs\nu{n}
|
||||
\keycs\xi{x}
|
||||
\keycs\pi{p}
|
||||
\keycs\rho{r}
|
||||
\keycs\sigma{s}
|
||||
\keycs\tau{t}
|
||||
\keycs\upsilon{u}
|
||||
\keycs\phi{f}
|
||||
\keycs\chi{q}
|
||||
\keycs\psi{y}
|
||||
\keycs\omega{w}
|
||||
\keycs\Delta{D}
|
||||
\keycs\Gamma{G}
|
||||
\keycs\Theta{J}
|
||||
\keycs\Lambda{L}
|
||||
\keycs\Xi{X}
|
||||
\keycs\Pi{P}
|
||||
\keycs\Sigma{S}
|
||||
\keycs\Upsilon{U}
|
||||
\keycs\Phi{F}
|
||||
\keycs\Psi{Y}
|
||||
\keycs\Omega{W}
|
||||
|
||||
\section{Symbols}
|
||||
|
||||
\twocol
|
||||
\keycs\rightarrow{C-f}
|
||||
\keycs\leftarrow{C-b}
|
||||
\keycs\uparrow{C-p}
|
||||
\keycs\downarrow{C-n}
|
||||
\keycs\leq{<}
|
||||
\keycs\geq{>}
|
||||
\keycs\tilde x{\string~}
|
||||
\keycs\hat x{^}
|
||||
\keycs\nabla{N}
|
||||
\keycs\infty{I}
|
||||
\keycs\forall{A}
|
||||
\keycs\exists{E}
|
||||
\keycs\not \ {/}
|
||||
\keycs\in{i}
|
||||
\keycs\times{*}
|
||||
\keycs\cdot{.}
|
||||
\keycs\colon{:}
|
||||
\keycs\subset{\{}
|
||||
\keycs\supset{\}}
|
||||
\keycs\subseteq{[}
|
||||
\keycs\supseteq{]}
|
||||
\keycs\emptyset{0}
|
||||
\keycs\setminus{\\}
|
||||
\keycs\cup{+}
|
||||
\keycs\cap{-}
|
||||
\keycs\langle{(}
|
||||
\keycs\rangle{)}
|
||||
\keycs\exp{C-e}
|
||||
\keycs\sin{C-s}
|
||||
\keycs\cos{C-c}
|
||||
\keycs\sup{C-^}
|
||||
\keycs\inf{C-_}
|
||||
\keycs\det{C-d}
|
||||
\keycs\lim{C-l}
|
||||
\keycs\tan{C-t}
|
||||
\keycs\vee{|}
|
||||
\keycs\wedge{\&}
|
||||
|
||||
\section{Miscellaneous}
|
||||
|
||||
\key{cal letters}{c \<letter>}
|
||||
|
||||
\newcolumn
|
||||
|
||||
\def\previewlatex{{preview-latex}}
|
||||
\title{\previewlatex}
|
||||
\section{Activation}
|
||||
\previewlatex\ is part of AUC\TeX. If it is active, you should see an
|
||||
entry ``Preview'' in the menu bar when editing \LaTeX{} files. If you
|
||||
have a ``LaTeX'', but no ``Preview'' menu, add the following to your
|
||||
init file (usually \file{\string~/.emacs.d/init.el}):
|
||||
\beginexample
|
||||
(load "preview-latex.el" nil t t)
|
||||
\endexample
|
||||
|
||||
\section{Usage and keybindings}
|
||||
\previewlatex\ operation only affects the display of the buffer, not
|
||||
its contents. It runs only on demand, using the target {\sc dvi} or
|
||||
{\sc PDF} files in the process. The first command in the following
|
||||
list (also on the toolbar button) will (as applicable) repreview an
|
||||
active region or a single modified preview, toggle the visibility of
|
||||
an unmodified preview or generate previews for a surrounding buffer
|
||||
area up to the next preview.
|
||||
|
||||
\key{Preview at point}{C-c C-p C-p}
|
||||
\key{Preview environment}{C-c C-p C-e}
|
||||
\key{Preview region}{C-c C-p C-r}
|
||||
\key{Preview buffer}{C-c C-p C-b}
|
||||
\key{Preview document}{C-c C-p C-d}
|
||||
\key{Remove previews at point}{C-c C-p C-c C-p}
|
||||
\key{Remove previews from region}{C-c C-p C-c C-r}
|
||||
\key{Remove previews from buffer}{C-c C-p C-c C-b}
|
||||
\key{Remove previews from document}{C-c C-p C-c C-d}
|
||||
\key{Cache preamble}{C-c C-p C-f}
|
||||
\key{Switch off preamble cache}{C-c C-p C-c C-f}
|
||||
\key{Read Texinfo manual}{C-c C-p TAB}
|
||||
\key{Copy region as MML}{C-c C-p C-w}
|
||||
|
||||
The last keysequence will copy a region with previews into the kill
|
||||
ring in a form fit for sending in Emacs' {\tt message-mode}.
|
||||
|
||||
\section{Customization within Emacs}
|
||||
|
||||
You can use \kbd{M-x customize-variable RET} or the ``Preview\slash
|
||||
Customize'' menu for customization. Worthwhile settings:
|
||||
|
||||
\halign to \hsize{\tabskip=1ptplus1fil\relax#\hfil&\hfil\var{#}\tabskip0pt\cr
|
||||
\noalign{\medskip If you have dvipng available:}
|
||||
Set to \kbd{dvipng}&preview-image-type\cr
|
||||
\noalign{\medskip \vbox{Keep counter values when regenerating
|
||||
single previews:}}
|
||||
Set to \kbd{t}&preview-preserve-counters\cr
|
||||
\noalign{\medskip \vbox{Cache/Don't cache preamble without query
|
||||
(preamble caching is done using \file{mylatex.ltx} and might not always
|
||||
work. Use the appropriate key sequences for overriding the following
|
||||
setting):}}
|
||||
Set to \kbd{t}/\kbd{nil}&preview-auto-cache-preamble\cr}
|
||||
|
||||
\section{Customization from \LaTeX{}}
|
||||
Customization is done in the document preamble (you need to load
|
||||
\file{preview.sty} explicitly) or in \file{prauctex.cfg} (which should
|
||||
load the system \file{prauctex.cfg} first). Commands:
|
||||
|
||||
\halign to \hsize{\tabskip=1ptplus1fil\relax#\hfil&\hfil\kbd{#}\tabskip0pt\cr
|
||||
Preview macro&\string\PreviewMacro[\{\<args>\}]\{\<macro>\}\cr
|
||||
Preview env&\string\PreviewEnvironment[\{\<args>\}]\{\<env>\}\cr
|
||||
Skip macro&\string\PreviewMacro*[\{\<args>\}]\{\<macro>\}\cr
|
||||
Skip env&\string\PreviewEnvironment*[\{\<args>\}]\{\<env>\}\cr
|
||||
\noalign{\smallskip Diverting material from float environments}
|
||||
Snarf stuff&\string\PreviewSnarfEnvironment[\{\<args>\}]\{\<env>\}\cr
|
||||
}
|
||||
|
||||
Values to be used within \<args>:
|
||||
\halign to
|
||||
\hsize{\tabskip=1ptplus1fil\relax#\hfil&\hfil\kbd{#}\tabskip0pt\cr
|
||||
Optional argument&[]\cr
|
||||
Mandatory argument&\{\}\cr
|
||||
Optional star&*\cr
|
||||
Conditionals&?\<token>\{\<if found>\}\{\<if not found>\}\cr
|
||||
Skip next token&-\cr
|
||||
Transformation&\#\{\<macro args>\}\{\<replacement>\}\cr
|
||||
}
|
||||
|
||||
More options and explanations can be found in \file{preview.pdf} or the
|
||||
Texinfo manual.
|
||||
|
||||
\vskip 5ex plus 6ex minus 1ex
|
||||
|
||||
\title{Folding Source Display}
|
||||
|
||||
\key{Toggle folding mode}{C-c C-o C-f}
|
||||
\key{Hide all items in buffer}{C-c C-o C-b}
|
||||
\key{Hide all items in region}{C-c C-o C-r}
|
||||
\key{Hide all items in paragraph}{C-c C-o C-p}
|
||||
\key{Hide current macro}{C-c C-o C-m}
|
||||
\key{Hide current environment}{C-c C-o C-e}
|
||||
\key{Show all items in buffer}{C-c C-o b}
|
||||
\key{Show all items in region}{C-c C-o r}
|
||||
\key{Show all items in paragraph}{C-c C-o p}
|
||||
\key{Show current item}{C-c C-o i}
|
||||
\key{Hide or show current item}{C-c C-o C-o}
|
||||
|
||||
\vskip 5ex plus 6ex minus 1ex
|
||||
|
||||
\title{Outlining \TeX\ Documents}
|
||||
|
||||
AUC\TeX\ supports outline mode by defining section, subsection,
|
||||
etc. as heading levels. You can use \kbd{M-x outline-minor-mode RET}
|
||||
to toggle outline minor mode. All outline minor mode commands are
|
||||
under the prefix key specified by \var{outline-minor-mode-prefix}, default
|
||||
is \kbd{C-c @}.
|
||||
|
||||
\key{Hide all of buffer except headings}{C-c @ C-t}
|
||||
\key{Show all text in buffer}{C-c @ C-a}
|
||||
\key{Hide body following this heading}{C-c @ C-c}
|
||||
\key{Show body following this heading}{C-c @ C-e}
|
||||
\key{Hide subtree}{C-c @ C-d}
|
||||
\key{Show subtree}{C-c @ C-s}
|
||||
\key{All subheadings visible}{C-c @ C-k}
|
||||
|
||||
\key{next visible heading}{C-c @ C-n}
|
||||
\key{previous visible heading}{C-c @ C-p}
|
||||
\key{forward to next subheading}{C-c @ C-f}
|
||||
\key{backward to next subheading}{C-c @ C-b}
|
||||
\key{up one heading level}{C-c @ C-u}
|
||||
|
||||
\newcolumn
|
||||
|
||||
\iftrue % RefTeX long version
|
||||
|
||||
\title{RefTeX}
|
||||
|
||||
\section{Activation}
|
||||
|
||||
RefTeX is part of Emacs. To activate and make it interact with
|
||||
AUCTeX, insert the following lines in \file{init.el}.
|
||||
\vskip-3mm
|
||||
\beginexample
|
||||
(add-hook 'LaTeX-mode-hook \#'turn-on-reftex)
|
||||
(setq reftex-plug-into-AUCTeX t)
|
||||
\endexample
|
||||
|
||||
\section{Table of Contents}
|
||||
The table of contents is a structured view of the entire document. It
|
||||
contains the sections, and optionally labels, index entries, and file
|
||||
boundaries.
|
||||
|
||||
\key{Show the table of contents$\sp1$}{C-c =}
|
||||
\key{Recenter *toc* buffer to here$\sp1$}{C-c -}
|
||||
|
||||
\section{Crossreferences, Citations, Index}
|
||||
|
||||
\key{Insert unique label$\sp1$}{C-c (}
|
||||
\key{Reference a label$\sp1$}{C-c )}
|
||||
\key{Insert citation with key selection}{C-c [}
|
||||
\key{\dots\ prompt for optional arguments}{C-u C-c [}
|
||||
\key{Index word at point with default macro}{C-c /}
|
||||
\key{Insert an index entry}{C-c <}
|
||||
\key{Add word to index phrases}{C-c \\}
|
||||
\key{Visit index phrases buffer}{C-c |}
|
||||
\key{Compile and display index}{C-c >}
|
||||
\key{View cross reference$\sp1$}{C-c \&}
|
||||
\key{View cross reference with mouse}{S-mouse-2}
|
||||
\key{View cross reference from BibTeX file}{C-c \&}
|
||||
|
||||
\section{Standard keys in special buffers}
|
||||
RefTeX's special buffers have many active keys. The common ones are:
|
||||
|
||||
\key{Display summary of active keys}{?}
|
||||
\key{Select this item}{RET}
|
||||
\key{Rescan the document}{r}
|
||||
\key{Display location in other window}{SPC}
|
||||
\key{Follow mode}{f}
|
||||
|
||||
\section{Multifile actions}
|
||||
Since RefTeX scans the entire (multifile) document, it can provide
|
||||
commands that act on all files of a document. Check the \kbd{
|
||||
Ref->Global Actions} menu for these commands.
|
||||
|
||||
\section{Variables}
|
||||
|
||||
To tell reftex about your own macro definitions, customize the
|
||||
variables
|
||||
\vskip-3mm
|
||||
\beginexample
|
||||
reftex-label-alist
|
||||
reftex-section-levels
|
||||
reftex-index-macros
|
||||
reftex-cite-format
|
||||
\endexample
|
||||
|
||||
\vskip2mm\hrule
|
||||
$\sp1$ An argument of \kbd{C-u} triggers a document scan first. This can
|
||||
be necessary if file content and RefTeX's knowledge are no longer
|
||||
consistent.
|
||||
|
||||
\else % RefTeX compact version
|
||||
|
||||
\csname title\endcsname{RefTeX}
|
||||
|
||||
\section{Activation in init.el}
|
||||
|
||||
\vskip-4mm
|
||||
\beginexample
|
||||
(add-hook 'LaTeX-mode-hook \#'turn-on-reftex)
|
||||
(setq reftex-plug-into-AUCTeX t)
|
||||
\endexample
|
||||
|
||||
\section{Table of Contents}
|
||||
|
||||
\key{Show the table of contents$\sp1$}{C-c =}
|
||||
\key{Recenter *toc* buffer to here$\sp1$}{C-c -}
|
||||
|
||||
\section{Crossreferences, Citations, Index}
|
||||
|
||||
\key{Insert unique label$\sp1$}{C-c (}
|
||||
\key{Reference a label$\sp1$}{C-c )}
|
||||
\key{Insert citation with key selection}{C-c [}
|
||||
\key{... prompt for optional arguments}{C-u C-c [}
|
||||
\key{Index word at point with default macro}{C-c /}
|
||||
\key{Insert an index entry}{C-c <}
|
||||
\key{Add word to index phrases}{C-c \\}
|
||||
\key{Visit index phrases buffer}{C-c |}
|
||||
\key{Compile and display index}{C-c >}
|
||||
\key{View cross reference$\sp1$}{C-c \&}
|
||||
\key{View cross reference with mouse}{S-mouse-2}
|
||||
\key{View cross reference from BibTeX file}{C-c \&}
|
||||
|
||||
\vskip2mm\hrule
|
||||
$\sp1$ An argument of \kbd{C-u} triggers a document scan first.
|
||||
|
||||
\fi
|
||||
|
||||
\bye
|
||||
|
||||
%%% Local Variables:
|
||||
%%% mode: plain-TeX
|
||||
%%% TeX-master: t
|
||||
%%% End:
|
|
@ -1,346 +0,0 @@
|
|||
@c This is part of the AUCTeX Manual.
|
||||
@c Copyright (C) 2004-2006, 2008, 2009, 2013-2015,
|
||||
@c 2020-2022 Free Software Foundation, Inc.
|
||||
@c See the file auctex.texi for copying conditions.
|
||||
@ifset rawfile
|
||||
@include macros.texi
|
||||
@node Development,,(dir),(dir)
|
||||
@top Future Development of @AUCTeX{}
|
||||
@end ifset
|
||||
|
||||
The following sections describe future development of @AUCTeX{}.
|
||||
Besides mid-term goals, bug reports and requests we cannot fix or honor
|
||||
right away are being gathered here. If you have some time for Emacs
|
||||
Lisp hacking, you are encouraged to try to provide a solution to one of
|
||||
the following problems. If you don't know Lisp, you may help us to
|
||||
improve the documentation. It might be a good idea to discuss proposed
|
||||
changes on the mailing list of @AUCTeX{} first.
|
||||
|
||||
@menu
|
||||
* Mid-term Goals::
|
||||
* Wishlist::
|
||||
* Bugs::
|
||||
@end menu
|
||||
|
||||
@ifset rawfile
|
||||
@node Mid-term Goals
|
||||
@chapter Mid-term Goals
|
||||
@raisesections
|
||||
@end ifset
|
||||
|
||||
@ifclear rawfile
|
||||
@node Mid-term Goals
|
||||
@section Mid-term Goals
|
||||
@end ifclear
|
||||
|
||||
@itemize @bullet
|
||||
@item Integration of @previewlatex{} into @AUCTeX{}
|
||||
|
||||
As of @AUCTeX{} 11.81 @previewlatex{} is a part of @AUCTeX{} in the
|
||||
sense that the installation routines were merged and @previewlatex{} is
|
||||
being packaged with @AUCTeX{}.
|
||||
|
||||
Further integration will happen at the backend. This involves folding
|
||||
of error parsing and task management of both packages which will ease
|
||||
development efforts and avoid redundant work.
|
||||
|
||||
@item Error help catalogs
|
||||
|
||||
Currently, the help for errors is more or less hardwired into
|
||||
@file{latex.el}. For supporting error help in other languages, it would
|
||||
be sensible to instead arrange error messages in language-specific
|
||||
files, make a common info file from all such catalogs in a given
|
||||
language and look the error texts up in an appropriate index. The user
|
||||
would then specify a preference list of languages, and the errors would
|
||||
be looked up in the catalogs in sequence until they were identified.
|
||||
|
||||
@item Combining @samp{docTeX} with Ref@TeX{}
|
||||
|
||||
Macro cross references should also be usable for document navigation
|
||||
using Ref@TeX{}.
|
||||
|
||||
@item Fix remove-style feature
|
||||
|
||||
Currently @code{TeX-remove-style} implementation isn't good. It is common
|
||||
practice that major mode functions directly add macros and environments
|
||||
via @code{TeX-add-symbols} and @code{LaTeX-add-environments}, but those
|
||||
macros and environments are lost once @code{TeX-remove-style} runs. It is
|
||||
necessary to run major mode function, by e.g.@: @code{normal-mode}, again
|
||||
to recover them, but that makes no point in running
|
||||
@code{TeX-remove-style} itself because major mode function kills all
|
||||
buffer-local variables.
|
||||
|
||||
As of @AUCTeX{} 12.3, @code{TeX-remove-style} is no longer used by any
|
||||
other codes.
|
||||
|
||||
@item Factor out syntax propertization from @file{font-latex.el}
|
||||
|
||||
Syntax propertization is implemented in @file{font-latex.el}. This means
|
||||
that features which depend on syntax parse don't work well for
|
||||
@file{tex-font.el} users and those who disable font lock.
|
||||
|
||||
Hence syntax propertization should be factored out from
|
||||
@file{font-latex.el} and implemented as a major mode facility.
|
||||
|
||||
(Texinfo mode is an exception because it already has its own syntax
|
||||
propertize function, which just copies the one available in Emacs built-in
|
||||
texinfo mode.)
|
||||
|
||||
@item Add documentation
|
||||
|
||||
Following entries should be included in the document:
|
||||
@itemize @minus
|
||||
@item
|
||||
Variables @code{LaTeX-insert-into-comments}, @code{TeX-translate-location-hook}
|
||||
|
||||
@item
|
||||
How to use @code{TeX-auto-add-type}, as well as functions and variables
|
||||
generated by that macro.
|
||||
@ifclear rawfile
|
||||
They should be covered in the node @ref{Hacking the Parser}.
|
||||
@end ifclear
|
||||
|
||||
@item
|
||||
Usage of @ConTeXt{} mode
|
||||
@end itemize
|
||||
|
||||
@end itemize
|
||||
|
||||
@node Wishlist
|
||||
@section Wishlist
|
||||
|
||||
@itemize @bullet
|
||||
@item Enable syntactic font lock for verbatim constructs in @samp{docTeX}
|
||||
mode
|
||||
|
||||
In @samp{docTeX} mode buffer, @samp{%} sign at the line beginning hinders
|
||||
syntactic font lock of verbatim constructs. This should be improved.
|
||||
|
||||
@item Simplify tool bar implementation
|
||||
|
||||
The library @file{toolbar-x.el} was
|
||||
developed as an abstraction layer to absorb difference between XEmacs
|
||||
and @acronym{GNU} Emacs. Now that XEmacs is no longer supported, the
|
||||
library, together with @file{tex-bar.el} as a whole, can be much
|
||||
simplified (or even unified).
|
||||
|
||||
@item Documentation lookup for macros
|
||||
|
||||
A parser could gather information about which macros are defined in
|
||||
which @LaTeX{} packages and store the information in a hashtable which
|
||||
can be used in a backend for @code{TeX-doc} in order to open the
|
||||
matching documentation for a given macro. The information could also be
|
||||
used to insert an appropriate @samp{\usepackage} statement if the user
|
||||
tries to insert a macro for which the respective package has not been
|
||||
requested yet.
|
||||
|
||||
@item Improvements to error reporting
|
||||
|
||||
Fringe indicators for errors in the main text would be nice.
|
||||
|
||||
@item A math entry grid
|
||||
|
||||
A separate frame with a table of math character graphics to click on in
|
||||
order to insert the respective sequence into the buffer (cf. the
|
||||
``grid'' of @samp{x-symbol}).
|
||||
|
||||
@item Crossreferencing support
|
||||
|
||||
It would be nice if you could index process your favorite collection of
|
||||
@file{.dtx} files (such as the @LaTeX{} source), just call a command on
|
||||
arbitrary control sequence, and get either the @acronym{DVI} viewer opened right
|
||||
at the definition of that macro (using Source Specials), or the source
|
||||
code of the @file{.dtx} file.
|
||||
|
||||
@item Better plain @TeX{} support
|
||||
|
||||
For starters, @code{LaTeX-math-mode} is not very @LaTeX{}-specific in
|
||||
the first place, and similar holds for indentation and formatting.
|
||||
|
||||
@item
|
||||
Page count when compiling should (optionally) go to modeline of the
|
||||
window where the compilation command was invoked, instead of the output
|
||||
window. Suggested by Karsten Tinnefeld
|
||||
@email{tinnefeld@@irb.informatik.uni-dortmund.de}.
|
||||
|
||||
@item
|
||||
Command to insert a macrodefinition in the preamble, without moving
|
||||
point from the current location. Suggested by
|
||||
"Jeffrey C. Ely" @email{ely@@nwu.edu}.
|
||||
|
||||
@item
|
||||
A database of all commands defined in all stylefiles. When a command or
|
||||
environment gets entered that is provided in one of the styles, insert
|
||||
the appropriate @code{\usepackage} in the preamble.
|
||||
|
||||
@item
|
||||
A way to add and overwrite math mode entries in style files, and to
|
||||
decide where they should be. Suggested by Remo Badii @email{Remo.Badii@@psi.ch}.
|
||||
|
||||
@item
|
||||
Create template for (first) line of tabular environment.
|
||||
|
||||
@item
|
||||
@c FIXME: Already fixed?
|
||||
I think prompting for the master is the intended behaviour. It
|
||||
corresponds to a `shared' value for @code{TeX-master}.
|
||||
|
||||
There should probably be a `none' value which wouldn't query for the
|
||||
master, but instead disable all features that relies on @code{TeX-master}.
|
||||
|
||||
This default value for @code{TeX-master} could then be controled with mapping
|
||||
based on the extension.
|
||||
|
||||
@item
|
||||
Use index files (when available) to speed up @kbd{C-c C-m include
|
||||
@key{RET}}.
|
||||
|
||||
@item
|
||||
Option not to calculate very slow completions like for
|
||||
@kbd{C-c C-m include @key{RET}}.
|
||||
|
||||
@item
|
||||
Font menu should be created from @code{TeX-font-list}.
|
||||
|
||||
@item
|
||||
Installation procedure written purely in emacs lisp.
|
||||
|
||||
@item
|
||||
Included PostScript files should also be counted as part of the
|
||||
document.
|
||||
|
||||
@item
|
||||
A nice hierarchical by-topic organization of all officially documented
|
||||
@LaTeX{} macros, available from the menu bar.
|
||||
|
||||
@item
|
||||
@code{TeX-command-default} should be set from the master file, if not
|
||||
set locally. Suggested by Peter Whaite @email{peta@@cim.mcgill.ca}.
|
||||
|
||||
@item
|
||||
Make @AUCTeX{} work with @samp{crypt++}. Suggested by Chris Moore
|
||||
@email{Chris.Moore@@src.bae.co.uk}.
|
||||
|
||||
@item
|
||||
Make @AUCTeX{} work with @samp{longlines}. This would also apply to
|
||||
@previewlatex{}, though it might make sense to unify error processing
|
||||
before attempting this.
|
||||
|
||||
@item
|
||||
@c FIXME: Already achieved?
|
||||
The @samp{Spell} command should apply to all files in a document. Maybe
|
||||
it could try to restrict to files that have been modified since last
|
||||
spell check? Suggested by Ravinder Bhumbla @email{rbhumbla@@ucsd.edu}.
|
||||
|
||||
@item
|
||||
Make @key{.} check for abbreviations and sentences ending with capital
|
||||
letters.
|
||||
|
||||
@item
|
||||
Use Emacs 19 minibuffer history to choose between previewers, and other
|
||||
stuff. Suggested by John Interrante
|
||||
@email{interran@@uluru.Stanford.EDU}.
|
||||
|
||||
@item
|
||||
Documentation of variables that can be set in a style hook.
|
||||
|
||||
We need a list of what can safely be done in an ordinary style hook.
|
||||
You can not set a variable that @AUCTeX{} depends on, unless @AUCTeX{}
|
||||
knows that it has to run the style hooks first.
|
||||
|
||||
Here is the start of such a list.
|
||||
@table @code
|
||||
|
||||
@item LaTeX-add-environments
|
||||
|
||||
@item TeX-add-symbols
|
||||
|
||||
@item LaTeX-add-labels
|
||||
|
||||
@item LaTeX-add-bibliographies
|
||||
|
||||
@item LaTeX-largest-level
|
||||
|
||||
@end table
|
||||
|
||||
@item
|
||||
Outline should be (better) supported in @TeX{} mode.
|
||||
|
||||
At least, support headers, trailers, as well as @code{TeX-outline-extra}.
|
||||
|
||||
@item
|
||||
@code{TeX-header-start} and @code{TeX-trailer-end}.
|
||||
|
||||
We might want these, just for fun (and outlines)
|
||||
|
||||
@item
|
||||
Plain @TeX{} and @LaTeX{} specific header and trailer expressions.
|
||||
|
||||
We should have a way to globally specify the default value of the header
|
||||
and trailer regexps.
|
||||
|
||||
@item
|
||||
Get closer to original @code{TeX-mode} keybindings.
|
||||
|
||||
A third initialization file (@file{tex-mode.el}) containing an emulator
|
||||
of the standard @code{TeX-mode} would help convince some people to
|
||||
change to @AUCTeX{}.
|
||||
|
||||
@item
|
||||
Use markers in @code{TeX-error-list} to remember buffer positions in
|
||||
order to be more robust with regard to line numbers and changed files.
|
||||
|
||||
@item
|
||||
Finish the Texinfo mode. For one thing, many Texinfo mode commands do
|
||||
not accept braces around their arguments.
|
||||
|
||||
@item
|
||||
Hook up the letter environment with @file{bbdb.el}.
|
||||
|
||||
@end itemize
|
||||
|
||||
@node Bugs
|
||||
@section Bugs
|
||||
|
||||
@c FIXME: Are those bugs still present?
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
The style hooks automatically generated by parsing files for
|
||||
@file{example.dtx}, @file{example.sty}, @file{example.drv} and
|
||||
@file{example.bib} all clash. Bad. Clash with hand-written style hooks
|
||||
should be removed by dialect discrimination --- to be checked.
|
||||
|
||||
@item
|
||||
@kbd{C-c `} should always stay in the current window, also when it finds
|
||||
a new file.
|
||||
|
||||
@item
|
||||
Do not overwrite emacs warnings about existing auto-save files when
|
||||
loading a new file.
|
||||
|
||||
@item
|
||||
Maybe the regexp for matching a @TeX{} symbol during parsing should be
|
||||
@samp{"\\\\\\([a-zA-Z]+\\|.\\)"} ---
|
||||
@email{thiemann@@informatik.uni-tuebingen.de} Peter Thiemann.
|
||||
|
||||
@item
|
||||
@AUCTeX{} should not parse verbatim environments.
|
||||
|
||||
@item
|
||||
Make @samp{`} check for math context in @code{LaTeX-math-mode}. and
|
||||
simply self insert if not in a math context.
|
||||
|
||||
@item
|
||||
Make @code{TeX-insert-dollar} more robust. Currently it can be fooled
|
||||
by @samp{\mbox}'es and escaped double dollar for example.
|
||||
|
||||
@item
|
||||
@c FIXME: Is support for table environment really necessary?
|
||||
Correct indentation for tabbing, table, and math environments.
|
||||
@end itemize
|
||||
|
||||
@c Local Variables:
|
||||
@c mode: texinfo
|
||||
@c TeX-master: "auctex"
|
||||
@c End:
|
|
@ -1,362 +0,0 @@
|
|||
@c This is part of the AUCTeX Manual.
|
||||
@c Copyright (C) 2003-2007, 2009, 2018, 2021
|
||||
@c Free Software Foundation, Inc.
|
||||
@c See the file auctex.texi for copying conditions.
|
||||
@ifset rawfile
|
||||
@include macros.texi
|
||||
@end ifset
|
||||
|
||||
@subheading In a Nutshell
|
||||
|
||||
The following are brief installation instructions for the impatient. In
|
||||
case you don't understand some of this, run into trouble of some sort,
|
||||
or need more elaborate information, refer to the detailed instructions
|
||||
further below.
|
||||
|
||||
@enumerate
|
||||
@item
|
||||
Install the prerequisites, i.e.@: GNU Emacs, MSYS or Cygwin, a @TeX{}
|
||||
system, and Ghostscript.
|
||||
|
||||
@item
|
||||
Open the MSYS shell or a Cygwin shell and change to the directory
|
||||
containing the unzipped file contents.
|
||||
|
||||
@item
|
||||
Configure @AUCTeX{}:
|
||||
|
||||
For Emacs: Many people like to install @AUCTeX{} into the pseudo file
|
||||
system hierarchy set up by the Emacs installation. Assuming Emacs is
|
||||
installed in @file{C:/Program Files/Emacs} and the directory for local
|
||||
additions of your @TeX{} system, e.g.@: MiK@TeX{}, is
|
||||
@file{C:/localtexmf}, you can do this by typing the following statement
|
||||
at the shell prompt:
|
||||
|
||||
@example
|
||||
./configure --prefix='C:/Program Files/Emacs' \
|
||||
--infodir='C:/Program Files/Emacs/info' \
|
||||
--with-texmf-dir='C:/localtexmf'
|
||||
@end example
|
||||
|
||||
The commands above is example for common usage. More on configuration
|
||||
options can be found in the detailed installation instructions below.
|
||||
|
||||
If the configuration script failed to find all required programs, make
|
||||
sure that these programs are in your system path and add directories
|
||||
containing the programs to the @env{PATH} environment variable if
|
||||
necessary. Here is how to do that in W2000/XP:
|
||||
|
||||
@enumerate
|
||||
@ifclear rawfile
|
||||
@cindex Adding to @env{PATH} in Windows
|
||||
@cindex @env{PATH} in Windows
|
||||
@end ifclear
|
||||
@item
|
||||
On the desktop, right click ``My Computer'' and select properties.
|
||||
@item
|
||||
Click on ``Advanced'' in the ``System Properties'' window.
|
||||
@item
|
||||
Select ``Environment Variables''.
|
||||
@item
|
||||
Select ``path'' in ``System Variables'' and click ``edit''. Move to the
|
||||
front in the line (this might require scrolling) and add the missing
|
||||
path including drive letter, ended with a semicolon.
|
||||
@end enumerate
|
||||
|
||||
@item
|
||||
If there were no further error messages, type
|
||||
|
||||
@example
|
||||
make
|
||||
@end example
|
||||
|
||||
In case there were, please refer to the detailed description below.
|
||||
|
||||
@item
|
||||
Finish the installation by typing
|
||||
|
||||
@example
|
||||
make install
|
||||
@end example
|
||||
@end enumerate
|
||||
|
||||
@subheading Detailed Installation Instructions
|
||||
|
||||
Installation of @AUCTeX{} under Windows is in itself not more
|
||||
complicated than on other platforms. However, meeting the prerequisites
|
||||
might require more work than on some other platforms, and feel less
|
||||
natural.
|
||||
|
||||
If you are experiencing any problems, even if you think they are of your
|
||||
own making, be sure to report them to @email{auctex-devel@@gnu.org} so
|
||||
that we can explain things better in future.
|
||||
|
||||
Windows is a problematic platform for installation scripts. The main
|
||||
problem is that the installation procedure requires consistent file
|
||||
names in order to find its way in the directory hierarchy, and Windows
|
||||
path names are a mess.
|
||||
|
||||
The installation procedure tries finding stuff in system search paths
|
||||
and in Emacs paths. For that to succeed, you have to use the same
|
||||
syntax and spelling and case of paths everywhere: in your system search
|
||||
paths, in Emacs' @code{load-path} variable, as argument to the scripts.
|
||||
If your path names contain spaces or other `shell-unfriendly'
|
||||
characters, most notably backslashes for directory separators, place the
|
||||
whole path in @samp{"double quote marks"} whenever you specify it on a
|
||||
command line.
|
||||
|
||||
Avoid `helpful' magic file names like @samp{/cygdrive/c} and
|
||||
@samp{C:\PROGRA~1\} like the plague. It is quite unlikely that the
|
||||
scripts will be able to identify the actual file names involved. Use
|
||||
the full paths, making use of normal Windows drive letters like
|
||||
@samp{ 'C:/Program Files/Emacs' } where required, and using the same
|
||||
combination of upper- and lowercase letters as in the actual files.
|
||||
File names containing shell-special characters like spaces or
|
||||
backslashes (if you prefer that syntax) need to get properly quoted to
|
||||
the shell: the above example used single quotes for that.
|
||||
|
||||
Ok, now here are the steps to perform:
|
||||
|
||||
@enumerate
|
||||
@item
|
||||
You need to unpack the @AUCTeX{} distribution (which you seemingly have
|
||||
done since you are reading this). It must be unpacked in a separate
|
||||
installation directory outside of your Emacs file hierarchy: the
|
||||
installation will later copy all necessary files to their final
|
||||
destination, and you can ultimately remove the directory where you
|
||||
unpacked the files.
|
||||
|
||||
Line endings are a problem under Windows. The distribution contains
|
||||
only text files, and theoretically most of the involved tools should get
|
||||
along with that. However, the files are processed by various utilities,
|
||||
and it is conceivable that not all of them will use the same line ending
|
||||
conventions. If you encounter problems, it might help if you try
|
||||
unpacking (or checking out) the files in binary mode, if your tools
|
||||
allow that.
|
||||
|
||||
If you don't have a suitable unpacking tool, skip to the next step: this
|
||||
should provide you with a working @samp{unzip} command.
|
||||
|
||||
@item
|
||||
The installation of @AUCTeX{} will require the MSYS tool set from
|
||||
@uref{http://www.mingw.org/} or the Cygwin tool set from
|
||||
@uref{https://cygwin.com/}. The latter is slower and larger (the download
|
||||
size of the base system is about 15 MB) but comes with a package manager
|
||||
that allows for updating the tool set and installing additional packages
|
||||
like, for example, the spell checker @w{aspell}.
|
||||
|
||||
If Cygwin specific paths like @samp{/cygdrive/c} crop up in the course
|
||||
of the installation, using a non-Cygwin Emacs could conceivably cause
|
||||
trouble. Using Cygwin either for everything or nothing might save
|
||||
headaches, @emph{if} things don't work out.
|
||||
|
||||
@item
|
||||
Install a current version of @w{Emacs} from
|
||||
@uref{https://ftp.gnu.org/gnu/emacs/windows/}.
|
||||
|
||||
@item
|
||||
You need a working @TeX{} installation. One popular installation under
|
||||
Windows is @uref{https://miktex.org/,MiK@TeX{}}. Another much more
|
||||
extensive system is @uref{https://www.tug.org/texlive/,@w{@TeX{} Live}}
|
||||
which is rather close to its Unix cousins.
|
||||
|
||||
@item
|
||||
A working copy of @uref{https://www.ghostscript.com/,Ghostscript} is
|
||||
required for @previewlatex{} operation. Examining the output from
|
||||
@example
|
||||
gswin32c -h
|
||||
@end example
|
||||
on a Windows command line should tell you whether your Ghostscript
|
||||
supports the @code{png16m} device needed for @acronym{PNG} support.
|
||||
MiK@TeX{} apparently comes with its own Ghostscript called @file{mgs.exe}.
|
||||
|
||||
@item
|
||||
@uref{https://www.perl.org/,Perl} is needed for rebuilding the
|
||||
documentation if you are working with a copy from Git or have
|
||||
touched documentation source files in the @previewlatex{} part. If the
|
||||
line endings of the file @file{preview/latex/preview.dtx} don't
|
||||
correspond with what Perl calls @code{\n} when reading text files,
|
||||
you'll run into trouble.
|
||||
|
||||
@item
|
||||
Now the fun stuff starts. If you have not yet done so, unpack the
|
||||
@AUCTeX{} distribution into a separate directory after rereading the
|
||||
instructions for unpacking above.
|
||||
|
||||
@item
|
||||
Ready for takeoff. Start some shell (typically @command{bash}) capable of
|
||||
running @command{configure}, change into the installation directory and
|
||||
call @command{./configure} with appropriate options.
|
||||
|
||||
Typical options you'll want to specify will be
|
||||
@table @code
|
||||
@item --prefix=@var{drive:/path/to/emacs-hierarchy}
|
||||
which tells @command{configure} where to perform the installation. It may
|
||||
also make @command{configure} find Emacs automatically; if this doesn't
|
||||
happen, try @option{--with-emacs} as described below. All automatic
|
||||
detection of files and directories restricts itself to directories below
|
||||
the @var{prefix} or in the same hierarchy as the program accessing the
|
||||
files. Usually, directories like @file{man}, @file{share} and
|
||||
@file{bin} will be situated right under @var{prefix}.
|
||||
|
||||
This option also affects the defaults for placing the Texinfo
|
||||
documentation files (see also @option{--infodir} below) and automatically
|
||||
generated style hooks.
|
||||
|
||||
If you have a central directory hierarchy (not untypical with Cygwin)
|
||||
for such stuff, you might want to specify its root here. You stand a
|
||||
good chance that this will be the only option you need to supply, as
|
||||
long as your @TeX{}-related executables are in your system path, which
|
||||
they better be for @AUCTeX{}'s operation, anyway.
|
||||
|
||||
@item --with-emacs
|
||||
if you are installing for a version of Emacs. You can use
|
||||
@samp{--with-emacs=@var{drive:/path/to/emacs}} to specify the name of the
|
||||
installed Emacs executable, complete with its path if necessary (if
|
||||
Emacs is not within a directory specified in your @env{PATH} environment
|
||||
setting).
|
||||
|
||||
@item --with-lispdir=@var{drive:/path/to/site-lisp}
|
||||
This option tells a place in @code{load-path} below which the
|
||||
files are situated. The startup files @file{auctex.el} and
|
||||
@file{preview-latex.el} will get installed here unless a subdirectory
|
||||
@file{site-start.d} exists which will then be used instead. The other
|
||||
files from @AUCTeX{} will be installed in a subdirectory called
|
||||
@file{auctex}.
|
||||
|
||||
If you think that you need a different setup, please refer to the full
|
||||
installation instructions in
|
||||
@ifset rawfile
|
||||
the @file{INSTALL} file.
|
||||
@end ifset
|
||||
@ifclear rawfile
|
||||
@ref{Configure}.
|
||||
@end ifclear
|
||||
|
||||
@item --infodir=@var{drive:/path/to/info/directory}
|
||||
If you are installing into an Emacs directory, info files have to be put
|
||||
into the @file{info} folder below that directory. The configuration
|
||||
script will usually try to install into the folder @file{share/info}, so
|
||||
you have to override this by specifying something like
|
||||
@samp{--infodir='C:/Program Files/info'} for the configure call.
|
||||
|
||||
@item --with-auto-dir=@var{drive:/dir}
|
||||
Directory containing automatically generated information. You should
|
||||
not normally need to set this, as @samp{--prefix} should take care of
|
||||
this.
|
||||
|
||||
@item --disable-preview
|
||||
Use this option if your Emacs version is unable to support image
|
||||
display.
|
||||
|
||||
@item --with-texmf-dir=@var{drive:/dir}
|
||||
This will specify the directory where your @TeX{} installation sits. If
|
||||
your @TeX{} installation does not conform to the @acronym{TDS} (@TeX{} directory
|
||||
standard), you may need to specify more options to get everything in
|
||||
place.
|
||||
@end table
|
||||
|
||||
For more information about any of the above and additional options, see
|
||||
@ifset rawfile
|
||||
the `Configure' section in the @file{INSTALL} file.
|
||||
@end ifset
|
||||
@ifclear rawfile
|
||||
@ref{Configure}.
|
||||
@end ifclear
|
||||
|
||||
@c FIXME: It seems this no longer holds.
|
||||
@c Calling
|
||||
@c @file{./configure --help=recursive}
|
||||
@c will tell about other options, but those are almost never required.
|
||||
|
||||
Some executables might not be found in your path. That is not a good
|
||||
idea, but you can get around by specifying environment variables to
|
||||
@command{configure}:
|
||||
@example
|
||||
GS="@var{drive:/path/to/gswin32c.exe}" ./configure @dots{}
|
||||
@end example
|
||||
should work for this purpose. @file{gswin32c.exe} is the usual name for
|
||||
the required @emph{command line} executable under Windows; in contrast,
|
||||
@file{gswin32.exe} is likely to fail.
|
||||
|
||||
As an alternative to specifying variables for the @command{configure} call
|
||||
you can add directories containing the required executables to the
|
||||
@env{PATH} variable of your Windows system. This is especially a good
|
||||
idea if Emacs has trouble finding the respective programs later during
|
||||
normal operation.
|
||||
|
||||
@item
|
||||
Run @command{make} in the installation directory.
|
||||
|
||||
@item
|
||||
Run @code{make install} in the installation directory.
|
||||
|
||||
@item
|
||||
With Emacs, activation of @AUCTeX{} and @previewlatex{} depends on a
|
||||
working @file{site-start.d} directory or similar setup, since then the
|
||||
startup files @file{auctex.el} and @file{preview-latex.el} will have
|
||||
been placed there. If this has not been done, you should be able to
|
||||
load the startup files manually with
|
||||
@lisp
|
||||
(load "auctex.el" nil t t)
|
||||
(load "preview-latex.el" nil t t)
|
||||
@end lisp
|
||||
in either a site-wide @file{site-start.el} or your personal startup file
|
||||
(usually accessible as @file{~/.emacs} or @file{~/.emacs.d/init.el} from
|
||||
within Emacs).
|
||||
|
||||
@ifclear rawfile
|
||||
@cindex @file{tex-mik.el}
|
||||
@end ifclear
|
||||
The default configuration of @AUCTeX{} is probably not the best fit for
|
||||
Windows systems with MiK@TeX{}. You might want to add
|
||||
@lisp
|
||||
(require 'tex-mik)
|
||||
@end lisp
|
||||
after loading @file{auctex.el} and @file{preview-latex.el} in order to
|
||||
get more appropriate values for some customization options.
|
||||
|
||||
You can always use
|
||||
|
||||
@example
|
||||
@kbd{M-x customize-group @key{RET} AUCTeX @key{RET}}
|
||||
@end example
|
||||
|
||||
in order to customize more stuff, or use the @samp{Customize} menu.
|
||||
|
||||
@item
|
||||
Load @file{circ.tex} into Emacs and see if you get the @samp{Command}
|
||||
menu. Try using it to @LaTeX{} the file.
|
||||
|
||||
@item
|
||||
Check whether the @samp{Preview} menu is available in this file. Use it
|
||||
to generate previews for the document.
|
||||
|
||||
If this barfs and tells you that image type @samp{png} is not supported,
|
||||
you can either add @acronym{PNG} support to your Emacs installation or
|
||||
choose another image format to be used by @previewlatex{}.
|
||||
|
||||
Adding support for an image format usually involves the installation of
|
||||
a library, e.g.@: from @uref{http://gnuwin32.sf.net/}. If you got your
|
||||
Emacs from @uref{https://www.gnu.org/} you might want to check its
|
||||
@uref{https://ftp.gnu.org/gnu/emacs/windows/README,README file} for
|
||||
details.
|
||||
|
||||
A different image format can be chosen by setting the variable
|
||||
@code{preview-image-type}. While it is recommended to keep the
|
||||
@samp{dvipng} or @samp{png} setting, you can temporarily select a
|
||||
different format like @samp{pnm} to check if the lack of @acronym{PNG}
|
||||
support is the only problem with your Emacs installation.
|
||||
|
||||
Try adding the line
|
||||
|
||||
@lisp
|
||||
(setq preview-image-type 'pnm)
|
||||
@end lisp
|
||||
|
||||
to your init file for a quick test. You should remove the line after
|
||||
the test again, because @acronym{PNM} files take away @strong{vast}
|
||||
amounts of disk space, and thus also of load/save time.
|
||||
@end enumerate
|
||||
|
||||
Well, that about is all. Have fun!
|
|
@ -1,27 +0,0 @@
|
|||
% Copyright (C) Free Software Foundation, Inc.
|
||||
% License: GNU GPLv3 or later
|
||||
|
||||
\documentclass{article}
|
||||
\usepackage{crimson,listings,tikz,geometry}
|
||||
\geometry{paperwidth=7.5mm,paperheight=7.5mm}
|
||||
\definecolor{bg}{HTML}{8596B0}\pagecolor{bg}
|
||||
\definecolor{fg}{HTML}{F0F0EA}\color{fg}
|
||||
\lstset{basicstyle=\color{fg!65!bg}\ttfamily,
|
||||
commentstyle=\itshape,language={[LaTeX]TeX}}
|
||||
\begin{document}
|
||||
\begin{tikzpicture}[overlay]
|
||||
\coordinate (a) at (-7.26pt,1.89098pt) {};
|
||||
\node[inner sep=0pt] at (-0.265,0.07)
|
||||
{\resizebox{6.4mm}{!}
|
||||
{\lstinputlisting{\jobname}}};
|
||||
\node[inner sep=0pt,align=center] at (a)
|
||||
{A\kern-0.05emU\kern-0.03emC\\[-0.7ex]%
|
||||
T\kern-.15em\lower.46ex%
|
||||
\hbox{\color[HTML]{CAE674}E}\kern-.06emX};
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
||||
|
||||
%%% Local Variables:
|
||||
%%% mode: latex
|
||||
%%% TeX-master: t
|
||||
%%% End:
|
File diff suppressed because it is too large
Load diff
|
@ -1,207 +0,0 @@
|
|||
/* XPM */
|
||||
static char * amstex_xpm[] = {
|
||||
"24 24 180 2",
|
||||
" c None s backgroundToolBarColor",
|
||||
". c #3E9543",
|
||||
"+ c #409644",
|
||||
"@ c #3D9D45",
|
||||
"# c #3F9B42",
|
||||
"$ c #4C2A1F",
|
||||
"% c #4E3124",
|
||||
"& c #727E51",
|
||||
"* c #598A4E",
|
||||
"= c #5B6647",
|
||||
"- c #88624F",
|
||||
"; c #89383B",
|
||||
"> c #8B343B",
|
||||
", c #6D5852",
|
||||
"' c #506D48",
|
||||
") c #4C843E",
|
||||
"! c #648752",
|
||||
"~ c #B8A789",
|
||||
"{ c #80624D",
|
||||
"] c #7D6951",
|
||||
"^ c #FFFFC1",
|
||||
"/ c #94A676",
|
||||
"( c #8F8668",
|
||||
"_ c #977567",
|
||||
": c #A86660",
|
||||
"< c #986C6A",
|
||||
"[ c #758660",
|
||||
"} c #708C60",
|
||||
"| c #6A6C4E",
|
||||
"1 c #C3C599",
|
||||
"2 c #988167",
|
||||
"3 c #5A3125",
|
||||
"4 c #561E1C",
|
||||
"5 c #958066",
|
||||
"6 c #BEA384",
|
||||
"7 c #68372B",
|
||||
"8 c #672124",
|
||||
"9 c #5B392F",
|
||||
"0 c #94917B",
|
||||
"a c #AFAC91",
|
||||
"b c #B8B39C",
|
||||
"c c #BDBCA0",
|
||||
"d c #B39073",
|
||||
"e c #582522",
|
||||
"f c #712E2B",
|
||||
"g c #6F292C",
|
||||
"h c #83826F",
|
||||
"i c #908F88",
|
||||
"j c #F8FFFD",
|
||||
"k c #686C8D",
|
||||
"l c #D7DBB8",
|
||||
"m c #716D76",
|
||||
"n c #7B7B92",
|
||||
"o c #D5D5B3",
|
||||
"p c #DBBD9A",
|
||||
"q c #81463B",
|
||||
"r c #691A19",
|
||||
"s c #838270",
|
||||
"t c #888791",
|
||||
"u c #6462D0",
|
||||
"v c #2C2B87",
|
||||
"w c #DAD9C7",
|
||||
"x c #868394",
|
||||
"y c #716DDC",
|
||||
"z c #2F2C94",
|
||||
"A c #C7C6B7",
|
||||
"B c #D2AF8D",
|
||||
"C c #84473C",
|
||||
"D c #6D1E1F",
|
||||
"E c #6E262C",
|
||||
"F c #BDBDAB",
|
||||
"G c #878593",
|
||||
"H c #909095",
|
||||
"I c #C0BEAF",
|
||||
"J c #A09EAD",
|
||||
"K c #A6A5A9",
|
||||
"L c #C19978",
|
||||
"M c #7C3D33",
|
||||
"N c #641C1F",
|
||||
"O c #662633",
|
||||
"P c #DBDCB8",
|
||||
"Q c #B4B492",
|
||||
"R c #E5D9AA",
|
||||
"S c #9F755A",
|
||||
"T c #50231F",
|
||||
"U c #672424",
|
||||
"V c #8E3B4B",
|
||||
"W c #E4E3BC",
|
||||
"X c #A5A28D",
|
||||
"Y c #D2D1B5",
|
||||
"Z c #E7E5C1",
|
||||
"` c #E3DFC0",
|
||||
" . c #E4CCA2",
|
||||
".. c #894E3A",
|
||||
"+. c #461715",
|
||||
"@. c #632524",
|
||||
"#. c #95404E",
|
||||
"$. c #777776",
|
||||
"%. c #C0B396",
|
||||
"&. c #AAAB90",
|
||||
"*. c #463F31",
|
||||
"=. c #665E46",
|
||||
"-. c #7C7968",
|
||||
";. c #B3AF92",
|
||||
">. c #D4BD97",
|
||||
",. c #804B37",
|
||||
"'. c #461F19",
|
||||
"). c #42201F",
|
||||
"!. c #5A4F43",
|
||||
"~. c #504334",
|
||||
"{. c #979183",
|
||||
"]. c #DCD8B5",
|
||||
"^. c #D0BC9D",
|
||||
"/. c #C8A487",
|
||||
"(. c #82493F",
|
||||
"_. c #3F1310",
|
||||
":. c #401613",
|
||||
"<. c #664B46",
|
||||
"[. c #DCD9BC",
|
||||
"}. c #B8B59D",
|
||||
"|. c #8C8977",
|
||||
"1. c #E9E7C0",
|
||||
"2. c #A2897B",
|
||||
"3. c #AE8872",
|
||||
"4. c #CFB89A",
|
||||
"5. c #A6715F",
|
||||
"6. c #4B1D19",
|
||||
"7. c #68272E",
|
||||
"8. c #6E2933",
|
||||
"9. c #453E37",
|
||||
"0. c #767361",
|
||||
"a. c #7F8170",
|
||||
"b. c #7B7B6C",
|
||||
"c. c #8E897E",
|
||||
"d. c #827F6E",
|
||||
"e. c #83876F",
|
||||
"f. c #847E70",
|
||||
"g. c #9C7964",
|
||||
"h. c #662F2A",
|
||||
"i. c #5D2D2E",
|
||||
"j. c #783C3F",
|
||||
"k. c #87826E",
|
||||
"l. c #B3B99A",
|
||||
"m. c #D1D1AB",
|
||||
"n. c #DFDDB9",
|
||||
"o. c #C3B191",
|
||||
"p. c #826453",
|
||||
"q. c #6D2B2A",
|
||||
"r. c #884144",
|
||||
"s. c #772B2F",
|
||||
"t. c #702F34",
|
||||
"u. c #AEA28C",
|
||||
"v. c #C1C3A2",
|
||||
"w. c #AEA07E",
|
||||
"x. c #C8C09F",
|
||||
"y. c #C4C6A3",
|
||||
"z. c #B6886B",
|
||||
"A. c #774237",
|
||||
"B. c #7E3E3D",
|
||||
"C. c #854748",
|
||||
"D. c #78373B",
|
||||
"E. c #6A2932",
|
||||
"F. c #5F343C",
|
||||
"G. c #7C474A",
|
||||
"H. c #815655",
|
||||
"I. c #7F534F",
|
||||
"J. c #8A5C54",
|
||||
"K. c #74504B",
|
||||
"L. c #8C615F",
|
||||
"M. c #7E2C29",
|
||||
"N. c #8C4240",
|
||||
"O. c #7C322F",
|
||||
"P. c #703634",
|
||||
"Q. c #6D1B27",
|
||||
"R. c #975F59",
|
||||
"S. c #631D22",
|
||||
"T. c #65101D",
|
||||
"U. c #000000",
|
||||
"V. c #868686",
|
||||
"W. c #AFAEAE",
|
||||
" . + @ # $ ",
|
||||
" % & * = - ; > , ' ) ! ~ { ",
|
||||
" ] ^ / ( _ : < [ } | 1 2 3 4 ",
|
||||
" 5 ^ ^ ^ ^ ^ ^ ^ ^ ^ 6 7 8 ",
|
||||
" 9 ^ 0 a ^ b 0 c ^ ^ d e f g ",
|
||||
" h i j k l m j n o ^ p q r ",
|
||||
" s t u v w x y z A ^ B C D E ",
|
||||
" ] F G H ^ I J K ^ ^ L M N O ",
|
||||
" ] ^ P Q ^ ^ ^ ^ ^ ^ R S T U V ",
|
||||
" ] ^ W X Y Z ` ^ ^ ^ ^ ...+.@.#. ",
|
||||
" $.$.%.%.&.*.=.-.;.%.%.%.^ >.,.'.). ",
|
||||
" %.%.^ ^ !.~.{.].^ ^ ^ ^./.(._.:. ",
|
||||
" $.$.<.[.^ }.|.1.^ 2.3.4.^ 5.6.7.8. ",
|
||||
" 9.0.a.b.c.d.e.f.^ ^ g.h.i.j. ",
|
||||
" k.^ l.^ ^ m.n.^ o.p.q.r.s.t. ",
|
||||
" u.v.%.w.x.y.z.A.B.C.D.E.F. ",
|
||||
" G.H.I.J.K.L.M.N.O.P. ",
|
||||
" Q.R. S. T. ",
|
||||
" ",
|
||||
" U.U. V.U.U.W. ",
|
||||
" U. U. U.U.V.U.V. U. ",
|
||||
" U. U. U. U. U. V.U.U.V. ",
|
||||
" U.U.U.U. U. U. U. U. ",
|
||||
" U.V. U. U. U. U. U.U.U.V. "};
|
|
@ -1,82 +0,0 @@
|
|||
/* XPM */
|
||||
static char * bibtex14_xpm[] = {
|
||||
"24 24 55 1",
|
||||
" c None s backgroundToolBarColor",
|
||||
". c #353535",
|
||||
"+ c #877D55",
|
||||
"@ c #B9AD74",
|
||||
"# c #606060",
|
||||
"$ c #878585",
|
||||
"% c #A89C6A",
|
||||
"& c #726A49",
|
||||
"* c #070705",
|
||||
"= c #9A9A9A",
|
||||
"- c #59533A",
|
||||
"; c #938960",
|
||||
"> c #C9C7BF",
|
||||
", c #7C7C7C",
|
||||
"' c #3D3928",
|
||||
") c #AFA379",
|
||||
"! c #AFAEA8",
|
||||
"~ c #938A63",
|
||||
"{ c #3F3B2A",
|
||||
"] c #8E865E",
|
||||
"^ c #B6AA72",
|
||||
"/ c #424242",
|
||||
"( c #373737",
|
||||
"_ c #4E4C41",
|
||||
": c #565344",
|
||||
"< c #746D4E",
|
||||
"[ c #7E7652",
|
||||
"} c #8E845A",
|
||||
"| c #B0A46E",
|
||||
"1 c #775E5E",
|
||||
"2 c #F5F4F3",
|
||||
"3 c #D7D5D0",
|
||||
"4 c #BCB8AC",
|
||||
"5 c #A39F94",
|
||||
"6 c #817E71",
|
||||
"7 c #605D4F",
|
||||
"8 c #8A8058",
|
||||
"9 c #92885C",
|
||||
"0 c #826A6A",
|
||||
"a c #CACACA",
|
||||
"b c #FFFFFF",
|
||||
"c c #E6E6E5",
|
||||
"d c #D0D0D0",
|
||||
"e c #CCCCCC",
|
||||
"f c #C4C2B8",
|
||||
"g c #B5B2A5",
|
||||
"h c #918F84",
|
||||
"i c #59564C",
|
||||
"j c #F6F6F6",
|
||||
"k c #F3F2F0",
|
||||
"l c #AEAEAE",
|
||||
"m c #727272",
|
||||
"n c #909090",
|
||||
"o c #DCDCDC",
|
||||
"p c #A3A3A3",
|
||||
" ",
|
||||
" ",
|
||||
" .............. ",
|
||||
" .+@@@@@@@@@@@+# ",
|
||||
" $.@@@@@@@@@@@+. ",
|
||||
" .%&*@@@@@@@@@.= ",
|
||||
" .+@--@@*@-;@@+.> ",
|
||||
" $.@-*@@@@;*@@@.=>, ",
|
||||
" .%@*@*@*@'*@@+.>>..",
|
||||
" .+@*;--&&&*)*@.=>!, ",
|
||||
" $.@@@*-@*@*~~*@.>>,= ",
|
||||
" .%@@@@@@@@@{{@.=>!. ",
|
||||
" .+@@@@@@@@@@@@+.>>,= ",
|
||||
" $.]^@@@@@@@@@@@.=>!. ",
|
||||
" /(_:<[}|@@@@@@+.>>,= ",
|
||||
" /12234567:<[89.>>!. ",
|
||||
" /0abbb2cdefghi>>>,= ",
|
||||
" $#$ajbbbbbkcc>>!. ",
|
||||
" l=mnajbbbbbo>,= ",
|
||||
" l=mnajbbc>. ",
|
||||
" l=mnac,= ",
|
||||
" l=m. ",
|
||||
" p ",
|
||||
" "};
|
|
@ -1,30 +0,0 @@
|
|||
/* XPM */
|
||||
static char * dropdown_xpm[] = {
|
||||
"10 24 3 1",
|
||||
" c None s backgroundToolBarColor",
|
||||
". c #292C29",
|
||||
"+ c #B3B3B3",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" . . ",
|
||||
" ... ... ",
|
||||
" ...... ",
|
||||
" .... ",
|
||||
" .. ",
|
||||
" ++ ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
|
@ -1,65 +0,0 @@
|
|||
/* XPM */
|
||||
static char * dvipdf4_xpm[] = {
|
||||
"24 24 38 1",
|
||||
" c None s backgroundToolBarColor",
|
||||
". c #4C4C4C",
|
||||
"+ c #000000",
|
||||
"@ c #7C7C7C",
|
||||
"# c #577A4D",
|
||||
"$ c #4C6B43",
|
||||
"% c #37452B",
|
||||
"& c #76996C",
|
||||
"* c #9BB594",
|
||||
"= c #648C58",
|
||||
"- c #DAE3D6",
|
||||
"; c #445636",
|
||||
"> c #67865E",
|
||||
", c #A7BDA0",
|
||||
"' c #8EAB86",
|
||||
") c #526741",
|
||||
"! c #425D3A",
|
||||
"~ c #4C603C",
|
||||
"{ c #566B43",
|
||||
"] c #5A7046",
|
||||
"^ c #295E29",
|
||||
"/ c #5ABD5A",
|
||||
"( c #D37F71",
|
||||
"_ c #CE918A",
|
||||
": c #D4897A",
|
||||
"< c #67102D",
|
||||
"[ c #488148",
|
||||
"} c #C47474",
|
||||
"| c #D69788",
|
||||
"1 c #4CA14C",
|
||||
"2 c #4D904D",
|
||||
"3 c #CB8984",
|
||||
"4 c #D79C8D",
|
||||
"5 c #C8807D",
|
||||
"6 c #4FA64F",
|
||||
"7 c #5A5A5A",
|
||||
"8 c #B50000",
|
||||
"9 c #AA7979",
|
||||
" .+. ++++ ",
|
||||
" @+##$+@ +++%++ ",
|
||||
" +&**&=+ + +%+ ",
|
||||
" .#*-*&=$. +;+ ",
|
||||
" +>,*'==$+ +)+ ",
|
||||
" .#&&==#!. ++))~++ ",
|
||||
" +#==#$+ +{]{+ ",
|
||||
" @+!$!+@ +)+ ",
|
||||
" .+. + ",
|
||||
" ",
|
||||
" + ",
|
||||
"^^^/ ^ ^ ^ +(+ ",
|
||||
"^ ^ ^ ^ ^ +_:<+ ",
|
||||
"^ ^ [ [ ^ +}_|<<+ ",
|
||||
"^ ^ 1221 ^ +}3_4<<<+ ",
|
||||
"^ ^ [[ ^ +}53_4<<<<+",
|
||||
"^^^/ 66 ^ +}53_|<<<+ ",
|
||||
" 7+}5:<<+ ",
|
||||
" 7+(<+ ",
|
||||
"8889 8889 8889 ++ ",
|
||||
"8 8 8 8 8 ",
|
||||
"8889 8 8 889 ",
|
||||
"8 8 8 8 ",
|
||||
"8 8889 8 "};
|
|
@ -1,89 +0,0 @@
|
|||
/* XPM */
|
||||
static char * dvips66_xpm[] = {
|
||||
"24 24 62 1",
|
||||
" c None s backgroundToolBarColor",
|
||||
". c #4C4C4C",
|
||||
"+ c #000000",
|
||||
"@ c #7C7C7C",
|
||||
"# c #577A4D",
|
||||
"$ c #4C6B43",
|
||||
"% c #37452B",
|
||||
"& c #76996C",
|
||||
"* c #9BB594",
|
||||
"= c #648C58",
|
||||
"- c #DAE3D6",
|
||||
"; c #445636",
|
||||
"> c #67865E",
|
||||
", c #A7BDA0",
|
||||
"' c #8EAB86",
|
||||
") c #526741",
|
||||
"! c #425D3A",
|
||||
"~ c #4C603C",
|
||||
"{ c #566B43",
|
||||
"] c #5A7046",
|
||||
"^ c #869CB4",
|
||||
"/ c #00244C",
|
||||
"( c #002248",
|
||||
"_ c #0050A9",
|
||||
": c #006FEB",
|
||||
"< c #0066D9",
|
||||
"[ c #00336D",
|
||||
"} c #295E29",
|
||||
"| c #5ABD5A",
|
||||
"1 c #001070",
|
||||
"2 c #004BA2",
|
||||
"3 c #0078FF",
|
||||
"4 c #0075FC",
|
||||
"5 c #004DB6",
|
||||
"6 c #00072F",
|
||||
"7 c #0047FF",
|
||||
"8 c #006DFF",
|
||||
"9 c #0042CA",
|
||||
"0 c #00169E",
|
||||
"a c #000A45",
|
||||
"b c #488148",
|
||||
"c c #0024FF",
|
||||
"d c #0027FF",
|
||||
"e c #0056ED",
|
||||
"f c #001FA7",
|
||||
"g c #00179F",
|
||||
"h c #4CA14C",
|
||||
"i c #4D904D",
|
||||
"j c #001DCE",
|
||||
"k c #4FA64F",
|
||||
"l c #000B4C",
|
||||
"m c #0023F5",
|
||||
"n c #001492",
|
||||
"o c #000E65",
|
||||
"p c #00010B",
|
||||
"q c #001AB9",
|
||||
"r c #0022F0",
|
||||
"s c #001387",
|
||||
"t c #000942",
|
||||
"u c #0037C4",
|
||||
"v c #6C84B7",
|
||||
"w c #000C57",
|
||||
" .+. ++++ ",
|
||||
" @+##$+@ +++%++ ",
|
||||
" +&**&=+ + +%+ ",
|
||||
" .#*-*&=$. +;+ ",
|
||||
" +>,*'==$+ +)+ ",
|
||||
" .#&&==#!. ++))~++ ",
|
||||
" +#==#$+ +{]{+ ",
|
||||
" @+!$!+@ +)+ ",
|
||||
" .+. + ",
|
||||
" ",
|
||||
" ^/ ",
|
||||
" ^(_:<[ ",
|
||||
"}}}| } } } 12:333456",
|
||||
"} } } } } 17833390a",
|
||||
"} } b b } 1cd7efg0a",
|
||||
"} } hiih } 1cccj000a",
|
||||
"} } bb } 1cccj000a",
|
||||
"}}}| kk } lmccj0nop",
|
||||
" lqrjst ",
|
||||
" uuuv vuuv 1w ",
|
||||
" u u u ",
|
||||
" uuuv vuuv ",
|
||||
" u u ",
|
||||
" u vuuv "};
|
|
@ -1,35 +0,0 @@
|
|||
/* XPM */
|
||||
static char * error22_xpm[] = {
|
||||
"24 24 8 1",
|
||||
" c None s backgroundToolBarColor",
|
||||
". c #847000",
|
||||
"+ c #000000",
|
||||
"@ c #F0C900",
|
||||
"# c #AB9100",
|
||||
"$ c #887821",
|
||||
"% c #AA9629",
|
||||
"& c #51470D",
|
||||
" ",
|
||||
" ",
|
||||
" .++. ",
|
||||
" +@@@@+ ",
|
||||
" #.@@@@.# ",
|
||||
" +@@@@@@+ ",
|
||||
" #.@@@@@@.# ",
|
||||
" +@@@++@@@+ ",
|
||||
" #.@@@++@@@.# ",
|
||||
" +@@@@++@@@@+ ",
|
||||
" #.@@@@++@@@@.# ",
|
||||
" +@@@@@++@@@@@+ ",
|
||||
" #.@@@@@++@@@@@.# ",
|
||||
" +@@@@@@$$@@@@@@+ ",
|
||||
" #.@@@@@@%%@@@@@@.# ",
|
||||
" +@@@@@@@@@@@@@@@@+ ",
|
||||
" .#@@@@@@@++@@@@@@@#. ",
|
||||
" &@@@@@@@@++@@@@@@@@& ",
|
||||
" &@@@@@@@@@@@@@@@@@@& ",
|
||||
" +@@@@@@@@@@@@@@@@+ ",
|
||||
" .++++++++++++++. ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
|
@ -1,68 +0,0 @@
|
|||
/* XPM */
|
||||
static char * exec6_xpm[] = {
|
||||
"24 24 41 1",
|
||||
" c None s backgroundToolBarColor",
|
||||
". c #9F9D96",
|
||||
"+ c #3A3A3A",
|
||||
"@ c #B3B3B1",
|
||||
"# c #000000",
|
||||
"$ c #807D74",
|
||||
"% c #3C3C3C",
|
||||
"& c #76746B",
|
||||
"* c #5D5C55",
|
||||
"= c #6D6B63",
|
||||
"- c #65635C",
|
||||
"; c #8C8B89",
|
||||
"> c #E4E3E1",
|
||||
", c #E2E2E2",
|
||||
"' c #484641",
|
||||
") c #888781",
|
||||
"! c #B0AFAD",
|
||||
"~ c #A8A7A1",
|
||||
"{ c #908E86",
|
||||
"] c #97958E",
|
||||
"^ c #595854",
|
||||
"/ c #605E57",
|
||||
"( c #898883",
|
||||
"_ c #464542",
|
||||
": c #4A4947",
|
||||
"< c #43423E",
|
||||
"[ c #E2E2E1",
|
||||
"} c #B6B5AF",
|
||||
"| c #494847",
|
||||
"1 c #434242",
|
||||
"2 c #464644",
|
||||
"3 c #E6E6E4",
|
||||
"4 c #484846",
|
||||
"5 c #DFDEDC",
|
||||
"6 c #B0AFA9",
|
||||
"7 c #D5D4D1",
|
||||
"8 c #93918B",
|
||||
"9 c #D6D5D2",
|
||||
"0 c #ABA9A3",
|
||||
"a c #494943",
|
||||
"b c #464540",
|
||||
" ",
|
||||
" . ++ @ ",
|
||||
" #@#..#.# ",
|
||||
" .@...$$$%. ",
|
||||
" #..&$*=# ",
|
||||
" +..&##@--+ ",
|
||||
" +.$$#;@-%+ ",
|
||||
" #$*@@$%# ",
|
||||
" @.$=--%%%. ",
|
||||
" #%#-%#%# ",
|
||||
" . ++ . %%% ",
|
||||
" %% %>% %% ",
|
||||
" %,@%'.'%)%% ",
|
||||
" %!~...{]$'% ",
|
||||
" %..^/($&% ",
|
||||
" %%'./_:<.='%% ",
|
||||
" %[}.^|123$-/% ",
|
||||
" %%'.(<4;5-'%% ",
|
||||
" %6$}378-%% ",
|
||||
" %90.$$&&*'% ",
|
||||
" %%^%'&'%a%% ",
|
||||
" %% %b%*%% ",
|
||||
" %%% ",
|
||||
" "};
|
|
@ -1,127 +0,0 @@
|
|||
/* XPM */
|
||||
static char * execbibtex8_xpm[] = {
|
||||
"24 24 100 2",
|
||||
" c None s backgroundToolBarColor",
|
||||
". c #1F1D12",
|
||||
"+ c #222017",
|
||||
"@ c #211F15",
|
||||
"# c #211F14",
|
||||
"$ c #0C0B07",
|
||||
"% c #5E5737",
|
||||
"& c #B7AB72",
|
||||
"* c #BFB480",
|
||||
"= c #BAAF77",
|
||||
"- c #B9AD74",
|
||||
"; c #9A9061",
|
||||
"> c #545144",
|
||||
", c #AFA98C",
|
||||
"' c #776F4F",
|
||||
") c #C0B684",
|
||||
"! c #625C3D",
|
||||
"~ c #767675",
|
||||
"{ c #A79D6F",
|
||||
"] c #BEB37E",
|
||||
"^ c #93895C",
|
||||
"/ c #59574E",
|
||||
"( c #A3A3A2",
|
||||
"_ c #807A59",
|
||||
": c #BCB17E",
|
||||
"< c #B9AE75",
|
||||
"[ c #B8AC73",
|
||||
"} c #7E7650",
|
||||
"| c #5B5B5B",
|
||||
"1 c #ACACAA",
|
||||
"2 c #202120",
|
||||
"3 c #60593A",
|
||||
"4 c #BAAE76",
|
||||
"5 c #A39966",
|
||||
"6 c #363635",
|
||||
"7 c #B4B4B3",
|
||||
"8 c #82857F",
|
||||
"9 c #171816",
|
||||
"0 c #8A825C",
|
||||
"a c #B9AD75",
|
||||
"b c #6D6748",
|
||||
"c c #6A6A6A",
|
||||
"d c #A9AAA6",
|
||||
"e c #363735",
|
||||
"f c #95948C",
|
||||
"g c #A39C82",
|
||||
"h c #7A7356",
|
||||
"i c #BBB079",
|
||||
"j c #BBAF78",
|
||||
"k c #20201C",
|
||||
"l c #B3B3B2",
|
||||
"m c #767774",
|
||||
"n c #20211F",
|
||||
"o c #1A1112",
|
||||
"p c #5D413D",
|
||||
"q c #555540",
|
||||
"r c #7C7A58",
|
||||
"s c #4D4830",
|
||||
"t c #8B8A89",
|
||||
"u c #ADADAB",
|
||||
"v c #4F514E",
|
||||
"w c #1E1616",
|
||||
"x c #BA9797",
|
||||
"y c #DCD6D3",
|
||||
"z c #CDCDCA",
|
||||
"A c #575651",
|
||||
"B c #1B1A19",
|
||||
"C c #ABABA9",
|
||||
"D c #777775",
|
||||
"E c #080808",
|
||||
"F c #1B1212",
|
||||
"G c #846666",
|
||||
"H c #A5A09E",
|
||||
"I c #D4D2C6",
|
||||
"J c #E7E6DF",
|
||||
"K c #F1F0EC",
|
||||
"L c #A9AAA8",
|
||||
"M c #4F514D",
|
||||
"N c #585442",
|
||||
"O c #6D6D66",
|
||||
"P c #DEDBCA",
|
||||
"Q c #EAE9E4",
|
||||
"R c #BEC0B9",
|
||||
"S c #878A84",
|
||||
"T c #000000",
|
||||
"U c #47453A",
|
||||
"V c #50504D",
|
||||
"W c #999474",
|
||||
"X c #363731",
|
||||
"Y c #020201",
|
||||
"Z c #3A3A3A",
|
||||
"` c #65635C",
|
||||
" . c #9F9D96",
|
||||
".. c #807D74",
|
||||
"+. c #3C3C3C",
|
||||
"@. c #76746B",
|
||||
"#. c #5D5C55",
|
||||
"$. c #6D6B63",
|
||||
"%. c #B3B3B1",
|
||||
"&. c #8C8B89",
|
||||
" ",
|
||||
" . + @ # # # # $ ",
|
||||
" % & * = - - - ; > ",
|
||||
" , ' ) = - - - - ! ~ ",
|
||||
" % { ] - - - - ^ / ( ",
|
||||
" , _ : < - - - [ } | 1 2 ",
|
||||
" 3 ] 4 - - - - 5 6 7 8 9 ",
|
||||
" % 0 ] a - - - - b c d e f ",
|
||||
" g h i j - - - - - k l m n ",
|
||||
" o p q r ; 5 - - s t u v f ",
|
||||
" w x y z u ~ A q B C D E ",
|
||||
" F G H I J K K K z L M f ",
|
||||
" v M N O f P Q R S T ",
|
||||
" ( D U V W X f ",
|
||||
" ( v Y Z Z ",
|
||||
" T ` T . .T ` T ",
|
||||
" ` . . .......+. ",
|
||||
" T . .@...#.$.T ",
|
||||
" Z . .@.T T %.` ` Z ",
|
||||
" Z .....T &.%.` +.Z ",
|
||||
" T ..#.%.%...+.T ",
|
||||
" ` ..$.` ` +.+.+. ",
|
||||
" T +.T ` +.T +.T ",
|
||||
" Z Z "};
|
|
@ -1,52 +0,0 @@
|
|||
/* XPM */
|
||||
static char * execdvips36_xpm[] = {
|
||||
"24 24 25 1",
|
||||
" c None s backgroundToolBarColor",
|
||||
". c #295E29",
|
||||
"+ c #5ABD5A",
|
||||
"@ c #488148",
|
||||
"# c #818181",
|
||||
"$ c #4CA14C",
|
||||
"% c #4D904D",
|
||||
"& c #ADADAD",
|
||||
"* c #4FA64F",
|
||||
"= c #6E6E6E",
|
||||
"- c #545454",
|
||||
"; c #999999",
|
||||
"> c #3A3A3A",
|
||||
", c #000000",
|
||||
"' c #65635C",
|
||||
") c #9F9D96",
|
||||
"! c #0037C4",
|
||||
"~ c #6C84B7",
|
||||
"{ c #807D74",
|
||||
"] c #3C3C3C",
|
||||
"^ c #76746B",
|
||||
"/ c #5D5C55",
|
||||
"( c #6D6B63",
|
||||
"_ c #B3B3B1",
|
||||
": c #8C8B89",
|
||||
" ",
|
||||
" ...+ . . . ",
|
||||
" . . . . . ",
|
||||
" . . . . . ",
|
||||
" . . @ @ . ",
|
||||
" # . . $%%$ . ",
|
||||
" #& . . @@ . ",
|
||||
" #& ...+ ** . ",
|
||||
" = ",
|
||||
" - ",
|
||||
" # ",
|
||||
" - ; ",
|
||||
" ;- ",
|
||||
" ;-- ",
|
||||
" >> ",
|
||||
" ,',)),', ",
|
||||
" !!!~ ~!!~ '))){{{] ",
|
||||
" ! ! ! ! ,))^{/(, ",
|
||||
" ! ! ! >))^,,_''>",
|
||||
" !!!~ ~!!~ >){{,:_']>",
|
||||
" ! ! ,{/__{], ",
|
||||
" ! ! ! '{('']]] ",
|
||||
" ! ~!!~ ,],'],], ",
|
||||
" >> "};
|
|
@ -1,49 +0,0 @@
|
|||
/* XPM */
|
||||
static char * execerror12_xpm[] = {
|
||||
"24 24 22 1",
|
||||
" c None s backgroundToolBarColor",
|
||||
". c #B09400",
|
||||
"+ c #605000",
|
||||
"@ c #9C8400",
|
||||
"# c #FFD906",
|
||||
"$ c #FED90A",
|
||||
"% c #957F0D",
|
||||
"& c #DEBD0E",
|
||||
"* c #6F5D00",
|
||||
"= c #8F7900",
|
||||
"- c #655500",
|
||||
"; c #3A3A3A",
|
||||
"> c #000000",
|
||||
", c #65635C",
|
||||
"' c #9F9D96",
|
||||
") c #807D74",
|
||||
"! c #3C3C3C",
|
||||
"~ c #76746B",
|
||||
"{ c #5D5C55",
|
||||
"] c #6D6B63",
|
||||
"^ c #B3B3B1",
|
||||
"/ c #8C8B89",
|
||||
" ",
|
||||
" ",
|
||||
" .++. ",
|
||||
" @##@. ",
|
||||
" +$###+ ",
|
||||
" ..#++#.. ",
|
||||
" +$#++#$+ ",
|
||||
" ..##++##.. ",
|
||||
" +$##%%##$+ ",
|
||||
" ..###&&###.. ",
|
||||
" +####**###$+ ",
|
||||
" +##########+ ",
|
||||
" =--------= ",
|
||||
" ",
|
||||
" ;; ",
|
||||
" >,>''>,> ",
|
||||
" ,''')))! ",
|
||||
" >''~){]> ",
|
||||
" ;''~>>^,,;",
|
||||
" ;'))>/^,!;",
|
||||
" >){^^)!> ",
|
||||
" ,)],,!!! ",
|
||||
" >!>,!>!> ",
|
||||
" ;; "};
|
|
@ -1,205 +0,0 @@
|
|||
/* XPM */
|
||||
static char * execpdftex11_xpm[] = {
|
||||
"24 24 178 2",
|
||||
" c None s backgroundToolBarColor",
|
||||
". c #3E9543",
|
||||
"+ c #409644",
|
||||
"@ c #3D9D45",
|
||||
"# c #3F9B42",
|
||||
"$ c #4C2A1F",
|
||||
"% c #4E3124",
|
||||
"& c #727E51",
|
||||
"* c #598A4E",
|
||||
"= c #5B6647",
|
||||
"- c #88624F",
|
||||
"; c #89383B",
|
||||
"> c #8B343B",
|
||||
", c #6D5852",
|
||||
"' c #506D48",
|
||||
") c #4C843E",
|
||||
"! c #648752",
|
||||
"~ c #B8A789",
|
||||
"{ c #80624D",
|
||||
"] c #7D6951",
|
||||
"^ c #FFFFC1",
|
||||
"/ c #94A676",
|
||||
"( c #8F8668",
|
||||
"_ c #977567",
|
||||
": c #A86660",
|
||||
"< c #986C6A",
|
||||
"[ c #758660",
|
||||
"} c #708C60",
|
||||
"| c #6A6C4E",
|
||||
"1 c #C3C599",
|
||||
"2 c #988167",
|
||||
"3 c #5A3125",
|
||||
"4 c #958066",
|
||||
"5 c #BEA384",
|
||||
"6 c #68372B",
|
||||
"7 c #672124",
|
||||
"8 c #5B392F",
|
||||
"9 c #94917B",
|
||||
"0 c #AFAC91",
|
||||
"a c #B8B39C",
|
||||
"b c #BDBCA0",
|
||||
"c c #B39073",
|
||||
"d c #582522",
|
||||
"e c #712E2B",
|
||||
"f c #83826F",
|
||||
"g c #908F88",
|
||||
"h c #F8FFFD",
|
||||
"i c #686C8D",
|
||||
"j c #D7DBB8",
|
||||
"k c #716D76",
|
||||
"l c #7B7B92",
|
||||
"m c #D5D5B3",
|
||||
"n c #DBBD9A",
|
||||
"o c #81463B",
|
||||
"p c #691A19",
|
||||
"q c #838270",
|
||||
"r c #888791",
|
||||
"s c #6462D0",
|
||||
"t c #2C2B87",
|
||||
"u c #DAD9C7",
|
||||
"v c #868394",
|
||||
"w c #716DDC",
|
||||
"x c #2F2C94",
|
||||
"y c #C7C6B7",
|
||||
"z c #D2AF8D",
|
||||
"A c #84473C",
|
||||
"B c #6D1E1F",
|
||||
"C c #975F59",
|
||||
"D c #BDBDAB",
|
||||
"E c #878593",
|
||||
"F c #909095",
|
||||
"G c #C0BEAF",
|
||||
"H c #A09EAD",
|
||||
"I c #A6A5A9",
|
||||
"J c #C19978",
|
||||
"K c #7C3D33",
|
||||
"L c #641C1F",
|
||||
"M c #DBDCB8",
|
||||
"N c #B4B492",
|
||||
"O c #E5D9AA",
|
||||
"P c #9F755A",
|
||||
"Q c #50231F",
|
||||
"R c #672424",
|
||||
"S c #E4E3BC",
|
||||
"T c #A5A28D",
|
||||
"U c #D2D1B5",
|
||||
"V c #E7E5C1",
|
||||
"W c #E3DFC0",
|
||||
"X c #E4CCA2",
|
||||
"Y c #894E3A",
|
||||
"Z c #461715",
|
||||
"` c #632524",
|
||||
" . c #665E46",
|
||||
".. c #C0B396",
|
||||
"+. c #AAAB90",
|
||||
"@. c #463F31",
|
||||
"#. c #7C7968",
|
||||
"$. c #B3AF92",
|
||||
"%. c #D4BD97",
|
||||
"&. c #804B37",
|
||||
"*. c #461F19",
|
||||
"=. c #42201F",
|
||||
"-. c #5A4F43",
|
||||
";. c #504334",
|
||||
">. c #979183",
|
||||
",. c #DCD8B5",
|
||||
"'. c #D0BC9D",
|
||||
"). c #C8A487",
|
||||
"!. c #82493F",
|
||||
"~. c #3F1310",
|
||||
"{. c #401613",
|
||||
"]. c #664B46",
|
||||
"^. c #DCD9BC",
|
||||
"/. c #B8B59D",
|
||||
"(. c #8C8977",
|
||||
"_. c #E9E7C0",
|
||||
":. c #A2897B",
|
||||
"<. c #AE8872",
|
||||
"[. c #CFB89A",
|
||||
"}. c #A6715F",
|
||||
"|. c #4B1D19",
|
||||
"1. c #68272E",
|
||||
"2. c #767361",
|
||||
"3. c #7F8170",
|
||||
"4. c #7B7B6C",
|
||||
"5. c #8E897E",
|
||||
"6. c #827F6E",
|
||||
"7. c #83876F",
|
||||
"8. c #847E70",
|
||||
"9. c #9C7964",
|
||||
"0. c #662F2A",
|
||||
"a. c #5D2D2E",
|
||||
"b. c #783C3F",
|
||||
"c. c #87826E",
|
||||
"d. c #B3B99A",
|
||||
"e. c #D1D1AB",
|
||||
"f. c #DFDDB9",
|
||||
"g. c #C3B191",
|
||||
"h. c #826453",
|
||||
"i. c #6D2B2A",
|
||||
"j. c #884144",
|
||||
"k. c #772B2F",
|
||||
"l. c #3A3A3A",
|
||||
"m. c #AEA28C",
|
||||
"n. c #C1C3A2",
|
||||
"o. c #AEA07E",
|
||||
"p. c #C8C09F",
|
||||
"q. c #C4C6A3",
|
||||
"r. c #B6886B",
|
||||
"s. c #774237",
|
||||
"t. c #7E3E3D",
|
||||
"u. c #854748",
|
||||
"v. c #78373B",
|
||||
"w. c #000000",
|
||||
"x. c #65635C",
|
||||
"y. c #9F9D96",
|
||||
"z. c #7C474A",
|
||||
"A. c #815655",
|
||||
"B. c #7F534F",
|
||||
"C. c #8A5C54",
|
||||
"D. c #74504B",
|
||||
"E. c #8C615F",
|
||||
"F. c #7E2C29",
|
||||
"G. c #8C4240",
|
||||
"H. c #7C322F",
|
||||
"I. c #703634",
|
||||
"J. c #807D74",
|
||||
"K. c #3C3C3C",
|
||||
"L. c #6D1B27",
|
||||
"M. c #631D22",
|
||||
"N. c #65101D",
|
||||
"O. c #76746B",
|
||||
"P. c #5D5C55",
|
||||
"Q. c #6D6B63",
|
||||
"R. c #B3B3B1",
|
||||
"S. c #B50000",
|
||||
"T. c #AA7979",
|
||||
"U. c #8C8B89",
|
||||
" . + @ # $ ",
|
||||
" % & * = - ; > , ' ) ! ~ { ",
|
||||
" ] ^ / ( _ : < [ } | 1 2 3 ",
|
||||
" 4 ^ ^ ^ ^ ^ ^ ^ ^ ^ 5 6 7 ",
|
||||
" 8 ^ 9 0 ^ a 9 b ^ ^ c d e ",
|
||||
" f g h i j k h l m ^ n o p ",
|
||||
" q r s t u v w x y ^ z A B C ",
|
||||
" ] D E F ^ G H I ^ ^ J K L ",
|
||||
" ] ^ M N ^ ^ ^ ^ ^ ^ O P Q R C ",
|
||||
" ] ^ S T U V W ^ ^ ^ ^ X Y Z ` ",
|
||||
" .....+.@. .#.$.......^ %.&.*.=. ",
|
||||
"....^ ^ -.;.>.,.^ ^ ^ '.).!.~.{. ",
|
||||
" .].^.^ /.(._.^ :.<.[.^ }.|.1. ",
|
||||
" 2.2.3.4.5.6.7.8.^ ^ 9.0.a.b. ",
|
||||
" c.^ d.^ ^ e.f.^ g.h.i.j.k. l.l. ",
|
||||
" m.n...o.p.q.r.s.t.u.v. w.x.w.y.y.w.x.w. ",
|
||||
" z.A.B.C.D.E.F.G.H.I. x.y.y.y.J.J.J.K. ",
|
||||
" L.C M. N. w.y.y.O.J.P.Q.w. ",
|
||||
" l.y.y.O.w.w.R.x.x.l.",
|
||||
" S.S.T. S.S.T. S.S.T. l.y.J.J.w.U.R.x.K.l.",
|
||||
" S. S. S. S. S. w.J.P.R.R.J.K.w. ",
|
||||
" S.S.T. S. S. S.S. x.J.Q.x.x.K.K.K. ",
|
||||
" S. S. S. S. w.K.w.x.K.w.K.w. ",
|
||||
" S. S.S.T. S. l.l. "};
|
|
@ -1,203 +0,0 @@
|
|||
/* XPM */
|
||||
static char * exectex40_xpm[] = {
|
||||
"24 24 176 2",
|
||||
" c None s backgroundToolBarColor",
|
||||
". c #3E9543",
|
||||
"+ c #409644",
|
||||
"@ c #3D9D45",
|
||||
"# c #3F9B42",
|
||||
"$ c #4C2A1F",
|
||||
"% c #4E3124",
|
||||
"& c #727E51",
|
||||
"* c #598A4E",
|
||||
"= c #5B6647",
|
||||
"- c #88624F",
|
||||
"; c #89383B",
|
||||
"> c #8B343B",
|
||||
", c #6D5852",
|
||||
"' c #506D48",
|
||||
") c #4C843E",
|
||||
"! c #648752",
|
||||
"~ c #B8A789",
|
||||
"{ c #80624D",
|
||||
"] c #7D6951",
|
||||
"^ c #FFFFC1",
|
||||
"/ c #94A676",
|
||||
"( c #8F8668",
|
||||
"_ c #977567",
|
||||
": c #A86660",
|
||||
"< c #986C6A",
|
||||
"[ c #758660",
|
||||
"} c #708C60",
|
||||
"| c #6A6C4E",
|
||||
"1 c #C3C599",
|
||||
"2 c #988167",
|
||||
"3 c #5A3125",
|
||||
"4 c #958066",
|
||||
"5 c #BEA384",
|
||||
"6 c #68372B",
|
||||
"7 c #672124",
|
||||
"8 c #5B392F",
|
||||
"9 c #94917B",
|
||||
"0 c #AFAC91",
|
||||
"a c #B8B39C",
|
||||
"b c #BDBCA0",
|
||||
"c c #B39073",
|
||||
"d c #582522",
|
||||
"e c #712E2B",
|
||||
"f c #83826F",
|
||||
"g c #908F88",
|
||||
"h c #F8FFFD",
|
||||
"i c #686C8D",
|
||||
"j c #D7DBB8",
|
||||
"k c #716D76",
|
||||
"l c #7B7B92",
|
||||
"m c #D5D5B3",
|
||||
"n c #DBBD9A",
|
||||
"o c #81463B",
|
||||
"p c #691A19",
|
||||
"q c #838270",
|
||||
"r c #888791",
|
||||
"s c #6462D0",
|
||||
"t c #2C2B87",
|
||||
"u c #DAD9C7",
|
||||
"v c #868394",
|
||||
"w c #716DDC",
|
||||
"x c #2F2C94",
|
||||
"y c #C7C6B7",
|
||||
"z c #D2AF8D",
|
||||
"A c #84473C",
|
||||
"B c #6D1E1F",
|
||||
"C c #975F59",
|
||||
"D c #BDBDAB",
|
||||
"E c #878593",
|
||||
"F c #909095",
|
||||
"G c #C0BEAF",
|
||||
"H c #A09EAD",
|
||||
"I c #A6A5A9",
|
||||
"J c #C19978",
|
||||
"K c #7C3D33",
|
||||
"L c #641C1F",
|
||||
"M c #DBDCB8",
|
||||
"N c #B4B492",
|
||||
"O c #E5D9AA",
|
||||
"P c #9F755A",
|
||||
"Q c #50231F",
|
||||
"R c #672424",
|
||||
"S c #E4E3BC",
|
||||
"T c #A5A28D",
|
||||
"U c #D2D1B5",
|
||||
"V c #E7E5C1",
|
||||
"W c #E3DFC0",
|
||||
"X c #E4CCA2",
|
||||
"Y c #894E3A",
|
||||
"Z c #461715",
|
||||
"` c #632524",
|
||||
" . c #979183",
|
||||
".. c #665E46",
|
||||
"+. c #C0B396",
|
||||
"@. c #AAAB90",
|
||||
"#. c #463F31",
|
||||
"$. c #7C7968",
|
||||
"%. c #B3AF92",
|
||||
"&. c #D4BD97",
|
||||
"*. c #804B37",
|
||||
"=. c #461F19",
|
||||
"-. c #42201F",
|
||||
";. c #5A4F43",
|
||||
">. c #504334",
|
||||
",. c #DCD8B5",
|
||||
"'. c #D0BC9D",
|
||||
"). c #C8A487",
|
||||
"!. c #82493F",
|
||||
"~. c #3F1310",
|
||||
"{. c #401613",
|
||||
"]. c #664B46",
|
||||
"^. c #DCD9BC",
|
||||
"/. c #B8B59D",
|
||||
"(. c #8C8977",
|
||||
"_. c #E9E7C0",
|
||||
":. c #A2897B",
|
||||
"<. c #AE8872",
|
||||
"[. c #CFB89A",
|
||||
"}. c #A6715F",
|
||||
"|. c #4B1D19",
|
||||
"1. c #68272E",
|
||||
"2. c #767361",
|
||||
"3. c #7F8170",
|
||||
"4. c #7B7B6C",
|
||||
"5. c #8E897E",
|
||||
"6. c #827F6E",
|
||||
"7. c #83876F",
|
||||
"8. c #847E70",
|
||||
"9. c #9C7964",
|
||||
"0. c #662F2A",
|
||||
"a. c #5D2D2E",
|
||||
"b. c #783C3F",
|
||||
"c. c #87826E",
|
||||
"d. c #B3B99A",
|
||||
"e. c #D1D1AB",
|
||||
"f. c #DFDDB9",
|
||||
"g. c #C3B191",
|
||||
"h. c #826453",
|
||||
"i. c #6D2B2A",
|
||||
"j. c #884144",
|
||||
"k. c #772B2F",
|
||||
"l. c #3A3A3A",
|
||||
"m. c #AEA28C",
|
||||
"n. c #C1C3A2",
|
||||
"o. c #AEA07E",
|
||||
"p. c #C8C09F",
|
||||
"q. c #C4C6A3",
|
||||
"r. c #B6886B",
|
||||
"s. c #774237",
|
||||
"t. c #7E3E3D",
|
||||
"u. c #854748",
|
||||
"v. c #78373B",
|
||||
"w. c #000000",
|
||||
"x. c #65635C",
|
||||
"y. c #9F9D96",
|
||||
"z. c #7C474A",
|
||||
"A. c #815655",
|
||||
"B. c #7F534F",
|
||||
"C. c #8A5C54",
|
||||
"D. c #74504B",
|
||||
"E. c #8C615F",
|
||||
"F. c #7E2C29",
|
||||
"G. c #8C4240",
|
||||
"H. c #7C322F",
|
||||
"I. c #703634",
|
||||
"J. c #807D74",
|
||||
"K. c #3C3C3C",
|
||||
"L. c #6D1B27",
|
||||
"M. c #631D22",
|
||||
"N. c #65101D",
|
||||
"O. c #76746B",
|
||||
"P. c #5D5C55",
|
||||
"Q. c #6D6B63",
|
||||
"R. c #B3B3B1",
|
||||
"S. c #8C8B89",
|
||||
" . + @ # $ ",
|
||||
" % & * = - ; > , ' ) ! ~ { ",
|
||||
" ] ^ / ( _ : < [ } | 1 2 3 ",
|
||||
" 4 ^ ^ ^ ^ ^ ^ ^ ^ ^ 5 6 7 ",
|
||||
" 8 ^ 9 0 ^ a 9 b ^ ^ c d e ",
|
||||
" f g h i j k h l m ^ n o p ",
|
||||
" q r s t u v w x y ^ z A B C ",
|
||||
" ] D E F ^ G H I ^ ^ J K L ",
|
||||
" ] ^ M N ^ ^ ^ ^ ^ ^ O P Q R C ",
|
||||
" ] ^ S T U V W ^ ^ ^ ^ X Y Z ` ",
|
||||
" ...+.+.@.#...$.%.+.+.+.^ &.*.=.-. ",
|
||||
" +.+.^ ^ ;.>. .,.^ ^ ^ '.).!.~.{. ",
|
||||
" ...].^.^ /.(._.^ :.<.[.^ }.|.1. ",
|
||||
" 2.2.3.4.5.6.7.8.^ ^ 9.0.a.b. ",
|
||||
" c.^ d.^ ^ e.f.^ g.h.i.j.k. l.l. ",
|
||||
" m.n.+.o.p.q.r.s.t.u.v. w.x.w.y.y.w.x.w. ",
|
||||
" z.A.B.C.D.E.F.G.H.I. x.y.y.y.J.J.J.K. ",
|
||||
" L.C M. N. w.y.y.O.J.P.Q.w. ",
|
||||
" l.y.y.O.w.w.R.x.x.l.",
|
||||
" l.y.J.J.w.S.R.x.K.l.",
|
||||
" w.J.P.R.R.J.K.w. ",
|
||||
" x.J.Q.x.x.K.K.K. ",
|
||||
" w.K.w.x.K.w.K.w. ",
|
||||
" l.l. "};
|
|
@ -1,46 +0,0 @@
|
|||
/* XPM */
|
||||
static char * execviewdvi11_xpm[] = {
|
||||
"24 24 19 1",
|
||||
" c None s backgroundToolBarColor",
|
||||
". c #295E29",
|
||||
"+ c #5ABD5A",
|
||||
"@ c #488148",
|
||||
"# c #4CA14C",
|
||||
"$ c #4D904D",
|
||||
"% c #000000",
|
||||
"& c #4FA64F",
|
||||
"* c #FFFFFF",
|
||||
"= c #3A3A3A",
|
||||
"- c #65635C",
|
||||
"; c #9F9D96",
|
||||
"> c #807D74",
|
||||
", c #3C3C3C",
|
||||
"' c #76746B",
|
||||
") c #5D5C55",
|
||||
"! c #6D6B63",
|
||||
"~ c #B3B3B1",
|
||||
"{ c #8C8B89",
|
||||
" ...+ . . . ",
|
||||
" . . . . . ",
|
||||
" . . . . . ",
|
||||
" . . @ @ . ",
|
||||
" . . #$$# . ",
|
||||
" . . @@ . ",
|
||||
" %% ...+ && . ",
|
||||
" % % ",
|
||||
" % % ",
|
||||
" % % %% ",
|
||||
" %% % % ",
|
||||
"%* % % % ",
|
||||
"%** % %% % % ",
|
||||
"%** %%%* %% ",
|
||||
" % % %** % == ",
|
||||
" %% %** % %-%;;%-% ",
|
||||
" % % -;;;>>>, ",
|
||||
" %% %;;'>)!% ",
|
||||
" =;;'%%~--=",
|
||||
" =;>>%{~-,=",
|
||||
" %>)~~>,% ",
|
||||
" ->!--,,, ",
|
||||
" %,%-,%,% ",
|
||||
" == "};
|
|
@ -1,42 +0,0 @@
|
|||
/* XPM */
|
||||
static char * execviewpdf4_xpm[] = {
|
||||
"24 24 15 1",
|
||||
" c None s backgroundToolBarColor",
|
||||
". c #B50000",
|
||||
"+ c #AA7979",
|
||||
"@ c #000000",
|
||||
"# c #FFFFFF",
|
||||
"$ c #3A3A3A",
|
||||
"% c #65635C",
|
||||
"& c #9F9D96",
|
||||
"* c #807D74",
|
||||
"= c #3C3C3C",
|
||||
"- c #76746B",
|
||||
"; c #5D5C55",
|
||||
"> c #6D6B63",
|
||||
", c #B3B3B1",
|
||||
"' c #8C8B89",
|
||||
" ...+ ...+ ...+",
|
||||
" . . . . . ",
|
||||
" . . . . . ",
|
||||
" ...+ . . ..+ ",
|
||||
" . . . . ",
|
||||
" . . . . ",
|
||||
" @@ . ...+ . ",
|
||||
" @ @ ",
|
||||
" @ @ ",
|
||||
" @ @ @@ ",
|
||||
" @@ @ @ ",
|
||||
"@# @ @ @ ",
|
||||
"@## @ @@ @ @ ",
|
||||
"@## @@@# @@ ",
|
||||
" @ @ @## @ $$ ",
|
||||
" @@ @## @ @%@&&@%@ ",
|
||||
" @ @ %&&&***= ",
|
||||
" @@ @&&-*;>@ ",
|
||||
" $&&-@@,%%$",
|
||||
" $&**@',%=$",
|
||||
" @*;,,*=@ ",
|
||||
" %*>%%=== ",
|
||||
" @=@%=@=@ ",
|
||||
" $$ "};
|
|
@ -1,42 +0,0 @@
|
|||
/* XPM */
|
||||
static char * execviewps12_xpm[] = {
|
||||
"24 24 15 1",
|
||||
" c None s backgroundToolBarColor",
|
||||
". c #0037C4",
|
||||
"+ c #6C84B7",
|
||||
"@ c #000000",
|
||||
"# c #FFFFFF",
|
||||
"$ c #3A3A3A",
|
||||
"% c #65635C",
|
||||
"& c #9F9D96",
|
||||
"* c #807D74",
|
||||
"= c #3C3C3C",
|
||||
"- c #76746B",
|
||||
"; c #5D5C55",
|
||||
"> c #6D6B63",
|
||||
", c #B3B3B1",
|
||||
"' c #8C8B89",
|
||||
" ...+ +..+ ",
|
||||
" . . . . ",
|
||||
" . . . ",
|
||||
" ...+ +..+ ",
|
||||
" . . ",
|
||||
" . . . ",
|
||||
" @@ . +..+ ",
|
||||
" @ @ ",
|
||||
" @ @ ",
|
||||
" @ @ @@ ",
|
||||
" @@ @ @ ",
|
||||
"@# @ @ @ ",
|
||||
"@## @ @@ @ @ ",
|
||||
"@## @@@# @@ ",
|
||||
" @ @ @## @ $$ ",
|
||||
" @@ @## @ @%@&&@%@ ",
|
||||
" @ @ %&&&***= ",
|
||||
" @@ @&&-*;>@ ",
|
||||
" $&&-@@,%%$",
|
||||
" $&**@',%=$",
|
||||
" @*;,,*=@ ",
|
||||
" %*>%%=== ",
|
||||
" @=@%=@=@ ",
|
||||
" $$ "};
|
|
@ -1,158 +0,0 @@
|
|||
/* XPM */
|
||||
static char * gv7_xpm[] = {
|
||||
"24 24 131 2",
|
||||
" c None s backgroundToolBarColor",
|
||||
". c #9F9F9F",
|
||||
"+ c #2F2F2F",
|
||||
"@ c #373737",
|
||||
"# c #323232",
|
||||
"$ c #303030",
|
||||
"% c #525252",
|
||||
"& c #ECECEC",
|
||||
"* c #FFFFFF",
|
||||
"= c #F4F4F4",
|
||||
"- c #BE5858",
|
||||
"; c #FD6F6F",
|
||||
"> c #FF7070",
|
||||
", c #FF9898",
|
||||
"' c #FFE1E1",
|
||||
") c #FE7070",
|
||||
"! c #C96363",
|
||||
"~ c #FF6B6B",
|
||||
"{ c #DD6666",
|
||||
"] c #FDCFCF",
|
||||
"^ c #FFD1D1",
|
||||
"/ c #FF8888",
|
||||
"( c #FFCACA",
|
||||
"_ c #F37C7C",
|
||||
": c #F56767",
|
||||
"< c #DA6363",
|
||||
"[ c #ECE6E6",
|
||||
"} c #F2F2F2",
|
||||
"| c #B6B6B6",
|
||||
"1 c #D0CBCB",
|
||||
"2 c #FD8686",
|
||||
"3 c #FE7878",
|
||||
"4 c #FE8787",
|
||||
"5 c #DCD6D6",
|
||||
"6 c #E1E1E1",
|
||||
"7 c #F5EFEF",
|
||||
"8 c #895B5B",
|
||||
"9 c #848484",
|
||||
"0 c #000000",
|
||||
"a c #2B2B2B",
|
||||
"b c #DAACAC",
|
||||
"c c #F3C5C5",
|
||||
"d c #414141",
|
||||
"e c #4C4C4C",
|
||||
"f c #B18383",
|
||||
"g c #5B5B5B",
|
||||
"h c #F86969",
|
||||
"i c #A5A5A5",
|
||||
"j c #3E3E3E",
|
||||
"k c #E4B6B6",
|
||||
"l c #F6C8C8",
|
||||
"m c #5D5D5D",
|
||||
"n c #6C6C6C",
|
||||
"o c #F56666",
|
||||
"p c #1C1C1C",
|
||||
"q c #AFAFAF",
|
||||
"r c #F6F6F6",
|
||||
"s c #FA9494",
|
||||
"t c #F67F7F",
|
||||
"u c #FFF9F9",
|
||||
"v c #FCFCFC",
|
||||
"w c #EDEDED",
|
||||
"x c #F3EDED",
|
||||
"y c #FF7878",
|
||||
"z c #F6F0F0",
|
||||
"A c #F8F8F8",
|
||||
"B c #EB7474",
|
||||
"C c #DA7373",
|
||||
"D c #E2E2E2",
|
||||
"E c #A4A4A4",
|
||||
"F c #F0F0F0",
|
||||
"G c #D5D5D5",
|
||||
"H c #393939",
|
||||
"I c #161616",
|
||||
"J c #8C8C8C",
|
||||
"K c #F7F7F7",
|
||||
"L c #BEBEBE",
|
||||
"M c #191919",
|
||||
"N c #989898",
|
||||
"O c #BCBCBC",
|
||||
"P c #2A2A2A",
|
||||
"Q c #1B1B1B",
|
||||
"R c #313131",
|
||||
"S c #AAAAAA",
|
||||
"T c #C7C7C7",
|
||||
"U c #101010",
|
||||
"V c #D3D3D3",
|
||||
"W c #595959",
|
||||
"X c #E4E4E4",
|
||||
"Y c #969696",
|
||||
"Z c #FBFBFB",
|
||||
"` c #D1D1D1",
|
||||
" . c #717171",
|
||||
".. c #0A0A0A",
|
||||
"+. c #B7B7B7",
|
||||
"@. c #EEEEEE",
|
||||
"#. c #F9F9F9",
|
||||
"$. c #DBDBDB",
|
||||
"%. c #EBEBEB",
|
||||
"&. c #D2D2D2",
|
||||
"*. c #6E6E6E",
|
||||
"=. c #7D7D7D",
|
||||
"-. c #EAEAEA",
|
||||
";. c #A2A2A2",
|
||||
">. c #CCCCCC",
|
||||
",. c #E8E8E8",
|
||||
"'. c #4E4E4E",
|
||||
"). c #ABABAB",
|
||||
"!. c #F5F5F5",
|
||||
"~. c #6B6B6B",
|
||||
"{. c #171717",
|
||||
"]. c #434343",
|
||||
"^. c #CECECE",
|
||||
"/. c #4D4D4D",
|
||||
"(. c #ADADAD",
|
||||
"_. c #D0D0D0",
|
||||
":. c #9E9E9E",
|
||||
"<. c #808080",
|
||||
"[. c #FAFAFA",
|
||||
"}. c #858585",
|
||||
"|. c #A0A0A0",
|
||||
"1. c #BDBDBD",
|
||||
"2. c #838383",
|
||||
"3. c #181818",
|
||||
"4. c #8F8F8F",
|
||||
"5. c #959595",
|
||||
"6. c #D6D6D6",
|
||||
"7. c #DDDDDD",
|
||||
"8. c #C1C1C1",
|
||||
"9. c #7B7B7B",
|
||||
"0. c #8E8E8E",
|
||||
" ",
|
||||
" . + @ @ @ # . ",
|
||||
" $ % & * * * = % % ",
|
||||
" - ; > , ' * ' , > ) ! ",
|
||||
" ~ { ] ^ / > ( > / ^ ^ _ : ",
|
||||
" ~ < [ } | 1 2 3 4 5 | 6 7 { ~ ",
|
||||
" ~ 8 * 9 0 a b ~ c d 0 e * f ~ ",
|
||||
" $ g h 8 * i 0 j k ~ l m 0 n * f o 0 g ",
|
||||
" p q r s t u v w x 4 y / z w A u B C D D @ ",
|
||||
" p E F ' > / ^ ^ / > ( > / ^ ^ / ) ' * G H ",
|
||||
" I @ J K ' , > > , ' * ' , > > , ' * L E H ",
|
||||
" M N * * * * * * * * * * * * * O P Q ",
|
||||
" R S * * * * * * * * * * * T a ",
|
||||
" U S * * * * * * * * * * * V W ",
|
||||
" U S * * * * * * * * * * * X Y U ",
|
||||
" U S * * * * * * * * * * * Z ` ... ",
|
||||
" R +.* * Z @.#.* * * * * $.%.* &.*.Q ",
|
||||
" 0 =.%.* * -.;.>.v v * * ,.'.).!.v >.~.{. ",
|
||||
" ].q * * * ^./.(.A A * * _.p :.%.* %.:.p ",
|
||||
" @ <.@.* [.r }.R |.1.1.L L 2.3.:.%.%.%.4.Q ",
|
||||
" H 5.6.7.8.).0 0 j % % % % M 0 9.9.9. .% ",
|
||||
" 3. .0.0.m @ % % % % ",
|
||||
" @ @ @ @ ",
|
||||
" "};
|
|
@ -1,74 +0,0 @@
|
|||
/* XPM */
|
||||
static char * jumpdvi19_xpm[] = {
|
||||
"24 24 47 1",
|
||||
" c None s backgroundToolBarColor",
|
||||
". c #212121",
|
||||
"+ c #EAD4CB",
|
||||
"@ c #E3C5BA",
|
||||
"# c #DBB4A4",
|
||||
"$ c #EEDED7",
|
||||
"% c #FAF7F5",
|
||||
"& c #F2E5E1",
|
||||
"* c #D2AC99",
|
||||
"= c #000000",
|
||||
"- c #8D9E7C",
|
||||
"; c #CDD9C2",
|
||||
"> c #DEE6D7",
|
||||
", c #DAE2D1",
|
||||
"' c #9BAD89",
|
||||
") c #B79382",
|
||||
"! c #707D63",
|
||||
"~ c #B4C6A2",
|
||||
"{ c #ACC098",
|
||||
"] c #636E57",
|
||||
"^ c #AB8A7A",
|
||||
"/ c #E4E9DD",
|
||||
"( c #657158",
|
||||
"_ c #C49F8D",
|
||||
": c #C3D1B5",
|
||||
"< c #808F70",
|
||||
"[ c #4C5442",
|
||||
"} c #58634E",
|
||||
"| c #E6EBE0",
|
||||
"1 c #D4DDC9",
|
||||
"2 c #CAD7BE",
|
||||
"3 c #90A17F",
|
||||
"4 c #5F6A53",
|
||||
"5 c #535C49",
|
||||
"6 c #E9EDE4",
|
||||
"7 c #616D56",
|
||||
"8 c #A8BC95",
|
||||
"9 c #7C8B6E",
|
||||
"0 c #4C5443",
|
||||
"a c #B6C2AA",
|
||||
"b c #5E6953",
|
||||
"c c #295E29",
|
||||
"d c #5ABD5A",
|
||||
"e c #488148",
|
||||
"f c #4CA14C",
|
||||
"g c #4D904D",
|
||||
"h c #4FA64F",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ... ",
|
||||
" ..+@#.. ",
|
||||
" .$%&@*. ",
|
||||
" =======+#**. ",
|
||||
" =-;>,'=###). ",
|
||||
" =!~{]=##*^. ",
|
||||
" ==/;{(]=#*_. ",
|
||||
" ==/;:{<[}=)).. ",
|
||||
" =|12{{34=5=.. ",
|
||||
" =6{{{7= == ",
|
||||
" =>890= ",
|
||||
" =a]= ",
|
||||
" =b= ",
|
||||
" = cccd c c c ",
|
||||
" c c c c c ",
|
||||
" c c c c c ",
|
||||
" c c e e c ",
|
||||
" c c fggf c ",
|
||||
" c c ee c ",
|
||||
" cccd hh c ",
|
||||
" "};
|
|
@ -1,47 +0,0 @@
|
|||
/* XPM */
|
||||
static char * ltx_symb_turn_off_xpm[] = {
|
||||
"24 24 20 1",
|
||||
" c None s backgroundToolBarColor",
|
||||
". c #AEAEAE",
|
||||
"+ c #000000",
|
||||
"@ c #0A0A0A",
|
||||
"# c #1F1F1F",
|
||||
"$ c #C9C9C9",
|
||||
"% c #353535",
|
||||
"& c #999999",
|
||||
"* c #4D4D4D",
|
||||
"= c #777777",
|
||||
"- c #141414",
|
||||
"; c #878787",
|
||||
"> c #686868",
|
||||
", c #5A5A5A",
|
||||
"' c #FF5858",
|
||||
") c #FFB9B9",
|
||||
"! c #FF0000",
|
||||
"~ c #FF9595",
|
||||
"{ c #414141",
|
||||
"] c #292929",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
".+@########++@$ ",
|
||||
" %@& .*@= ",
|
||||
" $--$ ;% ",
|
||||
" .@% >$ ",
|
||||
" ,+= ",
|
||||
" %@. ",
|
||||
" $--$ ' ' ",
|
||||
" &+* )!' '!)",
|
||||
" *@$ ~!~ ",
|
||||
" $#; ~!~ ",
|
||||
" %, )!' '!)",
|
||||
" >% ' ' ",
|
||||
" ;#$ &$ ",
|
||||
" .-. ${ ",
|
||||
" ]; .], ",
|
||||
" *]>>>>>>>>]++. ",
|
||||
"${{{{{{{{{{{{* ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
|
@ -1,46 +0,0 @@
|
|||
/* XPM */
|
||||
static char * ltx_symb_turn_on_xpm[] = {
|
||||
"24 24 19 1",
|
||||
" c None s backgroundToolBarColor",
|
||||
". c #AEAEAE",
|
||||
"+ c #000000",
|
||||
"@ c #0A0A0A",
|
||||
"# c #1F1F1F",
|
||||
"$ c #C9C9C9",
|
||||
"% c #353535",
|
||||
"& c #999999",
|
||||
"* c #4D4D4D",
|
||||
"= c #777777",
|
||||
"- c #141414",
|
||||
"; c #878787",
|
||||
"> c #686868",
|
||||
", c #5A5A5A",
|
||||
"' c #79DECA",
|
||||
") c #00AA88",
|
||||
"! c #5DC8B3",
|
||||
"~ c #414141",
|
||||
"{ c #292929",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
".+@########++@$ ",
|
||||
" %@& .*@= ",
|
||||
" $--$ ;% ",
|
||||
" .@% >$ ",
|
||||
" ,+= '",
|
||||
" %@. ) ",
|
||||
" $--$ )) ",
|
||||
" &+* ')! )) ",
|
||||
" *@$ )))) ",
|
||||
" $#; !)) ",
|
||||
" %, ')' ",
|
||||
" >% ",
|
||||
" ;#$ &$ ",
|
||||
" .-. $~ ",
|
||||
" {; .{, ",
|
||||
" *{>>>>>>>>{++. ",
|
||||
"$~~~~~~~~~~~~* ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
|
@ -1,206 +0,0 @@
|
|||
/* XPM */
|
||||
static char * pdftex22_xpm[] = {
|
||||
"24 24 179 2",
|
||||
" c None s backgroundToolBarColor",
|
||||
". c #3E9543",
|
||||
"+ c #409644",
|
||||
"@ c #3D9D45",
|
||||
"# c #3F9B42",
|
||||
"$ c #4C2A1F",
|
||||
"% c #4E3124",
|
||||
"& c #727E51",
|
||||
"* c #598A4E",
|
||||
"= c #5B6647",
|
||||
"- c #88624F",
|
||||
"; c #89383B",
|
||||
"> c #8B343B",
|
||||
", c #6D5852",
|
||||
"' c #506D48",
|
||||
") c #4C843E",
|
||||
"! c #648752",
|
||||
"~ c #B8A789",
|
||||
"{ c #80624D",
|
||||
"] c #7D6951",
|
||||
"^ c #FFFFC1",
|
||||
"/ c #94A676",
|
||||
"( c #8F8668",
|
||||
"_ c #977567",
|
||||
": c #A86660",
|
||||
"< c #986C6A",
|
||||
"[ c #758660",
|
||||
"} c #708C60",
|
||||
"| c #6A6C4E",
|
||||
"1 c #C3C599",
|
||||
"2 c #988167",
|
||||
"3 c #5A3125",
|
||||
"4 c #561E1C",
|
||||
"5 c #958066",
|
||||
"6 c #BEA384",
|
||||
"7 c #68372B",
|
||||
"8 c #672124",
|
||||
"9 c #5B392F",
|
||||
"0 c #94917B",
|
||||
"a c #AFAC91",
|
||||
"b c #B8B39C",
|
||||
"c c #BDBCA0",
|
||||
"d c #B39073",
|
||||
"e c #582522",
|
||||
"f c #712E2B",
|
||||
"g c #6F292C",
|
||||
"h c #83826F",
|
||||
"i c #908F88",
|
||||
"j c #F8FFFD",
|
||||
"k c #686C8D",
|
||||
"l c #D7DBB8",
|
||||
"m c #716D76",
|
||||
"n c #7B7B92",
|
||||
"o c #D5D5B3",
|
||||
"p c #DBBD9A",
|
||||
"q c #81463B",
|
||||
"r c #691A19",
|
||||
"s c #838270",
|
||||
"t c #888791",
|
||||
"u c #6462D0",
|
||||
"v c #2C2B87",
|
||||
"w c #DAD9C7",
|
||||
"x c #868394",
|
||||
"y c #716DDC",
|
||||
"z c #2F2C94",
|
||||
"A c #C7C6B7",
|
||||
"B c #D2AF8D",
|
||||
"C c #84473C",
|
||||
"D c #6D1E1F",
|
||||
"E c #6E262C",
|
||||
"F c #BDBDAB",
|
||||
"G c #878593",
|
||||
"H c #909095",
|
||||
"I c #C0BEAF",
|
||||
"J c #A09EAD",
|
||||
"K c #A6A5A9",
|
||||
"L c #C19978",
|
||||
"M c #7C3D33",
|
||||
"N c #641C1F",
|
||||
"O c #662633",
|
||||
"P c #DBDCB8",
|
||||
"Q c #B4B492",
|
||||
"R c #E5D9AA",
|
||||
"S c #9F755A",
|
||||
"T c #50231F",
|
||||
"U c #672424",
|
||||
"V c #8E3B4B",
|
||||
"W c #E4E3BC",
|
||||
"X c #A5A28D",
|
||||
"Y c #D2D1B5",
|
||||
"Z c #E7E5C1",
|
||||
"` c #E3DFC0",
|
||||
" . c #E4CCA2",
|
||||
".. c #894E3A",
|
||||
"+. c #461715",
|
||||
"@. c #632524",
|
||||
"#. c #95404E",
|
||||
"$. c #777776",
|
||||
"%. c #C0B396",
|
||||
"&. c #AAAB90",
|
||||
"*. c #463F31",
|
||||
"=. c #665E46",
|
||||
"-. c #7C7968",
|
||||
";. c #B3AF92",
|
||||
">. c #D4BD97",
|
||||
",. c #804B37",
|
||||
"'. c #461F19",
|
||||
"). c #42201F",
|
||||
"!. c #5A4F43",
|
||||
"~. c #504334",
|
||||
"{. c #979183",
|
||||
"]. c #DCD8B5",
|
||||
"^. c #D0BC9D",
|
||||
"/. c #C8A487",
|
||||
"(. c #82493F",
|
||||
"_. c #3F1310",
|
||||
":. c #401613",
|
||||
"<. c #664B46",
|
||||
"[. c #DCD9BC",
|
||||
"}. c #B8B59D",
|
||||
"|. c #8C8977",
|
||||
"1. c #E9E7C0",
|
||||
"2. c #A2897B",
|
||||
"3. c #AE8872",
|
||||
"4. c #CFB89A",
|
||||
"5. c #A6715F",
|
||||
"6. c #4B1D19",
|
||||
"7. c #68272E",
|
||||
"8. c #6E2933",
|
||||
"9. c #453E37",
|
||||
"0. c #767361",
|
||||
"a. c #7F8170",
|
||||
"b. c #7B7B6C",
|
||||
"c. c #8E897E",
|
||||
"d. c #827F6E",
|
||||
"e. c #83876F",
|
||||
"f. c #847E70",
|
||||
"g. c #9C7964",
|
||||
"h. c #662F2A",
|
||||
"i. c #5D2D2E",
|
||||
"j. c #783C3F",
|
||||
"k. c #87826E",
|
||||
"l. c #B3B99A",
|
||||
"m. c #D1D1AB",
|
||||
"n. c #DFDDB9",
|
||||
"o. c #C3B191",
|
||||
"p. c #826453",
|
||||
"q. c #6D2B2A",
|
||||
"r. c #884144",
|
||||
"s. c #772B2F",
|
||||
"t. c #702F34",
|
||||
"u. c #AEA28C",
|
||||
"v. c #C1C3A2",
|
||||
"w. c #AEA07E",
|
||||
"x. c #C8C09F",
|
||||
"y. c #C4C6A3",
|
||||
"z. c #B6886B",
|
||||
"A. c #774237",
|
||||
"B. c #7E3E3D",
|
||||
"C. c #854748",
|
||||
"D. c #78373B",
|
||||
"E. c #6A2932",
|
||||
"F. c #5F343C",
|
||||
"G. c #7C474A",
|
||||
"H. c #815655",
|
||||
"I. c #7F534F",
|
||||
"J. c #8A5C54",
|
||||
"K. c #74504B",
|
||||
"L. c #8C615F",
|
||||
"M. c #7E2C29",
|
||||
"N. c #8C4240",
|
||||
"O. c #7C322F",
|
||||
"P. c #703634",
|
||||
"Q. c #6D1B27",
|
||||
"R. c #975F59",
|
||||
"S. c #631D22",
|
||||
"T. c #65101D",
|
||||
"U. c #B50000",
|
||||
"V. c #AA7979",
|
||||
" . + @ # $ ",
|
||||
" % & * = - ; > , ' ) ! ~ { ",
|
||||
" ] ^ / ( _ : < [ } | 1 2 3 4 ",
|
||||
" 5 ^ ^ ^ ^ ^ ^ ^ ^ ^ 6 7 8 ",
|
||||
" 9 ^ 0 a ^ b 0 c ^ ^ d e f g ",
|
||||
" h i j k l m j n o ^ p q r ",
|
||||
" s t u v w x y z A ^ B C D E ",
|
||||
" ] F G H ^ I J K ^ ^ L M N O ",
|
||||
" ] ^ P Q ^ ^ ^ ^ ^ ^ R S T U V ",
|
||||
" ] ^ W X Y Z ` ^ ^ ^ ^ ...+.@.#. ",
|
||||
" $.$.%.%.&.*.=.-.;.%.%.%.^ >.,.'.). ",
|
||||
" %.%.^ ^ !.~.{.].^ ^ ^ ^./.(._.:. ",
|
||||
" $.$.<.[.^ }.|.1.^ 2.3.4.^ 5.6.7.8. ",
|
||||
" 9.0.a.b.c.d.e.f.^ ^ g.h.i.j. ",
|
||||
" k.^ l.^ ^ m.n.^ o.p.q.r.s.t. ",
|
||||
" u.v.%.w.x.y.z.A.B.C.D.E.F. ",
|
||||
" G.H.I.J.K.L.M.N.O.P. ",
|
||||
" Q.R. S. T. ",
|
||||
" ",
|
||||
" U.U.U.V. U.U.U.V. U.U.U.V. ",
|
||||
" U. U. U. U. U. ",
|
||||
" U.U.U.V. U. U. U.U.V. ",
|
||||
" U. U. U. U. ",
|
||||
" U. U.U.U.V. U. "};
|
|
@ -1,31 +0,0 @@
|
|||
/* XPM */
|
||||
static char *noway16[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"16 16 9 1",
|
||||
" c red",
|
||||
". c #FD0D0D",
|
||||
"X c #FA1C1C",
|
||||
"o c #F52D2D",
|
||||
"O c #FB5B5B",
|
||||
"+ c #FC6060",
|
||||
"@ c #FFBBBB",
|
||||
"# c #FEFEFE",
|
||||
"$ c None",
|
||||
/* pixels */
|
||||
"$$$$$ XXXX $$$$$",
|
||||
"$$$X. .X$$$",
|
||||
"$$o o$$",
|
||||
"$X. .X$",
|
||||
"$. .$",
|
||||
" ",
|
||||
"O@@@@@@@@@@@@@@O",
|
||||
"+##############+",
|
||||
"+##############+",
|
||||
"O@@@@@@@@@@@@@@O",
|
||||
" ",
|
||||
"$. .$",
|
||||
"$X. .X$",
|
||||
"$$o o$$",
|
||||
"$$$X. .X$$$",
|
||||
"$$$$$ XXXX $$$$$"
|
||||
};
|
|
@ -1,35 +0,0 @@
|
|||
/* XPM */
|
||||
static char *noway20[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"20 20 9 1",
|
||||
" c red",
|
||||
". c #FF0404",
|
||||
"X c #FD0F0F",
|
||||
"o c #F91919",
|
||||
"O c #F82828",
|
||||
"+ c #F33636",
|
||||
"@ c #ED4A4A",
|
||||
"# c #FEFEFE",
|
||||
"$ c None",
|
||||
/* pixels */
|
||||
"$$$$$$@+OXXO+@$$$$$$",
|
||||
"$$$$OO. .OO$$$$",
|
||||
"$$$@. .@$$$",
|
||||
"$$@. .@$$",
|
||||
"$O. .O$",
|
||||
"$o o$",
|
||||
"@. .@",
|
||||
"+ +",
|
||||
"o##################o",
|
||||
"o##################o",
|
||||
"o##################o",
|
||||
"o##################o",
|
||||
"+ +",
|
||||
"@. .@",
|
||||
"$o o$",
|
||||
"$O. .O$",
|
||||
"$$@. .@$$",
|
||||
"$$$@. .@$$$",
|
||||
"$$$$OO. .OO$$$$",
|
||||
"$$$$$$@+OXXO+@$$$$$$"
|
||||
};
|
|
@ -1,9 +0,0 @@
|
|||
#define wutz_width 24
|
||||
#define wutz_height 24
|
||||
static unsigned char wutz_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xc0, 0xff, 0x03, 0xf0, 0xff, 0x0f,
|
||||
0xf8, 0xff, 0x1f, 0xf8, 0xff, 0x1f, 0xfc, 0xff, 0x3f, 0xfc, 0xff, 0x3f,
|
||||
0xfe, 0xff, 0x7f, 0x02, 0x00, 0x40, 0x01, 0x00, 0x80, 0x01, 0x00, 0x80,
|
||||
0x01, 0x00, 0x80, 0x01, 0x00, 0x80, 0x02, 0x00, 0x40, 0xfe, 0xff, 0x7f,
|
||||
0xfc, 0xff, 0x3f, 0xfc, 0xff, 0x3f, 0xf8, 0xff, 0x1f, 0xf8, 0xff, 0x1f,
|
||||
0xf0, 0xff, 0x0f, 0xc0, 0xff, 0x03, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00 };
|
|
@ -1,39 +0,0 @@
|
|||
/* XPM */
|
||||
static char *noway24[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"24 24 9 1",
|
||||
" c red",
|
||||
". c #FF0404",
|
||||
"X c #FD0C0C",
|
||||
"o c #F91919",
|
||||
"O c #F62929",
|
||||
"+ c #F34C4C",
|
||||
"@ c #FF9090",
|
||||
"# c #FEFEFE",
|
||||
"$ c None",
|
||||
/* pixels */
|
||||
"$$$$$$$$+OOXXOO+$$$$$$$$",
|
||||
"$$$$$$OX XO$$$$$$",
|
||||
"$$$$+X X+$$$$",
|
||||
"$$$+ +$$$",
|
||||
"$$+ +$$",
|
||||
"$$X X$$",
|
||||
"$O O$",
|
||||
"$X X$",
|
||||
"+ +",
|
||||
"O+@@@@@@@@@@@@@@@@@@@@+O",
|
||||
"o######################o",
|
||||
"X######################X",
|
||||
"X######################X",
|
||||
"o######################o",
|
||||
"O+@@@@@@@@@@@@@@@@@@@@+O",
|
||||
"+ +",
|
||||
"$X X$",
|
||||
"$O O$",
|
||||
"$$X X$$",
|
||||
"$$+ +$$",
|
||||
"$$$+ +$$$",
|
||||
"$$$$+X X+$$$$",
|
||||
"$$$$$$OX XO$$$$$$",
|
||||
"$$$$$$$$+OOXXOO+$$$$$$$$"
|
||||
};
|
|
@ -1,48 +0,0 @@
|
|||
/* XPM */
|
||||
static char * preview_cap_up_xpm[] = {
|
||||
"33 33 12 1",
|
||||
" c None",
|
||||
". c #BFBFBF s backgroundToolBarColor",
|
||||
"+ c #000000 s foregroundToolBarColor",
|
||||
"! c #000000",
|
||||
"@ c #FFFFFF",
|
||||
"# c #7C7C7C",
|
||||
"$ c #A0A0A0",
|
||||
"% c #E5E5E5",
|
||||
"& c #BABABA",
|
||||
"* c #1D1D1D",
|
||||
"= c #424242",
|
||||
"- c #676767",
|
||||
".................................",
|
||||
".....!!!!!!!!!!!!!!!!!!!!!!......",
|
||||
".....!@@@@@@@@@@@@@@@@@@@@!......",
|
||||
".....!@@@@@@@@@#$@@@@@@@@@!......",
|
||||
".....!@@@@@@@@%!&@@@@@@@@@!......",
|
||||
".....!@@@@@@@@#$@@@@@@@@@@!......",
|
||||
".....!@@@@@@@%*#%@%%@@@@&@!......",
|
||||
".....!#!!!!=$*#-!$#!&@@#*@!......",
|
||||
".....!@@&&@@#$@@%@@%=@%!$@!......",
|
||||
".....!@@&&@@&-=$@@@@$$-=@@!......",
|
||||
".....!@@&&@@$##&@@@@@=!&@@!......",
|
||||
".....!@@&#%@#$@@&&@@@*-@@@!......",
|
||||
".....!@@@*!@&!#-*@@@$!$@@@!......",
|
||||
".....!@@@%%@@%#$@@@@!#-@@@!......",
|
||||
".....!@%==@@@@@@@@@#*@-%@@!......",
|
||||
"......!=#=@@@@@@@@%!&@%=#@!......",
|
||||
"......%$$=@@@@@@@@$=@@@&=@!......",
|
||||
".....#.&$#=&@@@@@@@@@@@@@@!......",
|
||||
".....#...#-*$@@@@@@@@@@@@@!......",
|
||||
"......#..###===*%%@@@@@@@@!......",
|
||||
"......#...#...#.!!!!!!!!!!!......",
|
||||
".......#..#...#..#.#..#..#.......",
|
||||
".......#..#...#.##.#..#..#.......",
|
||||
"........#..##..#.#..###...#......",
|
||||
"........#.................#......",
|
||||
"..+++............................",
|
||||
"..+..+.+.+.+..+..+.+..+..+.+.+...",
|
||||
"..+..+.++.+.+.+..+...+.+.+.+.+...",
|
||||
"..+++..+..+++.+..+.+.+++.+.+.+...",
|
||||
"..+....+..+...+.+..+.+....+.+....",
|
||||
"..+....+...++..+...+..++..+.+....",
|
||||
".................................",
|
||||
"................................."};
|
|
@ -1,6 +0,0 @@
|
|||
/* Created with The GIMP */
|
||||
#define preview12_width 12
|
||||
#define preview12_height 12
|
||||
static unsigned char preview12_bits[] = {
|
||||
0xff, 0x0f, 0x41, 0x08, 0x21, 0x08, 0x6f, 0x0d, 0x35, 0x0a, 0x75, 0x0a,
|
||||
0x6b, 0x0b, 0x82, 0x0c, 0x7c, 0x08, 0xf0, 0x08, 0x00, 0x0f, 0x00, 0x00 };
|
|
@ -1,32 +0,0 @@
|
|||
/* XPM */
|
||||
static char * preview12_xpm[] = {
|
||||
"12 12 17 1",
|
||||
" c None",
|
||||
". c #020202",
|
||||
"+ c #1E1E1A",
|
||||
"@ c #626256",
|
||||
"# c #7D7D70",
|
||||
"$ c #8A8A7A",
|
||||
"% c #969686",
|
||||
"& c #A6A692",
|
||||
"* c #B2B29E",
|
||||
"= c #46463E",
|
||||
"- c #BEBEAA",
|
||||
"; c #1A1A16",
|
||||
"> c #CECEB2",
|
||||
", c #363632",
|
||||
"' c #6E6E62",
|
||||
") c #0E0E0E",
|
||||
"! c #52524A",
|
||||
"............",
|
||||
".>>>>$*>>>>.",
|
||||
".>>>>&>>>>>.",
|
||||
".'.,@+##&$%.",
|
||||
".>)>'#>>&!>.",
|
||||
".>=%#%%>@&>.",
|
||||
"..,@>*>-@&>=",
|
||||
" # #,>>#-%%.",
|
||||
" . @,%>>>>.",
|
||||
" . !;#>>>.",
|
||||
" . . ,;.",
|
||||
" . .. .."};
|
|
@ -1,7 +0,0 @@
|
|||
/* Created with The GIMP */
|
||||
#define preview16_width 16
|
||||
#define preview16_height 16
|
||||
static unsigned char preview16_bits[] = {
|
||||
0xff, 0xff, 0x01, 0x81, 0x81, 0x80, 0xbd, 0xad, 0x49, 0xa8, 0xc9, 0x91,
|
||||
0x49, 0x90, 0x9e, 0x99, 0x1c, 0xac, 0x7d, 0x84, 0xf1, 0x80, 0xf2, 0x87,
|
||||
0x22, 0xfa, 0x24, 0x52, 0x24, 0x5a, 0xc8, 0x94 };
|
|
@ -1,36 +0,0 @@
|
|||
/* XPM */
|
||||
static char * preview16_xpm[] = {
|
||||
"16 16 17 1",
|
||||
" c None",
|
||||
". c #020202",
|
||||
"+ c #1A1A16",
|
||||
"@ c #636357",
|
||||
"# c #6E6E62",
|
||||
"$ c #828276",
|
||||
"% c #8A8A7A",
|
||||
"& c #969686",
|
||||
"* c #A6A692",
|
||||
"= c #B2B29E",
|
||||
"- c #BABAA6",
|
||||
"; c #363632",
|
||||
"> c #BEBEAA",
|
||||
", c #52524A",
|
||||
"' c #CECEB2",
|
||||
") c #46463E",
|
||||
"! c #7A7A6E",
|
||||
"................",
|
||||
".''''''>@''''''.",
|
||||
".''''''%>''''''.",
|
||||
".'!..#*;,=#*'#=.",
|
||||
".''.''!*>''&=@'.",
|
||||
".''.''#@>''>)='.",
|
||||
".'',,'#!@>'&@''.",
|
||||
" .;@;''*>'')%''.",
|
||||
" -$$;'''''%!>@=.",
|
||||
". &$@;&'''*''>'.",
|
||||
". @,+$'''''''.",
|
||||
" . ...;;;+''''.",
|
||||
" . . . .....",
|
||||
" . . . . . ",
|
||||
" . . . .. . ",
|
||||
" . .. . . ."};
|
|
@ -1,40 +0,0 @@
|
|||
/* XPM */
|
||||
static char * preview20_xpm[] = {
|
||||
"20 20 17 1",
|
||||
" c None",
|
||||
". c #000200",
|
||||
"+ c #151614",
|
||||
"@ c #20211F",
|
||||
"# c #31312A",
|
||||
"$ c #3D3C35",
|
||||
"% c #474439",
|
||||
"& c #504F48",
|
||||
"* c #626054",
|
||||
"= c #727063",
|
||||
"- c #7E7E6F",
|
||||
"; c #888A7A",
|
||||
"> c #969987",
|
||||
", c #A9A992",
|
||||
"' c #B8B8A1",
|
||||
") c #C6C5AA",
|
||||
"! c #CFCDB1",
|
||||
" .@@@@@@@@@@@@@@@@. ",
|
||||
" %!!!!!!!''!!!!!!!% ",
|
||||
" %!!!!!!)&>!!!!!!!% ",
|
||||
" %!!!!!!>*'!!!!!!!% ",
|
||||
" %!!!!!)&*')')!!''% ",
|
||||
" @&@+#*&*=#;&*)'%-% ",
|
||||
" %!,>!,=;,)!)=,-$'% ",
|
||||
" %!,>!'=&-!!!'*#;!% ",
|
||||
" %!,-),=>','!!$&)!% ",
|
||||
" %!)$$'&&=%)!,+;!!% ",
|
||||
" %!','!);;!!)%**!!% ",
|
||||
" $;*$!!!!!!!;%'->)% ",
|
||||
" *=$!!!!!!)*-!'*;% ",
|
||||
" @>;*='!!!!),)!!''% ",
|
||||
" . *&&,!!!!!!!!!!% ",
|
||||
" ..+##@>,,,,,,,$ ",
|
||||
" . . . ......... ",
|
||||
" . . . ... . . ",
|
||||
" . . . . ... . ",
|
||||
" . . "};
|
|
@ -1,10 +0,0 @@
|
|||
/* Created with The GIMP */
|
||||
#define preview_width 24
|
||||
#define preview_height 24
|
||||
static unsigned char preview_bits[] = {
|
||||
0xfe, 0xff, 0x7f, 0x02, 0x00, 0x40, 0x02, 0x18, 0x40, 0x02, 0x0c, 0x40,
|
||||
0x02, 0x04, 0x40, 0x02, 0x00, 0x50, 0xfe, 0xde, 0x59, 0x32, 0x03, 0x49,
|
||||
0x32, 0x0f, 0x4f, 0x32, 0x07, 0x46, 0x32, 0x23, 0x46, 0x62, 0x1e, 0x47,
|
||||
0x02, 0x0c, 0x47, 0x02, 0x80, 0x4d, 0x32, 0x80, 0x48, 0x2c, 0xc0, 0x58,
|
||||
0x42, 0x00, 0x40, 0xc2, 0x01, 0x40, 0xe4, 0x0e, 0x40, 0x44, 0xf4, 0x7f,
|
||||
0x48, 0xa4, 0x24, 0x48, 0xb4, 0x24, 0x90, 0x29, 0x47, 0x10, 0x00, 0x40 };
|
|
@ -1,37 +0,0 @@
|
|||
/* XPM */
|
||||
static char * preview_xpm[] = {
|
||||
"24 24 10 1",
|
||||
" c None",
|
||||
". c #000000",
|
||||
"+ c #CECEB2",
|
||||
"@ c #656559",
|
||||
"# c #818174",
|
||||
"$ c #B9B9A4",
|
||||
"% c #969686",
|
||||
"& c #181815",
|
||||
"* c #363630",
|
||||
"= c #53534B",
|
||||
" ...................... ",
|
||||
" .++++++++++++++++++++. ",
|
||||
" .+++++++++@#+++++++++. ",
|
||||
" .++++++++$.%+++++++++. ",
|
||||
" .++++++++@#++++++++++. ",
|
||||
" .+++++++$&@$+$$++++%+. ",
|
||||
" .@....*#&@=.#@.%++@&+. ",
|
||||
" .++%%++@#++$++$*+$.#+. ",
|
||||
" .++%%++%=*#++++##=*++. ",
|
||||
" .++%%++#@@%+++++*.%++. ",
|
||||
" .++%@$+@#++%%+++&=+++. ",
|
||||
" .+++&.+%.@=&+++#.#+++. ",
|
||||
" .+++$$++$@#++++.@=+++. ",
|
||||
" .+$**+++++++++@&+=$++. ",
|
||||
" .*@*++++++++$.%+$*@+. ",
|
||||
" $##*++++++++#*+++%*+. ",
|
||||
" . %#@*%++++++++++++++. ",
|
||||
" . @=&#+++++++++++++. ",
|
||||
" . ...***&$$++++++++. ",
|
||||
" . . . ........... ",
|
||||
" . . . . . . . ",
|
||||
" . . . .. . . . ",
|
||||
" . .. . . ... . ",
|
||||
" . . "};
|
|
@ -1,32 +0,0 @@
|
|||
/* XPM */
|
||||
static char * nwork12_xpm[] = {
|
||||
"12 12 17 1",
|
||||
" c None",
|
||||
". c #0F110E",
|
||||
"+ c #161815",
|
||||
"@ c #1F211E",
|
||||
"# c #383937",
|
||||
"$ c #6A6C69",
|
||||
"% c #818380",
|
||||
"& c #E46767",
|
||||
"* c #FF6467",
|
||||
"= c #959794",
|
||||
"- c #DC9897",
|
||||
"; c #ADAFAC",
|
||||
"> c #FF9797",
|
||||
", c #C6C8C5",
|
||||
"' c #FFCBCA",
|
||||
") c #E4E6E3",
|
||||
"! c #FBFDFA",
|
||||
" >> ",
|
||||
" '**' ",
|
||||
" >>>> ",
|
||||
" '*''*' ",
|
||||
" >>!)>> ",
|
||||
" '*,==,*' ",
|
||||
" >>$@=!>> ",
|
||||
" '*';#;!'*' ",
|
||||
" >>!$$=!,-> ",
|
||||
"'*'=)%!%.@&'",
|
||||
">>!=!=;..+$>",
|
||||
" ********** "};
|
|
@ -1,34 +0,0 @@
|
|||
/* XPM */
|
||||
static char * nwork14_xpm[] = {
|
||||
"14 14 17 1",
|
||||
" c None",
|
||||
". c #000100",
|
||||
"+ c #161816",
|
||||
"@ c #222421",
|
||||
"# c #2A2C29",
|
||||
"$ c #363836",
|
||||
"% c #525451",
|
||||
"& c #686A67",
|
||||
"* c #828481",
|
||||
"= c #FF6467",
|
||||
"- c #949693",
|
||||
"; c #A4A6A3",
|
||||
"> c #FF9797",
|
||||
", c #B8BAB7",
|
||||
"' c #D8D6D4",
|
||||
") c #FFCBCA",
|
||||
"! c #FAFDF9",
|
||||
" >> ",
|
||||
" )==) ",
|
||||
" >>>> ",
|
||||
" )=))=) ",
|
||||
" >>!!>> ",
|
||||
" )=)!!)=) ",
|
||||
" >>''@!>> ",
|
||||
" )=&%#!!)=) ",
|
||||
" >>-@$!!!>> ",
|
||||
" )=);%&!!!)=) ",
|
||||
" >>!&&;,!&,>> ",
|
||||
")=)*',,'@.+'=)",
|
||||
">>!-!';$+++%>>",
|
||||
" ============ "};
|
|
@ -1,36 +0,0 @@
|
|||
/* XPM */
|
||||
static char * nwork16_xpm[] = {
|
||||
"16 16 17 1",
|
||||
" c None",
|
||||
". c #040703",
|
||||
"+ c #0E100D",
|
||||
"@ c #262825",
|
||||
"# c #434542",
|
||||
"$ c #4C4E4B",
|
||||
"% c #5B5D5A",
|
||||
"& c #70726F",
|
||||
"* c #868885",
|
||||
"= c #D86467",
|
||||
"- c #FF6467",
|
||||
"; c #A69F9F",
|
||||
"> c #FF9797",
|
||||
", c #B6B8B5",
|
||||
"' c #C7C9C6",
|
||||
") c #D5D7D4",
|
||||
"! c #FAFCF9",
|
||||
" >> ",
|
||||
" -- ",
|
||||
" >--> ",
|
||||
" ->>- ",
|
||||
" >-!!-> ",
|
||||
" ->!!>- ",
|
||||
" >-!!&*-> ",
|
||||
" -;#@;)>- ",
|
||||
" >-#&.;!!-> ",
|
||||
" ->!+@,!!>- ",
|
||||
" >-!&@%;!!!-> ",
|
||||
" ->)#,%,,&.;- ",
|
||||
" >-!%'!#!$..+=> ",
|
||||
" ->!&!!&&..++#- ",
|
||||
">->>>>>>>>>>>>->",
|
||||
" >>>>>>>>>>>>>> "};
|
Some files were not shown because too many files have changed in this diff Show more
Reference in a new issue