LaTeX callouts包箭头参数调整:添加白阴影与标注框黑边框
LaTeX callouts包标注优化:箭头加白阴影、标注框加黑边框
问题描述
我使用LaTeX的callouts包为图片添加标注,工具本身表现良好,但希望实现两个优化:
- 给标注箭头添加白色阴影,提升在复杂背景上的可见度
- 让标注数字(如2.2)的窗口带有黑色边框
当前效果
箭头为纯黑色,标注窗口仅白色背景无边框,在图片背景下辨识度不足。
期望效果
箭头带有白色阴影,标注窗口有黑色边框,标注元素在图片上更清晰醒目。
现有代码
\documentclass[12pt,a4paper,notitlepage, twoside]{article} \usepackage[utf8]{inputenc} \usepackage{tabulary} \usepackage[OT4]{polski} \usepackage[polish]{babel} \usepackage[export]{adjustbox} \usepackage[T1]{fontenc} \usepackage{graphicx} %\usepackage{nicematrix,tikz} \usepackage[table]{xcolor} \usepackage[margin = 2cm, top=2cm, bottom=2cm, left=2.5cm, right=2.5cm, headsep=1cm]{geometry} \usepackage{fancyhdr} \pagestyle{fancy} \usepackage{hyperref} \usepackage{caption} \usepackage[text= black, background = white , arrow = black ]{callouts} \usepackage{tikz} % 绘制箭头、图片标注 \setcounter{tocdepth}{4} \setcounter{secnumdepth}{4} \usepackage{multirow} \usepackage{nicematrix} \usepackage{calc} \usepackage[export]{adjustbox} \usepackage{enumitem} \begin{figure} \centering \begin{annotate}{\includegraphics[width=0.9\textwidth]{zdj3.png}}{0.9} %\helpgrid[black] \callout{-6.2,3}{2.2}{-6.2,0.8} \callout{-5,3}{2.3}{-5,0.8} \callout{-4,3}{2.4}{-4,0.8} \callout{-2,3}{2.5}{-2,0.8} \end{annotate} \caption{FESTO} \label{fig:first} \end{figure}
解决方案
callouts包基于TikZ实现,我们可以通过重定义TikZ样式来实现需求:
- 给箭头添加白色阴影:先绘制一层粗白色箭头作为阴影,再叠加黑色箭头
- 给标注窗口添加黑色边框:修改标注框的样式,添加黑色描边
修改后的完整代码如下:
\documentclass[12pt,a4paper,notitlepage, twoside]{article} \usepackage[utf8]{inputenc} \usepackage{tabulary} \usepackage[OT4]{polski} \usepackage[polish]{babel} \usepackage[export]{adjustbox} \usepackage[T1]{fontenc} \usepackage{graphicx} %\usepackage{nicematrix,tikz} \usepackage[table]{xcolor} \usepackage[margin = 2cm, top=2cm, bottom=2cm, left=2.5cm, right=2.5cm, headsep=1cm]{geometry} \usepackage{fancyhdr} \pagestyle{fancy} \usepackage{hyperref} \usepackage{caption} \usepackage[text= black, background = white , arrow = black ]{callouts} \usepackage{tikz} % 绘制箭头、图片标注 % 重定义callouts的TikZ样式,实现需求 \tikzset{ % 箭头带白色阴影:先画白色粗箭头,再画黑色细箭头 callout arrow/.style={ preaction={draw=white, line width=2pt}, draw=black, line width=1pt, ->, }, % 标注框加黑色边框 callout box/.style={ fill=white, draw=black, thick, inner sep=2pt, } } \setcounter{tocdepth}{4} \setcounter{secnumdepth}{4} \usepackage{multirow} \usepackage{nicematrix} \usepackage{calc} \usepackage[export]{adjustbox} \usepackage{enumitem} \begin{figure} \centering \begin{annotate}{\includegraphics[width=0.9\textwidth]{zdj3.png}}{0.9} %\helpgrid[black] \callout{-6.2,3}{2.2}{-6.2,0.8} \callout{-5,3}{2.3}{-5,0.8} \callout{-4,3}{2.4}{-4,0.8} \callout{-2,3}{2.5}{-2,0.8} \end{annotate} \caption{FESTO} \label{fig:first} \end{figure}
关键说明
preaction={draw=white, line width=2pt}:在黑色箭头之前绘制一层白色粗箭头,形成阴影效果,让箭头在深色背景上更突出draw=black:给标注窗口添加黑色边框,thick控制边框粗细,可根据需求调整- 样式定义需放在导入
tikz包之后,确保能覆盖callouts的默认样式
内容的提问来源于stack exchange,提问作者Anna S
相关产品推荐
相关产品推荐

