GithubHelp home page GithubHelp logo

kvafa / bidi Goto Github PK

View Code? Open in Web Editor NEW
6.0 4.0 1.0 1.27 MB

Bidirectional typesetting in plain TeX and LaTeX, using XeTeX

Home Page: https://ctan.org/pkg/bidi

TeX 99.92% Shell 0.08%
bidi bidirectional bidirectional-typesetting left-to-right plain-tex right-to-left tex typography xetex bidi-typesetting

bidi's Introduction

The bidi Package

The bidi package provides a convenient interface for typesetting bidirectional texts with plain TeX and LaTeX.

The package includes adaptations for use with many other commonly-used packages.

The official versions of the package are released on CTAN.

Using the Package

The following example illustrates how the package can be used.

\documentclass{article}
\usepackage{bidi}
\setRTL
\begin{document}
...
\end{document}

Reporting Issues

If you think that you have found an issue in the package, please use the package issue tracker to report it.

Discussions

You may also have conversations, ask questions and post answers without opening issues using the Discussions space.

Announcements

The announcements for the new releases of the package will also appear in the Discussions space under the Announcements category.

bidi's People

Contributors

kvafa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

udi-fogiel

bidi's Issues

problem in tableofcontents, subsections numbered

Brief outline of the issue

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode


\documentclass[10pt]{beamer}

\usepackage[RTLdocument=on]{bidi}

\setbeamertemplate{section in toc}[sections numbered]
\setbeamertemplate{subsection in toc}[subsections numbered]

\begin{document}
\begin{frame}{contents}
\tableofcontents
\end{frame}

\section{test for title section}

\subsection{test for title subsection}
\begin{frame}{title}
test bidi version=\bidiversion
\end{frame}

\end{document}

Expected behavior

solve: add in beamerbaseauxtemplates-xetex-bidi.def

\bidi@csundef{beamer@@tmpop@section in toc@sections numbered}

\bidi@csundef{beamer@@tmpop@subsection in toc@sections numbered}

\bidi@csundef{beamer@@tmpop@subsubsection in toc@sections numbered}

\defbeamertemplate{section in toc}{sections numbered}{%
  \leavevmode%
  % prevents the period to be printed with the first/last section option
  \ifnum\beamer@tempcount>\beamer@toclastsection
  \else
  \ifnum\beamer@tempcount>0
    \inserttocsectionnumber.
  \fi\fi%
  \inserttocsection\par%
}

\defbeamertemplate{subsection in toc}{sections numbered}
{\leavevmode\bidi@beamer@leftskip=2.5em\inserttocsubsection\par}

\defbeamertemplate{subsubsection in toc}{sections numbered}
{\leavevmode\normalsize\usebeamerfont{subsection in toc}\bidi@beamer@leftskip=3.5em\usebeamerfont{subsubsection in toc}%
  \inserttocsubsubsection\par}

\bidi@csundef{beamer@@tmpop@section in toc@subsections numbered}

\bidi@csundef{beamer@@tmpop@subsection in toc@subsections numbered}

\bidi@csundef{beamer@@tmpop@subsubsection in toc@subsections numbered}

\defbeamertemplate{section in toc}{subsections numbered}
{\leavevmode\bidi@beamer@leftskip=2em\inserttocsection\par}

\defbeamertemplate{subsection in toc}{subsections numbered}
{\leavevmode\bidi@beamer@leftskip=2em\rlap{\hskip-2em\inserttocsectionnumber.\inserttocsubsectionnumber}\inserttocsubsection\par}

\defbeamertemplate{subsubsection in toc}{subsections numbered}
{\leavevmode\normalsize\usebeamerfont{subsection in
    toc}\bidi@beamer@leftskip=3em\usebeamerfont{subsubsection in toc}%
  \inserttocsubsubsection\par}

Log and PDF files

beamer_toc_numbered.pdf

lettrine-xetex-bidi.def outdated

Brief outline of the issue

lettrine-xetex-bidi.def patches an old definition of the internal command @lettrine of the lettrine package leading to issues with the current implementation.

Rather than updating the patched definition in lettrine-xetex-bidi.def, I suggest to include the RTL flag mechanism for the \parshape command in the original definition of @lettrine. I have an experimental version of lettrine.sty, appended here. Please let me know
lettrine.sty.gz
if something like that would enable to get rid of lettrine-xetex-bidi.def?

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode


\documentclass{article}            % or some other class

  % Any packages other than the bidi package must be loaded here
\usepackage{lettrine}

  % The bidi package must be loaded as the last package
\usepackage{bidi}

  % Any preamble code goes here
  
\begin{document}

 \lettrine{V}{oici} un exemple 

\end{document}

Expected behavior

Log and PDF files

! Undefined control sequence.
\LettrineFont \L@initial

Wrong place of section and subsection in top two-parted mini frame in Beamer themes AnnArbor, CambridgeUS, and EastLansing

Brief outline of the issue

Wrong places of section and subsection in top two-parted mini frame in Beamer themes AnnArbor, CambridgeUS, and EastLansing

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode

\documentclass[usenames,dvipsnames,t]{beamer}%,dvipsnames

\usetheme{AnnArbor}
%\usetheme{CambridgeUS}
%\usetheme{EastLansing}

\usepackage{listings}
\colorlet{bakcolor}{yellow!15}

\usepackage{xepersian}
\settextfont{Yas}

\lstset{
	language=Matlab,
	backgroundcolor=\color{bakcolor}, 
	linewidth=\textwidth ,
	frameround=ttff,
	frame=trBL,
	basicstyle=\ttfamily\footnotesize,
	keywordstyle=\color{blue}\bfseries,
	%	framexleftmargin=-1mm, frame=shadowbox, rulesepcolor=\color{red},
	stringstyle=\ttfamily\color{Magenta}, % typewriter type for strings
	commentstyle=\color{Green},
	lineskip = .5pt,
	numberstyle=\scriptsize, 
	numbersep=7pt,
	numbers=left,
	%numbers=none,
	captionpos=t, 
	breaklines=true,
	showstringspaces=true,
	xleftmargin=30pt,
	xrightmargin=30pt}

\author{نویسنده}
\title{تست بیمر با زیپرشین}
\date{\today}

\begin{document}
\maketitle

\begin{frame}{فهرست}
	\tableofcontents
\end{frame}

\section{بخش1}
\subsection{زیربخش}

\begin{frame}{\secname}
درود
	\begin{theorem}
		فیثاغورث
		\begin{equation}\label{eq:1}
				a^2+b^2 = c^2
		\end{equation}
		\begin{itemize}
			\item یک
			\item دو
			\item سه
		\end{itemize}
	\end{theorem}
\begin{enumerate}
	\item یک
	\item دو
	\item سه
\end{enumerate}
\end{frame}

\begin{frame}[fragile]{لیستینگز درون بلوک}%
	در اینجا کد متلب وارد می کنیم
\begin{block}{کد متلب رسم تابع سینوسی}
\setLTR
\begin{lstlisting}[captiondirection=RTL,caption={رسم نمودار سینوسی}]
%============================
%===  Test Program ==========
clc
clear 
close all
t=0:0.1:2*pi;
y=sin(t);
plot(t,y)
title('sin(t)')
\end{lstlisting}
\end{block}
\end{frame}
\section{بخش2}
\subsection{زیر بخش 2}
\begin{frame}[fragile]{لیستینگز خارج از بلوک}
\setLTR
\begin{lstlisting}[captiondirection=RTL,caption={رسم نمودار سینوسی}]
%============================
%===  Test Program ==========
clc
clear 
close all
t=0:0.1:2*pi;
y=sin(t);
plot(t,y)
title('sin(t)')
\end{lstlisting}
\end{frame}
\section{بخش3}
\subsection{زیر بخش 3}
\begin{frame}{تست پانویس و زیرنویس در داخل بلوک}
\begin{block}{\textbf{تست   \lr{footnote} در بلوک}}
\begin{itemize}
\item			یک
\item			دو\footnote{دو}
\end{itemize}
\end{block}

\begin{block}{\textbf{تست \lr{LTRfootnote} در بلوک}}
\begin{itemize}
\item			یک
\item			دو
\LTRfootnote{two}
\end{itemize}
\end{block}
\end{frame}


\end{document}

Expected behavior

In the two-parted top mini frame ,section should be place left side of right part and subsection should be place right side of the left part!

Log and PDF files

beamer_xe_test1.pdf

problem place navigation symbols for plain frame

Brief outline of the issue

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode


\documentclass{beamer}

\usetheme{PaloAlto}

\usepackage[RTLdocument=on]{bidi}

\title{test}
\author{m.ahmadi}

\begin{document}

\begin{frame}[plain]
test bidi version=\bidiversion

probleam place navigation symbols for plain frame
\end{frame}

\end{document}

Expected behavior

Log and PDF files

place-navigation-plain-bidi.pdf

\XeTeX and \XeLaTeX "already defined"

Brief outline of the issue

Lines 140-144 of latex-xetex-bibdi.def

%\bidi@newrobustcmd*{\XeTeX}{\LR{\leavevmode$\smash{\hbox{X\lower.5ex
%  \hbox{\kern-.125em\bidi@reflect@box{E}}\kern-.1667em \TeX}}$}}
%\bidi@newrobustcmd*{\XeLaTeX}{\LR{\leavevmode$\smash{\hbox{X\lower.5ex
%  \hbox{\kern-.125em\bidi@reflect@box{E}}\kern-.1667em \LaTeX}}$}}

are causing an error message for me of the type,

[\XeTeX | \XeLaTeX ] already defined 

I have a multilingual document using a special journal style and class that's pretty stable (HSSA), so it's hard for me to give an MWE. I've eliminated the obvious things: xltextra, fontspec. I'm not using arabtex. I am using polyglossia with other languages (greek, sanskrit, chinese). This issue arises when I add

\setotherlanguage{persian}
\newfontfamily\persianfont{Noto Sans Arabic}

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode

\documentclass{hssa}
\usepackage{hssa}
%
\setotherlanguage{persian}  % this line alone produces the error message
%\newfontfamily\persianfont{Noto Sans Arabic}

\begin{document}
Hello world!
\end{document}

Expected behavior

Log and PDF files

sarma-kkk.log
sarma-kkk.pdf

تداخل نوار عنوان فریم با زیربخش

Brief outline of the issue

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode


\documentclass{beamer}
\usetheme{Warsaw}
\useoutertheme{tree} %smoothtree, smoothbars
\usepackage[RTLdocument]{bidi} 

\title{title}
\author{M.Ahmadi}
\begin{document}

\section{section}
\subsection{joy}
\begin{frame}{frametitle}
test
\end{frame}

\end{document}

Expected behavior

درود جناب وفا، عنوان فریم به نظر میرسد که فاصله عمودی منفی دارد در فایل
beamerouterthemeshadow-xetex-bidi.def

Log and PDF files

test_Warsaw_tree.pdf
test_Warsaw_tree.log

The problem of creating a blank page and not working \nobidilogo

Brief outline of the issue

Check/indicate

Minimal example showing the issue

% xetex test

\input bidi
\nobidilogo
test
\bye



Expected behavior

Log and PDF files

test.log
test.pdf

unnumbered part in article is not correctly aligned.

Brief outline of the issue

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode
\documentclass{article}
\usepackage[RTLdocument]{bidi}
\begin{document}
\part{Test}
\part*{Test}
\end{document}

Expected behavior

Both titles should be aligned the same.

Should be fixed by #28

problem in sidebar canvas

Brief outline of the issue

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode


\documentclass{beamer}

\usetheme{PaloAlto}

\usepackage[RTLdocument=on]{bidi}

\setbeamersize{sidebar width right=0.4cm}
\setbeamertemplate{sidebar canvas right}[horizontal shading][left=cyan!70,right=cyan!70]

\title{test sidebar canvas with bidi}
\author{M.Ahmadi}

\begin{document}

\begin{frame}{title}
test bidi version=\bidiversion
\end{frame}

\end{document}

Expected behavior

Log and PDF files

sidebar-canvas-bidi.pdf

problem font number in latinitems

Brief outline of the issue

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode


\documentclass[10pt]{beamer}

\usepackage{xepersian}
\settextfont{Yas}
\setdigitfont{Yas}
\setlatintextfont{Times New Roman}

\begin{document}
\begin{frame}{فونت اعداد محیط لاتین در محیط لیست}

تست
\begin{itemize}
\begin{latinitems}
\item[10] latinitems itemize
\end{latinitems}
\end{itemize}
%+++++++
\begin{enumerate}
\begin{latinitems}
\item latinitems enumerate
\end{latinitems}
\end{enumerate}
%++++++
\begin{latin}
\begin{enumerate}
\item latin enumerate
\end{enumerate}
%
\begin{itemize}
\item[20] latin itemize
\end{itemize}
\end{latin}

\end{frame}

\end{document}

Expected behavior

Log and PDF files

latinitems-xep1213.pdf

problem in caption name own line

Brief outline of the issue

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode


\documentclass[10pt]{beamer}

\usepackage[RTLdocument=on]{bidi}

\setbeamertemplate{caption}[caption name own line]

\begin{document}

\begin{frame}{caption name own line}
test bidi version=\bidiversion
\begin{table}
\caption{test title}
\begin{tabular}{cc}
1&2\\
3&4
\end{tabular}
\end{table}
\end{frame}

\end{document}

Expected behavior

solve with add beamerbaseauxtemplates-xetex-bidi.def

\bidi@csundef{beamer@@tmpop@caption@caption name own line}

\defbeamertemplate{caption}{caption name own line}
{%
  \begin{minipage}{\textwidth}
    \bidi@beamer@ragged%
  {\leavevmode%
    \usebeamercolor[fg]{caption name}%
    \usebeamerfont*{caption name}%
    \insertcaptionname%
    }\\
      \insertcaption
    \end{minipage}
}

Log and PDF files

bidi-caption-beamer.pdf

Problem in beamerbutton

Brief outline of the issue

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode


\documentclass{beamer}

\usepackage[RTLdocument=on]{bidi}

\begin{document}

\begin{frame}[label=frame1]
test
\end{frame}

\begin{frame}
test
\hyperlink{frame1}{\beamerbutton{Click}}
\end{frame}
\end{document}

Expected behavior

Log and PDF files

beamer_button_xep.pdf
beamer_button_xep.log

\leftline, \rightline and \centerline should be robust.

Brief outline of the issue

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode
\documentclass{article} 
\usepackage{bidi}
\begin{document}
\meaning\leftline

\meaning\rightline

\meaning\centerline
\end{document}

Problem in beamer background with bidi

Brief outline of the issue

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode

\documentclass{beamer}

\usepackage[RTLdocument=on]{bidi}

%\setbeamertemplate{background}{\includegraphics[width=\paperwidth,height=\paperheight]{example-image-a.png}}
\setbeamertemplate{background}[grid][color=red]

\begin{document}

\begin{frame}{title}{subtitle}
test background
\end{frame}

\end{document}

bidi_background.log
bidi_background.pdf

xleftmargin and xrightmagin of listings package does not work correctly In Beamer with Xepersian and listings package, with rectangles and circles innertheme

Brief outline of the issue

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode


\documentclass[usenames,dvipsnames,t]{beamer}

%\useinnertheme{rounded}
\useinnertheme{circles}
%\useinnertheme{rectangles}

\usepackage{listings}
\colorlet{bakcolor}{yellow!15}
\lstset{
	language=Matlab,
	backgroundcolor=\color{bakcolor}, 
	linewidth=\textwidth ,
	frameround=ttff,
	frame=trBL,
	basicstyle=\ttfamily\footnotesize,
	keywordstyle=\color{blue}\bfseries,
%	framexleftmargin=-1mm, frame=shadowbox, rulesepcolor=\color{red},
	stringstyle=\ttfamily\color{Magenta}, % typewriter type for strings
	commentstyle=\color{Green},
	lineskip = 0pt,
	numberstyle=\scriptsize, 
	numbersep=7pt,
	numbers=left,
	%numbers=none,
	captionpos=t, 
	breaklines=true,
	showstringspaces=true,
	xleftmargin=60pt,
	xrightmargin=60pt}


\usepackage{xepersian}
\settextfont{Yas}

\begin{document}
	
\begin{frame}[fragile]{لیستینگز}%
	در اینجا کد متلب وارد می کنیم
\begin{block}{کد متلب}
\begin{latin}
\begin{lstlisting}
%============================
%===  Test Program ==========
%============================
clc
clear 
close all
t=0:0.1:2*pi;
y=sin(t);
plot(t,y)
\end{lstlisting}
\end{latin}
\end{block}
\end{frame}


\begin{frame}[fragile]{لستینگز بدون بلاک}
\begin{latin}
\begin{lstlisting}
%============================
%===  Test Program ==========
%============================
clc
clear 
close all
t=0:0.1:2*pi;
y=sin(t);
plot(t,y)
\end{lstlisting}
\end{latin}
\end{frame}

\end{document}

Expected behavior

listings should has same behavior In Block and outside Block.

Log and PDF files

bidi_listings.pdf
bidi_listings.log

disable bidi's custom pdf properties

Brief outline of the issue

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode

\documentclass{article}      
\usepackage{bidi}
  
\begin{document}
  Hello!
\end{document}

Problem

The pdf and xdv produced by the minimal example contains in it the line
BIDI.Fullbanner(This is the bidi package, Version 39.8 (Release Donald Ervin Knuth) Released August 2, 2023. ),
(it is inserted to the pdf via the docinfo key). It can create problems if the the establishment to whom the pdf is created
does not accept it because of that fact. It would nice to have an appropriate way to disable that.

Today, thanks to LaTeX's new hook management system one can remove with

\documentclass{article}      
\usepackage{bidi}
 \RemoveFromHook{enddocument}[bidi]
\begin{document}
  Hello!
\end{document}

But that removes bidi's enddocument hook entirely, which might be undesirable.

New incompatibility between nicematrix and bidi

Brief outline of the issue

With a recent (2024-06-01-ish) release of LaTeX, use of the bidi package seems to break nicematrix >= 6.28. According to the discussion at Issue latex3/latex2e#1368, this may be because the array package, whose definitions bidi redefines, was recently changed.

I also reported this issue by e-mail to the nicematrix maintainer.

Check/indicate

Minimal example showing the issue

\documentclass{article}

\usepackage{nicematrix}
\usepackage{bidi}

\begin{document}
\begin{NiceTabular}{lllll}
a & b & c & d & e \\
\end{NiceTabular}
\end{document}

Expected behavior

The minimal example should compile, but instead produces the following error message:

(./test.aux) (/opt/texlive/2024/texmf-dist/tex/latex/base/ts1cmr.fd)
! Extra alignment tab has been changed to \cr.
<template> \endtemplate

l.9 \end{NiceTabular}

Log and PDF files

test.log

pause command not working correctly for right-to-left text!

Brief outline of the issue

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode

\documentclass{beamer}
\usepackage[RTLdocument=on]{bidi}

\begin{document}

\begin{frame}
one 
\pause   
two 
\pause  
three 
\end{frame}

\end{document}

Expected behavior

Log and PDF files

test_bidi_pause.pdf
test_bidi_pause.log

problem in tableofcontents, ball unnumbered

Brief outline of the issue

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode


\documentclass[10pt]{beamer}

\usepackage[RTLdocument=on]{bidi}

\setbeamertemplate{sections/subsections in toc}[ball unnumbered]

\begin{document}
\begin{frame}{contents}
\tableofcontents
\end{frame}

\section{test for title section}

\subsection{test for title subsection}
\begin{frame}{title}
test bidi version=\bidiversion
\end{frame}

\end{document}

Expected behavior

solve with add in beamerbaseauxtemplates-xetex-bidi.def

\bidi@csundef{beamer@@tmpop@section in toc@ball unnumbered}

\bidi@csundef{beamer@@tmpop@subsection in toc@ball unnumbered}

\bidi@csundef{beamer@@tmpop@subsubsection in toc@ball unnumbered}

\defbeamertemplate{section in toc}{ball unnumbered}
{\leavevmode\bidi@beamer@leftskip=2.25ex%
  \llap{%
    \raise0.1ex\beamer@usesphere{section number projected}{bigsphere}\kern1.25ex}%
  \inserttocsection\par}

\defbeamertemplate{subsection in toc}{ball unnumbered}
{\leavevmode\bidi@beamer@leftskip=5.1ex\llap{%
    \raise0.2ex\beamer@usesphere{subsection number projected}{smallsphere}\kern1ex}\inserttocsubsection\par}

\defbeamertemplate{subsubsection in toc}{ball unnumbered}
{\leavevmode\normalsize\usebeamerfont{subsection in
    toc}\bidi@beamer@leftskip=8.2ex\usebeamerfont{subsubsection in toc}%
  \llap{%
    \beamer@usesphere{subsubsection number projected}{smallsphere}\kern0.75ex}\inserttocsubsubsection\par}

Log and PDF files

beamer_toc_ball-unnumbered.pdf

not working of Beamer theme Bergen

Brief outline of the issue

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode

\documentclass[usenames,dvipsnames,t]{beamer}

\usetheme{Bergen}

\usepackage{listings}
\colorlet{bakcolor}{yellow!15}

\usepackage{xepersian}
\settextfont{Yas}

\lstset{
	language=Matlab,
	backgroundcolor=\color{bakcolor}, 
	linewidth=\textwidth ,
	frameround=ttff,
	frame=trBL,
	basicstyle=\ttfamily\footnotesize,
	keywordstyle=\color{blue}\bfseries,
	%	framexleftmargin=-1mm, frame=shadowbox, rulesepcolor=\color{red},
	stringstyle=\ttfamily\color{Magenta}, % typewriter type for strings
	commentstyle=\color{Green},
	lineskip = .5pt,
	numberstyle=\scriptsize, 
	numbersep=7pt,
	numbers=left,
	%numbers=none,
	captionpos=t, 
	breaklines=true,
	showstringspaces=true,
	xleftmargin=30pt,
	xrightmargin=30pt}

\author{نویسنده}
\title{تست بیمر با زیپرشین}
\date{\today}

\begin{document}
	\maketitle
	
	\begin{frame}{فهرست}
		\tableofcontents
	\end{frame}
	
	\section{بخش1}
	\subsection{زیربخش}
	
	\begin{frame}{\secname}
		درود
		\begin{theorem}
			فیثاغورث
			\begin{equation}\label{eq:1}
				a^2+b^2 = c^2
			\end{equation}
			\begin{itemize}
				\item یک
				\item دو
				\item سه
			\end{itemize}
		\end{theorem}
		\begin{enumerate}
			\item یک
			\item دو
			\item سه
		\end{enumerate}
	\end{frame}
	
	\begin{frame}[fragile]{لیستینگز درون بلوک}%
		در اینجا کد متلب وارد می کنیم
\begin{block}{کد متلب رسم تابع سینوسی}
\setLTR
\begin{lstlisting}[captiondirection=RTL,caption={رسم نمودار سینوسی}]
%============================
%===  Test Program ==========
clc
clear 
close all
t=0:0.1:2*pi;
y=sin(t);
plot(t,y)
title('sin(t)')
\end{lstlisting}
\end{block}
\end{frame}
\section{بخش2}
\subsection{زیر بخش 2}
\begin{frame}[fragile]{لیستینگز خارج از بلوک}
\setLTR
\begin{lstlisting}[captiondirection=RTL,caption={رسم نمودار سینوسی}]
%============================
%===  Test Program ==========
clc
clear 
close all
t=0:0.1:2*pi;
y=sin(t);
plot(t,y)
title('sin(t)')
\end{lstlisting}
\end{frame}
\section{بخش3}
\subsection{زیر بخش 3}
\begin{frame}{تست پانویس و زیرنویس در داخل بلوک}
\begin{block}{\textbf{تست   \lr{footnote} در بلوک}}
\begin{itemize}
\item			یک
\item			دو\footnote{دو}
\end{itemize}
\end{block}

\begin{block}{\textbf{تست \lr{LTRfootnote} در بلوک}}
\begin{itemize}
\item			یک
\item			دو
\LTRfootnote{two}
\end{itemize}
\end{block}
\end{frame}

	
\end{document}

Expected behavior

Log and PDF files

beamer_xe_test2.log

Problem with long section title in table of contents, square

Brief outline of the issue

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode


\documentclass[10pt]{beamer}

\usepackage[RTLdocument=on]{bidi}

\setbeamertemplate{sections/subsections in toc}[square]

\begin{document}
\begin{frame}{contents}
\tableofcontents
\end{frame}

\section{test for title section. This is a long text for testing. This is a long text for testing.}

\subsection{test for title subsection}
\begin{frame}{title}
test bidi version=\bidiversion
\end{frame}

\end{document}

Expected behavior

solve with edit: beamerbaseauxtemplates-xetex-bidi.def

\defbeamertemplate{section in toc}{square}
{\leavevmode\bidi@beamer@leftskip=1.75ex%
  \llap{{%
    \usebeamerfont*{section number projected}%
    \usebeamercolor[bg]{section number projected}%
    \if@RTL
    \else
      \vrule width2.25ex height1.85ex depth.4ex%
      \hskip-2.25ex%
    \fi
    \hbox to2.25ex{{\hfil\color{fg}\inserttocsectionnumber\hfil}}%
    \if@RTL
      \hskip-2.25ex%
      \vrule width2.25ex height1.85ex depth.4ex%
    \fi
    }\kern1.25ex}%
  \inserttocsection\par}

Log and PDF files

beamer_toc_square.pdf

Horizontal positioning of a TikZ Picture with a fitted frame in a right-to-left polygossia document doesn't work as expected

Brief outline of the issue

A right-to-left document containing a wide TikZ picture with a fitted node (i.e. a node using the "fit" option from the "fit" TikZ library) cannot be displaced to the left if the displacement pushes the node beyond the text margin.

Check/indicate

Minimal example showing the issue

\documentclass{article}
\usepackage{lipsum,tikz}
\usetikzlibrary{fit}

\usepackage[RTLdocument]{bidi}

\begin{document}
\lipsum[1-1]

\noindent\hspace{0cm}\tikz \node [ draw, fit={(0,0) (12,1)} ] {};

\noindent\hspace{3cm}\tikz \node [ draw, fit={(0,0) (12,1)} ] {};

\end{document}

Expected behavior

The lower rectangle should be set 3cm to the left of the text's right margin.

Log and PDF files

Spurious space after new commands footnotes

Brief outline of the issue

Spurious space after new commands footnotes in text.

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode


\documentclass[12pt]{article}            % or some other class

\usepackage[%
	extrafootnotefeatures,%
]{xepersian}
\settextfont{IRXLotus}
\ParagraphFootnotes
\begin{document}
|\footnote{درود}|
\TwoColumnFootnotes
|\footnote{درود}|
\ThreeColumnFootnotes
|\footnote{درود}|
\FourColumnFootnotes
|\footnote{درود}|
\FiveColumnFootnotes
|\footnote{درود}|
\SixColumnFootnotes
|\footnote{درود}|
\SevenColumnFootnotes
|\footnote{درود}|
\NineColumnFootnotes
|\footnote{درود}|
\TenColumnFootnotes

\twocolumnfootnotes
|\footnote{درود}|

\end{document}

Expected behavior

Log and PDF files

test.pdf
test.log

Problem with `currfile` while using `xepersian`

Brief outline of the issue

I'm experiencing an issue where using the xepersian/bidi package breaks the functionality of the currfile package.

I have a main tex file and several subdirectories where I store my other files, and I have some helper macros that facilitate inclusion of these files in the subdirectories, and those rely on \currfilebase and \currfilename. But for some reason I'm always getting the main file's name even inside the other files. This only happens when the xeperian package is imported and without it everything works fine.

The issue seems to be related to the bidi package redefining some of the underlying commands (like InputIfFileExists) and breaking the hooks (see the discussion under the thread on tex.stackexchange).

Check/indicate

Minimal example showing the issue

I created a small example that shows the behavior I'm experiencing:
main file content [main.tex]:

\documentclass[10pt]{book}
\usepackage[parent]{currfile}

\usepackage{xepersian}
\settextfont{Vazirmatn}
\setdigitfont{Vazirmatn}


\begin{document}

\begin{latin}

    This is from the main file:

    currfilepath: \currfilepath

    currfilename: \currfilename

    CurrentFile: \CurrentFile

    CurrentFilePath: \CurrentFilePath

    \input{dir/inside_dir}

\end{latin}

\end{document}

Then create a dir directory in the above directory and inside it create this inside_dir.tex file:

This is from the inside\_dir file:

currfilebase: \currfilebase

currfilepath: \currfilepath

currfilename: \currfilename

CurrentFile: \CurrentFile

CurrentFilePath: \CurrentFilePath

And then compile in the main dir using xelatex to see the output below:

xelatex main

Expected behavior

If I don't have the xepersian package, the output looks like below, which is the correct behavior:

Log and PDF files

Screenshots are provided above.

Conflict with `nomencl` package

Brief outline of the issue

when bidi is loaded with nomencl package, the following errors are appeared in the console:
Command \scr@tso@table@pagenumberformat undefined.
Command \scr@tso@figure@pagenumberformat undefined.

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode


\documentclass{article}            % or some other class

  % Any packages other than the bidi package must be loaded here
\usepackage{nomencl}
  % The bidi package must be loaded as the last package
\usepackage[%
    % Any bidi package option goes here
]{bidi}

  % Any preamble code goes here
  
\begin{document}
Test
  % Demonstration of issue here
  
\end{document}

Expected behavior

It should work without any errors.

Log and PDF files

Test.log

Large banner in output is inappropriate

Whenever I use the bidi.sty package/style file, I get a long banner (25 lines!) introducing it. This boilerplate is:

  • Not useful to the user compiling a document (they know that each style file has a self-describing comment, plus there is CTAN documentation for packages, search engines etc.)
  • Contradicts the custom for (La)TeX packages
  • Clutters the log and hides meaningful messages

Please remove it entirely, or at the very list - limit yourself to a single package-describing line.

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode


\documentclass{article}            % or some other class

  % Any packages other than the bidi package must be loaded here

  % The bidi package must be loaded as the last package
\usepackage[%
    % Any bidi package option goes here
]{bidi}

  % Any preamble code goes here
  
\begin{document}

Hello world
  
\end{document}

Expected behavior

Log should say:

(/usr/share/texlive/texmf-dist/tex/xelatex/bidi/bidi.sty)

and that's it.

Log and PDF files

Relevant part:

(/usr/share/texlive/texmf-dist/tex/xelatex/bidi/bidi.sty
****************************************************
* 
* bidi package (Bidirectional typesetting in
* plain TeX and LaTeX, using XeTeX engine)
* 
* Description: A convenient interface for
* typesetting bidirectional texts in plain TeX
* and LaTeX. The package includes adaptations
* for use with many other commonly-used packages.
* 
* Copyright (c) 2007--2023 Vafa Khalighi
* Copyright (c) 2018--2020 bidi-tex GitHub organization
* 
* v39.7 (Release Serge Lang), 2023/01/18
* 
* License: LaTeX Project Public License, version
* 1.3c or higher (your choice)
* 
* Location on CTAN: /macros/xetex/latex/bidi
* 
* Issue tracker: https://github.com/kvafa/bidi/issues
* 
* Discussions: https://github.com/kvafa/bidi/discussions
* 
* Primary author of bidi package: Vafa Khalighi.
* 
****************************************************

Page numbering alignment in ToC, LoF, and LoT in presence of bidi and tocloft

Brief outline of the issue

When I use tocloft package with bidi package, page numbers are not left alignment in ToC, LoF, and LoT.

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode


\documentclass{article}
\usepackage{showframe}
\usepackage{tocloft}
\usepackage[%
	RTLdocument%
]{bidi}
\begin{document}

	\tableofcontents
	\listoffigures
	\listoftables

	\section{Test}
	\subsection{Other}
	\subsection{Other}
	
	\begin{figure}[!htb]
		\caption{Test}
	\end{figure}
	\begin{table}[!htb]
		\caption{Test}
	\end{table}

\end{document}

Expected behavior

Log and PDF files

test.pdf
test.log

bidi causes duplicated @-expressions in longtable

Brief outline of the issue

With a recent (2024-06-01-ish) release of LaTeX, use of the bidi package in conjunction with the memoir class causes the @-expressions of longtable environments to be printed extraneously. It seems that using a \multicolumn command is necessary to trigger the bug.

According to the discussion at Issue latex3/latex2e#1368, this may be because the array package, whose definitions bidi redefines, was recently changed.

I can reproduce the problem only with memoir; the standard article and book classes seem to be unaffected.

Check/indicate

Minimal example showing the issue

\documentclass{memoir}
\usepackage{longtable}
\usepackage{bidi}
\begin{document}

\begin{longtable}{l}
\multicolumn{1}{c}{foo} \\
\end{longtable}

\begin{longtable}{r@{x}l@{x}r@{x}l@{x}r@{x}l}
a & b & c & d & e & f \\
\end{longtable}
\end{document}

Expected behavior

The second longtable environment should print something like the following:

axbxcxdxexf

Instead it prints the following:

axbxcxdxexf
x

Log and PDF files

test.log
test.pdf

Problem in footnote

Brief outline of the issue

When some footnotes place at last/first line of page, the footers goes next/previous page.

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode


\documentclass[12pt]{article}            % or some other class

\newcount\footCounter
\newcommand{\mfootnote}[1]{%
	\loop
	\ifnum\footCounter<#1
		\footnote{تست}%
		\advance\footCounter by 1
	\repeat\footCounter0%
}
\usepackage{ptext}
\usepackage[%
	extrafootnotefeatures,%
	perpagefootnote%
]{xepersian}
\settextfont{IRXLotus}
\ParagraphFootnotes
\begin{document}

	\ptext[1-2]\mfootnote{5}
	\ptext[1-2]\mfootnote{5}
	\ptext[1-2]\mfootnote{5}
	\ptext[1-2]\mfootnote{5}
	\ptext[1-2]\mfootnote{5}
	\ptext[1-2]\mfootnote{5}
	\ptext[1-2]\mfootnote{5}
	\ptext[1-2]\mfootnote{5}
	\ptext[1-2]\mfootnote{5}
	\ptext[1-2]\mfootnote{5}
	\ptext[1-2]\mfootnote{5}
	\ptext[1-2]\mfootnote{5}
	\ptext[1-2]\mfootnote{5}
	\ptext[1-2]\mfootnote{5}
	\ptext[1-2]\mfootnote{5}
	\ptext[1-2]\mfootnote{5}
	\ptext[1-2]\mfootnote{5}
	\ptext[1-2]\mfootnote{5}
	\ptext[1-2]\mfootnote{5}
	\ptext[1-2]\mfootnote{5}
	\ptext[1-2]\mfootnote{5}
	\ptext[1-2]\mfootnote{5}
	\ptext[1-2]\mfootnote{5}
	\ptext[1-2]\mfootnote{5}
	\ptext[1-2]

\end{document}

Expected behavior

See the pages: 2--6

Log and PDF files

test.pdf
test.log

centered section and subsection in Beamer themes with a tree-like navigation bar at top of frames

Brief outline of the issue

centered section and subsection in Beamer themes with a tree-like navigation bar at top of frames

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode


\documentclass[usenames,dvipsnames,t]{beamer}%,dvipsnames
%\numberwithin{equation}{section}
%

% Themes with a Tree-Like Navigation Bar
\usetheme{Antibes}
%\usetheme{JuanLesPins}
%\usetheme{Montpellier}

\usepackage{listings}
\colorlet{bakcolor}{yellow!15}

\usepackage{xepersian}
\settextfont{Yas}

\lstset{
	language=Matlab,
	backgroundcolor=\color{bakcolor}, 
	linewidth=\textwidth ,
	frameround=ttff,
	frame=trBL,
	basicstyle=\ttfamily\footnotesize,
	keywordstyle=\color{blue}\bfseries,
	%	framexleftmargin=-1mm, frame=shadowbox, rulesepcolor=\color{red},
	stringstyle=\ttfamily\color{Magenta}, % typewriter type for strings
	commentstyle=\color{Green},
	lineskip = .5pt,
	numberstyle=\scriptsize, 
	numbersep=7pt,
	numbers=left,
	%numbers=none,
	captionpos=t, 
	breaklines=true,
	showstringspaces=true,
	xleftmargin=30pt,
	xrightmargin=30pt}


\author{نویسنده}
\title{تست بیمر با زیپرشین}
\date{\today}

\begin{document}

\maketitle


\begin{frame}{فهرست}
	\tableofcontents
\end{frame}

\section{بخش1}
\subsection{زیربخش}

\begin{frame}{\secname}
درود
	\begin{theorem}
		فیثاغورث
		\begin{equation}\label{eq:1}
				a^2+b^2 = c^2
		\end{equation}
		\begin{itemize}
			\item یک
			\item دو
			\item سه
		\end{itemize}
	\end{theorem}
\begin{enumerate}
	\item یک
	\item دو
	\item سه
\end{enumerate}
\end{frame}

\begin{frame}[fragile]{لیستینگز درون بلوک}%
	در اینجا کد متلب وارد می کنیم
	
\begin{block}{کد متلب رسم تابع سینوسی}
\setLTR
\begin{lstlisting}[captiondirection=RTL,caption={رسم نمودار سینوسی}]
%============================
%===  Test Program ==========
clc
clear 
close all
t=0:0.1:2*pi;
y=sin(t);
plot(t,y)
title('sin(t)')
\end{lstlisting}
\end{block}
\end{frame}
\section{بخش2}
\begin{frame}[fragile]{لیستینگز خارج از بلوک}
\setLTR
\begin{lstlisting}[captiondirection=RTL,caption={رسم نمودار سینوسی}]
%============================
%===  Test Program ==========
clc
clear 
close all
t=0:0.1:2*pi;
y=sin(t);
plot(t,y)
title('sin(t)')
\end{lstlisting}
\end{frame}
\section{بخش3}
\begin{frame}{تست پانویس و زیرنویس در داخل بلوک}
\begin{block}{\textbf{تست   \lr{footnote} در بلوک}}
\begin{itemize}
\item			یک
\item			دو\footnote{دو}
\end{itemize}
\end{block}

\begin{block}{\textbf{تست \lr{LTRfootnote} در بلوک}}
\begin{itemize}
\item			یک
\item			دو
\LTRfootnote{two}
\end{itemize}
\end{block}
\end{frame}


\end{document}

Expected behavior

Section and subsection in tree-like navigation bar should be right to left.

Log and PDF files

beamer_xe_test1.pdf

psscalebox from pstricks does not work correctly when bidi loaded

Brief outline of the issue

When I use \psscalebox{<value>}{} in presence of bidi, the output pdf is not valid!

In the log file I see this error:

Error 35584 (driver return code) generating output;
file exam-LaTeX.pdf may not be valid.

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode


\documentclass{article}

\usepackage{pstricks}
\usepackage[RTLdocument]{bidi}

\begin{document}

	\psscalebox{1.2}{\pscircle{1.5}}

\end{document}

Expected behavior

Log and PDF files

exam-LaTeX.log

Lineno render incorrectly with bidi

Brief outline of the issue

Adding bidi package to 2-column paper with line numbers on the sides using the lineno package with switch option produce line number to appears on the left side of the right column.

https://tex.stackexchange.com/q/712502/54817

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode
\documentclass[11pt,twocolumn]{article}

\usepackage[switch,mathlines]{lineno}

\usepackage{bidi}
\usepackage{lipsum}

\linenumbers

\begin{document}
\lipsum
\end{document}

Expected behavior

image

Log and PDF files

test5.pdf
test5.log

\[ and \] should be robust when fleqn tag is used.

Brief outline of the issue

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode
\documentclass[fleqn]{article}
\usepackage{bidi}
\begin{document}
	\meaning\[
\end{document}

Allow bidi to be loaded early

Brief outline of the feature request

Check/indicate

Today, with LaTeX's new hook system it is possible to define \bidi@isloaded in such a way that bidi could be load in any order with respect to other packages. one option could be

\newcommand\bidi@isloaded[1]{
      \@ifpackageloaded{#1}%
            {\input{#1-xetex-bidi.def}}%
            {\AddToHook{package/#1/after}{\input{#1-xetex-bidi.def}}}
}

and removing the the begindocument hook from lodingorder-xetex-bidi.def and also removing the loading of the .def files from ltx-xetex-bidi.def (or moving \bidi@isloaded to there).

This is just a suggestion, I'm not sure if anything else would also be needed, but I hope this demonstrate the idea, it could make things much simpler...

LTR direction with Beamer themes with mini frame navigation

Brief outline of the issue

In beamer themes with mini frame navigation, direction of section in top mini frame should be right to left not left to right
and subsection also be right to left not centered

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode

\documentclass[usenames,dvipsnames,t]{beamer}

% Themes with a Mini Frame Navigation

\usetheme{Berlin}
%\usetheme{Ilmenau}
%\usetheme{Dresden}
%\usetheme{Darmstadt}
%\usetheme{Frankfurt}
%\usetheme{Singapore}
%\usetheme{Szeged}

\usepackage{listings}
\colorlet{bakcolor}{yellow!15}

\usepackage{xepersian}
\settextfont{Yas}

\lstset{
	language=Matlab,
	backgroundcolor=\color{bakcolor}, 
	linewidth=\textwidth ,
	frameround=ttff,
	frame=trBL,
	basicstyle=\ttfamily\footnotesize,
	keywordstyle=\color{blue}\bfseries,
	stringstyle=\ttfamily\color{Magenta},
	commentstyle=\color{Green},
	lineskip = .5pt,
	numberstyle=\scriptsize, 
	numbersep=7pt,
	numbers=left,
	%numbers=none,
	captionpos=t, 
	breaklines=true,
	showstringspaces=true,
	xleftmargin=30pt,
	xrightmargin=30pt}

\author{نویسنده}
\title{تست بیمر با زیپرشین}
\date{\today}

\begin{document}
\maketitle

\begin{frame}{فهرست}
	\tableofcontents
\end{frame}

\section{بخش1}
\subsection{زیربخش}

\begin{frame}{\secname}
درود
	\begin{theorem}
		فیثاغورث
		\begin{equation}\label{eq:1}
				a^2+b^2 = c^2
		\end{equation}
		\begin{itemize}
			\item یک
			\item دو
			\item سه
		\end{itemize}
	\end{theorem}
\begin{enumerate}
	\item یک
	\item دو
	\item سه
\end{enumerate}
\end{frame}

\begin{frame}[fragile]{لیستینگز درون بلوک}%
	در اینجا کد متلب وارد می کنیم
	
\begin{block}{کد متلب رسم تابع سینوسی}
\setLTR
\begin{lstlisting}[captiondirection=RTL,caption={رسم نمودار سینوسی}]
%============================
%===  Test Program ==========
clc
clear 
close all
t=0:0.1:2*pi;
y=sin(t);
plot(t,y)
title('sin(t)')
\end{lstlisting}
\end{block}
\end{frame}
\section{بخش2}
\begin{frame}[fragile]{لیستینگز خارج از بلوک}
\setLTR
\begin{lstlisting}[captiondirection=RTL,caption={رسم نمودار سینوسی}]
%============================
%===  Test Program ==========
clc
clear 
close all
t=0:0.1:2*pi;
y=sin(t);
plot(t,y)
title('sin(t)')
\end{lstlisting}
\end{frame}
\section{بخش3}
\begin{frame}{تست پانویس و زیرنویس در داخل بلوک}
\begin{block}{\textbf{تست   \lr{footnote} در بلوک}}
\begin{itemize}
\item			یک
\item			دو\footnote{دو}
\end{itemize}
\end{block}

\begin{block}{\textbf{تست \lr{LTRfootnote} در بلوک}}
\begin{itemize}
\item			یک
\item			دو
\LTRfootnote{two}
\end{itemize}
\end{block}
\end{frame}


\end{document}

Expected behavior

Log and PDF files

beamer_xe_test1.pdf

Add automatic direction recognition

Brief outline of the feature request

Add one or more environment that each use a their own respective method of
automatically detecting text direction.

This will greatly improve the UX and noob-friendlyness of LaTeX as a whole
alongside the code readability.

  • This was already discussed in the Telegram and @kvafa thought it's possible
    in an unknown future time.

Check/indicate

Minimal example

\usepackage{bidi}
\begin{document}

\begin{autodir}{unicode,base=ltr}
This is a bidi text that has a phrase in it like سلام دنیا.
Which would likely be rendered as دنیا سلام if not for this environment.

With this `autodir` environment, the bidi direction will
automatically add the `rl` macro to it before processing.
\end{autodir}
  
\end{document}

fancyhdr is not patched correctly

Brief outline of the issue

Check/indicate

Minimal example showing the issue

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode
\documentclass{article}

\usepackage{fancyhdr}
\renewcommand\headruleskip{10cm} %<< doesn't change anything
\let\footrule\hrulefill %<< doesn't change anything
\pagestyle{fancy}
\usepackage[RTLdocument]{bidi}

\begin{document}
	Test
\end{document}

Expected behavior

The headrule should be under "Test", there should be another rule at the bottom of the page.

fails with lettrine and bidi

Brief outline of the issue

Check/indicate

Minimal example showing the issue


bidi's documentation says it supports lettrine, but I'm having trouble.

MWE:

% !TeX TS-program = xelatex
% !TeX encoding = UTF-8
\documentclass{article}
\usepackage{lettrine}% position 1
\usepackage{bidi}
%\usepackage{lettrine} % position 2

\begin{document}
	\lettrine{H}{ere is a nice beginning} to a paragraph.  The current document contains no 
	words, but we need some phrases as a base to create the random text from. The current 
	document contains no words, but we need some phrases as a base to create the random 
	text from.  
\end{document}

When lettrine is invoked at position 1, I get

Package bidi Error: Oops! you have loaded package lettrine after bidi package on your document again. 
\begin{document}

And at position 2, I get

Undefined control sequence. \lettrine{H}{ere is a nice beginning}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.