diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/apa6/pseudoTeX/TeX2WordForapa6.bas')
-rw-r--r-- | Master/texmf-dist/doc/latex/apa6/pseudoTeX/TeX2WordForapa6.bas | 388 |
1 files changed, 388 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/apa6/pseudoTeX/TeX2WordForapa6.bas b/Master/texmf-dist/doc/latex/apa6/pseudoTeX/TeX2WordForapa6.bas new file mode 100644 index 00000000000..ac5a9f74458 --- /dev/null +++ b/Master/texmf-dist/doc/latex/apa6/pseudoTeX/TeX2WordForapa6.bas @@ -0,0 +1,388 @@ +%% +%% This is file `./pseudoTeX/TeX2WordForapa6.bas', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% apa6.dtx (with options: `bas') +%% ---------------------------------------------------------------------- +%% +%% apa6 - A LaTeX class for formatting documents in compliance with the +%% American Psychological Association's Publication Manual, 6th edition +%% +%% Copyright (C) 2011, 2012 by Brian D. Beitzel <brian at beitzel.com> +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License (LPPL), either +%% version 1.3c of this license or (at your option) any later +%% version. The latest version of this license is in the file: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% Users may freely modify these files without permission, as long as the +%% copyright line and this statement are maintained intact. +%% +%% This work is not endorsed by, affiliated with, or probably even known +%% by, the American Psychological Association. +%% +%% ---------------------------------------------------------------------- +%% +Attribute VB_Name = "TeX2WordForapa6" +Sub FormatTex2WordDocument() + + Dim strRunningHead, r, E + Dim myrange As Range + + strRunningHead = InputBox("Please type the running head:", "Running Head") + If strRunningHead = "" Then Exit Sub + + Selection.EndKey Unit:=wdStory + Selection.InsertBreak Type:=wdPageBreak + Selection.TypeText Text:="References" & vbCrLf + Selection.MoveUp Unit:=wdLine, Count:=1 + Selection.ParagraphFormat.LeftIndent = InchesToPoints(0) + Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter + + Selection.HomeKey Unit:=wdStory + + Call FormatTex2WordPageHeader(strRunningHead) + Call FormatAndMoveTex2WordTables + Call FormatAndMoveTex2WordFigures + + Selection.EndKey Unit:=wdStory + Selection.InsertBreak Type:=wdPageBreak + Selection.TypeText Text:="Appendix" & vbCrLf + Selection.MoveUp Unit:=wdLine, Count:=1 + Selection.ParagraphFormat.LeftIndent = InchesToPoints(0) + Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter + + ' touch up temporary citations + Selection.HomeKey Unit:=wdStory + + Selection.Find.ClearFormatting + Selection.Find.Replacement.ClearFormatting + With Selection.Find + .Text = "{\" + .Replacement.Text = "{" + .Forward = True + .Wrap = wdFindContinue + .Format = False + .MatchCase = False + .MatchWholeWord = False + .MatchWildcards = False + .MatchSoundsLike = False + .MatchAllWordForms = False + End With + Selection.Find.Execute Replace:=wdReplaceAll + + With Selection.Find + .Text = "@}" + .Replacement.Text = "}" + .Forward = True + .Wrap = wdFindContinue + .Format = False + .MatchCase = False + .MatchWholeWord = False + .MatchWildcards = False + .MatchSoundsLike = False + .MatchAllWordForms = False + End With + Selection.Find.Execute Replace:=wdReplaceAll + + With Selection.Find + .Text = "{e.g.,\" + .Replacement.Text = "{e.g.`, \" + .Forward = True + .Wrap = wdFindContinue + .Format = False + .MatchCase = False + .MatchWholeWord = False + .MatchWildcards = False + .MatchSoundsLike = False + .MatchAllWordForms = False + End With + Selection.Find.Execute Replace:=wdReplaceAll + + With Selection.Find + .Text = "{i.e.,\" + .Replacement.Text = "{i.e.`, \" + .Forward = True + .Wrap = wdFindContinue + .Format = False + .MatchCase = False + .MatchWholeWord = False + .MatchWildcards = False + .MatchSoundsLike = False + .MatchAllWordForms = False + End With + Selection.Find.Execute Replace:=wdReplaceAll + + With Selection.Find + .Text = "{cf.\" + .Replacement.Text = "{cf. \" + .Forward = True + .Wrap = wdFindContinue + .Format = False + .MatchCase = False + .MatchWholeWord = False + .MatchWildcards = False + .MatchSoundsLike = False + .MatchAllWordForms = False + End With + Selection.Find.Execute Replace:=wdReplaceAll + + With Selection.Find + .Text = "@p. " + .Replacement.Text = "@" + .Forward = True + .Wrap = wdFindContinue + .Format = False + .MatchCase = False + .MatchWholeWord = False + .MatchWildcards = False + .MatchSoundsLike = False + .MatchAllWordForms = False + End With + Selection.Find.Execute Replace:=wdReplaceAll + + With Selection.Find + .Text = "@pp. " + .Replacement.Text = "@" + .Forward = True + .Wrap = wdFindContinue + .Format = False + .MatchCase = False + .MatchWholeWord = False + .MatchWildcards = False + .MatchSoundsLike = False + .MatchAllWordForms = False + End With + Selection.Find.Execute Replace:=wdReplaceAll + + ' for table footnotes + With Selection.Find + .Text = "[para,flushleft] " + .Replacement.Text = "" + .Forward = True + .Wrap = wdFindContinue + .Format = False + .MatchCase = False + .MatchWholeWord = False + .MatchWildcards = False + .MatchSoundsLike = False + .MatchAllWordForms = False + End With + Selection.Find.Execute Replace:=wdReplaceAll + + ' delete the instructions + Selection.HomeKey Unit:=wdStory + + Set myrange = Selection.Range + myrange.Start = Selection.Start + + Selection.HomeKey Unit:=wdStory + Selection.Find.ClearFormatting + With Selection.Find + .Execute findText:="Delete these instructions!", Forward:=True, Wrap:=wdFindStop + myrange.End = Selection.End + 1 + myrange.Select + myrange.Delete + End With + + Selection.HomeKey Unit:=wdStory + +End Sub + +Sub FormatTex2WordPageHeader(strRunningHead) + + Dim r, E + + ' set the first page to be a different header + ActiveDocument.PageSetup.DifferentFirstPageHeaderFooter = True + + With ActiveDocument.Sections(1).Headers(wdHeaderFooterFirstPage) + .Range.ParagraphFormat.LineSpacingRule = wdLineSpaceDouble + .Range.ParagraphFormat.FirstLineIndent = InchesToPoints(0) + .Range.ParagraphFormat.TabStops.ClearAll + .Range.ParagraphFormat.TabStops.Add Position:=InchesToPoints(6.5), _ + Alignment:=wdAlignTabRight, Leader:=wdTabLeaderSpaces + .Range.Text = "Running head: " & UCase(strRunningHead) & vbTab + With .Range.Font + .Name = "Times New Roman" + .Size = 12 + .Bold = False + .Italic = False + End With + + Set r = .Range + E = .Range.End + r.Start = E + .Range.Fields.Add r, wdFieldPage + + End With + + With ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary) + .Range.ParagraphFormat.LineSpacingRule = wdLineSpaceDouble + .Range.ParagraphFormat.FirstLineIndent = InchesToPoints(0) + .Range.Text = UCase(strRunningHead) + .PageNumbers.Add PageNumberAlignment:=wdAlignPageNumberRight + With .Range.Font + .Name = "Times New Roman" + .Size = 12 + .Bold = False + .Italic = False + End With + End With + +End Sub + +Sub FormatAndMoveTex2WordTables() + + Dim i, rngParagraphs As Range + + If ActiveDocument.Tables.Count > 0 Then + + For i = 1 To ActiveDocument.Tables.Count + + Selection.HomeKey Unit:=wdStory + + Set rngParagraphs = ActiveDocument.Range( _ + Start:=ActiveDocument.Tables(1).Range.Start, _ + End:=ActiveDocument.Tables(1).Range.End) + rngParagraphs.Select + + With Selection.Tables(1) + .Borders(wdBorderLeft).LineStyle = wdLineStyleNone + .Borders(wdBorderRight).LineStyle = wdLineStyleNone + With .Borders(wdBorderTop) + .LineStyle = wdLineStyleSingle + .LineWidth = wdLineWidth050pt + .Color = wdColorAutomatic + End With + With .Borders(wdBorderBottom) + .LineStyle = wdLineStyleSingle + .LineWidth = wdLineWidth050pt + .Color = wdColorAutomatic + End With + .Borders(wdBorderHorizontal).LineStyle = wdLineStyleNone + .Borders(wdBorderVertical).LineStyle = wdLineStyleNone + .Borders(wdBorderDiagonalDown).LineStyle = wdLineStyleNone + .Borders(wdBorderDiagonalUp).LineStyle = wdLineStyleNone + .Borders.Shadow = False + '.Rows.Alignment = wdAlignRowLeft + .PreferredWidthType = wdPreferredWidthPercent + .PreferredWidth = 100 + .TopPadding = InchesToPoints(0.08) + .BottomPadding = InchesToPoints(0.08) + .LeftPadding = InchesToPoints(0.08) + .RightPadding = InchesToPoints(0.08) + .Spacing = 0 + .AllowPageBreaks = True + .AllowAutoFit = False + End With + + With Selection.ParagraphFormat + .LineSpacingRule = wdLineSpaceSingle + .LeftIndent = InchesToPoints(0) + .RightIndent = InchesToPoints(0) + .SpaceBefore = 0 + .SpaceBeforeAuto = False + .SpaceAfter = 0 + .SpaceAfterAuto = False + .WidowControl = False + .KeepWithNext = False + .KeepTogether = False + .PageBreakBefore = False + .NoLineNumber = False + .Hyphenation = True + .FirstLineIndent = InchesToPoints(0) + .CharacterUnitLeftIndent = 0 + .CharacterUnitRightIndent = 0 + .CharacterUnitFirstLineIndent = 0 + .LineUnitBefore = 0 + .LineUnitAfter = 0 + .MirrorIndents = False + .TextboxTightWrap = wdTightNone + End With + + rngParagraphs.Cut + + Selection.EndKey Unit:=wdStory + Selection.InsertBreak Type:=wdPageBreak + Selection.TypeText Text:="Table " & i & vbCrLf + Selection.Paste + + Next + + End If + +End Sub + +Sub FormatAndMoveTex2WordFigures() + + Dim i, rngParagraphs As Range + + If ActiveDocument.InlineShapes.Count > 0 Then + + For i = 1 To ActiveDocument.InlineShapes.Count + + Selection.HomeKey Unit:=wdStory + + Set rngParagraphs = ActiveDocument.Range( _ + Start:=ActiveDocument.InlineShapes(1).Range.Start, _ + End:=ActiveDocument.InlineShapes(1).Range.End) + rngParagraphs.Select + rngParagraphs.Cut + + Selection.EndKey Unit:=wdStory + Selection.InsertBreak Type:=wdPageBreak + Selection.Paste + Selection.TypeText Text:=vbCrLf & "Figure " & i & vbCrLf + + Next + + End If + +End Sub +%% +%% Copyright (C) 2011, 2012 by Brian D. Beitzel <brian at beitzel.com> +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License (LPPL), either +%% version 1.3c of this license or (at your option) any later +%% version. The latest version of this license is in the file: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% Users may freely modify these files without permission, as long as the +%% copyright line and this statement are maintained intact. +%% +%% This work is not endorsed by, affiliated with, or probably even known +%% by, the American Psychological Association. +%% +%% This work is "maintained" (as per LPPL maintenance status) by +%% Brian D. Beitzel. +%% +%% This work consists of the file apa6.dtx +%% and the derived files apa6.ins, +%% apa6.cls, +%% apa6.pdf, +%% README, +%% APAamerican.txt, +%% APAbritish.txt, +%% APAdutch.txt, +%% APAenglish.txt, +%% APAgerman.txt, +%% APAngerman.txt, +%% APAgreek.txt, +%% APAczech.txt, +%% APAendfloat.cfg, +%% apa6.ptex, +%% TeX2WordForapa6.bas, +%% Figure1.pdf, +%% shortsample.tex, +%% longsample.tex, and +%% bibliography.bib. +%% +%% +%% End of file `./pseudoTeX/TeX2WordForapa6.bas'. |