Jeśli napiszę coś *shrug*
w trybie org, zostanie automatycznie czcionka pogrubiona . Jak mogę temu zapobiec, tzn. Faktycznie *shrug*
wyświetlać się dosłownie po wyeksportowaniu?
Edytować:
Nadal chcę mieć możliwość korzystania z pogrubionej czcionki (bez konieczności zmiany domyślnej składni gwiazdki dla pogrubionego tekstu) i nie powinno mieć znaczenia, do jakiego formatu pliku eksportowany jest mój plik org, np. Powinien on działać zarówno dla Markdown, jak i HTML eksport.
To kilka ważnych rzeczy, dlatego napisano pogrubioną czcionką. Ale w przypadku czegoś innego nie mam pomysłu * wzruszenie ramion *.
\ast{}shrug\ast{}
lub\star{}shrug\star{}
podobnie, używając HTML, możesz użyć kodowania encji:a;
lub, jeśli dodawanie spacji przed gwiazdką lub po niej jest opcją, to też by działało.code
-tag, a w markdown ma backtyki. Chcę, żeby nie był w żaden sposób sformatowany.\ast{}shrug\ast{}
Wspomniał wvxvw jest chyba najlepszym rozwiązaniem. eksportuje do html as∗shrug∗
i do lateksu as$\ast$shrug$\ast$
przy użyciu odpowiednich jednostek znaków.org-toggle-pretty-entities
wyświetla je jako znaki UTF8 w buforze organizacji.Odpowiedzi:
Ta odpowiedź jest inspirowana po zbiorowych sugestii na liście GNU Emacs-org-mode używać
org-entity
(C-h i g
(org) Special symbols
)\ast{}
zamiast zerowej szerokości spacji znaków (które sugerowane w inny moją odpowiedź tutaj ).Poniżej znajduje się ogólne rozwiązanie, w którym użytkownik nie musi pamiętać jednostek organizacyjnych dla różnych symboli. Wstawia jednostkę organizacyjną (jeśli jest dostępna), gdy robi to użytkownik
C-u SYMBOL
; pracujeC-u *
,C-u /
,C-u =
, itd.Gdy więc użytkownik wpisze
C-u *
,\ast{}
zostanie wstawiony i w obszarze echa wyświetlony zostanie poniższy komunikat,Jeśli
org-pretty-entities
jest ustawionyt
powyżej, wstawiony\ast{}
zostanie wyświetlony jako*
.Jeśli an
org-entity
nie istnieje dla znaku X, a użytkownik używaC-u
X , X jest po prostu wstawiane 4 razy (jakC-u
zwykle by to zrobiło).źródło
\*thisisnotbold\*
istnieje żaden taki konstrukt ?org-entities
dokumentację.Korzystanie ze znaku Unicode ZERO WIDTH SPACE
Możesz pogrubić pogrubienie wyróżnienia, dodając znak spacji o zerowej szerokości (oznaczony [ZWS] w poniższych fragmentach) przed pierwszą gwiazdką lub po drugiej gwiazdce.
Oba poniższe fragmenty wyeksportowały się dobrze do HTML w moich testach:
[ZWS] przed pierwszą gwiazdką
[ZWS] po drugiej gwiazdce
Możesz wprowadzić ZERO WIDTH SPACE (nazwa Unicode)
C-x 8
RET200b
RET.Używam tego bardzo często, więc związałem się z tym
C-x 8 0
.Aktualizacja
Zgodnie z dyskusją na liście mailingowej trybu emacs-org , używanie znaków spoza ASCII do zmiany znaczenia nie jest zalecane; zamiast tego
org-entities
należy zastosować, jeśli dotyczy. Ja również się z tym zgodziłem i wymyśliłem inne rozwiązanie, które sprawia, że wstawianie jestorg-entities
naprawdę łatwe (C-u *
w tym przypadku).źródło
[email protected]
liście mailingowej. Jeśli jesteś zainteresowany, możesz śledzić / dodawać do dyskusji tutaj .\ast{}
w plikach. Moje inne rozwiązanie sprawia, że wchodzenie jest\ast{}
szybsze i łatwiejsze do zapamiętania.Mówiąc dosłownie, jeśli naprawdę masz na myśli użycie znaczników w eksportowanym LaTeX, możesz po prostu użyć
=*shrug*=
. Jeśli jednak chcesz go wyeksportować jako*shrug*
i chcesz to robić cały czas, polecam filtry . Jeśli jednak potrzebujesz tego tylko w niektórych przypadkach*shrug*
, powinieneś użyć alternatywy sugerowanej przez @wvxvw. Możesz to zrobić czysto za pomocą makr . Oto kilka przykładów.Filtry
Zasadniczo powyższy filtr szuka
\textbf{..}
znaczników w transkodowanym łańcuchu i zastępuje go\ast{}..\ast{}
, nie zmieniając tego, co było w środku{..}
. Nie przetestowałem wyrażenia regularnego i ciągu zastępującego, więc mogą wystąpić błędy, ale masz pomysł. Podobnie jak w przypadku innych backendów, można dołączyć dodatkowe fragmenty takie jak to:To samo zastrzeżenie dotyczy powyższego wyrażenia regularnego.
Makra
Źródło organizacji:
eksportuje do LaTeX jako:
i do HTML jako:
Możesz oczywiście dodać tyle makr, ile chcesz.
Edycja: jak wskazuje Kaushal w komentarzach, fragment eksportu lateksu jest w tym przypadku opcjonalny. Wolę jednak używać ich zawsze, gdy w grę wchodzi nagi lateks, ponieważ trudno mi śledzić listę
org-entities
i szczegółowe zasady identyfikowania goły lateksu w źródle org.Uwaga:
HTML
, więc mogą występować błędy w odpowiednich bitach.źródło
#+macro: nobold \ast{}$1\ast{}
?ast
jest jednym z członkóworg-entities
listy, który określa, jak powinien wyglądać eksport lateksu, html, ascii itp("ast" "\\ast" t "∗" "*" "*" "*")
. Kolejność elementów na tej liście to „nazwa, zamiennik LaTeX, matematyczny LaTeX, zamiennik HTML, zamiennik ASCII, zamiennik Latin1, zamiennik utf-8”.Jest to kontrolowane przez zmienną org-emphasis-alist i może być łatwo modyfikowane.
org-emphasis
.customize-group
i wyszukaj org-Naciskźródło