
При использовании макроса "\subfigimg" в среде xepersian метки над каждым изображением отсутствуют:
\documentclass[preview]{standalone}
\usepackage{mwe}
\usepackage[table]{xcolor}
\usepackage{xepersian}
\settextfont{XB Zar}
\newcommand{\subfigimg}[3][,]{%
\setbox1=\hbox{\includegraphics[#1]{#3}}% Store image in box
\leavevmode\rlap{\usebox1}% Print image
\rlap{\raisebox{\dimexpr\ht1-1\baselineskip}{\textbf{\color{red}#2}}}% Print label
\phantom{\usebox1}% Insert appropriate spcing
}
\begin{document}
\begin{figure}[htp]
\centering
\begin{tabular}{@{}p{0.33\linewidth}@{\hspace{1mm}}p{0.33\linewidth}@{\hspace{1mm}}p{0.33\linewidth}@{}}
\subfigimg[width=\linewidth]{الف}{example-image-a} &
\subfigimg[width=\linewidth]{ب}{example-image-b} &
\subfigimg[width=\linewidth]{پ}{example-image-c} \\
\end{tabular}
\end{figure}
\end{document}
решение1
Они внизу.
Из-за симметрии должно быть около шести комбинаций (выполненных в правильной последовательности), приводящих к желаемому результату: правое и левое наложение, изображение и текст.
В этой версии сначала размещаются метки, а затем они накладываются на изображения с одинаковыми полями с обеих сторон, а метки располагаются с левой стороны изображения:
МВЭ
\documentclass{article}%[preview]{standalone}
\usepackage{mwe}
\usepackage[table]{xcolor}
\usepackage{xepersian}
\settextfont{XB Niloofar}%Zar}
\newcommand{\subfigimg}[3][,]{%
\setbox1=\hbox{\includegraphics[#1]{#3}}% Store image in box
\leavevmode%{\usebox1}% Print image
{\phantom{\usebox1}}% Insert appropriate spcing
\llap{\raisebox{\dimexpr\ht1-1\baselineskip}{\textbf{\color{red}#2}}}% Print label
\llap{\usebox1}
% \phantom{\usebox1}% Insert appropriate spcing
}
\begin{document}
\large
\begin{figure}[htp]
\centering
\begin{tabular}{@{}p{0.33\linewidth}@{\hspace{1mm}}p{0.33\linewidth}@{\hspace{1mm}}p{0.33\linewidth}@{}}
\subfigimg[width=\linewidth]{الف}{example-image-a} &
\subfigimg[width=\linewidth]{ب}{example-image-b} &
\subfigimg[width=\linewidth]{پ}{example-image-c} \\
\end{tabular}
\end{figure}
\end{document}
Отредактировано для добавления
Ключевым моментом является то, что при xepersian
, это {A}\llap{B}
означает A
, что помещается поверх B
. \rlap
сохраняет нормальное направление потока текста.
Мне нужно что-то похожее, с возможностью размещения текста в левом верхнем (TL), правом верхнем (TR), левом нижнем (BL) или правом нижнем (BR) углу изображения, используя if
операторы. Плюс, с текстом на изображениях я добавил bidicontour
, что делает текст более удобным для чтения.
Вот верхняя правая позиция:
Крупный план:
МВЭ
\documentclass{article}
\usepackage{graphicx}
\usepackage[outline]{bidicontour}%before xepersian
\usepackage[table]{xcolor}
\usepackage{xepersian}
\settextfont{XB Niloofar}
\newcommand\imagea{}
\newcommand\texta{}
\newif\ifcaptionBR
\newif\ifcaptionTR
\newif\ifcaptionBL
\newif\ifcaptionTL
\newcommand\capinit{%
\captionBRfalse
\captionTRfalse
\captionBLfalse
\captionTLfalse
}
\newcommand\capimage[2]{%1=image,2=text,(3=location: global)
\ifcaptionBR%
{#2}\kern-\wd2{#1}
\fi%
\ifcaptionTR%
{\raisebox{\dimexpr\ht1-\baselineskip}{#2}}\kern-\wd2{#1}
\fi%
\ifcaptionBL%
{\phantom{#1}}\llap{#2}\llap{#1}
\fi%
\ifcaptionTL%
{\phantom{#1}}\llap{\raisebox{\dimexpr\ht1-\baselineskip}{#2}}\llap{#1}
\fi%
}
\newcommand\subimg[4]{% 1=width,2=image,3=text, 4=text location command
\renewcommand\imagea{\includegraphics[width=#1]{#2}}
\renewcommand\texta{{\textcolor{red}{\textbf{\bidicontour{yellow}{#3}}}}}
\setbox1=\hbox{\imagea}
\setbox2=\hbox{\texta}
\capinit
#4
\capimage{\imagea}{\texta}
}
\bidicontourlength{0.8pt}
\begin{document}
%
%\subimg{0.30\linewidth}{example-image-a}{الف}{\captionTLtrue}
%
%
%\subimg{0.30\linewidth}{example-image-a}{الف}{\captionBLtrue}
%
%
%\subimg{0.30\linewidth}{example-image-a}{الف}{\captionTRtrue}
%
%
%
%
%\subimg{0.30\linewidth}{example-image-a}{الف}{\captionBRtrue}
\begin{figure}[htp]
\centering
\begin{tabular}{@{}p{0.33\linewidth}@{\hspace{1mm}}p{0.33\linewidth}@{\hspace{1mm}}p{0.33\linewidth}@{}}
\subimg{0.98\linewidth}{example-image-a}{الف}{\captionTRtrue} &
\subimg{0.98\linewidth}{example-image-b}{ب}{\captionTRtrue} &
\subimg{0.98\linewidth}{example-image-c}{پ}{\captionTRtrue} \\
\end{tabular}
\end{figure}
\end{document}
Это упражнение по группам симметрии и «рукости» (2-осевых) отражений. Очень интересно.