我想在文本中画一条线,就像这张照片。无需颜色,全部为白底黑字。字母的相对位置必须保持不变 - 不允许移动。
我尝试过使用表格的解决方案,但由于似乎没有办法动态地添加/删除单元格之间的垂直线,所以我不得不放弃。
很高兴得到任何帮助。
答案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}