答案1
我更改了您的一些参数,并将它们压缩到您需要的程度。请记住,这text width
就是您所需要的(您不必使用它,align = left
因为它默认设置为左侧)。
\documentclass{article}
\usepackage{tikz}
\newcommand\round[2]{\par
\noindent\begin{tikzpicture}%
\node[draw = #1, fill = #1, rectangle, rounded corners,
minimum size = 5.5mm, text = white, text width = 10cm](char){#2};
\end{tikzpicture}\par%
}%
\begin{document}
\round{blue}{First Title}
some text\\
\round{red}{Second Title}
some text\\
\end{document}
答案2
欢迎使用 TeX-SE!我认为以下内容可以满足您的要求:
\documentclass{article}
\usepackage{tikz}
\newcommand*\round[2][blue]{%
\tikz[baseline=(char.base)]\node[shape=rectangle,
rounded corners, minimum width=\textwidth,text width=\textwidth-3em,
minimum height=2em,text depth=0.3em,
fill=#1,text=white,align=left,font=\sffamily](char){#2};%
}
\begin{document}
\noindent
\round{Some text}
\noindent
\round[blue!70!black]{Some other text}
\end{document}
不过,我觉得你最好使用tcolorbox
基于的tikz
。使用这个答案你可以做
\documentclass{article}
\usepackage[most]{tcolorbox}
\newtcolorbox{rounded}[1][]{enhanced jigsaw,colback=blue,
boxrule=0pt,arc=2mm,auto outer arc,boxsep=0pt,coltext={white},fontupper=\sffamily,
#1}
\begin{document}
\begin{rounded}
Some text
\end{rounded}
\begin{rounded}[colback=blue!70!black]
Some more text
\end{rounded}
\end{document}