Chacun de nous sait comment MS Word est un outil pratique pour préparer de petits documents. Et chacun de ceux qui ont fait face à la préparation du document, le nombre de pages dans lequel dépasse une centaine (plus vous devez respecter des exigences de mise en forme strictes), connaît les principaux inconvénients de cet outil. Dans ma vie, j'ai dû faire face à la mise en page d'un document de 500 pages, et le nombre et la disposition des figures des tableaux et des formules y ont constamment changé d'une version à l'autre. Je voudrais partager mes «hacks de vie», que j'ai dû appliquer lors de la rédaction de ce document. Certains d'entre eux m'ont été suggérés par des amis; tombé sur certains sur les forums; certains sont venus avec lui-même.Ces astuces simples vous aideront à mettre en page votre thèse ou votre rapport.Cet article explique les solutions aux problèmes:- création d'une liste de références
- Déclinaison des renvois aux figures des tableaux et des formules
- Transférer des tableaux vers une nouvelle page
- Insérer des formules
Les références
Quand il s'agit de préparer une thèse de doctorat, la bibliographie devient brusquement un sujet douloureux. Le formatage manuel de la liste selon GOST 7.0.5–2008 devient très difficile. Les utilisateurs les plus avancés savent que vous pouvez faire une liste de références sous forme de paragraphes numérotés avec des signets, que vous pouvez croiser dans le texte et, dans des cas simples, obtenir ce que vous voulez. Mais avec une grande liste de sources, les méthodes manuelles et semi-automatiques fonctionnent de pire en pire. De plus, les utilisateurs avancés savent que dans Word, vous pouvez faire des bibliographies, mais pas selon GOST, il existe plusieurs styles "américains". Dieu merci sur Internet, je suis tombé sur det-randomavec son style samopisny qui peut compiler une liste de références selon GOST 7.0.5–2008, numéroter les liens dans le texte dans l'ordre de mention et distinguer le format des sources anglaises et russes La page du projet sur github: gost-r-7.0.5-2008 .La liste des références se présentera comme suit:
Déclinaison des références croisées
L'un des principaux problèmes est que MS Word ne peut pas réticuler. C'est le résultat du fait que dans les langues germaniques il n'y a pas de déclinaisons. Microsoft Office est un programme américain, donc les Américains n'ont pas besoin d'avoir une situation où vous devez considérer la déclinaison des mots par cas. Parfois, cela peut conduire à des résultats amusants, par exemple, « Dans la figure 1.1. présenté ... "," Le tableau 5.4 considère ... "ou" Prise en compte de la formule (2.2) ... ", etc. Ce problème peut être résolu comme suit.Le nom de l'image est inséré par des moyens standard.Insérer une image: Insérer-> Lien-> Nom-> Signature (image).
La légende d'une image ressemble généralement à ceci:Image { STYLEREF 1 \ s} { SEQ Figure \ * ARABIC }Où le premier champ entre accolades fait référence au numéro de chapitre, et le second est la valeur unique du nombre de compteur de chiffres. Un lien vers une image, un tableau ou une formule est inséré à l'aide de l'outil de référence croisée.
Bien sûr, la «figure 1.1» est insérée. Ensuite, nous sélectionnons une partie du texte inséré, à savoir «Figure», le rendons caché (la même chose peut être effectuée via le menu Format -> Police). Ensuite, le mot dans le cas souhaité est ajouté avant le numéro. Lors de la mise à jour du champ, la partie masquée du texte reste masquée.
Migration de table
Selon de nombreuses exigences, si le tableau est transféré sur une autre page, l'en-tête de la suite doit répéter le nom du tableau, et il est parfois nécessaire d'attribuer le mot "continuation" au nom du tableau, c'est-à-dire d'être de la forme: "Nom du tableau ... Continuation". Mais aucune version de MS Word n'insère un nouvel en-tête dans une table déchirée.Pour résoudre ce problème, j'ai trouvé l'astuce suivante. J'ajoute une autre ligne au tout début du tableau et je fusionne toutes les cellules qu'il contient, puis je rend les bordures invisibles, puis j'insère le nom du tableau. Et puis je répète cette cellule lorsque je passe à une autre page.Et je ferme le mot «continuation» avec un rectangle blanc dans la couleur de la page sans bordures. Cela ressemble à ceci, des lignes ondulées indiquent des bordures invisibles.
Le résultat ressemblera à quelque chose comme ça. Lors du transfert, les 2 premières lignes seront affichées, dont l'une est le nom de la table et la seconde est le nom des colonnes.
Voici un exemple de code VBA pour créer un en-tête de table:Sub Table_head()
Dim myTable As Word.Table
Selection.InsertRowsAbove 1
Set myTable = Selection.Tables(1)
myTable.Cell(1, 1).Merge MergeTo:=myTable.Cell(1, myTable.Columns.Count)
With myTable.Cell(1, 1)
.Borders(wdBorderTop).Color = wdColorWhite
.Borders(wdBorderRight).Color = wdColorWhite
.Borders(wdBorderLeft).Color = wdColorWhite
End With
Selection.TypeText (" ")
Selection.Style = ActiveDocument.Styles(" ")
Selection.Range.Fields.Add Selection.Range, Type:=wdFieldEmpty, Text:="STYLEREF 1 \s", PreserveFormatting:=False
Selection.TypeText (".")
Selection.Range.Fields.Add Selection.Range, Type:=wdFieldEmpty, Text:="SEQ \* ARABIC", PreserveFormatting:=False
End Sub
Formules
Les formules sont mieux insérées dans un tableau avec des bordures invisibles avec une ligne et deux colonnes. Je le fais à l'aide d'une macro et, par conséquent, j'obtiens un tableau, dans la première colonne dont il y a une inscription au centre: "Place pour la formule", et dans la seconde - au centre il y a des parenthèses. J'entre la formule dans la première colonne, et son numéro dans la deuxième colonne en utilisant la commande "Nom". Je fais référence à la formule à l'aide de la commande de référence croisée et j'obtiens le numéro de la formule entre parenthèses (la cellule du tableau est perçue par le programme comme une nouvelle ligne).
Un exemple d'insertion de code VBA pour l'insertion d'une formule est présenté ci-dessous.Sub formula()
ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=1, NumColumns:=2
Selection.Tables(1).Columns(1).Width = CentimetersToPoints(14)
Selection.Tables(1).Columns(2).Width = CentimetersToPoints(2.5)
Selection.Tables(1).Cell(1, 1).Range.Text = " /"
Selection.Style = ActiveDocument.Styles(" ")
Selection.MoveRight Unit:=wdCell, Count:=1
Selection.Style = ActiveDocument.Styles(" ")
Selection.TypeText ("(")
Selection.Range.Fields.Add Selection.Range, Type:=wdFieldEmpty, Text:="STYLEREF 1 \s", PreserveFormatting:=False
Selection.TypeText (".")
Selection.Range.Fields.Add Selection.Range, Type:=wdFieldEmpty, Text:="SEQ \* ARABIC", PreserveFormatting:=False
Selection.TypeText (")")
End Sub
J'espère que ces astuces simples vous seront utiles.