emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: LaTeX export for Org Mode Documents written in Indic Languages


From: Vikas Rawal
Subject: Re: LaTeX export for Org Mode Documents written in Indic Languages
Date: Sat, 7 Jan 2023 15:39:39 +0530


I have an Org file with some of my
transcriptions (because of Emacs's awesome language support) but I am
unable to org-export these files to pdf. I suppose I must install some
latex packages, but I have not been able to find any documentation for
the same. I dont really know latex, I mainly just use it for Org pdf
export.


I had once written a blog post (from 2012) describing steps for writing and exporting devanagari which is still available at: https://web.archive.org/web/20131201063324/http://agrarianresearch.org/blog/?p=563
Since this is old, you may have to see how much of it still works.

Key excerpt from a recent org file which combined english and devanagari:

#+LATEX_HEADER: \usepackage{fontspec,xltxtra}
#+LATEX_HEADER: \usepackage{polyglossia}
#+LATEX_HEADER: \usepackage[Latin,Devanagari]{ucharclasses}
#+LATEX_HEADER: \setmainfont[Ligatures=TeX,Scale=1.0454]{Minion Pro}
#+LATEX_HEADER: \newfontfamily{\defaultfont}[Ligatures=TeX,Scale=1.0454]{Minion Pro}
#+LATEX_HEADER: \newfontfamily{\devanagarifont}[Scale=0.9]{Lohit Devanagari}
#+LATEX_HEADER: \setdefaultlanguage{english}
#+LATEX_HEADER: \setotherlanguage{devanagari}
#+LATEX_HEADER: \setDefaultTransitions{\defaultfont}{}
#+LATEX_HEADER: \setTransitionTo{devanagari}{\devanagarifont}
#+LATEX_HEADER: \setTransitionFrom{devanagari}{\defaultfont}
#+LATEX_HEADER: \setTransitionsForLatin{\defaultfont}{}
#+LATEX_HEADER: \setTransitionTo{Devanagari}{\devanagarifont}
#+LATEX_HEADER: \setTransitionsForDevanagari{\devanagarifont}{}

Note that I used Minion Pro for English and Lohit Devanagari for Hindi. You may have to check what fonts are installed on your system, and modify these accordingly.

And I have this in my emacs config, which allows me to use arabic numbers with devanagari script (since I don't want to use devanagari numbers even when I am writing devanagari):

;; Function to mix Devanagari with Arabic numbers

(require 'ind-util)

;; based on:
;; https://github.com/emacs-mirror/emacs/blob/30c09955f64815201ae9b86215fed8ea2af0ba66/lisp/language/ind-util.el#L464
(defun indian-make-hash-without-digits (table trans-table)
  "Indian Transliteration Hash for decode/encode"
  (let* ((encode-hash (make-hash-table :test 'equal))
     (decode-hash (make-hash-table :test 'equal))
     (hashtbls (cons encode-hash decode-hash))
     (vowels     (elt table 0))
     (consonants (elt table 1))
     (misc       (elt table 2))
     (digits     (elt table 3))
     (halant     (char-to-string (elt misc  4)))
     (trans-vowels     (elt trans-table 0))
     (trans-consonants (elt trans-table 1))
     (trans-misc       (elt trans-table 2))
     (trans-digits  '("0" "1" "2" "3" "4" "5" "6" "7" "8" "9")))
    (indian--puthash-v vowels trans-vowels hashtbls)
    (indian--puthash-c consonants trans-consonants halant hashtbls)
    (indian--puthash-cv consonants trans-consonants
                  vowels trans-vowels hashtbls)
    (indian--puthash-m misc trans-misc hashtbls)
;;    (indian--puthash-m digits trans-digits hashtbls)
    hashtbls))


;; based on:
;; https://github.com/emacs-mirror/emacs/blob/30c09955f64815201ae9b86215fed8ea2af0ba66/lisp/language/ind-util.el#L486
(setq indian-dev-itrans-v5-hash-without-digits
  (indian-make-hash-without-digits indian-dev-base-table
            indian-itrans-v5-table))

;; needed for the quail-define-indian-trans-package function:
;;(add-to-list 'load-path "~/emacs/lisp/leim/")
(load "leim/quail/indian.elc")
;; (load "quail/indian.el.gz")


;; based on:
;; https://github.com/emacs-mirror/emacs/blob/30c09955f64815201ae9b86215fed8ea2af0ba66/lisp/leim/quail/indian.el#L56
(quail-define-indian-trans-package
 indian-dev-itrans-v5-hash-without-digits "devanagari-itrans-without-digits" "Devanagari" "DevIT"
 "Devanagari transliteration by ITRANS method, with Arabic numerals.")


reply via email to

[Prev in Thread] Current Thread [Next in Thread]