有意随机旋转图形

有意随机旋转图形

我想以随机旋转的方式向文档添加一些图形。为此,我尝试了以下代码

\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}

在此处输入图片描述

相关内容