{"action":"created","comment":{"url":"https://api.github.com/repos/JabRef/jabref/pulls/comments/60362868","id":60362868,"diff_hunk":"@@ -45,7 +45,7 @@ public void testHTML() {\n         assertEquals(\"{\\\\\\\"{a}}\", formatter.format(\"&auml;\"));\n         assertEquals(\"{\\\\\\\"{a}}\", formatter.format(\"&#228;\"));\n         assertEquals(\"{\\\\\\\"{a}}\", formatter.format(\"&#xe4;\"));\n-        assertEquals(\"{$\\\\Epsilon$}\", formatter.format(\"&Epsilon;\"));\n+        assertEquals(\"{{$\\\\Epsilon$}}\", formatter.format(\"&Epsilon;\"));","path":"src/test/java/net/sf/jabref/logic/formatter/bibtexfields/HtmlToLatexFormatterTest.java","position":5,"original_position":5,"commit_id":"e7205f506e0f82c3d0d396452de5f1dd089e403a","original_commit_id":"e7205f506e0f82c3d0d396452de5f1dd089e403a","user":{"login":"simonharrer","id":375693,"avatar_url":"https://avatars.githubusercontent.com/u/375693?v=3","gravatar_id":"","url":"https://api.github.com/users/simonharrer","html_url":"https://github.com/simonharrer","followers_url":"https://api.github.com/users/simonharrer/followers","following_url":"https://api.github.com/users/simonharrer/following{/other_user}","gists_url":"https://api.github.com/users/simonharrer/gists{/gist_id}","starred_url":"https://api.github.com/users/simonharrer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/simonharrer/subscriptions","organizations_url":"https://api.github.com/users/simonharrer/orgs","repos_url":"https://api.github.com/users/simonharrer/repos","events_url":"https://api.github.com/users/simonharrer/events{/privacy}","received_events_url":"https://api.github.com/users/simonharrer/received_events","type":"User","site_admin":false},"body":"We should also think about having a LaTeX free Version of the field value in the bibentry required for searching without braces. This class should be able to provide this.","created_at":"2016-04-20T07:43:08Z","updated_at":"2016-04-20T07:43:08Z","html_url":"https://github.com/JabRef/jabref/pull/1215#discussion_r60362868","pull_request_url":"https://api.github.com/repos/JabRef/jabref/pulls/1215","_links":{"self":{"href":"https://api.github.com/repos/JabRef/jabref/pulls/comments/60362868"},"html":{"href":"https://github.com/JabRef/jabref/pull/1215#discussion_r60362868"},"pull_request":{"href":"https://api.github.com/repos/JabRef/jabref/pulls/1215"}}},"pull_request":{"url":"https://api.github.com/repos/JabRef/jabref/pulls/1215","id":66678718,"html_url":"https://github.com/JabRef/jabref/pull/1215","diff_url":"https://github.com/JabRef/jabref/pull/1215.diff","patch_url":"https://github.com/JabRef/jabref/pull/1215.patch","issue_url":"https://api.github.com/repos/JabRef/jabref/issues/1215","number":1215,"state":"open","locked":false,"title":"Improved conversion maps and conversion speed","user":{"login":"oscargus","id":8114497,"avatar_url":"https://avatars.githubusercontent.com/u/8114497?v=3","gravatar_id":"","url":"https://api.github.com/users/oscargus","html_url":"https://github.com/oscargus","followers_url":"https://api.github.com/users/oscargus/followers","following_url":"https://api.github.com/users/oscargus/following{/other_user}","gists_url":"https://api.github.com/users/oscargus/gists{/gist_id}","starred_url":"https://api.github.com/users/oscargus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oscargus/subscriptions","organizations_url":"https://api.github.com/users/oscargus/orgs","repos_url":"https://api.github.com/users/oscargus/repos","events_url":"https://api.github.com/users/oscargus/events{/privacy}","received_events_url":"https://api.github.com/users/oscargus/received_events","type":"User","site_admin":false},"body":"The HTML/Unicode <-> LaTeX conversion map source was based on regular expressions making it a jungle of backslashes. Now, replace is used instead of replaceAll so fewer backslashes and (theoretically) a bit faster.\r\n\r\nI also added benchmarking for the following conversions:\r\n* HTML to LaTeX (used at import, cleanup and save action)\r\n* LaTeX to HTML (used for preview)\r\n* LaTeX to Unicode (used for table rendering)\r\nand I got a slight improvement, although I cannot really tell why the two latter are faster now as they are based on cleaned versions... One reason might be that the tests are based on LaTeX symbols with more backslashes in them for the old case...\r\n\r\nBefore:\r\nBenchmarks.htmlToLatexConversion      5533.070 ▒   86.148  ops/s\r\nBenchmarks.latexToHTMLConversion     141500.226 ▒ 8011.038  ops/s\r\nBenchmarks.latexToUnicodeConversion  124527.930 ▒ 3984.776  ops/s\r\n\r\nAfter:\r\nBenchmarks.htmlToLatexConversion     6153.450 ▒   114.716  ops/s\r\nBenchmarks.latexToHTMLConversion     168037.040 ▒ 13412.341  ops/s\r\nBenchmarks.latexToUnicodeConversion  173674.308 ▒  7455.006  ops/s\r\n\r\nHere one can see that only searching the string to be converted once is far better than running replace on all possible characters. Which is not surprising, but require quite complicated code.\r\n\r\nFinally, with the simpler strings it was easier to add most (all?) of the curly brackets required to solve #405 .\r\n\r\n\r\n","created_at":"2016-04-15T17:42:03Z","updated_at":"2016-04-20T07:43:08Z","closed_at":null,"merged_at":null,"merge_commit_sha":"348ab0ad568bef23d02f5c576ffa09ae0a4e5bb0","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/JabRef/jabref/pulls/1215/commits","review_comments_url":"https://api.github.com/repos/JabRef/jabref/pulls/1215/comments","review_comment_url":"https://api.github.com/repos/JabRef/jabref/pulls/comments{/number}","comments_url":"https://api.github.com/repos/JabRef/jabref/issues/1215/comments","statuses_url":"https://api.github.com/repos/JabRef/jabref/statuses/e7205f506e0f82c3d0d396452de5f1dd089e403a","head":{"label":"oscargus:noregexpinhtmlandunicodeconversionmap","ref":"noregexpinhtmlandunicodeconversionmap","sha":"e7205f506e0f82c3d0d396452de5f1dd089e403a","user":{"login":"oscargus","id":8114497,"avatar_url":"https://avatars.githubusercontent.com/u/8114497?v=3","gravatar_id":"","url":"https://api.github.com/users/oscargus","html_url":"https://github.com/oscargus","followers_url":"https://api.github.com/users/oscargus/followers","following_url":"https://api.github.com/users/oscargus/following{/other_user}","gists_url":"https://api.github.com/users/oscargus/gists{/gist_id}","starred_url":"https://api.github.com/users/oscargus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oscargus/subscriptions","organizations_url":"https://api.github.com/users/oscargus/orgs","repos_url":"https://api.github.com/users/oscargus/repos","events_url":"https://api.github.com/users/oscargus/events{/privacy}","received_events_url":"https://api.github.com/users/oscargus/received_events","type":"User","site_admin":false},"repo":{"id":43496954,"name":"jabref","full_name":"oscargus/jabref","owner":{"login":"oscargus","id":8114497,"avatar_url":"https://avatars.githubusercontent.com/u/8114497?v=3","gravatar_id":"","url":"https://api.github.com/users/oscargus","html_url":"https://github.com/oscargus","followers_url":"https://api.github.com/users/oscargus/followers","following_url":"https://api.github.com/users/oscargus/following{/other_user}","gists_url":"https://api.github.com/users/oscargus/gists{/gist_id}","starred_url":"https://api.github.com/users/oscargus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oscargus/subscriptions","organizations_url":"https://api.github.com/users/oscargus/orgs","repos_url":"https://api.github.com/users/oscargus/repos","events_url":"https://api.github.com/users/oscargus/events{/privacy}","received_events_url":"https://api.github.com/users/oscargus/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/oscargus/jabref","description":"Graphical Java application for managing bibtex (.bib) databases","fork":true,"url":"https://api.github.com/repos/oscargus/jabref","forks_url":"https://api.github.com/repos/oscargus/jabref/forks","keys_url":"https://api.github.com/repos/oscargus/jabref/keys{/key_id}","collaborators_url":"https://api.github.com/repos/oscargus/jabref/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/oscargus/jabref/teams","hooks_url":"https://api.github.com/repos/oscargus/jabref/hooks","issue_events_url":"https://api.github.com/repos/oscargus/jabref/issues/events{/number}","events_url":"https://api.github.com/repos/oscargus/jabref/events","assignees_url":"https://api.github.com/repos/oscargus/jabref/assignees{/user}","branches_url":"https://api.github.com/repos/oscargus/jabref/branches{/branch}","tags_url":"https://api.github.com/repos/oscargus/jabref/tags","blobs_url":"https://api.github.com/repos/oscargus/jabref/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/oscargus/jabref/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/oscargus/jabref/git/refs{/sha}","trees_url":"https://api.github.com/repos/oscargus/jabref/git/trees{/sha}","statuses_url":"https://api.github.com/repos/oscargus/jabref/statuses/{sha}","languages_url":"https://api.github.com/repos/oscargus/jabref/languages","stargazers_url":"https://api.github.com/repos/oscargus/jabref/stargazers","contributors_url":"https://api.github.com/repos/oscargus/jabref/contributors","subscribers_url":"https://api.github.com/repos/oscargus/jabref/subscribers","subscription_url":"https://api.github.com/repos/oscargus/jabref/subscription","commits_url":"https://api.github.com/repos/oscargus/jabref/commits{/sha}","git_commits_url":"https://api.github.com/repos/oscargus/jabref/git/commits{/sha}","comments_url":"https://api.github.com/repos/oscargus/jabref/comments{/number}","issue_comment_url":"https://api.github.com/repos/oscargus/jabref/issues/comments{/number}","contents_url":"https://api.github.com/repos/oscargus/jabref/contents/{+path}","compare_url":"https://api.github.com/repos/oscargus/jabref/compare/{base}...{head}","merges_url":"https://api.github.com/repos/oscargus/jabref/merges","archive_url":"https://api.github.com/repos/oscargus/jabref/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/oscargus/jabref/downloads","issues_url":"https://api.github.com/repos/oscargus/jabref/issues{/number}","pulls_url":"https://api.github.com/repos/oscargus/jabref/pulls{/number}","milestones_url":"https://api.github.com/repos/oscargus/jabref/milestones{/number}","notifications_url":"https://api.github.com/repos/oscargus/jabref/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/oscargus/jabref/labels{/name}","releases_url":"https://api.github.com/repos/oscargus/jabref/releases{/id}","deployments_url":"https://api.github.com/repos/oscargus/jabref/deployments","created_at":"2015-10-01T13:07:32Z","updated_at":"2016-01-11T08:19:16Z","pushed_at":"2016-04-19T20:55:22Z","git_url":"git://github.com/oscargus/jabref.git","ssh_url":"git@github.com:oscargus/jabref.git","clone_url":"https://github.com/oscargus/jabref.git","svn_url":"https://github.com/oscargus/jabref","homepage":"http://jabref.sourceforge.net/","size":79179,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"JabRef:master","ref":"master","sha":"094f11d723a4b30b299b618f0d31bd4348e88e71","user":{"login":"JabRef","id":3914421,"avatar_url":"https://avatars.githubusercontent.com/u/3914421?v=3","gravatar_id":"","url":"https://api.github.com/users/JabRef","html_url":"https://github.com/JabRef","followers_url":"https://api.github.com/users/JabRef/followers","following_url":"https://api.github.com/users/JabRef/following{/other_user}","gists_url":"https://api.github.com/users/JabRef/gists{/gist_id}","starred_url":"https://api.github.com/users/JabRef/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JabRef/subscriptions","organizations_url":"https://api.github.com/users/JabRef/orgs","repos_url":"https://api.github.com/users/JabRef/repos","events_url":"https://api.github.com/users/JabRef/events{/privacy}","received_events_url":"https://api.github.com/users/JabRef/received_events","type":"Organization","site_admin":false},"repo":{"id":17634071,"name":"jabref","full_name":"JabRef/jabref","owner":{"login":"JabRef","id":3914421,"avatar_url":"https://avatars.githubusercontent.com/u/3914421?v=3","gravatar_id":"","url":"https://api.github.com/users/JabRef","html_url":"https://github.com/JabRef","followers_url":"https://api.github.com/users/JabRef/followers","following_url":"https://api.github.com/users/JabRef/following{/other_user}","gists_url":"https://api.github.com/users/JabRef/gists{/gist_id}","starred_url":"https://api.github.com/users/JabRef/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JabRef/subscriptions","organizations_url":"https://api.github.com/users/JabRef/orgs","repos_url":"https://api.github.com/users/JabRef/repos","events_url":"https://api.github.com/users/JabRef/events{/privacy}","received_events_url":"https://api.github.com/users/JabRef/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/JabRef/jabref","description":"Graphical Java application for managing bibtex (.bib) databases","fork":false,"url":"https://api.github.com/repos/JabRef/jabref","forks_url":"https://api.github.com/repos/JabRef/jabref/forks","keys_url":"https://api.github.com/repos/JabRef/jabref/keys{/key_id}","collaborators_url":"https://api.github.com/repos/JabRef/jabref/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/JabRef/jabref/teams","hooks_url":"https://api.github.com/repos/JabRef/jabref/hooks","issue_events_url":"https://api.github.com/repos/JabRef/jabref/issues/events{/number}","events_url":"https://api.github.com/repos/JabRef/jabref/events","assignees_url":"https://api.github.com/repos/JabRef/jabref/assignees{/user}","branches_url":"https://api.github.com/repos/JabRef/jabref/branches{/branch}","tags_url":"https://api.github.com/repos/JabRef/jabref/tags","blobs_url":"https://api.github.com/repos/JabRef/jabref/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/JabRef/jabref/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/JabRef/jabref/git/refs{/sha}","trees_url":"https://api.github.com/repos/JabRef/jabref/git/trees{/sha}","statuses_url":"https://api.github.com/repos/JabRef/jabref/statuses/{sha}","languages_url":"https://api.github.com/repos/JabRef/jabref/languages","stargazers_url":"https://api.github.com/repos/JabRef/jabref/stargazers","contributors_url":"https://api.github.com/repos/JabRef/jabref/contributors","subscribers_url":"https://api.github.com/repos/JabRef/jabref/subscribers","subscription_url":"https://api.github.com/repos/JabRef/jabref/subscription","commits_url":"https://api.github.com/repos/JabRef/jabref/commits{/sha}","git_commits_url":"https://api.github.com/repos/JabRef/jabref/git/commits{/sha}","comments_url":"https://api.github.com/repos/JabRef/jabref/comments{/number}","issue_comment_url":"https://api.github.com/repos/JabRef/jabref/issues/comments{/number}","contents_url":"https://api.github.com/repos/JabRef/jabref/contents/{+path}","compare_url":"https://api.github.com/repos/JabRef/jabref/compare/{base}...{head}","merges_url":"https://api.github.com/repos/JabRef/jabref/merges","archive_url":"https://api.github.com/repos/JabRef/jabref/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/JabRef/jabref/downloads","issues_url":"https://api.github.com/repos/JabRef/jabref/issues{/number}","pulls_url":"https://api.github.com/repos/JabRef/jabref/pulls{/number}","milestones_url":"https://api.github.com/repos/JabRef/jabref/milestones{/number}","notifications_url":"https://api.github.com/repos/JabRef/jabref/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/JabRef/jabref/labels{/name}","releases_url":"https://api.github.com/repos/JabRef/jabref/releases{/id}","deployments_url":"https://api.github.com/repos/JabRef/jabref/deployments","created_at":"2014-03-11T14:48:42Z","updated_at":"2016-04-18T20:26:49Z","pushed_at":"2016-04-19T22:27:36Z","git_url":"git://github.com/JabRef/jabref.git","ssh_url":"git@github.com:JabRef/jabref.git","clone_url":"https://github.com/JabRef/jabref.git","svn_url":"https://github.com/JabRef/jabref","homepage":"http://www.jabref.org/","size":83564,"stargazers_count":264,"watchers_count":264,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":182,"mirror_url":null,"open_issues_count":181,"forks":182,"open_issues":181,"watchers":264,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/JabRef/jabref/pulls/1215"},"html":{"href":"https://github.com/JabRef/jabref/pull/1215"},"issue":{"href":"https://api.github.com/repos/JabRef/jabref/issues/1215"},"comments":{"href":"https://api.github.com/repos/JabRef/jabref/issues/1215/comments"},"review_comments":{"href":"https://api.github.com/repos/JabRef/jabref/pulls/1215/comments"},"review_comment":{"href":"https://api.github.com/repos/JabRef/jabref/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/JabRef/jabref/pulls/1215/commits"},"statuses":{"href":"https://api.github.com/repos/JabRef/jabref/statuses/e7205f506e0f82c3d0d396452de5f1dd089e403a"}}}}