我想用各种方程式以及一些交换图来制作拼贴画。我通常使用 tikzcd 来制作图表,所以如果我能在这里使用它,那会很有帮助。最终目标应该是这样的:
具体来说,我想知道如何:
- 将表达式放置在任意位置
- 将文本放置在任意位置
- 包括图表和图片
我不知道这是否有任何区别,但我通常在 overleaf 上工作。
其他一些功能虽然很简洁但并不是真正必要的:更改页面/文本颜色(如图所示)和旋转方程式。
这个问题非常相似,但没有答案,而且我不确定我是否理解 OP 采取的方法。
我也看到了这但我很难弄清楚如何使用 Beamer。不过,我认为这是可行的。使用 Beamer 做这种事情有什么技巧吗?或者有更好的方法吗?
答案1
它非常适合xcoffins
。它是一款旨在以非常简单的方式简化页面上内容布局的软件包:文本、表格、图像、图形等。方便构建封面和标题页以及拼贴画...
它的工作原理类似于图形设计程序(几乎没有 GUI,您必须编译才能看到变化),因为它使用对象的相对位置,而不是绝对坐标。
您将材料放入具有多个手柄的特殊盒子中(在角落、侧面中间、中心等),这些手柄可让您将一个盒子的手柄与另一个盒子的手柄连接起来。例如,第一个盒子的左下角与第二个盒子的左上角:[hc,b] 表示盒子底部和水平中心的点,[hc,t] 表示盒子顶部和水平中心的点,等等。
除此之外,您还可以添加垂直和水平偏移,以将内容精确定位在您想要的位置。
我收集了几个示例:表格、图形、文本(标题)、方程式、tikz 图片和 tikz-cd,并使用一个与文本区域大小相同的大框(称为\Framex
,浅蓝色)将它们全部组装起来,以收集其他对象。一些对象被旋转了。
所有材料都将放在框架的顶部。完成所有连接后,框架将作为文本对象(不是浮动对象)排版在单个页面上。
在组装过程之前,我附上了一个表格,其中列出了盒子的尺寸(使用提供的工具xcoffins
以及将 pt 转换为 cm 的宏)。用纸质矩形构建一个实体模型可能会有所帮助,以找到最佳排列方式。
我建议一次进行一次合并 ( Join
) 并进行编译,以查看框如何组合在一起以及是否需要偏移。一旦您了解使用字母 l、r、t、b、vc、hc 的句柄基本标识符的名称,该过程就会非常快。
我还建议阅读包装上的手册,复制示例以快速学习。
请参阅类似问题的另一个答案:
这是代码。
\documentclass[12pt,a4paper]{article}
\usepackage{graphicx}
\usepackage[left=1.00cm, right=1.00cm, top=2.00cm, bottom=1.00cm]{geometry}
\usepackage{xcolor}
\usepackage{xcoffins}
\usepackage{pgfplots}
\usepackage{tikz-cd}
\usepackage{mathtools}
\usepackage{amssymb}
%https://tex.stackexchange.com/questions/99550/how-do-i-convert-pt-in-cm-mm-to-em-ex-as-they-are-defined-at-a-given-point-in-th
\ExplSyntaxOn
\NewDocumentCommand{\convertto}{mm}
% #1 = em or ex (or any other unit)
% #2 = dimen to convert
{
\texttt{#2~=~\fp_to_decimal:n { round ( (#2)/(1#1), 5 ) }#1}
}
\DeclareExpandableDocumentCommand{\thelength}{ O{mm} m }
{
\fp_to_decimal:n { round ( #2/1#1, 1 ) } #1
}
\ExplSyntaxOff
\NewCoffin\Framex
\NewCoffin\figi
\NewCoffin\tkzii
\NewCoffin\tkziii
\NewCoffin\tkziv
\NewCoffin\tkzv
\NewCoffin\tblvi
\NewCoffin\tkzvii
\NewCoffin\tkzviii
\NewCoffin\eqix
\NewCoffin\tkzx
\NewCoffin\figxi
\NewCoffin\tkzxii
\NewCoffin\eqxiii
\NewCoffin\txtxiv
\NewCoffin\eqxv
\begin{document}
%% Filling the boxes <<<<<<<<<<<<<<<
\SetHorizontalCoffin\Framex{\color{blue!10}\rule{\textwidth}{0.95\textheight}}
\SetHorizontalCoffin\figi{%
\includegraphics[scale=0.3]{example-image-a}
}
\SetHorizontalCoffin\tkzii{%
\begin{tikzpicture}[thick,yscale=1]
\draw[->] (0,2) -- (0,4) node[above]{$\cos{\bigl(\frac{\pi}{L} x\bigr)}$} ;
\draw[->] (-3,3) -- (3,3) node[right]{$x$} ;
\draw[very thick,line cap=round,domain=-2:2, color=green] plot[samples=200] (\x, {3+2/3*cos(\x*45)}) ;
\draw (-2,3.1) -- (-2,2.9) (2,3.1) -- (2,2.9) (2.5,3.75) node{$m_x=\frac{1}{2}$} ;
\draw[->] (0,-1) -- (0,1) node[above]{$\sin{\bigl(\frac{2\pi}{L} x\bigr)}$} ;
\draw[->] (-3,0) -- (3,0) node[right]{$x$} ;
\draw[very thick,line cap=round,domain=-2:2,color=red]plot[samples=200] (\x, {2/3*sin(\x*90)}) ;
\draw (-2,.1) -- (-2,-.1) (2,.1) -- (2,-.1)(2.5,.75) node{$m_x=1$} ;
\draw[->] (0,-4) -- (0,-2) node[above]{$\cos{\bigl(\frac{3\pi}{L} x\bigr)}$} ;
\draw[->] (-3,-3) -- (3,-3) node[right]{$x$} ;
\draw[very thick,line cap=round,domain=-2:2,color=blue]plot[samples=200] (\x, {-3+2/3*cos(\x*135)}) ;
\draw (-2,-2.9) -- (-2,-3.1) (2,-2.9) -- (2,-3.1)(2.5,-2.25) node{$m_x=\frac{3}{2}$} ;
\end{tikzpicture}
}
\SetHorizontalCoffin\tkziii{%
\begin{tikzcd}[ampersand replacement=\&]
A \arrow{r}{\varphi} \arrow[swap]{d}{\varrho_f} \& B \arrow{d}{\varrho_g} \\%
A_f \arrow{r}{\varphi_f}\& B_g
\end{tikzcd}
}
\SetHorizontalCoffin\tkziv{%
\begin{tikzcd}[swap, ampersand replacement=\&]
F_t(x) \arrow[Rightarrow]{r}[inner sep = 1ex]{\mathcal{B}_T}
\arrow{d}{\mathcal{B}'_X}
\& F(x) \arrow{d}[swap]{\mathcal{B}_X}{\exists} \\
A_t \arrow{r}[swap]{\exists}{\mathcal{B}_T} \arrow[dashed,dash]{ur}
\& A
\end{tikzcd}
}
\SetHorizontalCoffin\tkzv{%
\begin{tikzcd}[row sep={40,between origins}, column sep={40,between origins}, ampersand replacement=\&]
\& X_1 \times_{S_1} Y_1 \ar{rr}\ar{dd}\ar{dl} \& \& Y_1\vphantom{\times_{S_1}} \ar{dd}\ar{dl} \\
X_1 \ar[crossing over]{rr} \ar{dd} \& \& S_1 \\
\& X_2 \times_{S_2} Y_2 \ar{rr} \ar{dl} \& \& Y_2\vphantom{\times_{S_1}} \ar{dl} \\
X_2 \ar{rr} \&\& S_2 \ar[from=uu,crossing over]
\end{tikzcd}
}
\SetHorizontalCoffin\tblvi{%
\scriptsize
\begin{tabular}{|c|c|c|c|c|c|}
\hline
& & \multicolumn{3}{|c|}{Particle Type} & Hcharge \\
\hline
& Quarks & $u$ & $c$ & $t$ & $1/6$ \\
Left & & $d$ & $s$ & $b$ & $1/6$ \\
Handed & Leptons & $\nu_{e}$ & $\nu_{\mu}$ & $\nu_{\tau}$ & $-1/2$\\
& & $e$ & $\mu$ & $\tau$ & $-1/2$ \\
\hline \hline
& Quarks & $u$ & $c$ & $t$ & $2/3$\\
Right & & $d$ & $s$ & $b$ & $-1/3$\\
Handed & Leptons & & & &\\
& & $e$ & $\mu$ & $\tau$ & $-1$\\
\hline
\end{tabular}
}
\SetHorizontalCoffin\tkzvii{%
\begin{tikzpicture}[
declare function={a(\x)=(\x/10)^2;},
declare function={b(\x)=-(\x/10)^2-10;},
declare function={f(\x) = 6*sqrt(2)*rad(atan(\x/(2*sqrt(2))))*5/2.99;}
]
\begin{axis}[
domain=0:10, xmin=0,
axis lines=middle,
axis equal image,
xtick=\empty, ytick=\empty,
enlargelimits=true,
clip mode=individual, clip=false
]
\addplot [red, only marks, mark=*, samples=500, mark size=0.75] %large con 500000
(f(x), {0.5*(a(x)+b(x)) + rand * ( a(f(x)) - b(f(x))) / 2});
\addplot [thick] {a(x)};
\addplot [thick] {b(x)};
\end{axis}
\end{tikzpicture}
}
\SetHorizontalCoffin\tkzviii{%
\begin{tikzpicture}[node distance=2cm, auto]
\node (C) {$C$};
\node (P) [below of=C] {$\prod_{i \in I} A_i$};
\node (Ai) [right of=P] {$A_i$};
\draw[->,color=red] (C) to node {$f_i$} (Ai);
\draw[->, dashed] (C) to node [swap] {$\langle f_i \rangle_{i \in I}$} (P);
\draw[->, color=green] (P) to node [swap] {$\pi_i$} (Ai);
\end{tikzpicture}
}
\SetVerticalCoffin\eqix{0.6\textwidth}{%
\begin{eqnarray}
\int_{-\infty}^{\infty} e^{\pm j2\pi ft}\;dt
&=&\int_{-\infty}^{\infty} \cos(2\pi ft)\;dt\pm j\int_{-\infty}^{\infty} \sin(2\pi ft)\;dt
\nonumber \\
&=&2\int_0^{\infty} \cos(2\pi ft)\;dt=\delta(f)=2\pi \delta(\omega).
\end{eqnarray}
}
\SetHorizontalCoffin\tkzx{%
\begin{tikzpicture}
\begin{axis}[only marks, mark size=1.5pt,domain=1:10,scale=0.6]
\addplot
({cos(rnd r)*x+rnd},{(rnd+1)*x+rnd});
\end{axis}
\end{tikzpicture}
}
\SetHorizontalCoffin\figxi{%
\includegraphics[height=100pt,width=100pt]{example-grid-100x100pt}
}
\SetHorizontalCoffin\tkzxii{%
\begin{tikzpicture}[xscale=-1,yscale=0.5,remember picture]
\begin{axis}[hide axis,width=8cm,height=4cm,clip=false]
\addplot[domain=20:300,samples=800, colormap={}{ color(2cm)=(red);
color(16cm)=(blue);
},
ultra thick, point meta=x*x,mesh]{sin(pow(x,2)/15)};
\end{axis}
\end{tikzpicture}
}
\SetVerticalCoffin\eqxiii{200pt}{%
$\Psi(x) \rightarrow \Psi^{\prime}(x) = e^{-i\omega^a(x) \mathbf{t}^a} \Psi(x)$\\
where the $\mathbf{t}^a$ are the $N^2 - 1$ generators of the group. These generators, $\mathbf{t}^a$, have a distinct algebra \\
$[\mathbf{t}^a,\mathbf{t}^b] = if^{abc}\mathbf{t}^c$
}
\SetVerticalCoffin\txtxiv{0.4\textwidth}{%
\centering \bfseries \Large A collage of equations, figures, tikz pictures, text and tables using {\color{red} xcoffins}
}
\SetVerticalCoffin\eqxv{0.3\textwidth}{%
\small
$s= \left(k_1 + k_2 \right)^2$\\
The Lorentz invariant phase space for the outgoing state, $d\Phi_N$, \\ is given by\\
$d\Phi_N = \left(2\pi \right)^4 \delta^4\left(k_{1} + k_2 - \Sigma_i^N k_i \right)$ \\
$\prod_{i}^{N} \frac{d^4 k_i}{\left(2\pi \right)^4} \left(2\pi\right) \delta \left(k_i^2 - m_i^2 \right)$
}
%% Joining the boxes to the frame and adding offsets <<<<<<<<<<<<<<<<<<<<<<<<<,
\JoinCoffins\Framex[l,t]\figi[l,t]
\JoinCoffins\Framex[hc,t]\tkzii[hc,t](-50pt,0pt)
\JoinCoffins\Framex[l,t]\tkziii[l,t](0pt,-80pt)
\JoinCoffins\Framex[r,t]\tkziv[r,t](0pt,-120pt)
\JoinCoffins\Framex[hc,vc]\tkzv[hc,vc](0pt,-70pt)
\JoinCoffins\Framex[r,vc]\tblvi[r,vc](0pt,-150pt)
\RotateCoffin\tkzvii{60}
\JoinCoffins\Framex[l,vc]\tkzvii[l,t](0pt,-50pt)
\JoinCoffins\Framex[l,t]\tkzviii[l,t](0pt,-180pt)
\RotateCoffin\eqix{90}
\JoinCoffins\Framex[r,vc]\eqix[r,b](-110pt,250pt)
\JoinCoffins\Framex[hc,b]\tkzx[hc,b](0pt,0pt)
\JoinCoffins\Framex[l,b]\figxi[l,b]
\JoinCoffins\Framex[r,vc]\tkzxii[r,vc](0pt,-235pt)
\JoinCoffins\Framex[l,vc]\eqxiii[l,vc](0pt,-180pt)
\JoinCoffins\Framex[r,t]\txtxiv[r,t](0pt,-10pt)
\JoinCoffins\Framex[r,b]\eqxv[r,b](-10pt,5pt)
%% Typeset the assembly in the left margin of the first line <<<<<<<<<<<<<<<
\noindent\TypesetCoffin\Framex
\section*{Heights and widths}
\begin{tabular}{lrr}
\hline
ID & height & width \\
\hline
figi &\thelength[mm]{\CoffinTotalHeight\figi} & \thelength[mm]{\CoffinWidth\figi} \\
tkzii & \thelength[mm]{\CoffinTotalHeight\tkzii} & \thelength[mm]{\CoffinWidth\tkzii} \\
tkziii & \thelength[mm]{\CoffinTotalHeight\tkziii} & \thelength[mm]{\CoffinWidth\tkziii} \\
tkziv & \thelength[mm]{\CoffinTotalHeight\tkziv} & \thelength[mm]{\CoffinWidth\tkziv} \\
tkzv & \thelength[mm]{\CoffinTotalHeight\tkzv} & \thelength[mm]{\CoffinWidth\tkzv} \\
tblvi & \thelength[mm]{\CoffinTotalHeight\tblvi} & \thelength[mm]{\CoffinWidth\tblvi} \\
tkzvii & \thelength[mm]{\CoffinTotalHeight\tkzvii} & \thelength[mm]{\CoffinWidth\tkzvii} \\
tkzviii & \thelength[mm]{\CoffinTotalHeight\tkzviii}& \thelength[mm]{\CoffinWidth\tkzviii} \\
eqix & \thelength[mm]{\CoffinTotalHeight\eqix} & \thelength[mm]{\CoffinWidth\eqix} \\
tkzx & \thelength[mm]{\CoffinTotalHeight\tkzx} & \thelength[mm]{\CoffinWidth\tkzx} \\
figxi & \thelength[mm]{\CoffinTotalHeight\figxi} & \thelength[mm]{\CoffinWidth\figxi} \\
tkzxii & \thelength[mm]{\CoffinTotalHeight\tkzxii} & \thelength[mm]{\CoffinWidth\tkzxii} \\
eqxiii & \thelength[mm]{\CoffinTotalHeight\eqxiii} & \thelength[mm]{\CoffinWidth\eqxiii} \\
txtxiv & \thelength[mm]{\CoffinTotalHeight\txtxiv} & \thelength[mm]{\CoffinWidth\txtxiv} \\ % title
eqxv & \thelength[mm]{\CoffinTotalHeight\eqxv} & \thelength[mm]{\CoffinWidth\eqxv} \\
\hline
\end{tabular}
\end{document}