A got the idea from supervised machine learning. The idea is simple. Just input the text you want to learn and output the same text. That is. Rewrite the text just as it is shown on your computer.
So take a creative commons license book on the topic you want to learn and write the text as it is in the pdf in a document of your text editor.
To make it extra efficient you can make a screencast with your voice reading the text.
I guess this will make your brain remember and learn better.
This goes for learning math to programming or writing books. Just enter the same text with your word editor.
I believe that with this method you can overcome learning difficulties and or lack of concentration when reading.