<div dir="ltr">Dear Michal,<div><br></div><div>Thank you very much for this solution! It sounds like exactly what I need.</div><div><br></div><div>I am eager to try it, but unfortunately when I tried to install helpers4ht (on Mac OS 10.11.5) by following your instructions (<a href="https://github.com/michal-h21/helpers4ht">https://github.com/michal-h21/helpers4ht</a>), the command `<span style="font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:13.6px;line-height:inherit;color:rgb(51,51,51);background-color:transparent">git clone git@github.com:michal-h21/helpers4ht.git</span>` returned an error (without asking me for a password):</div><div><br></div><div>     Cloning into 'helpers4ht'...</div>








<p class=""><span class="">     Permission denied (publickey).</span></p>
<p class=""><span class="">     fatal: Could not read from remote repository.</span></p><div>Do you happen to know what I'm doing wrong? (Sorry for such a basic question.)</div><div><br></div><div>Best,  </div><div>Alex</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jul 23, 2016 at 11:56 PM, Michal Hoftich <span dir="ltr"><<a href="mailto:michal.h21@gmail.com" target="_blank">michal.h21@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear Alex,<br>
<span class=""><br>
><br>
> I would like to produce an ODT document from my XeLaTeX document (using MacTeX<br>
> 2016).<br>
><br>
> The necessary code to include Unicode characters (including in Greek and Arabic<br>
> script) was kindly provided by CV Radhakrishnan and Michal Hoftich back in<br>
> February 2013. But I am running into a new difficulty: converting a document<br>
> that defines LaTeX macros that have Unicode characters in them. (The reason I<br>
> want this is to enable me to use macros within a Right-to-Left script, Arabic.<br>
> Mixing up RTL and LTR scripts in a text editor, especially when punctuation --<br>
> or braces {} -- is involved, tends to make the source file unreadable.)<br>
><br>
> I am attaching a MWE in two files:<br>
><br>
> 1. `main.tex`: standalone file that includes macro definition<br>
> 2. `<a href="http://utf2ent.pl" rel="noreferrer" target="_blank">utf2ent.pl</a>`: the Perl script devised by CVR to keep Unicode in the new<br>
> document<br>
><br>
> The script I run to compile this is:<br>
><br>
>      # CVR's script to preserve Unicode characters<br>
>      perl <a href="http://utf2ent.pl" rel="noreferrer" target="_blank">utf2ent.pl</a> main.tex > main-ent.tex<br>
>      <br>
>      # tex4ht<br>
>      mk4ht oolatex main-ent "xhtml, charset=utf-8"  -utf8<br>
><br>
<br>
</span>There are two problems:<br>
<br>
1. Macros with Unicode names are supported only by Unicode engines, ie.<br>
XeTeX and LuaTeX. mk4ht oolatex is 8-bit pdflatex, so it can't really<br>
support it.<br>
<br>
2. utf2ent converts all Unicode characters to entities, including your<br>
command, so you end with something like '\\entity{1589}' in your code.<br>
<br>
3. $\langle$ and $\rangle$ produces wrong mathml code, see<br>
<br>
<a href="https://puszcza.gnu.org.ua/bugs/?278" rel="noreferrer" target="_blank">https://puszcza.gnu.org.ua/bugs/?278</a><br>
<br>
ODT format uses mathml, so it may produce invalid file.<br>
<br>
Now what can be done:<br>
<br>
You need to use Unicode engine. That means LuaTeX at the moment, as<br>
XeTeX support is broken in tex4ht at the moment. Fortunately, you can<br>
use XeTeX to produce the PDF and only modify some macros for tex4ht.<br>
<br>
With LuaTeX, it is possible to keep Unicode characters without need to<br>
call external scripts to convert them to Unicode entities. See<br>
<br>
<a href="http://michal-h21.github.io/samples/helpers4ht/fontspec.html" rel="noreferrer" target="_blank">http://michal-h21.github.io/samples/helpers4ht/fontspec.html</a><br>
<br>
for more details. I've modified your file to use alternative4ht and to<br>
fix the problem with angles. Two new macros are introduced:     extlangle<br>
and     extrangle, which are redefined in the config file to use XML<br>
entities directly, instead of math mode.<br>
<br>
I've also found a problem that the angles are wrongly swapped in the ODT<br>
and HTML, probably it is because they use the BIDI algorithm, so they<br>
don't expect that they are swapped by the user already (you use<br>
\rangle#1\langle). I've redefined the commands for angles in the config<br>
file to use the opposite side than should be used according to the name,<br>
so they are rendered correctly.<br>
<br>
The last problem is that mk4ht doesn't support LuaTeX, so you need to<br>
use different way to compile the document. You can use:<br>
<br>
make4ht -ulm draft -c hello.cfg main.tex "xhtml,ooffice" "ooffice/!<br>
-cmozhtf -utf8" " -cooxtpipes -coo"<br>
<br>
(it might be best to save it as a script, as it is not really human<br>
friendly command call :)<br>
<br>
Modified main.tex and hello.cfg are attached. main.tex can be compiled<br>
with xelatex to PDF, all needed changes for tex4ht are in the hello.cfg<br>
file.<br>
<br>
Best regards,<br>
Michal<br>
</blockquote></div><br></div>