我是 Tex 的初学者,我有 tex 文件
\documentclass{article}
\addtolength{\jot}{1em}
\begin{document}
\begin{verbatim}
\end{verbatim}
\begin{chestnutStem}
In the following figure, if the spinner is divided into 8 colored sections, what is the probability of it stopping at blue?
\centerline{\includepdf[page=2]{mypdf.pdf}}
\end{chestnutStem}
\chestnutKey{
$ \frac{1}{4} $
}
\begin{chestnutAnswer}
\begin{align*}
\textrm{The probability of the spinner stopping at blue}&=\frac{\textrm{the number of blue sections}}{\textrm{total number of sections}}\\
&=\frac{2}{8}\\
&=\frac{1}{4}.
\end{align*}
\end{chestnutAnswer}
\end{document}
我有 cls 文件
\ProvidesClass{chestnut}[2016/02/17]
\LoadClass{article}
\RequirePackage{amsmath}
\RequirePackage{kvoptions}
\RequirePackage{graphicx}
\RequirePackage{xkeyval}
\DeclareStringOption{country}{}
\DeclareStringOption{language}{}
\DeclareStringOption{math}{}
\DeclareStringOption{numerals}{}
\ProcessKeyvalOptions*\relax
\DeclareOption{example}{%
\typeout{You are using example object.}
}%
\DeclareOption*{}{}
\ProcessOptions*\relax
\RequirePackage[lmargin=0.5in,rmargin=0.5in,tmargin=0.5in,bmargin=0.5in]{geometry}
\let\country=\chestnut@country
\typeout{ Your country \country}
\let\language=\chestnut@language
\typeout{ Your language \language}
\let\math=\chestnut@math
\typeout{ Your symbols language is \math}
\let\numerals = \chestnut@numerals
\typeout{ Your numerals are in \numerals}
\newenvironment{chestnutStem}{\underline{\textbf{Stem}}\\* }{\hfill \\* }
\newcommand\chestnutKey[1]{\underline{\textbf{Key}}\\*#1\hfill\\* }
\newenvironment{chestnutAnswer}{\underline{\textbf{Answer}}\\*}{\hfill \\* }
\RequirePackage{alternative4ht}
\altusepackage{pdfpages}
\newcommand\chestnutTikZ[1]{\includepdf[pages=-,width=.9\textwidth]{#1}}
\setlength{\parindent}{0pt}
\pagenumbering{gobble}
\IfFileExists{approved.jpg}{%
\RequirePackage{fancyhdr}
\renewcommand\headrule{}
\rhead{\vspace{0.5in}\includegraphics[scale=0.2]{approved.png}}
\pagestyle{fancy}
}%
和 alternative4ht.sty 文件
\ProvidesPackage{alternative4ht}
\newcommand{\altusepackage}[2][]{%
\ifx\HCode\relax%
\usepackage[#1]{#2}%
\else%
\IfFileExists{#2-alt4ht.sty}{%
\usepackage[#1]{#2-alt4ht}%
}{\typeout{alternative4ht: no patch file for #2}}
\fi%
}
\endinput
和 pdfpages-alt4ht.sty 文件
\ProvidesPackage{pdfpages-alt4ht}
\RequirePackage{graphicx}
\newcommand\includepdf[2][]{%
\includegraphics{#2}
}
\endinput
和 cfg 文件将 pdf 页面转换为 png 图像
\Preamble{xhtml}
\Configure{graphics*}
{pdf}
{\Needs{"convert -scene 1 \csname Gin@base\endcsname.pdf
\csname Gin@base\endcsname.png"}%
\Picture[pict]{\csname Gin@base\endcsname .png}% here i want add page number with pdf file name for example <mypdf-2.png>
\special{t4ht+@File: \csname Gin@base\endcsname.png}
}
\begin{document}
\EndPreamble
我想在命令中获取 [page] 值选项\includepdf
以便在配置文件中使用它
答案1
pdfpages
是导致包含失败的软件包之一tex4ht
。在这种情况下,必须更改 TeX 源,这是我们尝试避免的tex4ht
。helpers4ht 捆绑包提供\altusepackage
命令,可用于加载 的替代版本软件包tex4ht
。这些替代软件包名为packagename-alt4ht.sty
。它们包含文档中使用的宏的定义。 的定义pdfpages
只是基本的,它可用于仅包含一个分页的 pdf 文档。
为了支持多页 pdf 文件,我在包中添加了命令pages
选项。它不支持原始的所有功能,因为实现它会非常困难,而且我认为它在 HTML 输出中没有意义:\includepdf
pdfpages-alt4ht.sty
\ProvidesPackage{pdfpages-alt4ht}
\RequirePackage{graphicx}
\RequirePackage{xkeyval}
\define@key{includepdf}{pages}{\edef\current@pdf@page{\the\numexpr #1-1\relax}}
\newcommand\includepdf[2][]{%
\def\current@pdf@page{0}
\setkeys*{includepdf}{#1}
\filename@parse{#2}
\def\current@png@name{\filename@area\filename@base-\current@[email protected]}
\IfFileExists{\current@png@name}{}{%
\Needs{"convert #2[\current@pdf@page]
\current@png@name"}
}
\includegraphics{\current@png@name}
}
\endinput
它将请求的页面保存在\current@pdf@page
宏中,必须将其减 1,因为imagemagick
页面从 0 开始计数。png
名称构造为,仅当它尚不存在时才调用程序imagename-pagenumber.png
。convert
我必须修复 中的一个问题,其中chestnut.cls
缺少:{}
IfFileExists
\ProvidesClass{chestnut}[2016/02/17]
\LoadClass{article}
\RequirePackage{amsmath}
\RequirePackage{kvoptions}
\RequirePackage{graphicx}
\RequirePackage{xkeyval}
\DeclareStringOption{country}{}
\DeclareStringOption{language}{}
\DeclareStringOption{math}{}
\DeclareStringOption{numerals}{}
\ProcessKeyvalOptions*\relax
\DeclareOption{example}{%
\typeout{You are using example object.}
}%
\DeclareOption*{}{}
\ProcessOptions*\relax
\RequirePackage[lmargin=0.5in,rmargin=0.5in,tmargin=0.5in,bmargin=0.5in]{geometry}
\let\country=\chestnut@country
\typeout{ Your country \country}
\let\language=\chestnut@language
\typeout{ Your language \language}
\let\math=\chestnut@math
\typeout{ Your symbols language is \math}
\let\numerals = \chestnut@numerals
\typeout{ Your numerals are in \numerals}
\newenvironment{chestnutStem}{\underline{\textbf{Stem}}\\* }{\hfill \\* }
\newcommand\chestnutKey[1]{\underline{\textbf{Key}}\\*#1\hfill\\* }
\newenvironment{chestnutAnswer}{\underline{\textbf{Answer}}\\*}{\hfill \\* }
\RequirePackage{alternative4ht}
\altusepackage{pdfpages}
\newcommand\chestnutTikZ[1]{\includepdf[pages=-,width=.9\textwidth]{#1}}
\setlength{\parindent}{0pt}
\pagenumbering{gobble}
\IfFileExists{approved.jpg}{%
\RequirePackage{fancyhdr}
\renewcommand\headrule{}
\rhead{\vspace{0.5in}\includegraphics[scale=0.2]{approved.png}}
\pagestyle{fancy}
}{}%
以及你的 TeX 文件,因为chestnut
没有使用类:
\documentclass{chestnut}
\addtolength{\jot}{1em}
\begin{document}
\begin{verbatim}
\end{verbatim}
\begin{chestnutStem}
In the following figure, if the spinner is divided into 8 colored sections, what is the probability of it stopping at blue?
\centerline{\includepdf[pages=2]{mypdf.pdf}}
\end{chestnutStem}
\chestnutKey{
$ \frac{1}{4} $
}
\begin{chestnutAnswer}
\begin{align*}
\textrm{The probability of the spinner stopping at blue}&=\frac{\textrm{the number of blue sections}}{\textrm{total number of sections}}\\
&=\frac{2}{8}\\
&=\frac{1}{4}.
\end{align*}
\end{chestnutAnswer}
\end{document}
示例输出: