otfried / ipe

The Ipe extensible drawing editor
http://ipe.otfried.org
149 stars 12 forks source link

Using unicode math characters #197

Closed v217 closed 5 years ago

v217 commented 5 years ago

I use Ubuntu 18.10 and Ipe 7.2.7 This are my tex settings: 0 This is the error I get: 1 Thanks!

otfried commented 5 years ago

Actually the error message always says "pdflatex run", even with another engine.

Is xelatex actually on your path? Can you run it from the command line?

v217 commented 5 years ago

Yes Here is the output: v@v:~$ xetex This is XeTeX, Version 3.14159265-2.6-0.99999 (TeX Live 2019/dev/Debian) (preloaded format=xetex) restricted \write18 enabled. **

v217 commented 5 years ago

I installed xetex with apt-get:

v@v:~$ whereis xetex
xetex: /usr/bin/xetex /usr/share/man/man1/xetex.1.gz
otfried commented 5 years ago

Can you try if it works running xelatex on Ipe's temporary file?

$ cd ~/.ipe/latexrun
$ xelatex ipetemp.tex
v217 commented 5 years ago
v@v:~$ cd ~/.ipe/latexrun
v@v:~/.ipe/latexrun$ xelatex ipetemp.tex
This is XeTeX, Version 3.14159265-2.6-0.99999 (TeX Live 2019/dev/Debian) (preloaded format=xelatex)
 restricted \write18 enabled.
entering extended mode
(./ipetemp.tex
LaTeX2e <2018-04-01> patch level 5    

(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo))
(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/xetex.def))
(/usr/share/texlive/texmf-dist/tex/latex/unicode-math/unicode-math.sty
(/usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3.sty
(/usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3-code.tex)
(/usr/share/texlive/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def))
(/usr/share/texlive/texmf-dist/tex/latex/unicode-math/unicode-math-xetex.sty
(/usr/share/texlive/texmf-dist/tex/latex/l3packages/xparse/xparse.sty)
(/usr/share/texlive/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty)
(/usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec.sty
(/usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
(/usr/share/texlive/texmf-dist/tex/latex/base/tuenc.def))
(/usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec.cfg)))
(/usr/share/texlive/texmf-dist/tex/latex/filehook/filehook.sty)
(/usr/share/texlive/texmf-dist/tex/latex/base/fix-cm.sty
(/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def))
(/usr/share/texlive/texmf-dist/tex/latex/unicode-math/unicode-math-table.tex)))
(./ipetemp.aux)
Overfull \hbox (170.0pt too wide) in paragraph at lines 66--69
[][]
[1] (./ipetemp.aux) )
(see the transcript file for additional information)
Output written on ipetemp.pdf (1 page).
Transcript written on ipetemp.log.
v217 commented 5 years ago

By the way before trying to use ipe with xetex, I searched for options to use ipe without tex, but it seems this is not possible (apart from entering the title). For labeling I use mostly the ubuntu-package ibus-table-latex ibus-table input method: LaTeX. This is great for simple labeling, works great in ipe and most applications (Up to now, the only applications, for which ibus doesn't seem to work is sublimetext.), and you can easily modify the table.

v217 commented 5 years ago

starting ipe and changing in the doc properties the tex engine to xetex I get this message:

v@v:~$ ipe    

kpathsea: Running mktexfmt latex.fmt
mktexfmt: mktexfmt is using the following fmtutil.cnf files (in precedence order):
mktexfmt:   /usr/share/texmf/web2c/fmtutil.cnf
mktexfmt:   /usr/share/texlive/texmf-dist/web2c/fmtutil.cnf
mktexfmt: mktexfmt is using the following fmtutil.cnf file for writing changes:
mktexfmt:   /home/v/.texlive2018/texmf-config/web2c/fmtutil.cnf
mktexfmt [INFO]: writing formats under /home/v/.texlive2018/texmf-var/web2c
mktexfmt [INFO]: --- remaking latex with pdftex
mktexfmt: running `pdftex -ini   -jobname=latex -progname=latex -translate-file=cp227.tcx *latex.ini' ...
This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (INITEX)
 restricted \write18 enabled.
 (/usr/share/texlive/texmf-dist/web2c/cp227.tcx)
entering extended mode
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/latex.ini
(/var/lib/texmf/tex/generic/config/pdftexconfig.tex)
(/usr/share/texlive/texmf-dist/tex/latex/base/latex.ltx
(/usr/share/texlive/texmf-dist/tex/latex/base/texsys.cfg)
./texsys.aux found    

\@currdir set to: ./.    

Assuming \openin and \input 
have the same search path.    

Defining UNIX/DOS style filename parser.    

catcodes, registers, parameters,
LaTeX2e <2018-04-01> patch level 5
hacks, control, par, spacing, files, font encodings, lengths,
====================================    

Local config file fonttext.cfg used    

====================================
(/usr/share/texlive/texmf-dist/tex/latex/base/fonttext.cfg
(/usr/share/texlive/texmf-dist/tex/latex/base/fonttext.ltx
=== Don't modify this file, use a .cfg file instead ===    

(/usr/share/texlive/texmf-dist/tex/latex/base/omlenc.def)
(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def)
(/usr/share/texlive/texmf-dist/tex/latex/base/ot1enc.def)
(/usr/share/texlive/texmf-dist/tex/latex/base/omsenc.def)
(/usr/share/texlive/texmf-dist/tex/latex/base/t1cmr.fd)
(/usr/share/texlive/texmf-dist/tex/latex/base/ot1cmr.fd)
(/usr/share/texlive/texmf-dist/tex/latex/base/ot1cmss.fd)
(/usr/share/texlive/texmf-dist/tex/latex/base/ot1cmtt.fd)))
====================================    

Local config file fontmath.cfg used    

====================================
(/usr/share/texlive/texmf-dist/tex/latex/base/fontmath.cfg
(/usr/share/texlive/texmf-dist/tex/latex/base/fontmath.ltx
=== Don't modify this file, use a .cfg file instead ===    

(/usr/share/texlive/texmf-dist/tex/latex/base/omlcmm.fd)
(/usr/share/texlive/texmf-dist/tex/latex/base/omscmsy.fd)
(/usr/share/texlive/texmf-dist/tex/latex/base/omxcmex.fd)
(/usr/share/texlive/texmf-dist/tex/latex/base/ucmr.fd)))
====================================    

Local config file preload.cfg used    

=====================================
(/usr/share/texlive/texmf-dist/tex/latex/base/preload.cfg
(/usr/share/texlive/texmf-dist/tex/latex/base/preload.ltx)) page nos., x-ref,
environments, center, verbatim, math definitions, boxes, title, sectioning,
contents, floats, footnotes, index, bibliography, output,
===========================================
Local configuration file hyphen.cfg used
===========================================
(/usr/share/texlive/texmf-dist/tex/generic/babel/hyphen.cfg
(/usr/share/texlive/texmf-dist/tex/generic/babel/switch.def)
(/usr/share/texlive/texmf-dist/tex/generic/hyphen/hyphen.tex)
(/usr/share/texlive/texmf-dist/tex/generic/hyphen/dumyhyph.tex)
(/usr/share/texlive/texmf-dist/tex/generic/hyphen/zerohyph.tex)
(/usr/share/texlive/texmf-dist/tex/generic/hyphen/ibyhyph.tex
Greek hyphenation patterns for Ibycus encoding, v3.0)
(/usr/share/texlive/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-de-1996.
tex EC German hyphenation patterns (reformed orthography)
(/usr/share/texlive/texmf-dist/tex/generic/hyphen/dehyphn.tex
New German Hyphenation Patterns `dehyphn' Rev.31 <2001-05-07> (WaS)))
(/usr/share/texlive/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-el-polyt
on.tex Hyphenation patterns for multi-accent (polytonic) Modern Greek
(/usr/share/texlive/texmf-dist/tex/generic/hyphen/grphyph5.tex
Hyphenation patterns for multi-accent (polytonic) Modern Greek))
(/usr/share/texlive/texmf-dist/tex/generic/dehyph-exptl/dehypht-x-2018-03-31.te
x dehyph-exptl: using an 8-bit TeX engine.
(/usr/share/texlive/texmf-dist/tex/generic/dehyph-exptl/dehypht-x-2018-03-31.pa
t
German Hyphenation Patterns (Traditional Orthography) `dehypht-x' 2018-03-31 (W
L)))
(/usr/share/texlive/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-el-monot
on.tex Hyphenation patterns for uni-accent (monotonic) Modern Greek
(/usr/share/texlive/texmf-dist/tex/generic/hyphen/grmhyph5.tex
Hyphenation patterns for uni-accent (monotonic) Modern Greek))
(/usr/share/texlive/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-de-ch-19
01.tex EC Swiss-German hyphenation patterns (traditional orthography)
(/usr/share/texlive/texmf-dist/tex/generic/hyph-utf8/conversions/conv-utf8-ec.t
ex)
(/usr/share/texlive/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-de-ch-19
01.tex
Swiss-German Hyphenation Patterns (Traditional Orthography) `dehyphts-x' 2018-0
3-31 (WL)))
(/usr/share/texlive/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-grc.tex
Hyphenation patterns for Ancient Greek
(/usr/share/texlive/texmf-dist/tex/generic/hyphen/grahyph5.tex
Hyphenation patterns for Ancient Greek))
(/usr/share/texlive/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-de-1901.
tex EC German hyphenation patterns (traditional orthography)
(/usr/share/texlive/texmf-dist/tex/generic/hyphen/dehypht.tex
German Traditional Hyphenation Patterns `dehypht' Version 3.2a <1999/03/03>
(Formerly known under the name `ghyph31' and `ghyphen'.)))
(/usr/share/texlive/texmf-dist/tex/generic/dehyph-exptl/dehyphn-x-2018-03-31.te
x dehyph-exptl: using an 8-bit TeX engine.
(/usr/share/texlive/texmf-dist/tex/generic/dehyph-exptl/dehyphn-x-2018-03-31.pa
t
German Hyphenation Patterns (Reformed Orthography, 2006) `dehyphn-x' 2018-03-31
 (WL)))) (/usr/share/texlive/texmf-dist/tex/latex/base/utf8.def
(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.dfu)
(/usr/share/texlive/texmf-dist/tex/latex/base/ot1enc.dfu)
(/usr/share/texlive/texmf-dist/tex/latex/base/omsenc.dfu))
 ) )
Beginning to dump on file latex.fmt
 (preloaded format=latex 2018.10.30)
5538 strings of total length 76115
51051 memory locations dumped; current usage is 144&50877
3765 multiletter control sequences
\font\nullfont=nullfont
\font\OMX/cmex/m/n/10=cmex10
\font\tenln=line10
\font\tenlnw=linew10
\font\tencirc=lcircle10
\font\tencircw=lcirclew10
\font\OT1/cmr/m/n/5=cmr5
\font\OT1/cmr/m/n/7=cmr7
\font\OT1/cmr/m/n/10=cmr10
\font\OML/cmm/m/it/5=cmmi5
\font\OML/cmm/m/it/7=cmmi7
\font\OML/cmm/m/it/10=cmmi10
\font\OMS/cmsy/m/n/5=cmsy5
\font\OMS/cmsy/m/n/7=cmsy7
\font\OMS/cmsy/m/n/10=cmsy10
3633 words of font info for 14 preloaded fonts
59 hyphenation exceptions
Hyphenation trie of length 112022 has 2573 ops out of 35111
  551 for language 11
  207 for language 10
  97 for language 9
  533 for language 8
  18 for language 7
  551 for language 6
  50 for language 5
  235 for language 4
  148 for language 3
  2 for language 1
  181 for language 0
0 words of pdfTeX memory
0 indirect objects
No pages of output.
Transcript written on latex.log.
mktexfmt [INFO]: /home/v/.texlive2018/texmf-var/web2c/pdftex/latex.fmt installed.
mktexfmt [INFO]: Disabled formats: 3
mktexfmt [INFO]: Successfully rebuilt formats: 1
mktexfmt [INFO]: Not selected formats: 14
mktexfmt [INFO]: Total formats: 18
mktexfmt [INFO]: exiting with status 0
otfried commented 5 years ago

Perhaps something changed in xetex for texlive 2019. I'll have to install it and look at it at some point.

Why do you not want to use pdflatex if all you want is some labels?

v217 commented 5 years ago

Thanks! Since I use utf8 symbols in my tex-docs also for most math with the help of \usepackage{unicode-math} I noticed that I had far less typos. And you are faster, because in most cases in your edit workflow, looking at the pdf preview, is not necessary.

v217 commented 5 years ago

Do you think that it is possible to implement this feature as an ipelet? Or is there already an ipelet, which lets you insert text without calling a tex-engine for e.g. svg export?

otfried commented 5 years ago

If you want to use Ipe without Latex, you will not be able to save to PDF (you can save in Ipe's own xml format only), but otherwise everything should work fine.

You just need to disable the automatic running of Latex by setting

prefs.auto_run_latex = true

(see http://ipe.otfried.org/manual/manual_39.html).

v217 commented 5 years ago

Thank you!

otfried commented 5 years ago

I have now tried this:

  1. I installed the five STIX2 fonts by downloading the OpenType fonts (from here: https://github.com/stipub/stixfonts/tree/master/OTF) and installing them on my Mac.

  2. I made an Ipe document with this preamble:

    \usepackage{unicode-math}
    \setmathfont{STIX Two Math}
    \setmainfont{STIX Two Text}

    I also set the Latex engine to be xetex.

  3. I can now use Unicode characters in math mode.

otfried commented 5 years ago

Here is a working example: unicode-math.pdf

v217 commented 5 years ago

I use Ubuntu 18.10 with the default Texlive version (2018.20180824-1). I can confirm that eps and png export works great. Pdf export will probably work as soon as I switch to Texlive 2019. Thanks!

I have to admit that I no longer use latex. Since pandoc allows to render markdown with www.princexml.com (or https://weasyprint.org) I only use gladtex for inserting formulas. Configuration is easier, and pdf-generation is as fast as opening a webpage.