我想制作相同高度和宽度的框,框内有文字
预期输出:
我的解决方案:
\usepackage{xcolor}
\noindent\fcolorbox{black}{white}
{\minipage[t]
{\dimexpr0.48\linewidth-2\fboxsep-2\fboxrule\relax}
\centering
Product1 demo
\endminipage
}\noindent\fcolorbox{black}{white}
{\minipage[t]
{\dimexpr0.48\linewidth-2\fboxsep-2\fboxrule\relax}
\centering
France\\
Newyork\\
Japan\\
London
\endminipage
}\hfill
答案1
我建议您采用一个tabularx
总宽度为 的环境\textwidth
。
可选的\Tstrut
(“顶部支柱”)指令是为了防止“法国”和“悉尼”行太靠近其上方的水平线。
\documentclass{article} % or some other suitable document class
\usepackage{tabularx,ragged2e}
\renewcommand\tabularxcolumn[1]{m{#1}} % vertical centering
\newcolumntype{C}{>{\Centering}X} % horizontal centering
\newcommand\Tstrut{\rule{0pt}{2.5ex}} % "top" typographic strut (optional)
\begin{document}
\noindent
\begin{tabularx}{\textwidth}{| >{\bfseries}C | C |} % typeset 1st column in **bold**
\hline
Product 1 demo &
France\Tstrut \newline New York \newline Japan \newline London \\
\hline\hline
Product 2 demo &
Sydney\Tstrut \newline New York \newline Japan \newline London \\
\hline
\end{tabularx}
\end{document}
答案2
你可以用盒子来实现。首先,我测量第二个盒子的总垂直尺寸,并用它来设置第一个盒子。
\documentclass{article}
\newcommand{\demo}[3][\textwidth]{%
% #1 is the desired total width
% #2 is the text on the left
% #3 is the text on the right
\par\noindent
\sbox0{\parbox{#1}{#3}}%
\dimen0=\dimexpr\ht0+\dp0\relax
\fbox{%
\parbox[c][\dimen0]{\dimexpr(#1-4\fboxsep-3\fboxrule)/2}{\centering #2}%
}\kern-\fboxrule
\fbox{%
\parbox{\dimexpr(#1-4\fboxsep-3\fboxrule)/2}{\centering #3}%
}%
}
\begin{document}
\demo{Product1 demo}{
France\\
Newyork\\
Japan\\
London
}
\vspace{2pt}
\demo{Product2 demo}{
Sydney\\
New York\\
Japan\\
London
}
\bigskip
\demo[0.5\textwidth]{Product1 demo}{
France\\
Newyork\\
Japan\\
London
}
\bigskip
\demo[0.75\textwidth]{Product2 demo}{
Sydney\\
New York\\
Japan\\
London
}
\end{document}