How do I extract my long regex to multiline String in Swift? - ios

I simply have regex like this:
let email = "^(?:(?:(?:(?: )*(?:(?:(?:\\t| )*\\r\\n)?(?:\\t| )+))+(?: )*)|(?: )+)?(?:(?:(?:[-A-Za-z0-9!#$%&’*+/=?^_'{|}~]+(?:\\.[-A-Za-z0-9!#$%&’*+/=?^_'{|}~]+)*)|(?:\"(?:(?:(?:(?: )*(?:(?:[!#-Z^-~]|\\[|\\])|(?:\\\\(?:\\t|[ -~]))))+(?: )*)|(?: )+)\"))(?:#)(?:(?:(?:[A-Za-z0-9](?:[-A-Za-z0-9]{0,61}[A-Za-z0-9])?)(?:\\.[A-Za-z0-9](?:[-A-Za-z0-9]{0,61}[A-Za-z0-9])?)*)|(?:\\[(?:(?:(?:(?:(?:[0-9]|(?:[1-9][0-9])|(?:1[0-9][0-9])|(?:2[0-4][0-9])|(?:25[0-5]))\\.){3}(?:[0-9]|(?:[1-9][0-9])|(?:1[0-9][0-9])|(?:2[0-4][0-9])|(?:25[0-5]))))|(?:(?:(?: )*[!-Z^-~])*(?: )*)|(?:[Vv][0-9A-Fa-f]+\\.[-A-Za-z0-9._~!$&'()*+,;=:]+))\\])))(?:(?:(?:(?: )*(?:(?:(?:\\t| )*\\r\\n)?(?:\\t| )+))+(?: )*)|(?: )+)?$"
let url = "https?:\\/\\/(www\\.)?[-a-zA-Z0-9#:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()#:%_\\+.~#?&//=]*)"
Is there a way to write it using multiline string in Swift?

Related

How to lowercase text between two string

I have this code:
<Layer Idx="2" Name="scr FILI FISSI SOLAIO">
<Layer Idx="2" Name="scr FILI ALTRO">
<Layer Idx="2" Name="scr PIPPO">
I want to convert in lowercase the text between (") or other string:
<Layer Idx="2" Name="scr fili fissi solaio">
<Layer Idx="2" Name="scr fili altro">
<Layer Idx="2" Name="scr pippo">

How do you remove white space between title and table?

I tried asking this somewhere else as well, but I am having trouble removing the white space between the title of my table and the actual table. This doesn't happen when in my regular rmarkdown article, but when I knit to beamer for my presentation it produces these bizarre white spaces. Anyone know why?
mean.party.class <- dat3 %>%
group_by(party2, class2) %>%
filter (party2 !="Indep" & class != "IDK")%>%
summarise_at(vars(DL, DU, RL, RU, L, U, D, R), funs(mean(., na.rm=TRUE)))
knitr::kable(mean.party.class, col.names=c("Party ID", "Class", "DL", "DU", "RL", "RU", "L", "U", "D" , "R"), digits=2, caption = "Mean Trust Per Group (Party and Social Class Identity)", "latex", booktabs = T) %>%
kable_styling( full_width = F, position = "left", latex_options = "scale_down", bootstrap_options = c("striped", "hover")) %>% footnote(
general = c("1. D= Democrat, R=Republican, L=Lower Class, U = Upper Class; ", "2. Independents dropped")) %>% row_spec(0,bold=TRUE)
Here is an example
---
title: "Example"
author: "Its me"
date: "6/12/2020"
always_allow_html: true
header-includes:
- \usepackage{booktabs}
- \usepackage{longtable}
- \usepackage{tabu}
- \usepackage{threeparttable}
- \usepackage{adjustbox}
- \usepackage{caption} \captionsetup[table]{skip=0pt}
- \usepackage[font=small,skip=0pt]{caption}
- \usepackage{tikz}
- \usepackage{float}
- \usetikzlibrary{arrows,shapes,positioning}
output:
beamer_presentation:
theme: "Berkeley"
colortheme: "dolphin"
fonttheme: "structurebold"
slide_level: 2
#incremental: true
---
```{r}
setwd("~/Google Drive/UC Davis /R stuff")
```
```{r, include=FALSE}
library(rticles)
library(kableExtra)
library(knitr)
library(plyr)
library(dplyr)
library(gdata)
library(ggplot2)
library(MASS)
library(corrplot)
library(haven)
library(factoextra)
library(ggplot2)
library(ggrepel)
library(viridis)
library(lattice)
library(optiscale)
library(acepack)
library(psych)
library(smacof)
library(MCMCpack)
library(basicspace)
library(boot)
library(pscl)
library(wnominate)
library(RColorBrewer)
library(sjPlot)
```
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
```
```{r, include= FALSE}
#load cars
data("mtcars")
head(mtcars, 2)
```
```{r, include= FALSE}
mean.mpg <- mtcars %>%
summarise_at(vars(mpg), funs(mean(., na.rm=TRUE)))
```
## there it is
```{r}
knitr::kable(mean.mpg, col.names=c("mpg"), digits=2, caption = "This is a table", "latex", booktabs = T, escape=F) %>%
kable_styling(full_width = T, position = "left", latex_options = "scale_down", bootstrap_options = c("striped", "hover")) %>% footnote(
general = c("1. test 1", "2. test 2"))%>%
row_spec(0,bold=TRUE)
```
If you add keep_tex: true to your header you can edit the resulting .tex file to remove the multiple causes of the additional space:
remove the unnecessary and often harmful \resizebox{\linewidth}{!}{...} around the table
remove the caption package (which is unnecessarily loaded multiple times)
remove the parskip package
\PassOptionsToPackage{unicode=true}{hyperref} % options for packages loaded elsewhere
\PassOptionsToPackage{hyphens}{url}
%
\documentclass[ignorenonframetext,]{beamer}
\usepackage{pgfpages}
\setbeamertemplate{caption}[numbered]
\setbeamertemplate{caption label separator}{: }
\setbeamercolor{caption name}{fg=normal text.fg}
\beamertemplatenavigationsymbolsempty
% Prevent slide breaks in the middle of a paragraph:
\widowpenalties 1 10000
\raggedbottom
\setbeamertemplate{part page}{
\centering
\begin{beamercolorbox}[sep=16pt,center]{part title}
\usebeamerfont{part title}\insertpart\par
\end{beamercolorbox}
}
\setbeamertemplate{section page}{
\centering
\begin{beamercolorbox}[sep=12pt,center]{part title}
\usebeamerfont{section title}\insertsection\par
\end{beamercolorbox}
}
\setbeamertemplate{subsection page}{
\centering
\begin{beamercolorbox}[sep=8pt,center]{part title}
\usebeamerfont{subsection title}\insertsubsection\par
\end{beamercolorbox}
}
\AtBeginPart{
\frame{\partpage}
}
\AtBeginSection{
\ifbibliography
\else
\frame{\sectionpage}
\fi
}
\AtBeginSubsection{
\frame{\subsectionpage}
}
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
\usepackage{ifxetex,ifluatex}
\usepackage{fixltx2e} % provides \textsubscript
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{textcomp} % provides euro and other symbols
\else % if luatex or xelatex
\usepackage{unicode-math}
\defaultfontfeatures{Ligatures=TeX,Scale=MatchLowercase}
\fi
\usetheme[]{Berkeley}
\usecolortheme{dolphin}
\usefonttheme{structurebold}
% use upquote if available, for straight quotes in verbatim environments
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
% use microtype if available
\IfFileExists{microtype.sty}{%
\usepackage[]{microtype}
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
}{}
\IfFileExists{parskip.sty}{%
%\usepackage{parskip}
}{% else
\setlength{\parindent}{0pt}
\setlength{\parskip}{6pt plus 2pt minus 1pt}
}
\usepackage{hyperref}
\hypersetup{
pdftitle={Example},
pdfauthor={Its me},
pdfborder={0 0 0},
breaklinks=true}
\urlstyle{same} % don't use monospace font for urls
\newif\ifbibliography
\setlength{\emergencystretch}{3em} % prevent overfull lines
\providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
\setcounter{secnumdepth}{0}
% set default figure placement to htbp
\makeatletter
\def\fps#figure{htbp}
\makeatother
\usepackage{booktabs}
\usepackage{longtable}
\usepackage{tabu}
\usepackage{threeparttable}
\usepackage{adjustbox}
%\usepackage{caption}
%\captionsetup[table]{skip=0pt}
%\usepackage[font=small,skip=0pt]{caption}
\usepackage{tikz}
\usepackage{float}
\usetikzlibrary{arrows,shapes,positioning}
\title{Example}
\author{Its me}
\date{6/12/2020}
\begin{document}
\frame{\titlepage}
\begin{frame}{there it is}
\protect\hypertarget{there-it-is}{}
\begin{table}
\caption{\label{tab:unnamed-chunk-4}This is a table}
%\resizebox{\linewidth}{!}{
\begin{tabu} to \linewidth {>{\raggedleft}X}
\toprule
\textbf{mpg}\\
\midrule
20.09\\
\bottomrule
\multicolumn{1}{l}{\textit{Note: }}\\
\multicolumn{1}{l}{1. test 1}\\
\multicolumn{1}{l}{2. test 2}\\
\end{tabu}
%}
\end{table}
\end{frame}
\end{document}
(I would stay away from tabu and use a normal table instead)

Latex document written in Arabic but the References List does not printed in English

In Latex, I am using biber but it does not show the references in the right format, maybe due to the use of second language Arabic and its package arabtex. There are many bilingual packages that allow you to make the references in another language. However, I am newbie in bilingual packages with LaTex and references.
The references
This how it suppose to be printed as
\documentclass[article,10pt]{amsart}
\usepackage{ifluatex,ifxetex}
\ifluatex
\usepackage{fontspec} % optional
\else\ifxetex
\usepackage{fontspec} % optional
\else % assume that pdftex engine is in use
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc} % optional for "\ng"
\fi\fi
\usepackage{graphicx}
\graphicspath{ {./images/} }
\usepackage[bibencoding=utf8, backend=biber, style=apa, language=english]{biblatex}
\DeclareLanguageMapping{english}{english-apa}
\addbibresource{func.bib}
\usepackage{amsmath}
\usepackage{hyperref}
\usepackage{arabtex}
\usepackage{utf8}
\usepackage{boondox-cal}
\usepackage[margin=0.5in]{geometry}
\usepackage{steinmetz}
\title{Functions}
\author{Mohammad Alkahtani}
\date{May 2020}
\begin{document}
\setcode{utf8}
\pagenumbering{gobble}
\maketitle
\newpage
\pagenumbering{arabic}
\section{Power Series}
\setarab
\fullvocalize
\arabtrue
\begin{RLtext}
الدوال بالإمكان تكوينها كمجموعه من حدود تعطي نتيجة الدالة إذا كانت الحدود غير منتهية و نتيجة تقريبية للدالة في حالة كانت الحدود محددة العدد و هذا ما يستخدم في الحاسب و تحويل الدوال من صيغيتها في الطبيعه إلى صيغتها في الأجهزه الإلكترونية لتكون مرئية أو مسموعه فعلى سبيل المثال جرب الموقع التالي و تأكد أن المسموع لك هو بين 20 هرتز إلى 20,000 هرتز و الدالة عندما نجمعها مع مجموعه مشاببه لها في تردد زمني معني يتكون لنا صوت
\end{RLtext}
\href{http://meettechniek.info/additional/additive-synthesis.html}{Sounds}
\begin{RLtext}
جرب الرابط الثاني بالإسفل و تأكد أن الصور و الرسمات يجسدها مجموعه من الدوال الرياضية في الحاسب و عند تجميع أكثر من صورة في تردد زمني معين يتكون لنا مقطع مرئي و بإمكان إضافة له موجات من الصوت فيصبح فلم
\end{RLtext}
\href{https://blogs.scientificamerican.com/guest-blog/making-mathematical-art/}{Pictures}
\\*
\begin{equation}
1 + x + x^2 + x^3 + .... \tag{1.1} \label{eq:frame0}
\end{equation}
\begin{equation}
1 + x + \frac{x^2}{2} + \frac{x^3}{6} + .... \tag{1.2} \label{eq:frame1}
\end{equation}
\begin{RLtext}
الدالة
\end{RLtext}
\eqref{eq:frame0} from \autocite{Flint2012}
\begin{RLtext}
و الدالة
\end{RLtext}
\eqref{eq:frame1} from \autocite{Flint2012}
\begin{RLtext}
عبارة عن مجموعة حدود تمثل دوال أخرى
\end{RLtext}
\subsection{Sine}
\begin{equation}
\sin x = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \frac{x^7}{7!} + ... \textrm{ where the degree } x \textrm{ in radians} \tag{1.1.1} \label{eq:frame2}
\end{equation}
\begin{RLtext}
تكوين دالة الجا ، بهذا التكوين نستخدمها أستخدام أمثل في التطبيقات الهندسية عندما نواجه الأعداد التخيليه و ليس بإمكان إيجاد قيمة جذر سالب واحد و لكن عند ضرب عدد تخيلي بأخر فإننا نحصل على القيمة سالب واحد و تتسهل المعادلة بدل إيجاد قيمة عدد تخيلي
\end{RLtext}
\eqref{eq:frame2} from \autocite{Flint2012}
\begin{equation}
\sin 0.5 = 0.5 - \frac{(0.5)^3}{3!} + \frac{(0.5)^5}{5!} - \frac{(0.5)^7}{7!} + ... \tag{1.1.2} \label{eq:frame3}
\end{equation}
this eq \autocite{JamesFlint2012} From \eqref{eq:frame3} $\sin 0.5 \approx 0.5 - 0.0208333 + 0.0002604 = 0.4794271$
\begin{equation}
\sin x \approx x \textrm{ where the degree } x \textrm{ is small and measured in radians} \tag{1.1.3} \label{eq:frame4}
\end{equation}
\begin{RLtext}
قيمة تقريبية لتكوين دالة الجا
\end{RLtext}
\eqref{eq:frame4} from \autocite{Flint2012}
\subsection{Cosine}
\begin{equation}
\cos x = 1 - \frac{x^2}{2!} + \frac{x^4}{4!} - \frac{x^6}{6!} + ... \tag{1.2.1} \label{eq:frame5}
\end{equation}
\begin{RLtext}
تكوين دالة الجتا ، بهذا التكوين نستخدمها أستخدام أمثل في التطبيقات الهندسية عندما نواجه الأعداد التخيليه و ليس بإمكان إيجاد قيمة جذر سالب واحد و لكن عند ضرب عدد تخيلي بأخر فإننا نحصل على القيمة سالب واحد و تتسهل المعادلة بدل إيجاد قيمة عدد تخيلي
\end{RLtext}
\eqref{eq:frame5} from \autocite{Flint2012}
\begin{equation}
\cos x \approx 1 - \frac{x}{2!} \textrm{ where the degree } x \textrm{ is small and measured in radians} \tag{1.2.2} \label{eq:frame6}
\end{equation}
\begin{RLtext}
قيمة تقريبية لتكوين دالة الجتا
\end{RLtext}
\eqref{eq:frame6} from \autocite{Flint2012}
\subsection{Exponential}
\begin{equation}
\exp^x = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \frac{x^4}{4!} + ... \tag{1.3.1} \label{eq:frame7}
\end{equation}
\begin{RLtext}
تكوين الدالة الأسية ، بهذا التكوين نستخدمها أستخدام أمثل في التطبيقات الهندسية عندما نواجه الأعداد التخيليه و ليس بإمكان إيجاد قيمة جذر سالب واحد و لكن عند ضرب عدد تخيلي بأخر فإننا نحصل على القيمة سالب واحد و تتسهل المعادلة بدل إيجاد قيمة عدد تخيلي
\end{RLtext}
\eqref{eq:frame7} from \autocite{Flint2012}
\section{Complex Number}
\noindent
\begin{RLtext}
الأعداد التخيليه
\end{RLtext}
$\mathbb{C}$
$a+bi$ \\
$i^2=-1$ \\
$\mathbb{C}$
$a+bj$ \\
$j^2=-1$ \\
$\Re(z)$ and $\operatorname{Re}(z)$ \\
$\Im(z)$ and $\operatorname{Im}(z)$ \\
\begin{equation}
\exp^x = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \frac{x^4}{4!} + ... \tag{2.1} \label{eq:frame8}
\end{equation}
\begin{RLtext}
تكوين الدالة الأسية ، بهذا التكوين نستخدمها أستخدام أمثل في التطبيقات الهندسية عندما نواجه الأعداد التخيليه و ليس بإمكان إيجاد قيمة جذر سالب واحد و لكن عند ضرب عدد تخيلي بأخر فإننا نحصل على القيمة سالب واحد و تتسهل المعادلة بدل إيجاد قيمة عدد تخيلي
\end{RLtext}
\eqref{eq:frame8} from \autocite{Flint2012}
\subsection{The exponential form of a complex number}
\noindent
\\*
From \eqref{eq:frame8} from \autocite{Flint2012}
\begin{equation}
\exp^{j\theta} = \cos \theta + j \sin \theta \tag{2.1.1} \label{eq:frame9}
\end{equation}
\begin{RLtext}
تحويل الدالة الأسية عندما يكون العدد التخيلي في الأس موجب إلى جا و جتا، بهذا التحويل نستخدم الدوال و نغييرها في التطبيقات الهندسية عندما نواجه الأعداد التخيليه و ليس بإمكان إيجاد قيمة جذر سالب واحد و لكن عند ضرب عدد تخيلي بأخر فإننا نحصل على القيمة سالب واحد و تتسهل المعادلة بدل إيجاد قيمة عدد تخيلي
\end{RLtext}
\eqref{eq:frame9} from \autocite{Flint2012}
\begin{equation}
\exp^{-j\theta} = \cos \theta - j \sin \theta \tag{2.1.2} \label{eq:frame10}
\end{equation}
\begin{RLtext}
تحويل الدالة الأسية عندما يكون العدد التخيلي في الأس سالب إلى جا و جتا، بهذا التحويل نستخدم الدوال و نغييرها في التطبيقات الهندسية عندما نواجه الأعداد التخيليه و ليس بإمكان إيجاد قيمة جذر سالب واحد و لكن عند ضرب عدد تخيلي بأخر فإننا نحصل على القيمة سالب واحد و تتسهل المعادلة بدل إيجاد قيمة عدد تخيلي
\end{RLtext}
\eqref{eq:frame10} from \autocite{JamesFlint2012}
\begin{equation}
\sin \theta = \frac{\left[e^{j\theta} - e^{-j\theta}\right] }{2j} \tag{2.1.3} \label{eq:frame11}
\end{equation}
\begin{RLtext}
تحويل دالة الجا إلى دالة أسية ، بهذا التحويل نستخدم الدوال و نغييرها في التطبيقات الهندسية عندما نواجه الأعداد التخيليه و ليس بإمكان إيجاد قيمة جذر سالب واحد و لكن عند ضرب عدد تخيلي بأخر فإننا نحصل على القيمة سالب واحد و تتسهل المعادلة بدل إيجاد قيمة عدد تخيلي
\end{RLtext}
\eqref{eq:frame11} from \autocite{Flint2012}
\begin{equation}
\cos \theta = \frac{\left[e^{j\theta} + e^{-j\theta}\right] }{2} \tag{2.1.4} \label{eq:frame12}
\end{equation}
\begin{RLtext}
تحويل دالة الجتا إلى دالة أسية ، بهذا التحويل نستخدم الدوال و نغييرها في التطبيقات الهندسية عندما نواجه الأعداد التخيليه و ليس بإمكان إيجاد قيمة جذر سالب واحد و لكن عند ضرب عدد تخيلي بأخر فإننا نحصل على القيمة سالب واحد و تتسهل المعادلة بدل إيجاد قيمة عدد تخيلي
\end{RLtext}
\eqref{eq:frame12} from \autocite{Flint2012}
\section{Taylor Series, Maclaurin Series and Mansour’s theorem}
\noindent
\\*
Taylor Series
\noindent
\begin{equation}
f(x) = f(0) + \frac{f'(0)}{1!} (x -a)^1 + \frac{f(0)}{2!} (x -a)^2 + \frac{f'(0)}{3!} (x-a)^3 + \dotsb = \sum_{k=0}^\infty \frac{f^{\left(k\right)}(0)}{k!} (x-a)^k \tag{3.1} \label{eq:frame13}
\end{equation}
\begin{RLtext}
سلسلة تايلور للقوى عبارة عن تكوين الدالة من القيمة الأبتدائية للدالة عند عدد معين ثم جمع مشتقات الدالة عند القيمة الأبتدائية مضروب في المتغير مطروح منه العدد المعين، المضروب يكون مروفع للأس أو القوة لرقم الحد أبتداء من الحد الثالث الأس الثاني أو للقوة 2 لأن الحد الأول 0 و الحد الثاني 1 و ناتج الأس أو القوة للحد الأول و الثاني عبارة عن 1 و نفس الدالة على التوالي، ثم نقسم على مضروب رقم الحد
\end{RLtext}
\eqref{eq:frame13} from \autocite{Flint2012}
\\*
Maclaurin Series
\begin{equation}
f(x) = f(0) + \frac{f'(0)}{1!}x + \frac{f(0)}{2!}x^2 + \frac{f'(0)}{3!}x^3+\dotsb = \sum_{k=0}^\infty \frac{f^{\left(k\right)}(0)}{k!} x^k \tag{3.2} \label{eq:frame14}
\end{equation}
\begin{RLtext}
سلسلة ماك لورين للقوى نفس سلسلة تايلور مع جعل العدد الثابت صفر فتكوين الدالة من قيمة الدالة الأبتدائية عند صفر و لا يكون هناك طرح لأنك تطرح من صفر
\end{RLtext}
\eqref{eq:frame14} from \autocite{Flint2012}
Mansour Series
\begin{equation}
f(x) = \dfrac{\sum\limits_{k=0}^{\infty} f_k (m) (g(m) -M)^k }{k!} \tag{3.3} \label{eq:frame15}
\end{equation}
\eqref{eq:frame15} \autocite{Hammad2013}
Explaintaion of Mansour Series
Let
\begin{equation}
f(x) = \sum_{k=0}^{\infty} S_k (g(m) -M)^k \textrm{ Where } S_k \textrm{ is a constant and } M \textrm{ is the value of the function } g(m) \textrm{ at variable } m \tag{3.4} \label{eq:frame16}
\end{equation}
\eqref{eq:frame16} \autocite{Hammad2013}
\begin{equation}
f_k(x) = \frac{f'_k(x)}{g'(m)} \textrm{ Where } f' \textrm{ and } g' \textrm{ are the functions first derivatives }\tag{3.5} \label{eq:frame17}
\end{equation}
\eqref{eq:frame17} \autocite{Hammad2013}
In the papaer \autocite{Hammad2013}
\href{https://www.researchgate.net/publication/277597486_Numerical_and_Analytical_Methods_in_Engineering_IRENA_If_fx_is_a_Function_in_gx_what_are_the_Coefficients_of_that_Function_A_New_Expansion_for_Analytic_Function_in_Standard_Form_fx_S_k0_S_k_gx_-_Mk/link/556e1db608aeab777226a184/download}{An article by Mansour Hammad}
\begin{RLtext}
في المثال الأول عند التعويض بقيمة للمتغيير
\end{RLtext}
\begin{equation}
f(x) = g(x)^2 \textrm{ Where } g(x) = x^2 + x -6 \textrm{ The result is } f(x) = x^4 + 2 x^3 - 11 x^2 -12 x + 36 \tag{3.6} \label{eq:frame18}
\end{equation}
\eqref{eq:frame18} \autocite{Hammad2013}
\begin{RLtext}
نعوض عن قيمة المتغير ب 4 على سبيل المثال
\end{RLtext}
\begin{equation}
f(x) = g(x)^2 \textrm{ Where } g(x) = 4^2 + 4 -6 = 16 + 4 -6 = 14^2 = 196 \textrm{ The result is } \tag{3.7} \label{eq:frame19}
\end{equation}
\eqref{eq:frame19}
\begin{equation}
f(x) = 4^4 + 2 4^3 - 11 4^2 -12 4 + 36 = 256 + 2(64) - 11(16) - 12(4) + 36 = 256 +128 -176 - 48 + 36 = 196 \textrm{ Both gives the same result } \tag{3.8} \label{eq:frame20}
\end{equation}
\eqref{eq:frame20}
\begin{RLtext}
الرابط بين الدالتين المذكورتين في المقالة هو أن أحدهما تساوي الدالة نفسها مضروبة في نفسها أكثر من مرة أي أنها من توليد القوى للدالة، بمعنى أخرى دالة تساوي الجذر التربيعي لدالة أخرى أو الجذر التكعيبي أو .... الخ. علماً أن المقالة في أخطأ أملائية في مقدمة المقالة المقطع الثاني إذاً - ثم كتبت من، ولم تصصح من مراجعي المقالة قبل النشر و لكن المادة العلمية عبارة عن طريقة جديدة مشابهه لطرق أخرى تنشر في مجلات علمية عديدة. الذي لم أجد له منطق هو جعل القيمة الإبتدائية للدالة في السلسلة مساوي لقيمة الدالة، فقيمة الدالة عند أول قيمة لها في السلسلة المجموعة برمز سيجما مساوي لقيمة الدالة كما في القاعدة 21 في المقالة. فهل هذا شرط لتطبيق السلسلة أن يكون الحد الأول مساوي للدالة نفسها، إذا كان كذلك فأن بقية الحدود عبارة عن زيادة لا حاجة لها.
\end{RLtext}
\begin{equation}
f(x) = g(x)^2 or f(x) = g(x)^3 \tag{3.9} \label{eq:frame21}
\end{equation}
\eqref{eq:frame21} as in \autocite{Hammad2013}
\newpage
\section{Transmission Lines}
\begin{RLtext}
الموجات تمثل بدوال و الأصوات و الصور و الأفلام في الطبيعة عبارة عن إندماج موجات مع بعضها مما يؤدي إلى إندماج دوال مع بعضها، عند تمثيل هذه الأشياء الطبيعية على الحاسب فأننا نحتاج إلى تحويلها من صيغتها الطبيعية الغير منتهية في علم الجبر و الحساب تسمى متسلسلة لا نهائية إلى صيغة حاسوبية محدودة أو ما يسمى في علم الجبر و الحساب المجاميع المنتهية، هي تمثل المتسلسلة اللانهائيه بطريقة تقريبية. هذه الموجات تحتاج إلى وسط ينقلها من مكان إلى آخر و عند نقلها يتكون هناك ما يسمى بإرتداد الموجات عند النقل في خطوط النقل و أيضاً الموجات المتولدة من الموجات المغناطيسية المصاحبة للموجه الكهربائية في الحاسب فيكون لدينا عاملين دخيلين يغيرون في الموجه الأصلية الموجات المغناطيسية و إرتداد الموجات في خطوط النقل من المراجع الجيدة.
\end{RLtext}
\autocite{GuntherRoland2005}
This is the course link: \href{https://ocw.mit.edu/courses/physics/8-02x-physics-ii-electricity-magnetism-with-an-experimental-focus-spring-2005/}{8.02x - MIT Physics II: Electricity and Magnetism. By Prof. Gunther M. Roland and Dr. Peter Dourmashkin in 2007}.
\autocite{Lewin2002}
Another course link with demonstration (note the link in the references list is the link in MIT University Website from Archive): \href{https://www.youtube.com/watch?v=rtlJoXxlSFE&list=PLyQSN7X0ro2314mKyUiOILaOC2hk6Pc3j}{Lectures by Walter Lewin for the course 8.02x - MIT Physics II: Electricity and Magnetism.}.
\begin{RLtext}
معادلة النواقل تمثل بدائرة فيها مقاومة مع ملف على التوالي متتالية مع مقاومة مع مكثف على التوازي
\end{RLtext}
The equations above used in transmission lines and wave propgation to solve their propsoed equation by expanding functions
\begin{equation}
\frac{d^2 V}{dt^2} =\frac{ 1}{\mathcal{L} C} \frac{d^2 V}{dx^2} \tag{4.1} \label{eq:frame22}
\end{equation}
\eqref{eq:frame22} as in \autocite{Kraus1999}
\newpage
\includegraphics{cables}
\\*
The picture of cables above from \autocite{Kraus1999}
\newpage
\begin{RLtext}
بالنظر إلى الصورة نلاحظ أن المرجع ذكر أن الموصلات العصبية لا تفقد أي شيء من الموجات كما أنه لا يوجد أي موجه دخيلة على الموجات التي تنقلها. شاهدت قديماً في قناة BBC برنامج عن الموجات في العقل و كيف أنه عند أختيار لون معين أو عندما تحتار في إختيار شيء ينتج نشاط للعقل بالإمكان قياسه و معرفة في أي فص من فصوص العقل الأربعة شبية بالبرنامج أدناه
\end{RLtext}
\href{https://www.bbc.co.uk/programmes/p03gvnvn}{The brain of a world champion cup stacker}
\begin{RLtext}
فالإطباء بالتأكيد لديهم المعلومة الأكيدة حول نوعية الموجات إن كانت كهربائية الألكترومغناطيسية مصاحبة لها و تسبب نوع من التأثير على الموجه. إن كانت مغناطيسية فلها خواص المغناطيس من حيث الجذب إن كانت ضوئية فهي مزيج من الخواص. ربما تكون موجه معينة ذات طابع خاص و لكن بإلإمكان قياسها ب الإلكتروكارديو دايجرام مختصره إي سي جي يقيس الموجات الكهربائية كالموجة الضوئية بإلإمكان قياس الخاصية الكهربائيه بها. أو أن المرجع عندما ذكر أن الموجات العصبية غير مفقودة أو متداخلة أخطأ
\end{RLtext}
\begin{RLtext}
ليتنا نجد مثل هذه الموصلات في الحاسب لأنه يحدث الخطأ عند نقل البيانات في الشبكة و الطريقة المستخدمة حالياً هي تصحيح الخطأ بمعادلات حسابية تضاف إلى الرسالة المرسلة لأنه لو أرسل مرسل رسالة عبر شبكة الحاسب ثم المستقبل رد هل أرسلت هذه الرسالة للتأكد ربما يكون هناك خطأ في الرسالة المرسلة أو الرسالة المرسلة من المستقبل و يحدث خطأ في الأرسال أو تأكد أن رسالة خاطئة تم أرسالها و تعتبر صحيحة
أول الطرق المستخدمه هي إضافة رقم وحيد 0 أو 1 في نهاية الرسالة فإذا كان عدد الخانات التي تحمل الرقم 1 زوجي تكون الخانة الأخيرة 1 أما إن كان فردي تكون الخانة الأخيرة 0 . في هذه الحالة يتم رمي الرسالة و طلب إرسالها مره أخرى و هذه مكلف في عملية نقل البيانات حتى أوجدت معادلات تصحيح خطأ الرسالة و هي مستخدمة في أجزاء متفرقة في الحاسب غير نقل البيانات عبر الشبكة ، مبدأ تصحيح أخطأ البيانات
\end{RLtext}
\href{https://en.wikipedia.org/wiki/Parity_bit}{Parity bit}
\\*
\href{https://en.wikipedia.org/wiki/Cyclic_redundancy_check}{Cyclic redundancy check}
\\*
\href{http://www.cs.tau.ac.il/~amnon/Classes/2017-ECC/Lectures/Lecture2.pdf}{Error Correcting Codes}
\\*
\begin{RLtext}
نحسب الإلترداد للموجات في الخطوط الناقلة بالمعادلة التالية
\end{RLtext}
\begin{equation}
\frac{V_1}{V_0} =\frac{Z_L - Z_0}{Z_L + Z_0} = \rho_v \tag{4.2} \label{eq:frame23}
\end{equation}
$ \rho_v $
\begin{RLtext}
وهذا هو معامل الإلترداد للموجات في الخطوط الناقلة للجهد الكهربائي
\end{RLtext}
\eqref{eq:frame23} as in \autocite{Kraus1999}
\begin{equation}
\textrm{ Where } V_0 = \mid V_0 \mid e^{\gamma x} \textrm{ The voltage of the signal that we sent } V_1 = \mid V_1 \mid e^{-\gamma x + j \zeta} \textrm{ The voltage of the signal that reflected }\tag{4.3} \label{eq:frame24}
\end{equation}
\eqref{eq:frame24} as in \autocite{Kraus1999}
\\*
$ x $
\begin{RLtext}
الأكس عبارة عن مسافة الخط الناقل
\end{RLtext}
\begin{equation}
\textrm{ Where } \gamma = \alpha + j \beta \textrm{ and } \zeta = \textrm{ is the phase shift at load L } \tag{4.4} \label{eq:frame25}
\end{equation}
\eqref{eq:frame25} as in \autocite{Kraus1999}
\begin{equation}
\textrm{ Where } \alpha = \operatorname{Re}(\sqrt{ZY}) \textrm{ and } \beta = \operatorname{Im}(\sqrt{ZY}) \tag{4.5} \label{eq:frame26}
\end{equation}
\eqref{eq:frame26} as in \autocite{Kraus1999}
\begin{equation}
\textrm{ Where } Z = R + j \omega \mathcal{L} \textrm{ and } Y = G + j \omega C \textrm{ G is the resistor parallel to the capcitor }\tag{4.6} \label{eq:frame26}
\end{equation}
\eqref{eq:frame26} as in \autocite{Kraus1999}
\begin{RLtext}
هذه الخواص تتغير بتغير المادة الناقلة ، لأن هذه الخواص تتحكم في معادلة القوة بين الشحنات الإلكترونية وهي أصغر وحدة في الموجة فمعامل السماح أو النفاذ أو التوصيل أدناه في مقام معادلة قوة التجاذب بين الشحنات و إن كبر المقام قلة قيمة قوة التجاذب بين الشحنات.
\end{RLtext}
\begin{equation}
\epsilon_{r} \epsilon_{0} \textrm{ relative premittivity multiplied by vacuum premittivity } \tag{4.7} \label{eq:frame27}
\end{equation}
\begin{RLtext}
عموماً معادلة مقاومة المواد هي
\end{RLtext}
\begin{equation}
z_0 = \sqrt{\frac{\mu_{0}}{\epsilon_{0}}}\textrm{ mobility divided by premittivity } \tag{4.8} \label{eq:frame28}
\end{equation}
\eqref{eq:frame28} as in \autocite{Kraus1999}
\\*
\href{https://en.wikipedia.org/wiki/Relative_permittivity}{premittivity}
\\*
\href{https://en.wikipedia.org/wiki/Electron_mobility}{mobility}
\begin{RLtext}
لذلك تستخدم بعض المواد حسب الرغبة توصيل أم عزل و حسب الإرتداد في المسافة الموجودة فمثلاً الدوائر ذات التردد العالي و المسافة القصيرة مثل المعالجات قد تستخدم مواد مثل الذهب بدل النحاس
\end{RLtext}
\href{https://onlinelibrary.wiley.com/doi/pdf/10.1002/9781118936160.app2}{Material Properties}
\begin{RLtext}
المقاومة في طرف الإرسال و طرف الإستقبال يجب أن تكون قيمها متناسبه حسب المسافة بين الإرسال و الأستقبال لذلك نسمي المسافة أكس لكي نوجد قيم المقاومات لتتناسب
\end{RLtext}
\begin{equation}
\textrm{ Where } Z_L \textrm{ and } Z_0 \textrm{ must match } \tag{4.9} \label{eq:frame29}
\end{equation}
\eqref{eq:frame29} as in \autocite{Kraus1999}
\begin{RLtext}
هناك معادلة لمقاومة المسافة و هي
\end{RLtext}
\begin{equation}
\textrm{ } Z_x = Z_0 \frac{Z_L + Z_0 \tanh(\gamma x)}{Z_0 + Z_L \tanh(\gamma x)} \textrm{ } Z_0 \tag{4.10} \label{eq:frame30}
\end{equation}
\eqref{eq:frame30} as in \autocite{Kraus1999}
\begin{RLtext}
هذه المعادلة تم إستخلاصها من تحويل دوال الدوائر الجا و الجتا و الظا و الظتا و دوال الأسس و القوى مع السلاسل من معادلة التيار و فرق الجهد
\end{RLtext}
\begin{equation}
\textrm{ Where } Z_x = \frac{V}{I} = \frac{\mid V_0 \mid}{\mid I_0 \mid} \phase{\delta} \left( \frac{e^{\gamma x} + \rho_{v} e^{-\gamma x}}{e^{\gamma x} - \rho_{v} e^{-\gamma x}} \right) \tag{4.11} \label{eq:frame31}
\end{equation}
\eqref{eq:frame31} as in \autocite{Kraus1999}
\newpage
\begin{frame}{References}
\printbibliography
\end{frame}
\end{document}
My BibTex File
% Encoding: UTF-8
#Article{Hammad2013,
author = {Mansour Hammad},
date = {2013-04-01},
journaltitle = {Numerical and Analytical Methods in Engineering (IRENA)},
title = {If f(x) is a Function in g(x), what are the Coefficients of that Function? A New Expansion for Analytic Function in Standard Form f(x) = Segma k=0 to infinity = S k (g(x) – M) to the power of k},
}
#Misc{Lewin2002,
author = {Walter Lewin},
title = {8.02X Physics II: Electricity and Magnetism, Spring 2002. Massachusetts Institute of Technology: MIT OpenCourseWare.},
howpublished = {https://www.youtube.com/channel/UCiEHVhv0SBMpP75JbzJShqw},
note = {Accessed on 2020-05-05},
url = {https://web.archive.org/web/20111229055249/http://ocw.mit.edu/courses/physics/8-02-electricity-and-magnetism-spring-2002},
month = mar,
year = {2002},
}
#Misc{GuntherRoland2005,
author = {Gunther Roland, and Peter Dourmashkin},
title = {8.02X Physics II: Electricity and Magnetism with an Experimental Focus, Spring 2005. Massachusetts Institute of Technology: MIT OpenCourseWare.},
howpublished = {https://ocw.mit.edu/courses/physics/8-02x-physics-ii-electricity-magnetism-with-an-experimental-focus-spring-2005},
note = {Accessed on 2020-05-05},
url = {https://ocw.mit.edu/courses/physics/8-02x-physics-ii-electricity-magnetism-with-an-experimental-focus-spring-2005},
month = mar,
year = {2005},
}
#Book{Flint2012,
author = {Flint, James and Hargreaves, Martin and Davison, Robert and Croft, Anthony},
date = {2012-12-04},
title = {Engineering Mathematics : A Foundation for Electronic, Electrical, Communications and Systems Engineers},
}
#Book{Kraus1999,
author = {John Daniel Kraus and Daniel A. Fleisch},
date = {1999-01-01},
title = {Electromagnetics with Applications},
}
#Comment{jabref-meta: databaseType:biblatex;}
The result is the reference page in this link (first reference) because the second is trying the BibTex file without Arabic Language
https://drive.google.com/file/d/1RdBrj0wMEilmaT9ZxTCBQVT7zpleaIYz/view
ŋŊßßþÞEngineering mathematics you can see the letters before Engineering
The problem comes from an interaction between arabtex and the apacase macro. If you make sure that all your references are already in the correct casing, you can switch off the macro like this:
\documentclass{amsart}
\usepackage[T1]{fontenc}
\usepackage{arabtex}
\usepackage[style=apa]{biblatex}
\makeatletter
\DeclareFieldFormat{apacase}{#1}
\makeatother
\begin{filecontents*}[overwrite]{\jobname.bib}
#Book{Kraus1999,
author = {John Daniel Kraus and Daniel A. Fleisch},
date = {1999-01-01},
title = {Electromagnetics with Applications},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
\autocite{Kraus1999}
\printbibliography
\end{document}

HoughLinesP wrongly rejects lines

I find that HoughLinesP rejects even lines that are longer than minLineLength. For instance, if I call:
cv2.HoughLinesP(mat, 1, np.pi/180, 30, minLineLength=70, maxLineGap=8)
I get lines of (euclidean) lengths 89.2, 75.1, etc. But if I call:
cv2.HoughLinesP(mat, 1, np.pi/180, 30, minLineLength=75, maxLineGap=8)
The 89.2 and 75.1 lines are rejected.
Here are the points for the 89.2 line (it's a contour):
[[[319, 325]], [[316, 328]], [[316, 329]], [[315, 330]], [[315, 331]], [[314, 332]], [[314, 334]], [[313, 335]], [[313, 336]], [[310, 339]], [[309, 338]], [[306, 338]], [[302, 334]], [[302, 333]], [[304, 331]], [[305, 331]], [[306, 330]], [[306, 329]], [[307, 328]], [[304, 331]], [[303, 331]], [[302, 330]], [[302, 329]], [[301, 328]], [[301, 327]], [[301, 328]], [[299, 330]], [[300, 331]], [[300, 332]], [[301, 332]], [[302, 333]], [[302, 335]], [[303, 336]], [[301, 338]], [[300, 338]], [[299, 339]], [[298, 338]], [[293, 338]], [[292, 337]], [[292, 336]], [[287, 331]], [[287, 330]], [[285, 332]], [[285, 335]], [[283, 337]], [[284, 337]], [[285, 336]], [[285, 332]], [[286, 331]], [[292, 337]], [[291, 338]], [[290, 338]], [[292, 338]], [[293, 339]], [[293, 340]], [[293, 339]], [[294, 338]], [[298, 338]], [[299, 339]], [[297, 341]], [[296, 341]], [[295, 342]], [[291, 342]], [[290, 343]], [[286, 343]], [[284, 341]], [[284, 340]], [[283, 339]], [[282, 339]], [[280, 337]], [[278, 337]], [[276, 335]], [[276, 334]], [[271, 334]], [[275, 334]], [[276, 335]], [[276, 336]], [[277, 337]], [[279, 337]], [[281, 339]], [[282, 339]], [[284, 341]], [[284, 342]], [[285, 343]], [[291, 343]], [[292, 342]], [[295, 342]], [[296, 341]], [[298, 341]], [[301, 338]], [[302, 338]], [[302, 337]], [[303, 336]], [[305, 338]], [[309, 338]], [[311, 340]], [[310, 341]], [[306, 341]], [[304, 343]], [[304, 345]], [[305, 345]], [[306, 346]], [[306, 347]], [[306, 346]], [[307, 345]], [[308, 345]], [[309, 346]], [[309, 347]], [[304, 352]], [[302, 352]], [[301, 353]], [[302, 352]], [[305, 352]], [[309, 348]], [[309, 345]], [[305, 345]], [[304, 344]], [[307, 341]], [[312, 341]], [[314, 343]], [[314, 345]], [[315, 346]], [[315, 348]], [[313, 350]], [[312, 350]], [[312, 352]], [[313, 353]], [[313, 355]], [[311, 357]], [[309, 355]], [[309, 354]], [[310, 353]], [[310, 352]], [[309, 353]], [[308, 352]], [[309, 353]], [[309, 354]], [[308, 355]], [[307, 354]], [[309, 356]], [[310, 356]], [[311, 357]], [[310, 358]], [[310, 359]], [[309, 360]], [[309, 361]], [[308, 362]], [[308, 363]], [[307, 364]], [[307, 365]], [[305, 367]], [[305, 368]], [[300, 373]], [[299, 373]], [[298, 372]], [[298, 370]], [[297, 371]], [[296, 371]], [[295, 370]], [[294, 370]], [[293, 369]], [[291, 369]], [[290, 368]], [[291, 369]], [[293, 369]], [[295, 371]], [[297, 371]], [[299, 373]], [[292, 380]], [[290, 380]], [[289, 379]], [[286, 379]], [[285, 378]], [[284, 379]], [[283, 379]], [[282, 378]], [[283, 379]], [[284, 379]], [[285, 378]], [[286, 379]], [[289, 379]], [[291, 381]], [[287, 385]], [[285, 385]], [[284, 386]], [[282, 386]], [[282, 387]], [[280, 389]], [[279, 388]], [[274, 388]], [[273, 387]], [[267, 387]], [[266, 388]], [[260, 388]], [[259, 389]], [[257, 389]], [[256, 388]], [[255, 388]], [[254, 387]], [[257, 384]], [[258, 384]], [[259, 385]], [[262, 385]], [[263, 384]], [[266, 384]], [[267, 383]], [[268, 383]], [[269, 382]], [[273, 382]], [[274, 381]], [[276, 381]], [[276, 380]], [[277, 379]], [[278, 379]], [[284, 373]], [[284, 372]], [[287, 369]], [[287, 368]], [[289, 366]], [[289, 365]], [[292, 362]], [[292, 361]], [[297, 356]], [[297, 355]], [[299, 353]], [[299, 352]], [[298, 351]], [[300, 349]], [[299, 349]], [[299, 350]], [[298, 351]], [[298, 353]], [[297, 354]], [[297, 355]], [[292, 360]], [[292, 361]], [[289, 364]], [[289, 365]], [[287, 367]], [[287, 368]], [[284, 371]], [[284, 372]], [[283, 373]], [[283, 374]], [[282, 375]], [[281, 375]], [[277, 379]], [[276, 379]], [[276, 380]], [[275, 381]], [[274, 381]], [[273, 382]], [[268, 382]], [[267, 383]], [[266, 383]], [[265, 384]], [[263, 384]], [[262, 385]], [[259, 385]], [[258, 384]], [[257, 384]], [[256, 385]], [[255, 385]], [[255, 386]], [[254, 387]], [[253, 386]], [[252, 386]], [[251, 385]], [[246, 385]], [[244, 387]], [[245, 388]], [[243, 390]], [[242, 390]], [[241, 389]], [[240, 389]], [[239, 388]], [[236, 388]], [[235, 389]], [[227, 389]], [[227, 390]], [[228, 390]], [[229, 389]], [[235, 389]], [[236, 388]], [[238, 388]], [[239, 389]], [[240, 389]], [[241, 390]], [[244, 390]], [[244, 389]], [[245, 388]], [[244, 387]], [[245, 386]], [[246, 386]], [[247, 385]], [[250, 385]], [[251, 386]], [[252, 386]], [[254, 388]], [[256, 388]], [[257, 389]], [[258, 389]], [[259, 390]], [[259, 391]], [[260, 391]], [[262, 393]], [[263, 393]], [[264, 394]], [[264, 395]], [[268, 399]], [[268, 400]], [[270, 402]], [[270, 404]], [[271, 405]], [[271, 408]], [[272, 409]], [[276, 409]], [[278, 407]], [[279, 407]], [[280, 406]], [[281, 406]], [[282, 405]], [[284, 407]], [[285, 407]], [[286, 408]], [[288, 408]], [[287, 408]], [[286, 407]], [[285, 407]], [[284, 406]], [[283, 406]], [[282, 405]], [[281, 406]], [[280, 406]], [[279, 407]], [[278, 407]], [[277, 408]], [[276, 408]], [[275, 409]], [[273, 409]], [[271, 407]], [[271, 404]], [[270, 403]], [[270, 401]], [[267, 398]], [[267, 397]], [[269, 395]], [[270, 395]], [[271, 396]], [[272, 396]], [[271, 396]], [[270, 395]], [[268, 395]], [[267, 394]], [[267, 393]], [[267, 394]], [[268, 395]], [[268, 396]], [[267, 397]], [[264, 394]], [[264, 393]], [[263, 393]], [[261, 391]], [[260, 391]], [[259, 390]], [[259, 389]], [[260, 388]], [[266, 388]], [[267, 387]], [[273, 387]], [[274, 388]], [[279, 388]], [[280, 389]], [[281, 388]], [[282, 388]], [[282, 387]], [[283, 386]], [[285, 386]], [[286, 385]], [[288, 385]], [[300, 373]], [[301, 373]], [[305, 369]], [[305, 368]], [[307, 366]], [[307, 365]], [[308, 364]], [[308, 363]], [[309, 362]], [[309, 361]], [[310, 360]], [[310, 359]], [[313, 356]], [[313, 355]], [[315, 353]], [[323, 353]], [[322, 352]], [[322, 351]], [[321, 351]], [[320, 350]], [[318, 350]], [[317, 349]], [[317, 348]], [[314, 345]], [[314, 343]], [[313, 342]], [[313, 341]], [[312, 341]], [[310, 339]], [[311, 338]], [[312, 338]], [[313, 337]], [[313, 335]], [[314, 334]], [[314, 332]], [[316, 330]], [[316, 329]], [[319, 326]], [[320, 326]], [[321, 327]], [[321, 328]], [[322, 329]], [[322, 331]], [[320, 333]], [[321, 333]], [[323, 335]], [[322, 336]], [[322, 337]], [[321, 338]], [[320, 338]], [[319, 337]], [[318, 337]], [[317, 336]], [[316, 336]], [[317, 336]], [[318, 337]], [[319, 337]], [[320, 338]], [[322, 338]], [[322, 337]], [[324, 335]], [[325, 336]], [[326, 336]], [[327, 337]], [[327, 339]], [[327, 337]], [[328, 336]], [[330, 336]], [[331, 337]], [[330, 336]], [[332, 334]], [[334, 334]], [[335, 333]], [[337, 335]], [[339, 335]], [[340, 336]], [[342, 336]], [[340, 336]], [[339, 335]], [[338, 335]], [[337, 334]], [[336, 334]], [[335, 333]], [[337, 331]], [[334, 334]], [[331, 334]], [[329, 336]], [[326, 336]], [[325, 335]], [[323, 335]], [[321, 333]], [[322, 332]], [[322, 331]], [[323, 330]], [[324, 330]], [[325, 331]], [[325, 332]], [[325, 331]], [[324, 330]], [[325, 329]], [[324, 330]], [[323, 330]], [[322, 329]], [[322, 328]], [[321, 327]], [[321, 326]], [[320, 326]]]
Here are the points for the 75.1 line:
[[[482, 253]], [[481, 254]], [[472, 254]], [[471, 255]], [[467, 255]], [[466, 256]], [[461, 256]], [[460, 257]], [[456, 257]], [[455, 258]], [[451, 258]], [[450, 259]], [[446, 259]], [[445, 260]], [[442, 260]], [[441, 261]], [[436, 261]], [[435, 262]], [[432, 262]], [[431, 261]], [[430, 261]], [[429, 260]], [[428, 261]], [[427, 260]], [[424, 260]], [[423, 261]], [[422, 261]], [[422, 262]], [[420, 264]], [[419, 264]], [[418, 263]], [[418, 259]], [[419, 258]], [[425, 258]], [[417, 258]], [[416, 259]], [[417, 258]], [[418, 259]], [[418, 262]], [[417, 263]], [[415, 261]], [[412, 261]], [[412, 264]], [[412, 262]], [[413, 261]], [[414, 261]], [[415, 262]], [[414, 263]], [[414, 264]], [[415, 265]], [[414, 264]], [[416, 262]], [[418, 264]], [[418, 265]], [[416, 267]], [[414, 267]], [[413, 266]], [[410, 266]], [[410, 267]], [[408, 269]], [[407, 269]], [[406, 270]], [[405, 270]], [[404, 269]], [[403, 270]], [[400, 270]], [[398, 272]], [[398, 273]], [[397, 274]], [[396, 273]], [[396, 272]], [[394, 272]], [[395, 272]], [[397, 274]], [[401, 270]], [[406, 270]], [[407, 269]], [[409, 269]], [[410, 268]], [[410, 267]], [[411, 266]], [[413, 266]], [[414, 267]], [[416, 267]], [[417, 266]], [[418, 266]], [[420, 268]], [[421, 268]], [[418, 265]], [[419, 264]], [[421, 264]], [[422, 263]], [[422, 262]], [[424, 260]], [[427, 260]], [[428, 261]], [[426, 263]], [[424, 263]], [[426, 263]], [[427, 262]], [[428, 262]], [[428, 261]], [[429, 260]], [[430, 261]], [[431, 261]], [[432, 262]], [[435, 262]], [[436, 261]], [[441, 261]], [[442, 260]], [[445, 260]], [[446, 259]], [[450, 259]], [[451, 258]], [[455, 258]], [[456, 257]], [[460, 257]], [[461, 256]], [[466, 256]], [[467, 255]], [[471, 255]], [[472, 254]], [[482, 254]], [[483, 253]], [[485, 253]]]
How come minLineLength isn't respected?

Why I am getting bad results in 10-folds cross validation in Classification?

I am a new python programmer, and in classification as well. this is the first try for me playing with the pre-processing, and classification task using supervised data. data were collected by me using tweepy.
I am doing multi-class classification. I tried to clean up the data before train my classifiers, here is the scrpit I've used:
from flask import Flask, request
from sklearn.cross_validation import cross_val_score
from sklearn.ensemble import RandomForestClassifier
from sklearn.naive_bayes import MultinomialNB
from sklearn.linear_model import LogisticRegression
from sklearn.svm import SVC
from nltk.corpus import wordnet as wn
from nltk.stem import PorterStemmer
from nltk.corpus import stopwords
from sklearn.svm import LinearSVC
from sklearn.neighbors import KNeighborsClassifier
from string import punctuation
import nltk
import re
data = [] # the tweet array
target = [] # the category array
file = open("readin file.txt", "r")
count = 0
for line in file: # Declare 'line' variable and store the file into it
line_array = line.split(",,,")
try:
data.append(line_array[4]) # appending tweet line into data array
target.append(line_array[0]) # appending categories into target array
except:
pass
stopWords = stopwords.words('english')
stemmer = PorterStemmer()
def stem_tokens(tokens, stemmer):
stemmed = []
for item in tokens:
stemmed.append(stemmer.stem(item))
return stemmed
def tokenize(text):
text = text.lower()
text = text.lower()
text = text.replace("#","")
text = re.sub(r'((www\.[^\s]+)|(https?://[^\s]+))|(http?://[^\s]+)', '', text)
text = re.sub('&[^\s]+', r'', text)
text = re.sub('#[^\s]+', r'', text)
text = re.sub('#([^\s]+)', r'', text)
text = text.strip(r'\'"')
text = re.sub(r'[\s]+', ' ', text)
tokens = nltk.word_tokenize(text)
tokens_new = []
for item in tokens:
if "www." in item or "http" in item:
item = "URL"
if "#" in item:
item = "AT_USER"
if re.match("[a-zA-Z]",item) and len(item)>2\
and "#illegalimmigration" not in item\
and "#illegalimmigrants" not in item\
and "#GOPDepate" not in item\
and "#WakeUpAmerica" not in item\
and "#election2016" not in item\
and "#trump" not in item\
and "#SanctuaryCities" not in item\
and "#Hillary2016" not in item\
and "#PopeVisitsUS" not in item\
and "#tcot" not in item\
and "#DonaldTrump" not in item\
and "#PopeFrancis" not in item\
and "#ACA" not in item\
and "#NoAmnesty" not in item\
and "#blm" not in item:
all = []
for i,j in enumerate(wn.synsets(item)):
all.extend(j.lemma_names())
tokens_new.extend(list(set(all)))
# print "Text "
# print text
# print "Tokens "
# print tokens
# print tokens_new
stems = stem_tokens(tokens_new, stemmer)
# print "Stems "
# print stems
return stems
from sklearn.feature_extraction.text import CountVectorizer
count_vect = CountVectorizer(stop_words = stopWords,tokenizer=tokenize)
X_train_counts = count_vect.fit_transform(data)
from sklearn.feature_extraction.text import TfidfTransformer
tf_transformer = TfidfTransformer(use_idf=False).fit(X_train_counts)
X_train_tf = tf_transformer.transform(X_train_counts)
tfidf_transformer = TfidfTransformer()
X_train_tfidf = tfidf_transformer.fit_transform(X_train_counts)
clf = MultinomialNB().fit(X_train_tfidf, target)
scores = cross_val_score(clf,X_train_tfidf,target,cv=10,scoring='accuracy')
print 'Naive Bayes Classifier'
print scores
print scores.mean()
print
Data look like as an sample:
category,,,countTweet,,,profileName,,,userName,,,tweet
1,,, 4,,,cjlamb,,,16campaignbites,,,#thinkprogress Let's give GOPers citizenship test. If they fail, they leave the country and immigrants stay
2,,, 191,,,Acadi Anna,,,Acadianna32,,,#Deport the millions of #IllegalImmigrants in the United States illegally and build a wall between the U.S. & Mexicohttp://t.co/AWJZBuZcJb
3,,, 460,,,The Angry Vet,,,DemonTwoSix,,,RT #sweety125: #hempforfood #RickCanton But an illegal alien can be deported 5 times & come back & get #SanctuaryCities then kills a young
1,,, support opinion number 1 which is keep illegal illegals in the US. 2,,, support opinion number 2 which is deport all illegal immigrants. and 3,,, support opinion number 3 which is deport only criminal illegal immigrants
I am getting this output which is bad result for classification:
Naive Bayes Classifier
[ 0.51612903 0.51612903 0.5 0.58333333 0.74576271 0.62068966
0.53448276 0.60344828 0.5 0.5862069 ]
0.570618169592
Here is one example of the stems, text, new tokens, and tokens when I print it:
Text
let's give gopers citizenship test. if they fail, they leave the country and immigrants stay
Tokens
[u'let', u"'s", u'give', u'gopers', u'citizenship', u'test', u'.', u'if', u'they', u'fail', u',', u'they', u'leave', u'the', u'country', u'and', u'immigrants', u'stay']
New Tokens
[u'Army_of_the_Pure', u'Army_of_the_Righteous', u'LET', u'Lashkar-e-Taiba', u'Lashkar-e-Tayyiba', u'Lashkar-e-Toiba', u'Army_of_the_Pure', u'Army_of_the_Righteous', u'net_ball', u'LET', u'Lashkar-e-Taiba', u'let', u'Lashkar-e-Tayyiba', u'Lashkar-e-Toiba', u'Army_of_the_Pure', u'Army_of_the_Righteous', u'net_ball', u'LET', u'Lashkar-e-Taiba', u'allow', u'permit', u'let', u'Lashkar-e-Tayyiba', u'Lashkar-e-Toiba', u'Army_of_the_Pure', u'Army_of_the_Righteous', u'net_ball', u'LET', u'Lashkar-e-Taiba', u'allow', u'permit', u'let', u'Lashkar-e-Tayyiba', u'Lashkar-e-Toiba', u'Army_of_the_Pure', u'Army_of_the_Righteous', u'countenance', u'net_ball', u'LET', u'Lashkar-e-Taiba', u'allow', u'permit', u'let', u'Lashkar-e-Tayyiba', u'Army_of_the_Righteous', u'countenance', u'net_ball', u'LET', u'Lashkar-e-Taiba', u'allow', u'permit', u'let', u'Lashkar-e-Tayyiba', u'Lashkar-e-Toiba', u'have', u'get', u'Army_of_the_Pure', u'Army_of_the_Righteous', u'countenance', u'net_ball', u'LET', u'Lashkar-e-Taiba', u'allow', u'permit', u'rent', u'let', u'lease', u'Lashkar-e-Tayyiba', u'Lashkar-e-Toiba', u'spring', u'springiness', u'give', u'spring', u'springiness', u'give', u'afford', u'spring', u'yield', u'springiness', u'yield', u'springiness', u'pay', u'hold', u'throw', u'present', u'have', u'gift', u'give', u'afford', u'spring', u'make', u'devote', u'yield', u'springiness', u'pay', u'hold', u'throw', u'present', u'return', u'have', u'gift', u'give', u'afford', u'spring', u'make', u'devote', u'yield', u'apply', u'establish', u'founder', u'open', u'grant', u'pay', u'make', u'devote', u'throw', u'cave_in', u'impart', u'fall_in', u'chip_in', u'return', u'collapse', u'turn_over', u'afford', u'sacrifice', u'give_way', u'reach', u'hand', u'break', u'hold', u'generate', u'present', u'gift', u'dedicate', u'yield', u'leave', u'ease_up', u'commit', u'pass_on', u'citizenship', u'citizenship', u'test', u'trial', u'trial_run', u'tryout', u'trial_run', u'mental_test']
Stems
[u'Army_of_the_Pur', u'Army_of_the_Right', u'LET', u'Lashkar-e-Taiba', u'Lashkar-e-Tayyiba', u'Lashkar-e-Toiba', u'Army_of_the_Pur', u'Army_of_the_Right', u'net_bal', u'LET', u'Lashkar-e-Taiba', u'let', u'Lashkar-e-Tayyiba', u'Lashkar-e-Toiba', u'Army_of_the_Pur', u'Army_of_the_Right', u'net_bal', u'LET', u'Lashkar-e-Taiba', u'allow', u'permit', u'let', u'Lashkar-e-Tayyiba', u'Lashkar-e-Toiba', u'Army_of_the_Pur', u'Army_of_the_Right', u'net_bal', u'LET', u'Lashkar-e-Taiba', u'allow', u'permit', u'let', u'Lashkar-e-Tayyiba', u'Lashkar-e-Toiba', u'Army_of_the_Pur', u'Army_of_the_Right', u'counten', u'net_bal', u'LET', u'pass', u'appli', u'establish', u'founder', u'open', u'grant', u'pay', u'make', u'devot', u'throw', u'cave_in', u'tryout', u'test', u'exam', u'trial_run', u'mental_test', u'psychometric_test', u'trial', u'mental_test', u'tryout', u'test', u'examin', u'exam', u'trial_run', u'mental_test', u'psychometric_test', u'trial', u'mental_test', u'tryout', u'test', u'examin', u'run', u'exam', u'trial_run', u'mental_test', u'psychometric_test', u'trial', u'mental_test', u'tryout', u'test', u'examin', u'run', u'exam', u'trial_run', u'mental_test', u'psychometric_test', u'trial', u'mental_test', u'tryout', u'test', u'examin', u'essay', u'run', u'exam', u'prove', u'trial_run', u'mental_test', u'psychometric_test', u'tri', u'trial', u'examin', u'mental_test', u'try_out', u'tryout', u'test', u'examin', u'essay', u'run', u'exam', u'prove', u'screen', u'trial_run', u'mental_test', u'examin', u'mental_test', u'try_out', u'tryout', u'test', u'examin', u'essay', u'run', u'exam', u'prove', u'screen', u'trial_run', u'mental_test', u'psychometric_test', u'quiz', u'tri', u'trial', u'examin', u'mental_test', u'try_out']
I would really appreciate your suggestions on how to make sure my data is cleaned and pure before classify and test.

Resources