78 votes

Je ne veux pas qu'iBooks colle toujours l'extrait de ce que j'ai copié.

Je lis sur iBooks, et quelques autres ressources et je rassemble mes notes dans EverNote. Lorsque je copie un texte d'iBooks pour le conserver comme note dans une autre application externe comme EverNote, il continue à coller les informations sources, ce qui est très ennuyeux et je dois continuer à les supprimer après chaque copier-coller. Par exemple :

“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

54voto

deepwell Points 3285

Voici une solution qui ne nécessite aucun logiciel tiers et qui vous permet de continuer à utiliser la norme C raccourci pour copier du texte dans Books.

1. Créez une action rapide "Copie sans citation dans les livres".

  1. Ouvrez Automator et choisissez Fichier > Nouveau ( N ).

  2. Pour le type de document, sélectionnez Action rapide. Cela nous permettra de créer plus tard un raccourci clavier pour ce document.

    Choose Quick Action as the type of document in Automator

  3. Configurez le flux de travail comme suit :

    • Paramètres du flux de travail

      • Le flux de travail reçoit le [texte] actuel dans les [Livres].
      • (Laissez les trois autres paramètres par défaut)
    • Ajouter dans la liste des actions :

      1. Copier dans le presse-papiers

    contents of the Automator workflow

  4. Utilisez S pour sauvegarder l'action rapide. Nommez-la "Copie sans citation dans les livres".

Le paramètre "le flux de travail reçoit le texte actuel dans Books" dans le flux de travail contourne le comportement de modification du presse-papiers de Books. Ainsi, le flux de travail n'a pas besoin d'une action supplémentaire pour dépouiller le texte ajouté par Books.

2. Donnez à l'action rapide un raccourci clavier de C dans les livres

  1. Ouvrez Préférences Système > Clavier. Affichez l'onglet Raccourcis et sélectionnez Raccourcis d'applications sur la gauche.

  2. Cliquez sur le bouton + pour ajouter un nouveau raccourci d'application.

  3. Remplissez la feuille comme suit :

    • Application : Livres
    • Titre du menu : Copie sans citation dans les livres
    • Raccourci clavier : C

    Adding an App Shortcut for “Copy without Citation in Books”

  4. Cliquez sur Ajouter. Vous verrez le raccourci apparaître dans la liste :

    App Shortcuts: “Copy without Citation in Books” is mapped to C in Books

Et vous avez terminé. Dorénavant, lorsque vous voudrez copier le texte sélectionné dans Books, il vous suffira d'appuyer sur C et le texte exact sera copié.

0 votes

Merci à stassats sur ce commentaire de Hacker News pour l'idée d'utiliser "le flux de travail reçoit le texte actuel dans Books" pour contourner la modification du presse-papiers de Books.

0 votes

OMG, c'est un tel bijou ! Si je pouvais upvote par 10 voix, je le ferais maintenant. Je suis tellement fatigué de supprimer ces stupides lignes d'attribution bizarrement formatées. Soupir de soulagement !

0 votes

Un guide étonnant, merci beaucoup ! Ceci devrait être la réponse acceptée.

16voto

Amir Raminfar Points 211

Cet article de blog donne un exemple de comment le faire en utilisant un script d'Automator avec un raccourci clavier.

Dans Automator, créez une nouvelle action rapide qui ne reçoit aucune entrée. Donnez-lui ces trois actions :

  1. Obtenir le contenu du presse-papiers
  2. Exécuter le Shell script
  3. Copier dans le presse-papiers

Mettez ça dans l'action Exécuter Shell script :

# 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'

“Remove iBooks citation” service in Automator

Après avoir enregistré le service, vous pouvez attribuer un raccourci à cette action, tel que I dans les Préférences Système > Clavier > Raccourcis > Services. Vous devez ensuite appuyer sur ce raccourci avant de coller si vous voulez vous débarrasser du texte qu'iBooks a ajouté.

0 votes

Même si la plaque d'huile peut changer, cette technique documentée ici est très utile. Si vous ne pouvez pas copie différente vous devez transformer le texte dans le presse-papiers avant de le coller

0 votes

D'une certaine manière ce script ne fonctionne pas pour moi donc j'utilise ceci insted input="$(</dev/stdin)" print $input | tr ' \r\n ' ' ' | tr -s " " | sed -E -e 's/Excerpt.*//g' | sed -E -e 's/"[ ] ?[0-9] ?[ ]?//g' | sed -e 's/\"//''

12voto

Andrii Chernenko Points 141

À partir de MacOS Monterey, Apple a mis à disposition l'application Raccourcis sur Mac. Ainsi, si vous ne souhaitez pas manipuler Automator, vous pouvez créer un raccourci :

enter image description here

NOTE : Il ne semble pas possible de déclencher ce raccourci avec C (il ne supplante pas la logique intégrée dans Books) ou de le rendre spécifique à Books.

NOTE 2 : Chaque fois qu'un raccourci est déclenché, MacOS affiche une icône dans la barre de menu système (qui reste visible pendant quelques minutes). C'est ennuyeux, mais ce n'est pas la fin du monde.

Le script pour l'action Exécuter le shell script :

sed -E -e '1h;2,$H;$!d;g' -e 's#.*“([^”]*)”.*#\1#g'

Le premier -e s'assure sed fonctionne avec des entrées multi-lignes (grand merci à la personne qui a posté ce réponse).

0 votes

La réponse la mieux notée ici n'a pas fonctionné pour moi à Monterey : apple.stackexchange.com/a/382603/91480 J'ai donc utilisé cette nouvelle réponse qui a fonctionné.

1 votes

Hey @andrii, désolé mais il semble qu'il y ait un problème avec le regex. Elle fonctionne bien avec une phrase régulière telle que "Néanmoins, vous pouvez toujours rendre les types explicites si vous le souhaitez". Mais dès que le texte copié comporte des caractères spéciaux, cela ne fonctionne plus. Exemple : "le lecteur peut supposer sans risque que la fermeture est susceptible de fonctionner". Ce simple "'" perturbe déjà la regex, du moins à ma connaissance. Pouvez-vous confirmer et peut-être aider ? Les expressions rationnelles sont une plaie pour moi de toute façon :-)

0 votes

J'ai essayé mais ça ne marche pas. Pourriez-vous m'expliquer plus en détail comment procéder ? Comment déclencher réellement le script à partir de Books ?

5voto

Christian Boyce Points 1052

Vous pourriez utiliser Keyboard Maestro pour déclencher l'AppleScript suivant :

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

Avec Keyboard Maestro, vous feriez une nouvelle macro, déclenchée par une touche (peut-être Command-Option-V), et la première étape serait un "Execute an AppleScript" (dans la section Execute) en utilisant le script ci-dessus. L'étape suivante serait un "Collage" (dans la section Presse-papiers). Vous copiez votre texte, puis cliquez à l'endroit où vous voulez le coller, puis appuyez sur Command-Option-V pour qu'il soit collé sans les deux derniers paragraphes.

D'autres programmes macro fonctionneraient également, à condition qu'ils sachent comment exécuter un AppleScript.

0 votes

Voici ma version de ce script qui nettoie également les guillemets. github.com/robenkleene/AppleScripts/blob/

4voto

deepwell Points 3285

Voici comment mettre en place un Maestro du clavier pour supprimer le texte supplémentaire, y compris les guillemets, au moment où le texte est copié depuis iBooks.

Tout d'abord, créez un groupe de macros appelé "mappage spécifique aux iBooks" et ajoutez iBooks dans "Disponible dans ces applications". (Dans les versions plus récentes de MacOS, l'application s'appellera Books au lieu d'iBooks).

“iBooks-specific mapping” group in Keyboard Maestro

Créez ensuite une macro nommée "Copie sans citation". Attribuez-lui le raccourci clavier C . Donnez à la macro les actions suivantes :

  1. Presse-papiers > Copier
  2. Presse-papiers > Rechercher et remplacer
    • Recherche : Presse-papiers du système
    • pour : Expression régulière (sensible à la casse)
      • ^“
    • et remplacer par :
      • (laisser vide)
  3. Presse-papiers > Rechercher et remplacer
    • Recherche : Presse-papiers du système
    • pour : Expression régulière (sensible à la casse)
      • ”\s*Excerpt.*Books\.\s?$
    • et remplacer par :
      • (laisser vide)

Voilà comment ça se présente dans Keyboard Maestro :

“Copy Without Citation” macro in Keyboard Maestro

Désormais, tout texte dans iBooks copié à l'aide de ce raccourci clavier verra le texte supplémentaire supprimé des deux côtés.

0 votes

Merci à La réponse de Filip Suk pour les expressions régulières.

0 votes

Pour ceux dont les iBooks ont été remplacés par "Books", il suffit de modifier la dernière RegEx avec ”\s*Excerpt.*Books\.\s?$

0 votes

@TimN. Merci. J'ai mis à jour la réponse et les captures d'écran pour utiliser cette regex, puisque celle-ci devrait fonctionner pour les deux noms d'applications.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X