我想将演讲幻灯片上传到存储库,其中提交的所有材料都应遵循特定许可证。为此,我需要排除实际使用的幻灯片中存在的某些不适用许可证的图像,并使用占位符代替。这
\includegraphics[draft,..
几乎可以满足我的要求,只是我的文档中的实际命令类似于
\includegraphics[draft,widht=0.7\textwidth]{../../../talks/1999/acapulco/filename}
这会导致完整路径显示在占位符框中并超出其范围。
我能以某种方式阻止显示路径吗?它既丑陋又包含比我想要传达的更多的信息。仅文件名就可以了,但不是必需的。如果我\includegraphics
完全删除,布局会发生变化,并且/或者我必须手动调整大小并放置占位符。
答案1
以下是添加密钥的解决方案noincl
:
\documentclass{article}
\usepackage{graphicx,etoolbox}
\makeatletter
\define@key{Gin}{noincl}[true]{%
\lowercase{\Gin@boolkey{#1}}{draft}%
\lowercase{\Gin@boolkey{#1}}{noincl}%
}
\newif\ifGin@noincl
\patchcmd{\Gin@setfile}{\hb@xt@}{\noinc@box{#3}}{}{}
\def\noinc@box#1#2#3{%
\ifGin@noincl
\do@noinc@box{#1}{#2}{#3}%
\else
\hb@xt@#2{#3}
\fi
}
\def\do@noinc@box#1#2#3{%
\hb@xt@\Gin@req@width{%
\vrule\hss
\vbox to \Gin@req@height{%
\hrule \@width \Gin@req@width
\vss
\edef\@tempa{#1}%
\expandafter\filename@parse\expandafter{\@tempa}%
\rlap{%
\kern3\p@
\parbox{\dimexpr\Gin@req@width-6\p@}{
\raggedright\footnotesize Not included for copyright reasons
}%
}%
\vss
\rlap{\kern3\p@ \tiny\ttfamily\filename@base.\filename@ext}%
\vss
\hrule}%
\hss\vrule}%
}
\makeatother
\begin{document}
\includegraphics[noincl,width=4cm]{/usr/local/texlive/2014/texmf-dist/tex/latex/mwe/example-image.pdf}
\end{document}
答案2
todonotes
有显示缺失数字的功能。
\documentclass{article}
\usepackage{todonotes}
\begin{document}
\begin{figure}[htb]
\missingfigure[figwidth=0.7\textwidth]{My first figure}
\missingfigure[figheight=6cm]{}
\end{figure}
\end{document}
答案3
就像todonotes
这样做一样,您可以只包含一些 TikZ 矩形。我为您制作了一些宏,它获取实际图片的尺寸并将它们设置为虚拟节点:
% arara: pdflatex
\documentclass{article}
\usepackage{graphicx}
\newif\ifdraft
\drafttrue
%\draftfalse
\newsavebox\imagebox
\usepackage{xparse}
\DeclareDocumentCommand \includedraftpic { o m }{%
\sbox\imagebox{\includegraphics[#1]{#2}}%
\ifdraft
\begin{tikzpicture}
\node[draw, text width=\the\wd\imagebox,minimum height=\the\ht\imagebox, align=center, inner sep=0]{removed for copy right reasons};
\end{tikzpicture}
\else
\usebox\imagebox
\fi
}
\begin{document}
\begin{figure}
\centering
\includedraftpic[widht=0.7\textwidth]{../../../talks/1999/acapulco/filename}
\end{figure}
\end{document}
您现在要做的就是切换条件draftfalse
或drafttrue
。
答案4
你可以稍微改变这个答案不显示文件名并将其用作命令:
\documentclass{book}
\usepackage{picins}
\usepackage{graphicx}
\makeatletter
\newcommand{\imagedraftmode}{
\def\Ginclude@graphics##1{%
\parpic(\Gin@@ewidth,\Gin@@eheight)[d]{}\picskip{0}}%
}
\makeatother
\begin{document}
\begin{figure}
\centering
\imagedraftmode
\includegraphics[width=8cm,height=5cm]{Koala}%
\caption{My Picture}
\end{figure}
\begin{figure}
\centering
\includegraphics[width=8cm,height=5cm]{Koala}%
\caption{My Picture}
\end{figure}
\end{document}