首先,我会先到xournal++里面画完图。 
gnome桌面有局部截图的快捷键的,是shift+ptrscr,如果同时按住ctrl的话,就可以不保存到截图文件夹而是保存到clipboard,按这个快捷键进行框选截图很方便。 
再在emacs内使用org-download的org-download-clipboard(在doom-emacs中可以使用 SPC m a p)来粘贴就好了。 
 
 
刚刚开始使用emacs的org-mode做笔记的时候就有一个想法:打字比写字可爽多了,但是如果可以在org-mode里面方便地画图就好了。最近在忙着期末复习,我又不太喜欢手写,所以笔记都是用org-mode做的,便越觉得在org-mode里面完美做笔记需要一个哪怕再简陋的画图的功能。
碰巧,最近我从女朋友那里得到了一块三手(可能是四手了)的wacom数位板,拿到之后就觉得可以试试用电脑代替一下ipad做笔记,便以"gnome桌面上的手写笔记软件"之类的关键词找了一下,找到了一个叫xournal++的软件来做这件事情。
  
  
    
  Xournal++ is a handwriting notetaking software with PDF annotation support. Written in C++ with GTK3, supporting Linux (e.g. Ubuntu, Debian, Arch, SUSE), macOS and Windows 10. Supports pen input fr...
   
  
    
    
  
  
 
后面突发奇想,
为什么都在电脑上面了,为什么还要写字,用我心爱的机械键盘打字不香嘛? 
都打字了,为什么要在这个不熟悉的软件里面打字,用org-mode做笔记它不香嘛? 
emacs 虽然没有可以方便用数位板进行绘画的插件,但是我可以截图啊! 
 
然后用这个思路去试了一下,我发现我已经爱上学习了。
             
            
              22 个赞 
            
                
           
          
            
            
              cool!
不过这么搞有点占桌面,我现在笔记本+显示器+键盘都有点捉襟见肘了.
             
            
              
           
          
            
            
              ot一下,居然能在emacs社区看到学经典控制论的非程序员。
             
            
              1 个赞 
            
           
          
            
            
              确实有点费空间,但是我比起你来没有外接显示器,所以空间占用率尚可。我之前是用脚本检测外接键盘,然后如果接了外接键盘就禁用笔记本的键盘,然后就将我的键盘直接放在笔记本的键盘区上面使用。
现在我的使用方法是把数位板叠在键盘区上面,然后键盘直接放在腿上打字 
             
            
              
           
          
            
            
              尝试了一下类似的做法,有一点疑问想请教一下:
看您截图里,应该采用的是attachment的org-download-method。这样的话,所有保存的图片会被存到~/org/.attach下一个很长串的目录下我个人觉得这个做法不太清爽;另外,在插入了attachment后,headline会出现一个对应的:ATTACH:的tag,导出成pdf(latex)的话就会出现在相应的标题中,比较不美观
我自己采用的方法是把org-download-method设置为directory,这样还能够设置org-download-image-dir 与org-download-heading-lvl,方便整理所有的图片文件。但这样做也会带来一定的问题,最主要的就是在导出pdf(latex)时,可以看到在对应的latex文档中,出现的不是\includegraphix而是url,目前我还没研究出为什么会这样。
             
            
              
           
          
            
            
              attach的tag不导出就是了,将org-export-with-tag(大概叫这个名字)设置成nil就好了。我导出的时候也不太喜欢导出tag
             
            
              
           
          
            
            
              感谢,现在我终于把这个机制弄得比较舒服了。
org-mode下设置
  (setq org-export-with-tags nil)
来取消导出时的tag,然后设置
(setq org-download-method 'attach
        org-attach-id-dir "."
        org-attach-preferred-new-method 'dir
        org-download-timestamp "%Y-%m-%d_%H-%M-%S_")
作为截图保存的机制。我不太喜欢把attachment的文件放入~/org目录,另外org-download-method设置为directory有我上面说的导出bug。
这样弄完之后感觉效果就很顺手了,我用的是WSL的emacs,X410可以设置共享剪贴板,目前我可以通过在windows下Win+Shift+S截图,然后直接在emacs中SPC m a p粘贴,不过唯一的小遗憾是如果当前的headline没有设置:DIR:的话,会要求输入一个目录以存放attachment,暂时没有找到自动以一级标题作为目录名的方法。不过总体来说感觉已经很爽了,感谢启发!
             
            
              2 个赞 
            
           
          
            
            
              最近又找到了新的玩法,参考一个大佬的blog post 
首先是不要用doom自带的org-download,也就是把init.el当中的+dragndrop去掉,然后手动在package.el中添加(package! org-download),然后在config.el中设置
;; ask for the filename before pasting an image
;; filename should end with ".png/.jpg/.svg"
(defun zz/org-download-paste-clipboard (&optional use-default-filename)
  (interactive "P")
  (require 'org-download)
  (let ((file
         (if (not use-default-filename)
             (read-string (format "Filename [%s]: "
                                  org-download-screenshot-basename)
                          nil nil org-download-screenshot-basename)
           nil)))
    (org-download-clipboard file)))
(after! org
  (setq org-download-method 'directory
        org-download-image-dir "images"
        org-download-heading-lvl nil
        org-download-timestamp "%Y%m%d-%H%M%S_"
        org-image-actual-width 500)
  (map! :map org-mode-map :localleader "ap" #'zz/org-download-paste-clipboard)
  )
;; disable electric-indent-mode in org
(add-hook! org-mode (electric-indent-local-mode -1))
这里大佬自定义了一个函数,使得我们可以在粘贴图片时自行命名(注意要加拓展名,.png/.jpg/.svg都可以但.bmp似乎不可以),然后就可以把它绑定到原先的键位SPC m a p上。
此外还有在org-mode中禁用了electric-indent,这个我不是非常了解,但也照抄了。
然后还有一些我个人的设置
;; 导出时不显示tag(如果method为attach会在headline后添加对应tag)
  (setq org-export-with-tags nil)
  ;; 导出为latex时,所有图片采用0.6\linewidth,如果想用图片原宽,设置为""即可
  (setq org-latex-image-default-width "\\0.6linewidth")
  ;; hyperref设置,主要是生成目录时避免红框
  (setq org-latex-hyperref-template "\\hypersetup{\n pdfauthor={%a},\n pdftitle={%t},\n pdfkeywords={%k},\n pdfsubject={%d},\n colorlinks=true,\n linkcolor=black\n}\n")
  ;; 隐藏#+DOWNLOADED的标注,我这里没有启用
  ;; (setq org-download-annotate-function (lambda (_link) ""))
 
            
              5 个赞 
            
           
          
            
            
              我最近没有什么要手写的笔记了,而且由于受到键位原教旨主义的感召,自己开始攒配置了,所以一直没有重新来设置这个。先马住,来年开学的时候抄一下。
             
            
              
           
          
            
            
              请问您有专门配置Xournal++或者数位屏么?我用绘王数位屏在Xournal++上手写非常卡顿、不跟手。
这是Xournal++鼠标写的:
鼠标很难控制,但是起码是跟手的
这是Xournl++数位屏写的:
完全不跟手,不知为何
这是GoodNotes数位屏写的:
书写体验很流畅,写出来的也比较平滑
             
            
              
           
          
            
            
              说实话,我好久没有用数位板了,因为现在我已经放弃“使用Emacs来做所有的事情”的想法,所以已经很久没有用过Org-mode了,抱歉…… 
             
            
              
           
          
            
              
                org  
              
                  
                    2022 年6 月 12 日 14:30
                   
                  13 
               
             
            
              
  
  
    
  Earlier this year I started a PhD in pure mathematics at KU Leuven in Belgium and in this blog post I discuss my research workflow. I talk about how I take daily notes, both handwritten ones and ones in LaTeX and how I handle references, featuring a...
   
  
    
    
  
  
 
看这位分享的wacom操作,应该可以使用吧,他给了xournal配置
  
  
    
  Phd workflow.md 
  Directory structure:
```
.
├── papers
│   ├── Title - Author.pdf
│   └── Title - Author.pdf
├── notes
│   ├── 2022-04-10
│   │   ├── note.texshow original 
  master.tex 
  \documentclass[a4paper]{article}
\input{./preamble.tex}
\input{./symbols.tex}
\input{./theorems.tex}
\input{./references.tex}
\usepackage{pgfmath}
\usepackage{pgfcalendar}
show original 
  preamble.tex 
  \usepackage{cmbright}
% \usepackage{stix}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{amsmath, amssymb, amsthm}
\usepackage{mathtools}
\usepackage{tikz-cd}
show original 
    There are more than three files. show original 
   
  
    
    
  
  
 
             
            
              1 个赞 
            
           
          
            
            
              能啊……数位板本身就是用整个板子来对应整个屏幕的,写起来是挺顺手的。
             
            
              
           
          
            
            
              哇,感谢!很有意思的文章!在Mac上,Xournal比Xournalpp流畅很多!
作者也提到了一些很有意思的做法,例如调用vim输入公式,研究研究去~