My search for the best reference manager

Finally, I think I found what I need for my Bibliography management and referencing combination.

My requirement (typically of many researchers) is that I need to do collaborative writing with people using MS Office tools alone, while LaTeX becomes a preferred option for myself involving many equations. I am by now very much used to MS Word and LO Writer; but still LaTeX feels very comfortable in (1) handling figure placements and captions (I can push them to the end  or keep them in-line with just one preamble command) (2) easily changing citations and citation styles between different journals, and (3) equation typing and referencing. The biggest drawback is that LaTeX does not have an easy-to-use collaborative writing feature like the in-line commenting and review options of Word. Here, the LO Writer and Word are extremely handy, and the need for this feature cannot be understated.

There are many ways for managing bibliographies, referencing and automatically changing the bibliography style in Word or Writer either by using inbuilt referencing system or with external add-ons with just a few clicks. Using internal referencing system needs either building the whole bibliography data by typing from scratch or exporting this data into a suitable format to be imported into Word or Writer. Many reference managers like Mendeley, Zotero, JabRef, etc. manage the literature database and provide plugins for MS Word or LO Writer. Moreover, these reference managers (or their plugins) allow to easily change between the citation styles just with a few mouse clicks.

Here is my personal experience. I have experimented with Mendeley and JabRef+Drropbox for reference management and syncing between non-homogeneous devices (an office Linux desktop, a laptop, and my Android tablet).

So what’s the problem? My problem is I work on both Windows and Linux platforms and use documentation tools like LibreOffice Writer, LaTeX (Kile), and MS Word. I keep writing and synchronizing literature and documents between several devices. On my Linux laptop, I use Windows inside VirtualBox exclusively to take OneNotes, prepare PowerPoint presentations, and do some collaborative writing/reviewing. These are the three cases where there is still no matching alternative in the Linux environment yet (I am sure many would agree with me on this), and therefore I am forced to use a virtual machine.

I use Dropbox to sync among computers and a tablet.

I have been using JabRef for a longtime and really like its integration with Kile and LibreOffice Writer; JabRef directly inserts citations into Kile or Writer. JabRef can save the database in BibTeX format, so I can also use this file with any preferred LaTeX work flow.

Mendeley has no integration with Kile, but can save in a .bib format.

Mendeley has clients for Windows and Linux. However, it stores its processing information about the database in external files located in some local database and configuration files that are specific (I guess) to OS. So syncing between devices is through its cloud based system only, leading to multiple copies/instances when using shared folder/drives in VirtualBox or dual boot environments. In contrast, JabRef supports relative file paths and platform-independent file link mechanism, so the same .bib file can be accessed through both the Linux and Windows clients. Moreover, JabRef does not store any data (except for configuration) in other machine-specific auxilliary data folders, so all I need is sync my .bib file and the folder containing bibliography sources (PDFs, docs, odt, PS, …).  Perfect for shared folders/disk in a dual boot or VirtualBox environment!

For Android, there is a free JabRef-compatible (nearly a clone) app called RefMaster. Mendeley also has an app for Android, which I haven’t used so far.

Both JabRef and Mendeley have plugins for LO Writer…

JabRef has a MS Word plugin called BibTeX4Word, while Mendeley has its own. Here has been my biggest difficulty so far. BibTeX4Word requires a working latex system like MikTeX. Installing this is not a big deal, I did it on Windows in VirtualBox. Used BibTeX4Word in several internal documents and journal manuscripts-worked like a charm. But the problem came when I had to use a specific journal’s (Acta Materialia) bibliography style file in a Word document. The result of BibTeX4Word was a mess, and no native latex style files matched with the journal specification. So I had to use the closest and then edit all the references manually. I had to do this again before submitting a revised manuscript. Thank God, it was only one revision! I had similar difficulties with my another previous manuscript in Word. This is when I have started experimenting with Mendeley. Mendeley seemed to be the solution as it has inbuilt support for many up-to-date journal citation styles, and it only needs a couple of mouse clicks to change to the correct style. However, I could not use the same .bib file for both JabRef and Mendeley since they use different custom keys for storing additional info like file location, etc. So Mendeley required me to install it on both Linux host and Windows guests, to use the online syncing for the database. This is when I started considering switching to Mendeley.

Apart form the above drawbacks of Mendeley against JabRef, Mendeley neither stores editable annotations inside PDFs, nor allows me to open the document in external viewers of my choice. This is a obstacle for me, since using Mendeley’s inbuilt annotation system means I have to stick with it forever with it and only can see annotations inside it! So my search continued…

Then I came across Docear! Docear presents itself as more than a reference manager, containing brain-mapping software to take notes that nicely integrates with annotations in PDFs, can embed images, LaTeX formulae, cross-referencing with other database articles, and more… It embeds JabRef, and calls external programs for PDFs. The annotations created there can be linked in the brain-maps created in Docear. This is definitely an attractive feature! But it is not the most attractive feature for me at the moment. It is the MS Word plugin for BibTeX databases-the Docear4Word! Docear itself saves the database in .bib files (naturally since its reference manager is basically JabRef). However, to use the Word plugin, one does not need to use Docear, but any reference manager that can export to a .bib file can be used independently. And the word plugin uses citation style sheets based on .csl format that can be downloaded from http://www.citationstyles.org or from Zotero’s web site. It is also possible to create your .csl file on the citationstyles.org page by simply typing in the format. The Word plugin automatically reformats the style with just a mouse click.

Seems like I found the perfect solution for my problem. Now I have uninstalled Mendeley, BibTex4Word+MikTeX. Now I can work with Kile/JabRef, JabRef/Word+Docear4Word, or JabRef/Writer+JabRefOOPlugin using a single data store and single .bib file on my laptop with VirtualBox and sync with Dropbox to other devices!

 

 

 

RedNotebook spell check problem

RedNotebook is a journal app that is very attractive for things like writing your diary. On Ubuntu 16.04 the packaged version in the canonical repositories (rednotebook v 1.10) has a bug that deactivates spell checking capability. This is claimed to be fixed in the version 1.3o on the rednotebook official website, but it appears that the version 1.30 in the ppa:rednotebook/stable has not received this update and still has this bug.

The bug is related to the fact that the python-gtkspell has changed to python-spellcheck with some changes also to the internal function calls.

The following patch will fix it. Copy this code to a patch file and apply the patch to /usr/share/rednotebook/rednotebook/gui/editor.py  (of course you need root privileges).

*** editor.py 2016-09-03 20:58:36.462628695 +0200
— editor_new.py 2016-09-03 20:52:04.472764303 +0200
***************
*** 26,34 ****
import pango

try:
! import gtkspell
except ImportError:
! gtkspell = None

from rednotebook.gui import t2t_highlight
from rednotebook import undo
— 26,34 —-
import pango

try:
! import gtkspellcheck
except ImportError:
! gtkspellcheck = None

from rednotebook.gui import t2t_highlight
from rednotebook import undo
***************
*** 268,274 ****

def can_spell_check(self):
“””Return True if spell checking is available.”””
! return gtkspell is not None

def is_spell_check_enabled(self):
return self._spell_checker is not None
— 268,274 —-

def can_spell_check(self):
“””Return True if spell checking is available.”””
! return gtkspellcheck is not None

def is_spell_check_enabled(self):
return self._spell_checker is not None
***************
*** 286,292 ****
assert self.can_spell_check()
assert self._spell_checker is None
try:
! self._spell_checker = gtkspell.Spell(self.day_text_view)
except gobject.GError as err:
logging.error(‘Spell checking could not be enabled: %s’ % err)
self._spell_checker = None
— 286,292 —-
assert self.can_spell_check()
assert self._spell_checker is None
try:
! self._spell_checker = gtkspellcheck.SpellChecker(self.day_text_view)
except gobject.GError as err:
logging.error(‘Spell checking could not be enabled: %s’ % err)
self._spell_checker = None

My switch from KDE to Unity

Yesterday, I switched from KDE to Unity. KDE has been my DE for over 12 years. That sounds a great relationship, but then what made me change my mind and ditch it? Certainly I was not happy to leave my long loved DE. But there are certain things that have always bugged me and finally made me to try other DE and see if I am happy.

My first introduction to Linux happened during my Master’s on computers that had both GNOME and KDE. I do not remember any particular inclination at that time for one or the other. Later during my doctoral work, my workstation was given KDE as the default and I remained with it. When I bought my first sony vaio laptop, I installed again KDE and was kind of happy. What I do on the computer of course is important in shaping my opinion or my criteria for effectiveness. I am not trying to judge DEs–just trying to find the best optimized environment for my work. So be warned, this opinion only serves you hear another experience.

OK, what do I do? I am a researcher, more specifically a computational mechanics/materials science guy, who does numerical analysis using a variety of commercial and open source programs, does programming in C, C++, FORTRAN, Python, etc., digs into large data sets visualizing in 3D, documents daily work, and publishes now and then in scientific journals.

Yes you have correctly guessed by now! I spend all my time in front of the screen and stare into the details of what I see–for veryyyyyyyy long sometimes. If the design of any DE strains my eyes, it’s not for me. From this point of view, GNOME has always appealed to me better than KDE. The font and other screen renderings in GNOME have always felt more eye-friendly, whereas in KDE the fonts were not as “smooth” even with antialiasing turned on and proprietary graphics drivers in use. I have considered to switch to GNOME several times, a few applications have kept me stick to KDE. Truly speaking, the okular (then the kpdf), kile, k3b, kate, amarok, and to some extent the file manager offered a lot of functionality and customization than their GNOME counterparts. Added to it the new eye-candy desktop effects with desktop cube and those compiz effects in KDE were so pleasing I have started to fell in love with KDE. (Yes, I was young at that time to be attracted by those compiz effects that in noway contributed to the improvement of work efficiency.) But I really hated the rendering of fonts in okular (or kpdf) over how it looks in evince. Nevertheless, my journey with KDE was good until the plasma entered into the regular distros.

The plasma desktop was a big disaster with stability issues and the applications lacked several functionalities that they had in KDE 3.x. Probably it was the time I made my switch. But roughly over the same period of time GNOME was also getting refurbished, though the reports in the community were not disastrous as for KDE. On the other hand, GNOME changed its general work flow concept which I particularly did not like and didn’t have time to adjust to new work flows. The Unity desktop at that time also received tonnes of criticism, and I didn’t want to spend time in experimenting instead of doing my research. I thought I will wait a few months to get the mud settle down for KDE, and probably I will have my previous functionality and stability. That proved to be a dream to be fulfilled in the distant future–perhaps even for today. Yeah, I know you will object! Yes, Plasma 4.3 is quite good and the release afterwards are quite stable and usable. But akonadi and nepumok were still a big disaster. They kept on improving, particularly when baloo was introduced it was a great relief finally. But now the switch to KF5 brings me the pain again, though not as bad.

I have been using Kubuntu over the last several years on my Dell XPS which has a NVIDIA optimus card. I decided to upgrade to Kubuntu 16.04 a couple of months ago from 14.04 for two reasons: it was claimed that plasma 5 is much faster and okular now has the capability to save annotations to the pdf directly, a feature I have been longing for and is very important to me when I read the literature. Upgrade to the latest plasma version from the kubuntu-backports ppa. Then started some irritating screen flickering issues. These seems to be known bugs since early plasma 5.x days. Some report that this is a kernel issue and will be fixed when the 4.8  kernel comes up. But recently the desktop started to freeze for every two mouse clicks, and became highly unusable. I am fed-up with filing bug reports, and decided to check my luck with other DEs. May be I will have a similar overall experience, or may be not! Switched to Ubuntu (i.e. with Unity desktop). No screen flickering issues over the last two days. So what is this claim in the internet relating it with kernel for *buntu? Let’s see and wait a few more days! But so far so good. The graphics, fonts, and animations are very pleasing with much lesser eye-fatigue. May be I am going to stick to it!

 

How to get rid of title bar in KDE to maximize screen real estate?

  1. Use you favorite text editor to edit the file

    ~/.kde4/share/config/kwinrc

    In some distributions the .kde4 directory is called .kde (or something else like .kdemod4)

  2. Add the line

    BorderlessMaximizedWindows=true

    under the section [Windows]
    It should look something like this:

    [Windows]
    ActiveMouseScreen=true
    BorderlessMaximizedWindows=true

  3. Launch KRunner (Alt+F2) and run the command

    kwin --replace

    to restart KWin

  4. Go crazy and maximize every window in sight! Remember that you can unmaximize them from the window menu (Alt+F3) or from the task manager in your panel. If quick tiling is enabled (System Settings → Desktop → Screen Edges → Window Management), you can also use Alt+Left mouse button to unmaximize windows by dragging them

This is a suggestion copied from here.

PSRecon3D – A tomographic reconstruction and analysis software for porous structures

PSRECON3DPSRecon3D has been primarily developed to reconstruct the three dimensional structure of nanoporous gold. Taking images obtained by serial sectioning, it accurately computes the spacing of individual pairs of images (i.e. slice thickness or voxel dimension in the out-of-plane direction), and produces volume or surface meshes. It also includes a bunch of structure analysis options to compute a set of widely used morphological parameters. It can be readily used for tomographic reconstruction of other porous materials, and with minor changes can also be used for multiphase microstructures in dense materials. It is based on MATLAB with a couple of FORTRAN routines.

Tomography features:

  • Image registration (alignment of image stack)
  • Image processing for noise removal and background intensity gradients
  • Slice thickness determination
  • Surface mesh generation
  • Tetrahedral volume mesh generation
  • Export meshes in COMSOL or ABAQUS format for Finite Element analysis

Analysis features:

  • Relative density estimation
  • Pore/ligament diameter distribution
  • Interface shape distribution function (ISD)
  • Mean or Gaussian curvature distributions
  • Surface/Interface normal distributions (IND or SND)
  • Evaluate genus, specific surface area
  • Identify connected components

Click here for the PSRECON3D_Manual

Screenshots

PSRecon3D_VOIselection

PSRecon4D_SurfaceMesh

Why do we study composites?

Whether or not we make a conscious notice of them, composites are all around us, from materials in our own bodies (e.g., bones and teeth) to most of the objects in our everyday use (wood, concrete, ceramics, even some chocolates). Composites are made in specific ways combining two or more materials (at larger-than-atomic length scales), each contributing beneficial properties so that the resulting composite of the two ingredient materials exhibits an optimized set of properties that are otherwise complementary, for example, strength and ductility. This is the usual answer one would normally hear when you ask a materials scientist. Here is a more intriguing, and perhaps a more philosophical, answer given by Graeme Milton in the book The Theory of Composites:

“… a second, equally important reason is that what we learn from the field of composites could have far-reaching implications in many fields of science. Significant progress in improving our understanding of how microscopic behavior influence macroscopic behavior could impact our understanding of turbulence, of phase transitions involving many length scales, of how quantum behavior influences behavior on classical length scales, or, at the more extreme level, of how behavior on the Plank length scale influences behavior on the atomic scale.”

While the transfer of tactics from the understandings of macroscopic-microscopic thermomechanical behavior to the classical-quantum behavior may seem unlikely, he argues in favor saying “… it is hard to deny the impact that our understanding of classical physics had on the development of quantum mechanics. Therefore, it is conceivable that a better understanding of classical questions involving multiple length scales could have large reverberations.”

Inventor of C language passed away…

The creator of C programming language and developer of Unix Dennis Ritchie had passed away last week-end. Another great man less…

His invention powers the huge software that runs flights to cars today. He did not invent a consumer product like Stevejobs, but invented the software that made his MacOS and Linux.

Tributes the the great man!