我想让一些文本在框中垂直居中。
我可以让文本位于框的底部,就像这样
\documentclass[]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\fill[black, rounded corners=0.2cm] (0, 8) rectangle (8, 0)
node[above left, white, text width=7.8cm, align=center] {Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.};
\end{tikzpicture}
\end{document}
但是我怎样才能使文本在框中居中呢?
答案1
尝试:midway
而不是above left
:
\documentclass[]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\fill[black, rounded corners=0.2cm] (0, 8) rectangle (8, 0)
node[midway, white, text width=7.8cm, align=center] {Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.};
\end{tikzpicture}
\end{document}
答案2
相反,绘制矩形,然后插入带有文本的节点,我建议只绘制带有文本的节点:
\documentclass[border=3.141592]{standalone}
\usepackage{microtype}
%\usepackage{newtxtext}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[
N/.style = {fill=black, text=white, rounded corners=2mm,
minimum size=80mm,
text width=\pgfkeysvalueof{/pgf/minimum width}-2*\pgfkeysvalueof{/pgf/inner xsep},
align=center}
]
\node[N] {Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.};
\end{tikzpicture}
\end{document}