这个问题导致了一个新的方案的出现:
duckuments
LaTeX 中有很多很酷的示例图片。据我所知,没有任何好的鸭子图像示例 ;-(
当然,在示例图像中加入鸭子对于增加整个 Tex.SE 的 MWE 的鸭性至关重要!
因此我想知道:如何让鸭子位于示例图像的中心?
\documentclass[border=5pt]{standalone}
\usepackage{tikzducks}
\usepackage{graphicx}
\begin{document}
\includegraphics{example-image-a}
\tikz\randuck;
\end{document}
可能会产生:
然而,把鸭子放在图片旁边有一个问题:它看起来像一只更永久的鸭子,不是作为例子,而是永远存在。虽然每一篇好的鸭子纪录片都会有一只或十几只鸭子,但让读者能够区分永久的鸭子和例子鸭子似乎是必不可少的!
然而,目前
\documentclass[border=5pt]{standalone}
\usepackage{tikzducks}
\usepackage{graphicx}
\begin{document}
\includegraphics{example-image-duck} %or with randuck
\tikz\randuck;
\end{document}
生成一条错误消息(提示没有所需示例图像的文件):
这里没有灰色边框告诉读者不要在鸭子文献的最终版本中期待鸭子。
有什么办法可以得到这两个命令:
\includegraphics{example-image-duck}
\includegraphics{example-image-randuck}
制作一个与第一个例子中的图像类似,但用鸭子代替 a 吗?
编辑
这真的很酷,但是可能无法实现全部tikzducks
功能:
\includegraphics{example-image-duck[options]}
从而起到期权的作用。
Torbjørn T. 也发布了命令:
\newcommand\ExampleDuck{ \begin{tikzpicture} \node [inner sep=0] {\includegraphics{example-image}}; \begin{scope}[shift={(-1,-1)}] \randuck \end{scope} \end{tikzpicture}}
只需要一个空的示例图像即可。现在唯一的大障碍是, \ExampleDuck
如果example-image-randuck
正在加载命令,则向 includegraphics 提供命令的结果。
答案1
写一个文档示例-duck:
\documentclass[tikz,multi]{standalone}
\usepackage{tikzducks}
\begin{document}
\foreach\x in {1,2,...,100}
{\tikz\randuck;}
\end{document}
并编译它。
然后你可以像这样使用它:
\documentclass{article}
\usepackage{xfp,graphicx}
\newcommand\getduck{\fpeval{randint(1,100)}}
\begin{document}
\includegraphics[page=\getduck]{example-duck}
\includegraphics[page=\getduck]{example-duck}
\includegraphics[page=\getduck]{example-duck}
\end{document}
编辑
正如评论中所要求的那样,这里有一个更精致的例子 - 鸭子(女巫的尖头需要相当大的背景):
\documentclass[tikz,multi]{standalone}
\usepackage{tikzducks}
\begin{document}
\foreach\x in {1,2,...,100}
{\begin{tikzpicture}
\draw[fill=gray!50!white](-0.8,-0.8)rectangle(3,3);
\draw[gray] (-0.8,-0.8)--(3,3)
(3,-0.8)--(-0.8,3)
(-0.8,1.1)--++(3.8,0)
(1.1,-0.8)--++(0,3.8)
;
\randuck;
\node [anchor=center,rounded corners,draw=darkgray,opacity=0.5,fill=lightgray,rotate=30,font=\sffamily] at (1.1,1.1) {example duck};
\end{tikzpicture}}
\end{document}
答案2
可以使用以下内容:
\documentclass[]{article}
\usepackage{tikzducks}
\usepackage{adjustbox}
\newcommand\exampleDuck[1][]
{%
\adjustbox{#1}{%
\begin{tikzpicture}
\draw[black,fill=gray!50,thick] (0,0) rectangle (6,4);
\draw[gray] (0,0) -- (6,4);
\draw[gray] (0,4) -- (6,0);
\draw[gray] (3,0) -- (3,4);
\draw[gray] (0,2) -- (6,2);
\node at (3,2) {\tikz\randuck;};
\end{tikzpicture}
}%
}
\begin{document}
\exampleDuck[width=2cm]
\exampleDuck[height=5cm]
\exampleDuck
\end{document}
和这个包您还可以使用以下(也可以在 github 上):
\documentclass[]{article}
\usepackage{graphicx}
\usepackage{duckuments}
\begin{document}
\noindent
\includegraphics[width=.5\textwidth]{example-image-duck}% takes a random page from the pdf
\includegraphics[width=.5\textwidth]{example-image-a}% still working
\blindduck% print one paragraph of text
\duckument% print a small duckument
\end{document}