Tikz 和带有 Q 字母的线条

Tikz 和带有 Q 字母的线条

我确实有一个 tex,当字母 Q 在行中时,它总是以 tikzfigure 的形式显示两行。让我与你分享这个 TEX

\documentclass[parskip]{scrartcl}
\usepackage[margin=10mm]{geometry}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{matrix}

\begin{document}

\pgfdeclarelayer{background}
\pgfsetlayers{background,main}

%\begin{center}
\begin{tikzpicture}
\matrix (magic) [matrix of nodes, style={font=\ttfamily}, nodes={minimum width=1.6cm,minimum 
 height=1.6cm, draw,thin},draw, row sep=-\pgflinewidth, column sep=-\pgflinewidth]
 { 
 D  &G  &W  &P  &V  &W  &N  &J  &A  &J  &V  &O\\  
 I  &E  &R  &E  &I  &K  &E  &Y  &M  &U  &N  &O\\  
 P  &L  &E  &N  &G  &B  &C  &R  &W  &J  &R  &A\\  
 K  &I  &C  &T  &O  &G  &F  &E  &B  &S  &O  &E\\  
 Y  &P  &T  &A  &W  &N  &O  &F  &Q  &X  &O  &U\\  
 C  &S  &A  &G  &C  &U  &A  &D  &R  &A  &D  &O\\  
 I  &E  &N  &O  &T  &J  &N  &N  &D  &N  &B  &K\\  
 R  &L  &G  &N  &Z  &O  &N  &C  &B  &E  &U  &N\\  
 C  &D  &U  &O  &P  &M  &Z  &Y  &X  &J  &D  &W\\  
 U  &A  &L  &U  &A  &B  &F  &E  &L  &O  &R  &T\\  
 L  &Q  &O  &T  &R  &I  &A  &N  &G  &U  &L  &O\\  
 O  &A  &U  &U  &N  &B  &I  &V  &B  &D  &U  &H\\  
 };
\end{tikzpicture}
%\end{center}

A buscar: 
\begin{itemize}
\item PENTAGONO
\item CUADRADO
\item CIRCULO
\item TRIANGULO
\item ELIPSE
\item RECTANGULO
\end{itemize}

\end{document}

当我这样做时。pdf 中带有 Q 的行总是显示双线。我浏览了一下,但没有找到任何关于如何解决它的提示。

该行中有一张结果图:

靠近 Q 字母

任何帮助我都非常感谢。

J.P

答案1

您需要定义节点锚点,例如anchor=center

\documentclass[tikz, margin=3mm]{standalone}
\usetikzlibrary{matrix}

\begin{document}
    \begin{tikzpicture}
\matrix (m) [matrix of nodes, 
             nodes = {draw,thin, minimum size=1.6cm, anchor=center},
             draw, 
             row sep=-\pgflinewidth, 
             column sep=-\pgflinewidth]
 {
 D  &G  &W  &P  &V  &W  &N  &J  &A  &J  &V  &O\\
 I  &E  &R  &E  &I  &K  &E  &Y  &M  &U  &N  &O\\
 P  &L  &E  &N  &G  &B  &C  &R  &W  &J  &R  &A\\
 K  &I  &C  &T  &O  &G  &F  &E  &B  &S  &O  &E\\
 Y  &P  &T  &A  &W  &N  &O  &F  &Q  &X  &O  &U\\
 C  &S  &A  &G  &C  &U  &A  &D  &R  &A  &D  &O\\
 I  &E  &N  &O  &T  &J  &N  &N  &D  &N  &B  &K\\
 R  &L  &G  &N  &Z  &O  &N  &C  &B  &E  &U  &N\\
 C  &D  &U  &O  &P  &M  &Z  &Y  &X  &J  &D  &W\\
 U  &A  &L  &U  &A  &B  &F  &E  &L  &O  &R  &T\\
 L  &Q  &O  &T  &R  &I  &A  &N  &G  &U  &L  &O\\
 O  &A  &U  &U  &N  &B  &I  &V  &B  &D  &U  &H\\
 };
    \end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

正如我的评论所指出的,问题在于Q具有其他大写字母所缺乏的深度。要解决这个问题,您可以设置text depth=0pt。通过这种方法,字母的基线可以统一保留。

尽管这个 MWE 不需要,但薛定谔的猫指出,它 \usetikzlibrary{positioning}提供了其他类似的选项,text depth可能在类似问题中很有用。

\documentclass[parskip]{scrartcl}
\usepackage[margin=10mm]{geometry}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{matrix}
\begin{document}

\pgfdeclarelayer{background}
\pgfsetlayers{background,main}

%\begin{center}
\begin{tikzpicture}
\matrix (magic) [matrix of nodes, style={font=\ttfamily}, nodes={minimum width=1.6cm,minimum 
 height=1.6cm, text depth=0pt, draw,thin},draw, row sep=-\pgflinewidth, column sep=-\pgflinewidth]
 { 
 D  &G  &W  &P  &V  &W  &N  &J  &A  &J  &V  &O\\  
 I  &E  &R  &E  &I  &K  &E  &Y  &M  &U  &N  &O\\  
 P  &L  &E  &N  &G  &B  &C  &R  &W  &J  &R  &A\\  
 K  &I  &C  &T  &O  &G  &F  &E  &B  &S  &O  &E\\  
 Y  &P  &T  &A  &W  &N  &O  &F  &Q  &X  &O  &U\\  
 C  &S  &A  &G  &C  &U  &A  &D  &R  &A  &D  &O\\  
 I  &E  &N  &O  &T  &J  &N  &N  &D  &N  &B  &K\\  
 R  &L  &G  &N  &Z  &O  &N  &C  &B  &E  &U  &N\\  
 C  &D  &U  &O  &P  &M  &Z  &Y  &X  &J  &D  &W\\  
 U  &A  &L  &U  &A  &B  &F  &E  &L  &O  &R  &T\\  
 L  &Q  &O  &T  &R  &I  &A  &N  &G  &U  &L  &O\\  
 O  &A  &U  &U  &N  &B  &I  &V  &B  &D  &U  &H\\  
 };
\end{tikzpicture}
%\end{center}

A buscar: 
\begin{itemize}
\item PENTAGONO
\item CUADRADO
\item CIRCULO
\item TRIANGULO
\item ELIPSE
\item RECTANGULO
\end{itemize}

\end{document}

在此处输入图片描述

相关内容