Ich möchte nicht, dass iBooks immer den „Auszug aus“ von dem einfügt, was ich kopiert habe


30

Ich lese in iBooks und anderen Ressourcen und sammle meine Notizen in EverNote. Wenn ich einen Text aus iBooks kopiere, um ihn in einer anderen externen Anwendung wie EverNote als Notiz zu speichern, werden die so ärgerlichen Quellinformationen weiterhin eingefügt, und ich muss sie nach jedem Kopieren und Einfügen wieder löschen. Beispielsweise:

“To bind this class using Ninject, I specify the value of the constructor parameter using the WithConstructorArgument method in the AddBindings method, as shown in Listing 6-20.”

Excerpt From: Adam Freeman. “Pro ASP.NET MVC 5.” iBooks. https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewBook?id=4CB3769B56E7D2A905C0332D53D7E31D

2
Das kannst du nicht vermeiden. Apple hat dies aus rechtlichen und urheberrechtlichen Gründen so programmiert. So schlechte Nachrichten für Sie müssen sich daran gewöhnen. :-(
konqui

können Sie ein Automator-Skript erstellen - aber ich bin nicht sicher, ob Sie Text kopieren und
einfügen können

3
Das ist wirklich ärgerlich, wenn man tatsächlich das Recht hat, Sätze zu kopieren : '(
Rubens Mariuzzo

1
Kam hierher, weil das Einfügen von Beispielen aus dem Swift-Buch zum Kotzen ist. Ein Grund mehr, Literatur aus iBooks zu beziehen, aber alle Programmierbücher auf Kindle.
Dirk Bester

2
@konqui Sie wissen, dass wir dieses Recht löschen können. Es ist nicht sehr klug. Es ist eine nervige Kesselplatte für eine Grundaufgabe.
Atilkan

Antworten:


11

Dieser Blog-Beitrag enthält ein Beispiel für die Verwendung eines Automator-Skripts mit einer Tastenkombination.

Erstellen Sie in Automator einen neuen Dienst, der keine Eingabe erhält. Gib es diese drei Aktionen:

  1. Inhalt der Zwischenablage abrufen
  2. Führen Sie Shell Script aus
  3. In die Zwischenablage kopieren

Fügen Sie dies in die Aktion "Shell-Skript ausführen" ein:

# strip out iBooks citation
sed -E -e 's/^[ ]?[0-9]* //g' | sed -E -e 's/“[ ]?[0-9]?[ ]?//g' | sed -E -e 's/”$//g'  | sed -E -e 's/^(Excerpt From).*//g'

"IBooks-Zitierdienst entfernen" in Automator

Nach dem Speichern des Dienstes können Sie dieser Aktion eine Verknüpfung zuweisen, z. B. Iin den Systemeinstellungen> Tastatur> Verknüpfungen> Dienste. Dann drücken Sie diese Verknüpfung, bevor Sie sie einfügen, um den von iBooks hinzugefügten Text zu entfernen.


Danke Amir, super hilfsbereit, das nervt mich schon seit Ewigkeiten!
GGx

Ist das nicht wirklich wirklich wirklich problematisch? Was passiert, wenn für ein anderes Objekt, das Sie kopiert haben, eine Regex-Übereinstimmung vorliegt?
14.

@t0mgs dann benutzt du einfach nicht die zugewiesene Abkürzung vor dem Einfügen
Martin

Ich nehme an, es ist legitim. Vielen Dank!
26.

5

Sie können Keyboard Maestro verwenden, um das folgende AppleScript auszulösen:

set original_clipboard to the clipboard
set paragraph_count to count of paragraphs of original_clipboard
-- assuming the last two paragraphs are what you want to strip out--
-- that is, the blank line and the attribution
set new_clipboard to paragraphs 1 thru -2 of original_clipboard as string
set the clipboard to new_clipboard
-- now you can paste

Mit Keyboard Maestro würden Sie ein neues Makro erstellen, das durch einen Tastendruck (möglicherweise Command-Option-V) ausgelöst wird, und der erste Schritt wäre ein "Ausführen eines AppleScript" (im Abschnitt "Ausführen") unter Verwendung des obigen Skripts. Der nächste Schritt wäre ein "Einfügen" (im Abschnitt "Zwischenablage"). Sie kopieren Ihren Text, klicken dann an die Stelle, an der Sie ihn einfügen möchten, und drücken dann Befehlstaste-Wahltaste-V, um ihn ohne die letzten beiden Absätze einzufügen.

Andere Makroprogramme würden auch funktionieren, solange sie wissen, wie man ein AppleScript ausführt.


Ich habe Ihre Lösung verwendet, aber das Endergebnis enthält ein Anführungszeichen. Wie werde ich das los, so dass die umgebenden Anführungszeichen entfernt werden?
Michael Jaq

Sie sollten nicht einmal ein externes Programm benötigen - stellen Sie das AppleScript in einen Automator-Dienst und stellen Sie dann den Automator-Dienst auf eine Tastenkombination ein.
Wowfunhappy

@MichaelJaq Meine Antwort enthält ein Makro für Keyboard Maestro, das auch die Anführungszeichen entfernt.
Rory O'Kane

@MichaelJaq Sie können diese Methode mit dem Shell-Skript in diesem Thread verwenden und es wird das Zitat entfernen. Ändern Sie "AppleScript ausführen" in "Shell-Skript ausführen". Dieses AppleScript hat sie nicht entfernt, also nur ein Teilergebnis.
MarkBTomlinson

3

Ich habe ein Skript für ClipMenu (macOS clipboard utility) erstellt, um unerwünschte Informationen zu entfernen :

return clipText.replace(/^“/, '').replace(/”\s*Excerpt.*iBooks\.\s?$/, '');

Speichern als /Users/USERNAME/Library/Application Support/ClipMenu/script/action/iBooks.js


3

Im Folgenden finden Sie Schritte zum Kopieren von Text aus iBooks:

  1. Markieren Sie die Passagen, die Sie kopieren möchten.
  2. Ein Popup wird automatisch geöffnet oder Sie müssen mit einem Rechtsklick auf ausgewählte Passagen ein Popup öffnen.
  3. Wählen Sie die Option "Notiz hinzufügen" aus dem Popup.
  4. Der ausgewählte / hervorgehobene Text wird im linken Bereich angezeigt.
  5. Klicken Sie mit der rechten Maustaste auf die Passagen im linken Bereich und wählen Sie die Option "Kopieren".

Ich habe ein Video erstellt, um zu zeigen, wie es funktioniert: https://youtu.be/ZQLl_Gl9TMw

Viel Spaß beim Codieren!


> Der ausgewählte / hervorgehobene Text wird im linken Bereich angezeigt. Welches linke Fenster? Das ist falsch. Keine linke Scheibe vorhanden
Grün

3

So richten Sie ein Keyboard Maestro- Makro ein, um den zusätzlichen Text einschließlich der Anführungszeichen zu entfernen, sobald der Text aus iBooks kopiert wird.

Erstellen Sie zunächst eine Makrogruppe mit dem Namen "iBooks-spezifische Zuordnung" und fügen Sie iBooks unter "In diesen Anwendungen verfügbar" hinzu. (In neueren MacOS-Versionen heißt die Anwendung "Books" anstelle von "iBooks".)

Gruppe "iBooks-spezifische Zuordnung" in Keyboard Maestro

Erstellen Sie dann ein Makro mit dem Namen "Copy Without Citation". Weisen Sie ihm den Hotkey zu C. Weisen Sie dem Makro die folgenden Aktionen zu:

  1. Zwischenablage> Kopieren
  2. Zwischenablage> Suchen und Ersetzen
    • Suche: System Zwischenablage
    • für: Regulärer Ausdruck (Groß- und Kleinschreibung beachten)
      • ^“
    • und ersetzen durch:
      • (leer lassen)
  3. Zwischenablage> Suchen und Ersetzen
    • Suche: System Zwischenablage
    • für: Regulärer Ausdruck (Groß- und Kleinschreibung beachten)
      • ”\s*Excerpt.*Books\.\s?$
    • und ersetzen durch:
      • (leer lassen)

So sieht es in Keyboard Maestro aus:

Makro "Kopieren ohne Zitieren" in Keyboard Maestro

Bei jedem Text in iBooks, der mit dieser Tastenkombination kopiert wurde, wird der zusätzliche Text an beiden Enden entfernt.


Vielen Dank an Filip Suks Antwort für die regulären Ausdrücke.
Rory O'Kane

Für diejenigen, deren iBooks durch "Bücher" ersetzt wurde, ändern Sie einfach die letzte RegEx mit”\s*Excerpt.*Books\.\s?$
Tim N.

@TimN. Vielen Dank. Ich habe die Antwort und die Screenshots aktualisiert, um diese Regex zu verwenden, da diese Regex für beide App-Namen funktionieren sollte.
Rory O'Kane

1

aus Amir Raminfars Antwort. Auf diese Weise können Sie Inhalte ohne Befehl C direkt in die Zwischenablage kopieren.

Ändere einfach den aktuellen Workflow zu: "text" in "Books.app" und deaktiviere get contents of Clipboard.


Willkommen bei Ask Different. Dies ist ein Kommentar zu einer vorherigen Antwort und keine eigenständige Antwort. Es sollte keine eigene Antwort sein. Bitte sehen wie man Antwort für Tipps, Antworten hier bietet. - Aus der Bewertung
fsb
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.