如何在字母之间画线

如何在字母之间画线

我想在文本中画一条线,就像这张照片。无需颜色,全部为白底黑字。字母的相对位置必须保持不变 - 不允许移动。

我尝试过使用表格的解决方案,但由于似乎没有办法动态地添加/删除单元格之间的垂直线,所以我不得不放弃。

很高兴得到任何帮助。

答案1

一些参数调整tabular

\documentclass{article}
\usepackage{array}

\newcommand{\lb}[1]{\makebox[1em]{#1}}

\begin{document}

\begingroup
\setlength{\tabcolsep}{0pt}
\setlength{\extrarowheight}{10pt}
\renewcommand{\arraystretch}{0.5}
\begin{tabular}{*{6}{c}}
\lb{G} & \multicolumn{1}{|c}{\lb{A}} & \lb{A} & \lb{T} & \lb{T} & \lb{C} \\
\cline{2-5}
\lb{C} & \lb{T} & \lb{T} & \lb{A} & \multicolumn{1}{c|}{\lb{A}} & \lb{G}
\end{tabular}
\endgroup

\end{document}

在此处输入图片描述

答案2

这是一个解决方案pstricks:它包括将每个字母制作成一个带有 12 个节点的框,并使用以下命令连接相关节点\ncangle

\documentclass[12pt, x11names]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{microtype} 
\usepackage{pst-node}
\usepackage{auto-pst-pdf}

\begin{document}

\begin{postscript}
\sffamily\Large
G\psDefBoxNodes{T}{\,A}\,A\,T\,T\,C \\
C\,T\,T\,A\,A\,\psDefBoxNodes{B}{G}
\ncangle[angleA=-90, angleB=90, armB=1.75ex, linewidth=1.2pt, linejoin=1, linecolor=Green4!80]{T:tl}{B:bl}
\end{postscript}

\end{document} 

在此处输入图片描述

答案3

并基于 TikZ 库矩阵的使用使用 TikZ 解决方案:

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

\begin{document}
    \begin{tikzpicture}
\matrix (m) [matrix of math nodes,inner xsep=1pt,inner ysep=2pt,row sep=0pt]
{
G   &   A   &   A   &   T   &   T   &   C   \\
C   &   T   &   T   &   A   &   A   &   G   \\
};
\draw[thick,green]
    ([yshift=-2pt] m-1-1.north east) |- (m-2-5.north east) -- ([yshift=+2pt]m-2-5.south east);
    \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容