图像以草稿模式加载

图像以草稿模式加载

我正在尝试为我的课程加载草稿模式作为选项。过满的行会突出显示,但不幸的是图像可以正常加载(不仅仅是作为框架)。有人能告诉我为什么吗?

类文件:

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{thesis}[template] 

\RequirePackage{ifthen}
\RequirePackage{iflang}
\RequirePackage{kvoptions}
\SetupKeyvalOptions{%
    family=SBMT,%
    prefix=SBMT@%
}

% Declare class options         
\DeclareBoolOption[false]{draftmode}            
\ProcessKeyvalOptions*  

% if draft mode is enabled (true) pass option "draft" to class
\ifthenelse{\boolean{SBMT@draftmode}}{%
        \PassOptionsToClass{draft}{scrbook}
    }{}

\LoadClass[
    fontsize=12pt,              
    DIV=12,                           
    open=right,                 
    cleardoublepage=empty,      
    parskip=half-,                  
    headings=normal             
]{scrbook}
\usepackage{scrhack} 

% Basics
\RequirePackage[utf8]{inputenc}
\RequirePackage{pdfpages}
\RequirePackage{graphicx}

文档:

\RequirePackage{kvoptions-patch}    
\documentclass[     
    draftmode=true ,        
]{thesis}
\setlength\headheight{30pt} 

\begin{document}
\includegraphics[width=1.1\textwidth]{example-image-a}
\end{document}

答案1

这个问题是,在自定义类中,您使用 加载scrbook\LoadClass传递选项,但在您自己的类中,您graphicx使用加载\RequirePackage。这导致包加载超出范围\LoadClass,因此选项未传递。

您可以在取消注释时检查这一点\RequirePackage{graphicx}(并且\RequirePackage{pdfpages}因为该包graphicx在内部加载)并放入\usepackage{graphicx}您的文档中,然后该draft选项就会受到尊重。

一种解决方法是使用 将选项graphicx明确传递给(以及其他所需的包)\PassOptionsToPackage

代码:

% if draft mode is enabled (true) pass option "draft" to class
\ifthenelse{\boolean{SBMT@draftmode}}{%
        \PassOptionsToClass{draft}{scrbook}
        \PassOptionsToPackage{draft}{graphicx}
    }{}

相关内容