Inconsistent behavior when using built-in PDF reader & annotator

I am getting frustrated with Logseq. I am trying to get a simple note-taking use-case going with it, but I can’t help but keep fighting the tool rather than using it.

I see Logseq has a built-in PDF reader. Nice. I also see that it supports highlighting the text from the PDF file, and doing references to it (block reference, etc.). Great.

Sounds like it would work pretty well, right? Not quite, in my experience.

First of all, I create a new page for keeping notes from a book. Let’s say the book is “How to Take Smart Notes” by Sonke Ahrens.

So, I create a new page, [[how to take smart notes]]. I use all lower case with my page names, and I just type the book name into the page filename. I will use page properties for adding the author:: info.

Now, inside the page [[how to take smart notes]], I do /Upload an asset and upload the book’s PDF file. This creates a link inside the [[how to take smart notes]] page.

Then, I click on that file link, and I open the pdf inside Logseq, on the left hand side, and I pick the highlight mode to highlight some portion of text.

What happens in the background is, Logseq creates an additional file, named in my local filesystem.

So, I have the following files related to my small and simple endeavor of taking book notes with logseq:

how to take smart

the first one is created by me, and the second one is created by Logseq itself.

The second one is used to store my highlighted portions of text from the book. The problem is, I created the the first page (that is, how to take smart exactly for that purpose already! Why the extraneous file?

This is not the only inconsistent, and thus confusing UX with the internal PDF reader implementation of Logseq.

Now, the Logseq created file, yet, inside Logseq UI, this file’s name is shown as sonke ahrens how to take smart notes. Without the hls__ prepend, and without the underscores present in the original filename.

This is quite confusing for me as I pay attention to my filesystem and what files Logseq creates in it. I seek consistency with my filenames, and how they are presented to me inside the Logseq UI.

This last part is especially annoying to me, as, I would like to store the files in my filesystem without whitespaces, that is, multiple-word files employing underscores in between words, yet Logseq doesn’t offer a user-facing setting for this in its Options menu—YET, Logseq is capable of creating a Logseq page with whitespaces in its UI which are replaced with underscores for the files it writes/creates in the local linux filesystem. Talk about the frustration!

Here’s another post where I try to illustrate what I mean: Cleaner file names - #7 by MoneroDude

Anyone else sharing my frustrations? What do you do to deal with those inconsistent UX stuff??

The workflow that I’d recommend for this is not creating the page manually yourself first. If You are going to be making notes on a external asset start with the asset. for example with a pdf insert the asset with /Upload an asset then open it in the viewer and follow the link in the viewer to the annotations page (the one with the hls_ prefix) or use the autocompletetion / search to get to the annotations page. Then you can just take notes on the auto-generated annotation page like a normal page.

I generally prefer to do this with pdf entries in my Zotero library to ensure that my assets are also managed in there rather than just having pdfs in my assets directory.

Yeah, I considered that. But I also have a Template for my book notes, which automatically insert some page properties (like tags::, author::, etc.).

In the case of using the auto-generated page like a normal page, I don’t think I will be able to insert my templates into it, as that page already has two page properties inserted automatically: file and file-path. How would my book notes Template and its tags play with these automatically-inserted tags of Logseq’s default creation?

Hmm, it’s a bit manual but once you’ve got the annotations page you could start a new block go /Template <Return> <template name> and move your template tags into the first block so they become page properties.

Because I tend to use Zotero for this my notes page already comes with a bunch of properties like title and tags from the Zotero database.

It’s indeed manual labor, which a tool like Logseq should make obsolete.

Unless some other community members chimes in with a better perspective, I think I will have to let go of using the built-in PDF reader, and PDF annotation maker tools of Logseq.

I have no saying on the right tool. But if automation is desirable, I can develop a simple kit that inserts the template by typing a macro like {{template name}} , although without auto-completion. However, if the name of the template is fixed, it could be turned into a quick command.

I appreciate the willingness to work on such a tool that might be helpful to my ill, on your own time and dime. However, I am still inclined to giving up on the PDF annotation feature of Logseq, as, in its default state, isn’t coherent with the rest of the Logseq usecases (as I described in my original post in this thread).

Edit: I edited the name of the thread to better reflect its contents.

I’m curious about your approach with Zotero, because I’m finding the same issue. I add a zotero references through /Zotero command and that creates a reference page. Then I go to that page, open the attached PDF file, and when I start annotating the PDF, a new annotation page is created.

Is it possible to have a single page with the zotero reference metadada (or manually set), attached file, and notes? Or in order to get that I should perform all manual steps?

Ah yes the pdf annotations go to a different file to the Zotero notes page, would be good to have a link in the default zotero page that links to the annotation page if there is an attachment. I don’t mind having a separate page for the file annotations and my general notes as long as they are linked.

1 Like