<div dir="ltr"><div class="gmail_default" style="color:rgb(51,102,255)">Hi Nasser,</div><div class="gmail_default" style="color:rgb(51,102,255)">The error in your MWE case is due to undefined "\PRE" command, which should be "/PRE".</div><div class="gmail_default" style="color:rgb(51,102,255)"><br></div><div class="gmail_default" style="color:rgb(51,102,255)">Regards</div><div class="gmail_default" style="color:rgb(51,102,255)">Jagath</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 10 June 2016 at 11:41, Nasser M. Abbasi <span dir="ltr"><<a href="mailto:nma@12000.org" target="_blank">nma@12000.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I am struggling with this. I need to be able to define<br>
an environment, where when Latex file is compiled to HTML<br>
does one thing, and when compiled to pdf does another thing.<br>
<br>
This sounds easy enough. The problem is it is for code<br>
listing. For pdf, I can use listing package no problem.<br>
<br>
For HTML, I'd like to use special HTML code to make<br>
the code more customized for HTML. The problem is<br>
that one can't define an environment for verbatim<br>
or listing content. So I am stuck. Here is a small<br>
example which shows what I mean:<br>
<br>
--------------------------<br>
\documentclass[12pt]{book}%<br>
\usepackage[T1]{fontenc}<br>
\usepackage{listings}<br>
\usepackage{fancyvrb}<br>
<br>
\ifdefined\HCode<br>
  \newenvironment{code}<br>
  {\HCode{<PRE>}}<br>
  {\HCode{<\PRE>}}<br>
\else<br>
  \lstnewenvironment{code}<br>
  {\lstset{language=matlab}}<br>
  {}<br>
\fi<br>
\begin{document}<br>
\begin{code}<br>
X=10;<br>
\end{code}<br>
\end{document}<br>
-----------------------------<br>
<br>
The above compiled ok to pdf, but ofcourse it gives<br>
error with tex4ht<br>
<br>
-----------------------<br>
(/usr/local/texlive/2015/texmf-dist/tex/generic/tex4ht/html4-math.4ht))<br>
(./foo2.aux)<br>
! Undefined control sequence.<br>
<argument> <\PRE<br>
                 ><br>
l.19 \end{code}<br>
               ?<br>
---------------------------<br>
<br>
I used PRE above just an example. If I can this method<br>
to work, I wanted to use more complicate HTML code<br>
there for the start of the environment, which uses<br>
outside javascript library for code formatting, much<br>
nicer than what I can get from standard listings.<br>
<br>
Listings works ok for both html and pdf. I just wanted<br>
to use direct HTML environment for the code listing<br>
when compiling with tex4ht.<br>
<br>
I could of course duplicate the code itself, and use<br>
<br>
\ifdefined\HCode<br>
  \ScriptEnv{html}<br>
    {\NoFonts\hfill\break}<br>
    {\EndNoFonts}<br>
    \begin{html}<br>
        my code here<br>
    \end{html}<br>
\else<br>
   \begin{lstlisting}<br>
        code here<br>
   \end{lstlisting}<br>
\fi<br>
<br>
But I am trying to avoid this.<br>
<br>
If some one has any idea how to do this, that will be great.<br>
<br>
I asked on this also at<br>
<br>
<a href="http://tex.stackexchange.com/questions/313994/defining-alternative-environment-for-code-listing-for-tex4ht-without-code-duplic" rel="noreferrer" target="_blank">http://tex.stackexchange.com/questions/313994/defining-alternative-environment-for-code-listing-for-tex4ht-without-code-duplic</a><br>
<br>
Thank you,<br>
--Nasser<br>
</blockquote></div><br></div>