使用 Latex 重新创建此内容的想法

使用 Latex 重新创建此内容的想法

我想创建一个类似于图片上的 Latex 模板。基本上它是一组带有不同字段的框以及底部带有图形的大框。我已经分析了几种可能性,但我不确定最简单的方法是什么。

我正在考虑使用小页面和框架框,但不确定是否还有其他(更简单的)方法......

有任何想法吗?

提前致谢:

佩德罗

在此处输入图片描述

答案1

根据@John Kormylo的建议,我开始研究TikZ。与此同时,我找到了一个将SVG转换为TikZ的实用程序(https://github.com/kjellmf/svg2tikz),这为我节省了很多时间,因为我已经有了一个 SVG 模板。

我相信现在只需进行微调。虽然这仍处于 WIP 阶段,但我已经设法使用以下代码创建了一个包含我需要的所有字段的可用模板:

\documentclass{article}
\usepackage[a4paper, margin=1cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[portuguese]{babel}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{helvet}
\usepackage{tikz}
\newcommand{\myfont}{\sffamily\tiny}
\tikzset{every picture/.style={/utils/exec={\myfont}}}

\begin{document}
\definecolor{ceaeaea}{RGB}{234,234,234}


\begin{tikzpicture}[y=0.80pt, x=0.80pt, yscale=-3.40000, xscale=3.40000, inner sep=0pt, outer sep=0pt]
\path[draw=black,miter limit=10.00,nonzero rule,line width=0.207pt,rounded
corners=0.0000cm] (31.2797,43.0447) rectangle (178.7203,252.4853);
\path[fill=black] (0.0000,0.0000) node[above right] (flowRoot4524) {};
\path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(294.3900,96.4443) node[above right] (text4770-2) {};
\path[fill=black,line width=0.212pt] (295.5916,96.4856) node[above right]
(text1077) {};
\path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(143.3438,50.8601) node[above right] (text4733) {Data};
\path[draw=black,miter limit=4.00,line width=0.400pt] (141.6885,46.9393) --
(178.7048,46.9393) -- (178.7048,71.5803) -- (141.6885,71.5803) -- cycle;
\path[draw=black,line join=miter,line cap=butt,miter limit=4.00,even odd
rule,line width=0.400pt] (141.8046,59.1590) -- (178.7048,59.1590);
\path[draw=black,line join=miter,line cap=butt,miter limit=4.00,even odd
rule,line width=0.400pt] (165.3336,59.1590) -- (165.3336,71.5803);
\path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(143.4002,62.6282) node[above right] (text4758) {P (m)};
\path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(166.6337,62.2359) node[above right] (text4762) {TM (min)};
\path[draw=black,miter limit=4.00,line width=0.400pt] (46.1990,46.9393) --
(64.9426,46.9393) -- (64.9426,54.9639) -- (46.1990,54.9639) -- cycle;
\path[draw=black,miter limit=4.00,line width=0.400pt] (66.0925,46.9393) --
(140.4420,46.9393) -- (140.4420,54.9639) -- (66.0925,54.9639) -- cycle;
\path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(67.8957,50.1904) node[above right] (text4770) {Local};
\path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(47.8226,50.5990) node[above right] (text4774) {Nº};
\path[draw=black,miter limit=4.00,line width=0.400pt] (46.2398,112.2409) --
(178.7500,112.2409) -- (178.7500,162.1446) -- (46.2398,162.1446) -- cycle;
\path[draw=black,miter limit=4.00,line width=0.400pt] (46.2224,56.1200) --
(140.4864,56.1200) -- (140.4864,65.8242) -- (46.2224,65.8242) -- cycle;
\path[draw=black,miter limit=4.00,line width=0.400pt] (141.6497,88.2279) --
(178.7500,88.2279) -- (178.7500,111.1826) -- (141.6497,111.1826) -- cycle;
\path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(143.4002,92.2893) node[above right] (text4770-1) {Rubrica(s)};
\path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(47.6782,59.4158) node[above right] (text4770-9) {Companheiro(s)};
\path[draw=black,miter limit=4.00,line width=0.400pt] (46.2243,67.2150) --
(81.6619,67.2150) -- (81.6619,77.8195) -- (46.2243,77.8195) -- cycle;
\path[draw=black,miter limit=4.00,line width=0.400pt] (83.1621,67.1952) --
(140.4809,67.1952) -- (140.4809,77.9541) -- (83.1621,77.9541) -- cycle;
\path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(47.5653,71.0898) node[above right] (text4770-5) {Hora de entrada};
\path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(47.5653,116.3007) node[above right] (text4770-0) {Notas};
\path[draw=black,miter limit=4.00,line width=0.400pt] (46.2398,163.5650) --
(178.7500,163.5650) -- (178.7500,250.0813) -- (46.0100,250.0813) -- cycle;
\path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(84.6744,70.9296) node[above right] (text4770-0-8) {Tipo};
\path[draw=black,miter limit=4.00,line width=0.400pt] (46.2062,79.0382) --
(81.6900,79.0382) -- (81.6900,96.5244) -- (46.2062,96.5244) -- cycle;
\path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(47.2763,81.9121) node[above right] (text4770-0-8-6) {Condições};
\path[draw=black,miter limit=4.00,line width=0.400pt] (83.0913,79.1084) --
(140.4102,79.1084) -- (140.4102,102.4919) -- (83.0913,102.4919) -- cycle;
\path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(83.9829,82.4187) node[above right] (text4770-1-4) {Equipamento};
\path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(83.9731,85.9818) node[above right] (text4770-1-4-4) {Fato};
 \path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(47.9841,101.0407) node[above right] (text4770-1-4-9) {Gás/Gases usado(s)};
 \path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(84.6947,96.4994) node[above right] (text4770-1-4-4-8) {Lastro (kg)};
\path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(112.0161,82.5229) node[above right] (text4770-1-4-4-85) {Garrafa(s)};
\path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(83.8753,107.2107) node[above right] (text4770-1-4-4-2) {Classificação};
 \path[fill=ceaeaea,miter limit=4.00,line width=0.237pt] (52.0351,48.3821) --
(63.9225,48.3821) -- (63.9225,53.4974) -- (52.0351,53.4974) -- cycle;
 \path[fill=ceaeaea,miter limit=4.00,line width=0.240pt] (75.7594,48.0878) --
(138.9287,48.0878) -- (138.9287,53.7918) -- (75.7594,53.7918) -- cycle;
 \path[fill=ceaeaea,miter limit=4.00,line width=0.240pt] (151.9595,48.0878) --
(177.3603,48.0878) -- (177.3603,57.9656) -- (151.9595,57.9656) -- cycle;
 \path[fill=ceaeaea,miter limit=4.00,line width=0.240pt] (151.9595,60.7878) --
(163.2484,60.7878) -- (163.2484,70.6656) -- (151.9595,70.6656) -- cycle;
 \path[fill=ceaeaea,miter limit=4.00,line width=0.240pt] (167.4817,63.6100) --
(177.3603,63.6100) -- (177.3603,70.6656) -- (167.4817,70.6656) -- cycle;
 \path[fill=ceaeaea,miter limit=4.00,line width=0.240pt] (47.6048,60.2613) --
(138.9287,60.2613) -- (138.9287,64.8152) -- (47.6048,64.8152) -- cycle;
\path[fill=ceaeaea,miter limit=4.00,line width=0.240pt] (47.6048,72.3524) --
(79.9928,72.3524) -- (79.9928,76.5857) -- (47.6048,76.5857) -- cycle;
\path[fill=ceaeaea,miter limit=4.00,line width=0.240pt] (91.2817,69.0384) --
(138.9287,69.0384) -- (138.9287,76.7006) -- (91.2817,76.7006) -- cycle;
\path[fill=ceaeaea,miter limit=4.00,line width=0.240pt] (47.6048,89.4257) --
(56.7819,89.4257) -- (56.7819,95.7385) -- (47.6048,95.7385) -- cycle;
 \path[fill=ceaeaea,miter limit=4.00,line width=0.240pt] (57.8906,89.4257) --
(66.6754,89.4257) -- (66.6754,95.7385) -- (57.8906,95.7385) -- cycle;
\path[fill=ceaeaea,miter limit=4.00,line width=0.240pt] (84.2261,86.8029) --
(111.0589,86.8029) -- (111.0589,93.2491) -- (84.2261,93.2491) -- cycle;
\path[fill=ceaeaea,miter limit=4.00,line width=0.240pt,rounded corners=0.0000cm]
(96.0106,94.9564) rectangle (110.8965,100.6008);
\path[fill=ceaeaea,miter limit=4.00,line width=0.240pt] (112.4484,83.4252) --
(138.9287,83.4252) -- (138.9287,100.6068) -- (112.4484,100.6068) -- cycle;
\path[fill=ceaeaea,miter limit=4.00,line width=0.240pt] (47.6048,117.2322) --
(177.3603,117.2322) -- (177.3603,160.9767) -- (47.6048,160.9767) -- cycle;
 \path[draw=black,miter limit=4.00,line width=0.400pt] (46.1464,97.8147) --
(81.6854,97.8147) -- (81.6854,111.1044) -- (46.1464,111.1044) -- cycle;
\path[fill=ceaeaea,miter limit=4.00,line width=0.240pt] (47.6048,102.0179) --
(79.5378,102.0179) -- (79.5378,110.2253) -- (47.6048,110.2253) -- cycle;
 \path[draw=black,miter limit=4.00,line width=0.400pt] (83.0350,103.6984) --
(140.4338,103.6984) -- (140.4338,111.1378) -- (83.0350,111.1378) -- cycle;
\path[fill=ceaeaea,miter limit=4.00,line width=0.240pt] (100.8473,104.9735) --
(138.9287,104.9735) -- (138.9287,109.7629) -- (100.8473,109.7629) -- cycle;
\path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(53.0323,51.8397) node[above right] (text4770-3) {\ssrfnumber};
 \path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(52.2853,63.9487) node[above right] (text4770-53) {\ssrfbuddy};
 \path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(80.0001,51.5671) node[above right] (text4770-6) {\ssrfplace};
 \path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(58.6353,75.3258) node[above right] (text4770-12) {Local};
 \path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(98.3228,74.0029) node[above right] (text4770-09) {\ssrftype};
 \path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(48.3827,92.2260) node[above right] (text4770-60) {\ssrfwatertemp};
 \path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(58.5408,92.2260) node[above right] (text4770-61) {\ssrfairtemp};
 \path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(89.0624,89.8779) node[below right, text width=2cm] (text4770-7) {\ssrfsuit};
 \path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(96.7068,98.3194) node[above right] (text4770-02) {\ssrfweightaamt};
 \path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(48.0519,104.4300) node[above right] (text4770-59) {\ssrfcylagasname};
 \path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(112.8749,86.1737) node[above right] (text4770-36)
{\ssrfcyladescription};
 \path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(102.4768,108.0755) node[above right] (text4770-19) {\ssrfrating};
 \path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(48.0519,121.6278) node[above right, text width=12cm] (text4770-361) {\ssrfcomment};
 \path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(156.5311,54.1591) node[above right] (text4770-63) {\ssrfdate};
\path[fill=black,line join=miter,line cap=butt,line width=0.612pt]
(152.6864,64.0571) node[above right] (text4770-615){\ssrfmaximumdepth};
 \path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(168.4374,67.3883) node[above right] (text4770-76) {\ssrftime};
 \path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(143.4002,74.6774) node[above right] (text4770-1-4-4-0) {Pmédia (m)};
 \path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(163.1792,74.8197) node[above right] (text4770-1-4-4-1) {SAC (l/min)};
 \path[draw=black,miter limit=4.00,line width=0.400pt] (141.6885,71.5803) --
(178.7048,71.5803) -- (178.7048,87.3338) -- (141.6885,87.3338) -- cycle;
 \path[fill=ceaeaea,miter limit=4.00,line width=0.240pt] (143.2308,76.1474) --
(157.0478,76.1474) -- (157.0478,85.9424) -- (143.2308,85.9424) -- cycle;
 \path[fill=ceaeaea,miter limit=4.00,line width=0.240pt] (162.4118,76.1474) --
(177.3603,76.1474) -- (177.3603,85.9424) -- (162.4118,85.9424) -- cycle;
 \path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(143.7744,81.7278) node[above right] (text4770-93) {\ssrfmeandepth};
\path[fill=black,line width=0.212pt] (57.9753,174.6333) node[inner sep=0pt]
(plot) at (111,207) {\ssrfplot};
\path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(112.8749,89.0695) node[above right] (text4770-36-4)
{\ssrfcylbdescription};
\path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(48.2545,107.7221) node[above right] (text4770-59-3)
{\ssrfcylbgasname};
 \path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(112.8749,91.9653) node[above right] (text4770-36-4-7)
{\ssrfcylcdescription};
 \path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(112.8749,94.8611) node[above right] (text4770-36-4-6)
{\ssrfcylddescription};
 \path[fill=black,line width=0.212pt] (370.9979,63.4127) node[above right]
(text1153) {\ssrfmeandepth};
 \path[fill=black,line width=0.212pt] (382.9041,71.3502) node[above right]
(text1157) {\ssrfviz};
 \path[fill=black,line width=0.212pt] (378.9354,77.9648) node[above right]
(text1161) {\ssrfcomputer};
 \path[fill=black,line width=0.212pt] (380.2583,88.5481) node[above right]
(text1165) {\ssrfgasuse};
 \path[fill=black,line width=0.212pt] (380.2583,96.4856) node[above right]
(text1169) {\ssrfsac};
 \begin{scope}[shift={(1.67314,1.98097)}]
 \path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
  (47.8009,86.8125) node[above right] (text4770-0-8-7) {Água};
 \end{scope}
 \path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(60.9135,88.8432) node[above right] (text4770-0-8-7-8) {Ar};
\begin{scope}[shift={(-3.13355,0.88681)}]
 \path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
  (50.4592,84.4211) node[above right] (text4770-0-8-7-9) {Temperatura (   )};
 \begin{scope}[cm={{0.67131,0.0,0.0,0.67131,(40.73125,27.94586)}}]
  \path[fill=black,line width=0.212pt] (34.6448,84.3166) node[above right]
    (text2902-7) {C};
  \path[fill=black,line width=0.212pt] (33.8568,82.9860) node[above right]
    (text2924-9) {o};
\end{scope}
\end{scope}
\path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(68.5767,85.5143) node[above right] (text4770-0-8-7-9-0) {Visibilidade};
\path[fill=ceaeaea,miter limit=4.00,line width=0.240pt] (69.9744,89.4257) --
(78.7592,89.4257) -- (78.7592,95.7385) -- (69.9744,95.7385) -- cycle;
\path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(70.8431,92.3657) node[above right] (text4770-61-0) {\ssrfviz};
\path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(165.9193,81.7164) node[above right] (text4770-93-3) {\ssrfsac};
\path[fill=black,line join=miter,line cap=butt,line width=0.800pt]
(112.8749,97.7568) node[above right] (text4770-36-4-6-5)
{\ssrfcyledescription};

\end{tikzpicture}
\end{document}

谢谢大家的提示。

答案2

tcolorbox这是我使用 的库所能做的最好的事情poster。灰色框未包含在内,并且有一些表格技巧。

我不是专家,tcolorbox因此欢迎任何建议/更正。

您可能还想看看其他问题:这个盒子此表格另一种形式

海报形式

\documentclass{article}
\usepackage[many,poster]{tcolorbox}
\usepackage[a4paper, margin=1cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[portuguese]{babel}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{helvet}
\renewcommand{\rmdefault}{\sfdefault}
%
\pagestyle{empty}
\begin{document}

\begin{tcbposter}[
poster = {,spacing=1.5mm,columns=8,rows=25} , %showframe},
boxes  = {sharp corners,colback=white,left=0mm,right=0mm},
]
\posterbox{name=Numero,column=1,span=1.5,row=1,}{ \#}
\posterbox{name=Local,column=2,span=4.5,row=1,,xshift=11.9mm}{ Local}
\posterbox{name=Data,column=7,span=2,row=1,rowspan=1.5}{ Data}
%
\begin{posterboxenv}[sidebyside,segmentation style={solid}]{name=PTM,column=7,span=2,below=Data,rowspan=1.72,yshift=2.5mm,} 
P(m)
\tcblower
TM(min)
\end{posterboxenv}
\posterbox{name=Rubrica,column=7,span=2,row=4,rowspan=3,}{ Rubrica(s)}
\begin{posterboxenv}[sidebyside,segmentation hidden]{name=OTU,column=7,span=2,below=Rubrica,rowspan=3,}
OTU's
\tcblower
CNS
\end{posterboxenv}
%
%
%
\posterbox{name=Companheiro,column=1,span=6,row=2}{ Companheiro(s)}
%
\posterbox{name=Hora,column=1,span=2,row=3,rowspan=2}{ Hora de entrada}
\posterbox{name=Tipo,column=3,span=4,row=3,rowspan=2}{ Tipo}
%
\begin{posterboxenv}[sidebyside,segmentation hidden,title=Condições,titlerule=0mm,colbacktitle=white,coltitle=black]{name=Condicoes,column=1,span=2,row=5,rowspan=3}
Temp.\ água
\tcblower
Temp.\ ar
\end{posterboxenv}
%
\begin{posterboxenv}[sidebyside,segmentation hidden,title=Equipamento,titlerule=0mm,colbacktitle=white,coltitle=black]{name=Equipamento,column=3,span=4,row=5,rowspan=4}
\begin{tabular}{l}
Fato \\ 
\\
\\
\\
Lastro (kg) \\ 
\end{tabular} 
\tcblower
\begin{tabular}{l}
Garrata(s) \\ 
\\
\\
\\
 \\ 
 \end{tabular}
\end{posterboxenv}
%
\posterbox{name=Gas,column=1,span=2,row=8,rowspan=2}{ Gás/Gases usado(s)}
\posterbox{name=Classificacao,column=3,span=4,row=9,rowspan=1}{ Classificação}
%
\posterbox{name=Notas,column=1,span=8,row=10,rowspan=6}{ Notas}
\posterbox{name=Perfil,column=1,span=8,row=16,rowspan=10}{ Perfil

\bigskip
\includegraphics[width=\tcbtextwidth,height=9cm]{example-image}
}
\end{tcbposter}
\end{document}

相关内容