通过 \AfterEndPreamble 调用 \CssFile

通过 \AfterEndPreamble 调用 \CssFile

运行时可以通过和htlatex <filename>包含 CSS 代码。只要代码直接包含在主文档中,这种方法就可以正常工作。\CssFile\EndCssFile

我怀疑这是在宏中包含逐字内容的常见问题,但是有没有办法包含 CSS 代码,但不是必须将其放入实际的文档主体中。

笔记:

  • pfdlatex在这两个上运行良好,问题是仅有的htlatex与下面的第二个 MWE一起。
  • 所包含的 CSS 实际上并未在由此 MWE 生成的 HTML 中使用。

代码:有效,但文档混乱

\documentclass{article}
\usepackage{ifpdf}


\begin{document}
%% This works, but would rather it not be here so that the document is not cluttered.
\ifpdf
\else
      \CssFile 
         /* css.sty */ 
        .imageWrapperHi { height:99%; width:100%; text-align:center; page-break-inside:avoid; }
        .imageWrapperHi img { display:inline-block; height:100%; margin:0 auto; }  
      \EndCssFile
\fi
% -------
Some text.
\end{document}

代码:希望有这样的解决方案

\documentclass{article}
\usepackage{ifpdf}
\usepackage{etoolbox}

\ifpdf
\else
    \AfterEndPreamble{%
          \CssFile 
             /* css.sty */ 
            .imageWrapperHi { height:99%; width:100%; text-align:center; page-break-inside:avoid; }
            .imageWrapperHi img { display:inline-block; height:100%; margin:0 auto; }  
          \EndCssFile
      }%
\fi
% -------

\begin{document}
Some text.
\end{document}

答案1

您应该使用.cfg文件来处理这些内容,真的没有必要用tex4ht配置来弄乱您的文档。它适用于以下文件hello.cfg

\Preamble{xhtml}
\begin{document}
\CssFile 
/* css.sty */ 
.imageWrapperHi { height:99%; width:100%; text-align:center; page-break-inside:avoid; }
.imageWrapperHi img { display:inline-block; height:100%; margin:0 auto; }  
\EndCssFile
\EndPreamble

编译

htlatex filename hello

有关一些信息请参见回答

相关内容