在包含 tikz 图片和 minipage 环境的 ntheorem 环境中获取粗体文本

在包含 tikz 图片和 minipage 环境的 ntheorem 环境中获取粗体文本

ntheorem我在环境tikz中将图片放在阿拉伯语文本旁边,得到了粗体文本minipage

从让我获取常规文本中删除AutoFakeBold=1.05选项\setmaincommand,但我不再能够获取粗体文本,然后我需要为定理标题定义粗体文本,\theoremheaderfont{\bfseries\sffamily}这会导致相同类型的错误。

附言:升级之前我没有遇到这个问题Tex Live 2015,并且我不记得对我的代码做过任何更改。

这是我的代码。

\documentclass[12pt,a4paper]{article}
\usepackage{amsmath,amsfonts,mathrsfs,stmaryrd,euscript,fourier}
\usepackage{enumitem}
\usepackage{tikz}
\usepackage{chngcntr}
\usepackage[thmmarks]{ntheorem}
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%~~~                            SETTING ARABIC LANGUAGE                         ~~~
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\usepackage[no-math]{fontspec}
\usepackage[quiet,nolocalmarks]{polyglossia}
\usepackage{xltxtra}
\usepackage{url}
\usepackage{setspace}
\setdefaultlanguage[calendar=gregorian,hijricorrection=1,locale=mashriq,numerals=maghrib]{arabic} 
\setotherlanguage[variant=british]{english}
\setmainfont[Script=Arabic,
             Numbers=Uppercase,
             Scale=1.3, 
             AutoFakeSlant=-0.2,
             ItalicFont=AnotherArabicFont Slanted,
             AutoFakeBold=1.05
             ]{Scheherazade}
\setsansfont[Scale=1.0,
             AutoFakeSlant=-0.2,
             ItalicFont=AnotherArabicFont Slanted,
             AutoFakeBold=1.0,
             Numbers=Lowercase]{Arial}                           
\setmonofont[Scale=1.0,Ligatures=NoCommon]{Linux Libertine}   

\newfontfamily\englishfont[Scale=1.05,                     
                           AutoFakeSlant=-0.2,
                           AutoFakeBold=1.05
                          ]{Scheherazade}
%_______________________ End of Arabic languuage Settings __________________________%
  {\theoremstyle{break}
   \theorembodyfont{\upshape}
   \newtheorem{exo}{تمرين}
   }
\newcommand\bookcolor{cyan}
%::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
%:::::                                    BEGIN OF DOCUMENT                                       :::::
%::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
\begin{document}

\begin{exo}~\\
    \begin{minipage}{.54\linewidth}
        نص عربي
    \end{minipage}
    \begin{minipage}{.42\linewidth}
        \selectlanguage{english}
        \begin{center}
            \begin{tikzpicture}[domain=-1.5:15.5,scale=.65]\footnotesize    
                \pgfmathsetmacro{\xone}{-5}
                \pgfmathsetmacro{\xtwo}{ 5}
                \pgfmathsetmacro{\yone}{-4}
                \pgfmathsetmacro{\ytwo}{5}
                % grid
                \draw[step=.5 cm,\bookcolor!60,very thin] (\xone cm,\yone cm) grid (\xtwo cm,\ytwo cm);
                \draw[step=1 cm,\bookcolor!80,very thin] (\xone cm,\yone cm) grid (\xtwo cm,\ytwo cm);
                % ticks
                \foreach \x/\xtext in {-3/-3,-2/-2,-1/-1,1/1,2/2,3/3,4/4}
                \draw[\bookcolor,xshift=\x cm] (0,.1) -- (0,-0.1) node[below] {$\xtext$};
                \foreach \y/\ytext in {-3/-3,-2/-2,-1/-1,1/1,2/2,3/3,4/4}
                \draw[\bookcolor, yshift=\y cm] (.1,0) -- (-.1,0) node[left] {$\ytext$};
            \end{tikzpicture}
        \end{center}
        \selectlanguage{arabic}
    \end{minipage}
\end{exo}
نص عربي
\begin{exo}~\\
    \begin{minipage}{.50\linewidth}
        \begin{enumerate}
            \item سؤال أول 
            \item سؤال ثاني
        \end{enumerate}
    \end{minipage} \vline\hspace{.5cm}
    \begin{minipage}{.50\linewidth}
        \begin{enumerate}
            \item سؤال أول 
            \item سؤال ثاني
        \end{enumerate}
    \end{minipage}
\end{exo}
% Second Example
\begin{minipage}{.54\linewidth}
    نص عربي
\end{minipage}
\begin{minipage}{.42\linewidth}
    \selectlanguage{english}
    \begin{center}
        \begin{tikzpicture}[domain=-1.5:15.5,scale=.65]\footnotesize    
            \pgfmathsetmacro{\xone}{-5}
            \pgfmathsetmacro{\xtwo}{ 5}
            \pgfmathsetmacro{\yone}{-4}
            \pgfmathsetmacro{\ytwo}{5}
            % grid
            \draw[step=.5 cm,\bookcolor!60,very thin] (\xone cm,\yone cm) grid (\xtwo cm,\ytwo cm);
            \draw[step=1 cm,\bookcolor!80,very thin] (\xone cm,\yone cm) grid (\xtwo cm,\ytwo cm);
            % ticks
            \foreach \x/\xtext in {-3/-3,-2/-2,-1/-1,1/1,2/2,3/3,4/4}
            \draw[\bookcolor,xshift=\x cm] (0,.1) -- (0,-0.1) node[below] {$\xtext$};
            \foreach \y/\ytext in {-3/-3,-2/-2,-1/-1,1/1,2/2,3/3,4/4}
            \draw[\bookcolor, yshift=\y cm] (.1,0) -- (-.1,0) node[left] {$\ytext$};
        \end{tikzpicture}
    \end{center}
    \selectlanguage{arabic}
\end{minipage}
\end{document}

在此处输入图片描述

答案1

这是一个更简单的例子:

\documentclass{article}
\usepackage{tikz}
\usepackage[thmmarks]{ntheorem}
\usepackage[no-math]{fontspec}
\usepackage[nolocalmarks]{polyglossia}
\setdefaultlanguage{arabic}
\setotherlanguage{english}
\setmainfont{Noto Kufi Arabic}[%
  Script=Arabic,
  AutoFakeBold=1.05]
\newfontfamily\englishfont{Noto Serif}

\theorembodyfont{\normalfont\upshape}
\newtheorem{exo}{تمرين}

\begin{document}
\begin{exo}~\\
  \begin{minipage}{.54\linewidth}
    نص عربي
  \end{minipage}
  \begin{minipage}{.42\linewidth}
    \selectlanguage{english}
    \begin{center}
      \begin{tikzpicture}
        \node {ABC};
      \end{tikzpicture}
    \end{center}
  \end{minipage}
\end{exo}
\end{document}

更加简约

这可能不是真正的最小化,因为我没有完全消除我可能试图消除的所有内容。但它肯定比原始示例更接近可用的最小化。

请注意,在之前添加一个字母tikzpicture会阻止定理主体以粗体显示。

所以我认为这里的基本问题是尝试在单个链接上混合 LTR 和 RTL 排版。

例如,如果你使用

\begin{exo}~\\
  \selectlanguage{english}%
  \begin{minipage}{.42\linewidth}%
    \begin{center}
    \begin{tikzpicture}
      \node {ABC};
    \end{tikzpicture}
    \end{center}
  \end{minipage}
  \selectlanguage{arabic}
  \begin{minipage}{.54\linewidth}
    نص عربي
  \end{minipage}
\end{exo}

然后字体就会正确显示(尽管显然东西在错误的位置)。

您可能需要考虑bidi如何在单个文档中正确管理 RTL 和 LTR 排版的混合。

但是,即便如此,我不确定是否可以将它们混合在一条线上。(但我对此并不了解 - 我只是无法快速看到任何东西。)

相关内容