我想以随机旋转的方式向文档添加一些图形。为此,我尝试了以下代码
\documentclass[ngerman,german,14pt,twoside,openany]{scrbook}
\usepackage[left=2.5cm,right=2.5cm,top=2cm,bottom=2.5cm]{geometry}
\usepackage[ngerman]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{rotating, graphicx}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{tikz-timing}
%https://texblog.org/2011/04/19/latex-pseudo-random-number-generator/
\usepackage[first=-5, last=5]{lcg}
\newcommand{\random}{\rand\arabic{rand}}
\begin{document}
\random\\
\random\\
\random
\begin{figure}
\centering
\includegraphics[width=4cm,angle=2]{image.jpg}%
\end{figure}
\begin{figure}
\centering
\includegraphics[width=4cm,angle=-7]{image2.jpg}%
\end{figure}
\end{document}
随机数的生成以及每个数字的放置都完美无缺,但是当我尝试组合这两个代码时,angle=\random
编译却失败了。有什么办法可以解决这个问题吗?
答案1
随机数的生成方式不可扩展,因此无法在 TeX 需要数字的地方使用。您有两个选择:要么将 移到\rand
之前\includegraphics
,只将\arabic{rand}
参数放入 中angle
,要么使用可扩展的随机数生成器,例如 LaTeX 的 L3 语言内置的生成器:
\documentclass[ngerman,german,14pt,twoside,openany]{scrbook}
\usepackage[left=2.5cm,right=2.5cm,top=2cm,bottom=2.5cm]{geometry}
\usepackage[ngerman]{babel}
\usepackage{rotating, graphicx}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{tikz-timing}
\ExplSyntaxOn
\cs_new:Npn \random { \int_rand:nn {-5} {5} }
\ExplSyntaxOff
\begin{document}
\random\\
\random\\
\random
\begin{figure}
\centering
\includegraphics[width=4cm,angle=\random]{example-image-duck}%
\end{figure}
\begin{figure}
\centering
\includegraphics[width=4cm,angle=\random]{example-image-duck}%
\end{figure}
\end{document}