lessからvimやemacsに切り替える方法

February 17,2017 12:03 AM
Category:[Linux]
Tag:[Linux]
Permalink

lessからvimやemacsに切り替える方法を紹介します。

1.はじめに

lessコマンドでファイル閲覧中に"v"を押下するとviエディタに切り替わり、ファイルの編集が可能になります。

またエディタを終了するとlessに復帰するので非常に重宝しています。

ただデフォルト状態ではviしか起動せず、vimやemacsなど、他のエディタに切り替えることができません。

ということで、lessからvi以外のエディタに切り替える方法を紹介します。

2.vi以外のエディタに切り替える

vi以外のエディタに切り替えるには、環境変数VISUALに"vim"を設定します。

vimの場合

% export VISUAL="vim"

emacsの場合

% export VISUAL="emacs"

これで"v"を押下すると、指定したエディタに切り替わります。

VISUALは、lessで"v"を押下したときの起動エディタを指定するための環境変数です。

エディタへのパスが通っていない場合は、フルパスで指定します。

vimの場合

% export VISUAL="/usr/bin/vim"

emacsの場合

% export VISUAL="/usr/bin/vim"

エディタのパスは環境によって異なるかもしれないので、whichコマンドで確認してください。

3.ログイン直後に切り替える

上記の方法では環境変数を設定したターミナルでしか有効になりません。

常ににエディタを変更したい場合は、上記のexportコマンドをホームディレクトリの.bashrcに追記します。

これでログイン直後に設定が有効になります。

4.参考サイト

参考サイトは下記です。ありがとうございました。

Comments [0] | Trackbacks [0]

xhostコマンドで「unable to open display」となる場合の対処

February 15,2017 12:03 AM
Category:[Linux]
Tag:[Linux]
Permalink

xhostコマンドで「unable to open display」となる場合の対処方法を紹介します。

1.問題点

xhostコマンドを実行すると、「unable to open display ""」というエラーになってしまいます。

# xhost +
xhost:  unable to open display ""

ちなみにxhostはXサーバへのアクセスの許可・不許可を設定するコマンドで、"xhost +"で全てのクライアントに対してアクセス制限を解除します。

2.原因と対処

原因は、xhostを実行したターミナルで環境変数DISPLAYが設定されていないためです。

# env | grep DISPLAY
#

ということでxhost実行の前に、環境変数DISPLAYを設定します。

# export DISPLAY=:0.0
# env | grep DISPLAY
# DISPLAY=:0.0

この状態でxhostを実行します。

# xhost +
access control disabled, clients can connect from any host

DISPLAY変数の値":0.0"は、"localhost:0.0"と同じ意味です。

Comments [0] | Trackbacks [0]

gdbで「No symbol table is loaded. Use the "file" command.」というエラーが表示された場合の対処

February 3,2017 12:55 AM
Category:[C/C++]
Tag:[C/C++]
Permalink

gdbで「No symbol table is loaded. Use the "file" command.」というエラーが表示された場合の対処方法を紹介します。

1.問題点

gdbでCプログラムの実行ファイルを起動し、ブレークポイントを設定したところ、「No symbol table is loaded. Use the "file" command.」というエラーが表示されました。

% gdb a.out
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-80.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/hoge/sample/a.out...(no debugging symbols found)...done.
(gdb) b 33
No symbol table is loaded.  Use the "file" command.

ということで、「No symbol table is loaded. Use the "file" command.」というエラーが表示された場合の対処方法を紹介します。

2.原因

原因は、ビルドしたバイナリにデバッグシンボルが含まれてないためです。

3.対処

gccに"-g"オプションをつけて再ビルドしたものでgdbを実行すれば解消します。

% gdb a.out
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-80.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/hoge/sample/a.out...done.
(gdb) b 33
Breakpoint 1 at 0x4009b4: file sample.c, line 33.
Comments [0] | Trackbacks [0]

YAML::Tinyでコロンを利用する方法

January 30,2017 11:57 PM
Category:[Perl]
Tag:[YAML]
Permalink

YAML::Tinyでコロンを利用する方法を紹介します。

1.問題点

次のようなYAMLデータを書いてみました。

test: ok:

下のPerlスクリプトでYAMLデータを読み込んでみました。

#!/usr/bin/perl
 
use strict;
use YAML::Tiny;
 
my $data= YAML::Tiny->new;
$data = YAML::Tiny->read( 'sample1.yaml' ); 
print $data->[0]->{test};

スクリプトを実行したところ、下記のエラーが発生しました。

% ./test.pl
YAML::Tiny found illegal characters in plain scalar: 'OK:' at test.pl line 8

また、キーにコロンを含むパターンも試してみました。

test:: ok

スクリプトは下記です。

#!/usr/bin/perl
 
use strict;
use YAML::Tiny;
 
my $data= YAML::Tiny->new;
$data = YAML::Tiny->read( 'sample1.yaml' ); 
print $data->[0]->{'test:'};

この場合、下記のエラーが発生しました。

% ./test.pl
YAML::Tiny failed to classify line 'test: OK:' at test.pl line 8

こちらは「Tinyは'test: OK:'行の分類に失敗した」というエラーのようです。

おそらく、値やキーに含まれるコロンがこのままのフォーマットでは適正にパースされないようです。

ということで、YAML::Tinyでコロンを利用する方法を紹介します。

2.YAML::Tinyでコロンを利用する

YAML::Tinyでコロンを利用するには、値全体をクォーテーションで括ります。

test2: "ok:"

実行結果は下記のとおりです。

% ./test.pl
ok:

シングルクォーテーションでも大丈夫です。

test2: 'ok:'

値ではなく、キーにコロンが含まれる場合も同様です。

"test:": ok

実行結果は下記のとおりです。

% ./test.pl
ok

3.参考サイト

参考サイトは下記です。ありがとうございました。

Comments [0] | Trackbacks [0]

PowerPoint、Word、Excelで吹き出しのツノを小さくする方法

January 26,2017 12:03 AM
Category:[PowerPoint]
Tag:[Excel, Office, PowerPoint, Word]
Permalink

PowerPoint、Word、Excelで吹き出しのツノを小さくする方法を紹介します。

修正前
修正前

修正後
修正後

1.問題点

PowerPoint、Word、Excelで作る吹き出し図形のツノが大きくて不恰好です。

吹き出し図形

が、調整する方法がわかりません。

ということで、PowerPointで吹き出しのツノを小さくする方法を紹介します。

ここではPowerPoint2010を使った手順を説明します。Word/Excelも同じ手順で修正可能です。

なお過去のバージョンでは本記事の操作ができない可能性があります。予めご了承ください。

2.吹き出しのツノを小さくする

吹き出しのツノを小さくするには、吹き出し図形を選択した状態で「書式」タブをクリック。

書式

「図形の編集」→「頂点の編集」を選択。

頂点の編集

図形の何ヶ所かに黒い四角が表示されます。

黒い四角

赤丸で示した黒四角をドラッグして、ツノの幅を調整します。

ツノの幅を調整

さらにツノの頂点の黒四角をドラッグして、ツノの長さも短くします。

ツノの長さ

これで冒頭の画像のようにツノが小さくなりました。

吹き出し図形

Comments [0] | Trackbacks [0]

TeraTerm+vimのペーストでインデントがずれる場合の対処

January 25,2017 12:33 AM
Category:[Windows]
Tag:[TeraTerm]
Permalink

TeraTerm+vimのペーストでインデントがずれる場合の対処方法を紹介します。

1.問題点

TeraTerm上でvimを起動し、下記のコードをペーストします。

#include <stdio.h>
 
void hello_world2(void) {
    printf( "Hello World2!\n" );
}
 
// test
void hello_world1(void) {
    printf( "Hello World1!\n" );
    hello_world2();
}
 
int main(void) {
    hello_world1();
    return 0;
}

iキーを押下して挿入モードにします。

(クリックで拡大、以下同様)

この状態でマウスを右クリックしてペースト。

が、下のようにコメントアウトされた行以降のインデントがずれてしまい、なぜかコメントアウトまでされてしまいます。

ということで、TeraTermのペーストでインデントがずれる場合の対処方法を紹介します。

2.ペーストでインデントがずれる場合の対処

ペースト前にコマンドモードにして下記のコマンドを入力。

:set paste

これでiキーを押下して挿入モードにします。左下に「(貼り付け)」の文字が表示されます。

きれいにペーストできました。

3.参考サイト

参考サイトは下記です。ありがとうございました。

Comments [0] | Trackbacks [0]

Linux 64bit環境でのC/C++ 32bitコンパイルで「-lstdc++ が見つかりません」「-lgcc_s が見つかりません」というエラーになる場合の対処

January 25,2017 12:03 AM
Category:[C/C++]
Tag:[C/C++, Linux]
Permalink

Linux 64bit環境でのC/C++ 32bitコンパイルで「-lstdc++ が見つかりません」「-lgcc_s が見つかりません」というエラーになる場合の対処方法を紹介します。

1.問題点

次のようなC/C++コードを書きました。

#include <stdio.h>
 
void hello_world2(void) {
    printf( "Hello World2!\n" );
}
 
void hello_world1(void) {
    printf( "Hello World1!\n" );
    hello_world2();
}
 
int main(void) {
    hello_world1();
    return 0;
}

このCコードを32bitでコンパイルしたところ、下記のエラーが発生しました。

% gcc -m32 sample.c
/usr/bin/ld: 互換性のないを /usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgcc_s.so スキップしました (-lgcc_s を探索している時)
/usr/bin/ld: -lgcc_s が見つかりません
collect2: エラー: ld はステータス 1 で終了しました

C++コードも同様のエラーが発生しました。

% g++ -m32 sample.cpp
/usr/bin/ld: 互換性のないを /usr/lib/gcc/x86_64-redhat-linux/4.8.5/libstdc++.so スキップしました (-lstdc++ を探索している時)
/usr/bin/ld: -lstdc++ が見つかりません
/usr/bin/ld: 互換性のないを /usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgcc_s.so スキップしました (-lgcc_s を探索している時)
/usr/bin/ld: -lgcc_s が見つかりません
collect2: エラー: ld はステータス 1 で終了しました

64bitであれば正常にコンパイルできます。

ということで、Linux 64bit環境でのC/C++ 32bitコンパイルで「-lstdc++ が見つかりません」「-lgcc_s が見つかりません」というエラーになる場合の対処方法を紹介します。

2.原因と対処

rpmコマンドでgccがインストールされているパッケージを調べてみました。

# rpm -qa | grep gcc
gcc-c++-4.8.5-4.el7.x86_64
gcc-4.8.5-4.el7.x86_64
libgcc-4.8.5-4.el7.x86_64

出力結果より、インストールされているパッケージは「x86_64」つまり64bit版しかなく、32bit版パッケージがインストールされていないのが原因のようです。

ということで32bit版パッケージ(i686)を検索して、インストールしました。

# rpm -ivh libgcc-4.8.5-4.el7.i686.rpm
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:libgcc-4.8.5-4.el7               ################################# [100%]

g++も同様に32bit版をインストールしました。

# rpm -ivh libstdc++-4.8.5-4.el7.i686.rpm
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:libstdc++-4.8.5-4.el7            ################################# [100%]

インストール後、正常にコンパイルできるようになりました。

% gcc -m32 sample.c
%
% g++ -m32 sample.cpp
%

3.参考サイト

参考サイトは下記です。ありがとうございました。

Comments [0] | Trackbacks [0]

configureで「configure: error: ~ is not found」というエラーになった場合の対処

January 20,2017 12:03 AM
Category:[C/C++]
Tag:[C/C++]
Permalink

configureで「configure: error: ~ is not found」というエラーになった場合の対処方法を紹介します。

1.問題点

とあるCライブラリをインストールしようと思い、configureを実行したところ、下記のようなエラーが発生しました。

% ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
 :
checking whether byte ordering is bigendian... no
checking size of void *... 8
checking for elf_begin in -lelf... yes
checking for dwarf_def_macro in -ldwarf... no
configure: error: libdwarf is not found

libdwarfというライブラリがみつからないようです。

configureを実行するときにライブラリやヘッダのパスを指定すれば解消するようです。

ということで、configureで「configure: error: ~ is not found」というエラーになった場合の対処方法を紹介します。

2.configureを実行するときにライブラリやヘッダのパスを指定する

configureを実行するときにライブラリやヘッダのパスを指定するには次のようにします。

./configure LDFLAGS="-L/usr/local/lib" CFLAGS="-I/usr/local/include"

LDFLAGSの右辺にライブラリのパス、CFLAGSの右辺にヘッダのパスを記述します。

指定可能なオプションは"./configure --help"で表示されます。

参考にhelpの内容を掲載しておきます。

% ./configure --help
`configure' configures tracef 0.16 to adapt to many kinds of systems.
 
Usage: ./configure [OPTION]... [VAR=VALUE]...
 
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.
 
Defaults for the options are specified in brackets.
 
Configuration:
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version information and exit
  -q, --quiet, --silent   do not print `checking ...' messages
      --cache-file=FILE   cache test results in FILE [disabled]
  -C, --config-cache      alias for `--cache-file=config.cache'
  -n, --no-create         do not create output files
      --srcdir=DIR        find the sources in DIR [configure dir or `..']
 
Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]
 
By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc.  You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.
 
For better control, use the options below.
 
Fine tuning of the installation directories:
  --bindir=DIR            user executables [EPREFIX/bin]
  --sbindir=DIR           system admin executables [EPREFIX/sbin]
  --libexecdir=DIR        program executables [EPREFIX/libexec]
  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
  --libdir=DIR            object code libraries [EPREFIX/lib]
  --includedir=DIR        C header files [PREFIX/include]
  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
  --infodir=DIR           info documentation [DATAROOTDIR/info]
  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
  --mandir=DIR            man documentation [DATAROOTDIR/man]
  --docdir=DIR            documentation root [DATAROOTDIR/doc/tracef]
  --htmldir=DIR           html documentation [DOCDIR]
  --dvidir=DIR            dvi documentation [DOCDIR]
  --pdfdir=DIR            pdf documentation [DOCDIR]
  --psdir=DIR             ps documentation [DOCDIR]
 
Program names:
  --program-prefix=PREFIX            prepend PREFIX to installed program names
  --program-suffix=SUFFIX            append SUFFIX to installed program names
  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
 
Optional Features:
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --disable-dependency-tracking  speeds up one-time build
  --enable-dependency-tracking   do not reject slow dependency extractors
 
Some influential environment variables:
  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
              nonstandard directory <lib dir>
  LIBS        libraries to pass to the linker, e.g. -l<library>
  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
              you have headers in a nonstandard directory <include dir>
  CXX         C++ compiler command
  CXXFLAGS    C++ compiler flags
  CXXCPP      C++ preprocessor
 
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
 
Report bugs to the package provider.

3.参考サイト

参考サイトは下記です。ありがとうございました。

What is the correct syntax to add CFLAGS and LDFLAGS to "configure"?

Comments [0] | Trackbacks [0]

C/C++プログラム実行時の関数をトレースする方法

January 18,2017 12:03 AM
Category:[C/C++]
Tag:[C/C++]
Permalink

C/C++プログラム実行時の関数をトレースする方法を紹介します。

1.はじめに

C/C++プログラムで実行時の関数をトレースする場合、printf()などを埋め込んでログに出力することが少なくないと思います。

が、その方法ではログ出力するためにプログラムに手を入れなくてはならなず、非効率です。

また規模の大きなプログラムでは現実的な解決方法ではありません。

printf()を埋め込まずにトレースできないか、方法を探していたところ、標準でそのような機能があることをみつけました。

仕組みは、gccでトレースしたいプログラムファイルのコンパイル時に、コンパイルオプション"-finstrument-functions"を付与することで、関数の実行開始時および復帰時に下記のフック関数を呼び出せるようになります。

void __cyg_profile_func_enter(void* func, void* caller);
void __cyg_profile_func_exit(void* func, void* caller);

あとはこの2つの関数にログ出力を実装し、ライブラリとして引き込めばOKです。

ということで、C/C++プログラムを動かして関数をトレースする方法を紹介します。

2.ソースコード

まず、トレース用の関数(trace.cpp)です。

前述の__cyg_profile_func_enter()、__cyg_profile_func_exit()を実装し、トレース情報を出力します。

trace.cpp

#include <dlfcn.h>
#include <iostream>
 
extern "C" {
    void __cyg_profile_func_enter(void* func, void* caller);
    void __cyg_profile_func_exit(void* func, void* caller);
}
 
const char* to_name(void* address) {
    Dl_info dli;
    if (0 != dladdr(address, &dli)) {
        return dli.dli_sname;
    }
    return 0;
}
 
void __cyg_profile_func_enter(void* func, void* caller) {
    const char* name = to_name(func);
    if (name) {
        std::cout << "start:" << name << std::endl;
    } else {
        std::cout << "start:" << func << std::endl;
    }
}
 
void __cyg_profile_func_exit(void* func, void* caller) {
    const char* name = to_name(func);
    if (name) {
        std::cout << "end  :" << name << std::endl;
    } else {
        std::cout << "end  :" << func << std::endl;
    }
}

そしてトレース対象となるC++サンプル関数(sample.cpp/sample.c)です。

サンプルでは、main()→hello_world1()→hello_world2()の順に起動するようにします。

ファイルの内容は同じですが、C用とC++用に異なるファイル名で2つ作成します。

sample.cpp/sample.c

#include <stdio.h>
 
void hello_world2(void) {
    printf( "Hello World2!\n" );                                                                                                                              }
 
void hello_world1(void) {
    printf( "Hello World1!\n" );
    hello_world2();
}
 
int main(void) {
    hello_world1();
    return 0;
}

3.コンパイル

トレース用関数(trace.cpp)

% g++ -fPIC -shared trace.cpp -o libctrace.so -ldl

トレース対象のC++サンプル関数(sample.cpp)

% g++ -fPIC -finstrument-functions sample.cpp -o helloworld_cpp

トレース対象のC++サンプル関数(sample.c)

% gcc -fPIC -finstrument-functions sample.c -o helloworld_c

これで下記のとおり、サンプルのhelloworld_c、helloworld_cppと、トレース用ライブラリlibctrace.soが作られます。

% ls -l
-rwxr-xr-x. 1 hoge hoge 7327  1月 17 23:21 2017 helloworld_c
-rwxr-xr-x. 1 hoge hoge 8256  1月 17 23:30 2017 helloworld_cpp
-rwxr-xr-x. 1 hoge hoge 8498  1月 17 23:23 2017 libctrace.so
-rw-r--r--. 1 hoge hoge  342  1月 17 23:20 2017 sample.c
-rw-r--r--. 1 hoge hoge  342  1月 17 23:12 2017 sample.cpp
-rw-r--r--. 1 hoge hoge  784  1月 17 23:23 2017 trace.cpp

4.実行

実行時は環境変数"LD_PRELOAD"を設定します。

LD_PRELOADにlibctrace.soを指定することでこのライブラリが最優先で読み込まれ、__cyg_profile_func_enter()および__cyg_profile_func_exit()が実行されます。

helloworld_cpp(C++)の実行

%  LD_PRELOAD=./libctrace.so ./helloworld_cpp | c++filt                                                                            
start:main
start:hello_world1()
Hello World1!
start:hello_world2()
Hello World2!
end  :hello_world2()
end  :hello_world1()
end  :main

c++filtはC++やJavaのシンボルをデマングルするコマンドです。

helloworld_cpp(C++)でc++filtを使わずに実行

% LD_PRELOAD=./libctrace.so ./helloworld_cpp                                                                                        
start:main
start:_Z12hello_world1v
Hello World1!
start:_Z12hello_world2v
Hello World2!
end  :_Z12hello_world2v
end  :_Z12hello_world1v
end  :main

helloworld_c(C)の実行

% LD_PRELOAD=./libctrace.so ./helloworld_c                                                                                          
start:main
start:hello_world1
Hello World1!
start:hello_world2
Hello World2!
end  :hello_world2
end  :hello_world1
end  :main

なお、実行環境によってトレース関数内で使っているdladdr()が正常に動作しない(=アドレスから関数名が取得できない)ケースがありました。

また、トレース用ライブラリのコンパイルで"-ldl"を指定しないと、実行時に下記のエラーが発生することを確認しています。

./helloworld_cpp: symbol lookup error: ./libctrace.so: undefined symbol: dladdr

5.参考サイト

参考サイトは下記です。ありがとうございました。

Comments [0] | Trackbacks [0]

Movable Typeで承認ワークフロー

January 11,2017 12:03 AM
Category:[MTDDC]
Tag:[MTDDC]
Permalink

遅くなりましたが「MTDDC Meetup Tokyo 2016」で発表した「Movable Typeで承認ワークフロー」のスライドを公開します。

スライドはワークフローおよびWorkflowプラグインについての解説で、次のような構成になっています。

  • ワークフローの概要
  • ワークフロープラグイン開発のきっかけ
  • 苦労した点
  • Workflowプラグインの概要
  • 必要な設定
  • その他の機能
  • 実演(スライドなしです、すいません)

また下記のリンクから当日の音声も聴くことができます。

Movable Typeで承認ワークフロー

Comments [0] | Trackbacks [0]

Finaleで3連符に付点をつける方法

January 7,2017 12:55 AM
Category:[Finale]
Tag:[Finale]
Permalink

Finaleで3連符に付点をつける方法を紹介します。

Finaleで3連符に付点をつける

1.問題点

Finaleで3連符に付点をつけたいと思い、3連符を入力するときに「付点」アイコンをクリックして入力してみましたが、入力できませんした。

ということで、Finaleで3連符に付点をつける方法を紹介します。

2.3連符に付点をつける

3連符に付点をつけるには、付点をつけるのは後回しにして、とりあえず4分音符で入力。

4分音符を入力

8分音符に切り替えて、8分音符も入力します(4分より先に入力してもOK)。

8分音符も入力

「高速ステップ入力ツール」のアイコンをクリック。

高速ステップ入力ツール

表示が切り替わった瞬間に音価の足りない部分が休符(ここでは16分休符)で埋まりますが、無視して作業を続行します。

休符

付点をつけたい音符に挿入バーを移動して「.」キーを押下(Finaleの付点アイコンではなくキーボードのキー)。

「.」キーを押下

「規定の拍数を超えています」というダイアログが表示されるので、「余分な拍を削除する」を選択して「OK」をクリック。

余分な拍を削除する

これで16分休符が削除されます。

16分休符が削除

「選択ツール」アイコンなどをクリックして表示を切り替えれば完成です。

表示を切り替えれば完成

Comments [0] | Trackbacks [0]

複数のWordファイルを結合する方法

December 29,2016 1:55 AM
Category:[Word]
Tag:[Office, Word]
Permalink

複数のWordファイルを結合する方法を紹介します。

1.はじめに

WordファイルにはExcelのような共有機能がないため、1つのファイルを複数人で同時に編集することができません。

そうすると予めファイルを分割しておき、各人がそれぞれのファイルを編集することが効率的なのですが、分割したファイルを結合(マージ)する方法が分かりません。

ということで、複数のWordファイルを結合する方法を紹介します。

2.複数のWordファイルを結合する

複数のWordファイルを結合するために、「アウトライン表示によるサブ文書の挿入」機能を利用します。

ここでは下記の3つの簡素な内容のWordファイルを例に結合してみます。

test1.docx
Wordファイル1

test2.docx
Wordファイル2

test3.docx
Wordファイル3

test1.docxにtest2.docx、test3.docxを結合します。test2.docx、test3.docxが「サブ文書」となります。

test1.docxの「表示」タブ→「アウトライン」をクリック。

(クリックで拡大、以下同様)
アウトライン

これでアウトライン表示になったので、「文書の表示」をクリック。

文書の表

これでメニューが表示されたので、カーソルをアウトライン表示の一番下に移動して「挿入」をクリックし、test2.docを選択。

挿入

test2.docの内容が挿入されました。同じ手順でtest3.docの内容も挿入します。

挿入

test3.docの内容が挿入されました。

挿入

「アウトライン表示を閉じる」をクリック。

アウトライン表示を閉じる

これで通常の表示に戻り、test1.docxにtest2.docx、test3.docxの文書が結合されたことがわかります。

1ページ目
Wordファイル1(1ページ目)

2ページ目
Wordファイル1(2ページ目)

3ページ目
Wordファイル1(3ページ目)

この状態でtest1.docxを保存して終了し、再度開くと、test2.docx、test3.docxの部分がリンクになっていることがわかります。

リンク

つまり、test2.docx、test3.docxを個別に編集すれば、編集内容が更新されることになります。

更新を反映させる方法は次項の手順を実施してください。

3.リンクを本文に置き換える(=更新を反映させる)

test1.docxのリンクを本文に置き換える(=更新を反映させる)には、「表示」タブ→「アウトライン」→「サブ文書の展開」をクリック。

サブ文書の展開

これでtest2.docx、test3.docxの内容がtest1.docxに反映されます。

test2.docx、test3.docxの内容がtest1.docxに反映

この状態では、test1.docxを開くたびにtest2.docx、test3.docxの部分がリンクとして表示されることになります。

test2.docx、test3.docxの部分をリンクではなく本文に置き換えてしまいたい場合は、次項の手順を実施してください。

4.リンクを解除する

test1.docxの中にあるtest2.docx、test3.docxのリンクを本文に完全に置き換えるには、前項の手順でtest2.docxの任意の位置にカーソルを置き、「リンク解除」をクリック。

リンク解除

同じ要領でtest3.docxの任意の位置にカーソルを置き、「リンク解除」をクリック。

リンク解除

これでtest2.docx、test3.docxのリンクが解除され、test1.docxに反映されます。

test2.docx、test3.docxのリンクが解除

ただしこの操作を行ったあと、test2.docx、test3.docxを変更しても、test1.docxに反映されなくなります。

5.注意事項

文書を結合した時、各ファイルの本文末尾に「セクション区切り」が挿入され、ページ番号が連番にならない事象を確認しています。

ページ番号を連番にするには、セクション区切りを削除する必要があります。

セクション区切りを削除するには「Wordでセクション区切りを削除する方法」を参照してください。

また、サブ文書のファイルサイズが大きい場合、サブ文書の展開に時間がかかる(数分とか)ことも確認しています。

Comments [0] | Trackbacks [0]

Wordのルーラーが揃わない場合の対処

December 28,2016 12:55 AM
Category:[Word]
Tag:[Office, Word]
Permalink

Wordのルーラーが揃わない場合の対処方法を紹介します。

1.問題点

Wordには段落の1行目と2行目以降の開始位置を指定するためのルーラーが用意されています。

ルーラー

▽が段落の1行目の開始位置、△が2行目以降の開始位置、その下の□で全体の開始位置を指定します。

が、行によっては▽と△が一致せず、開始位置が不揃いになる場合があります。

開始位置が不揃い

ということで、ルーラーが揃わない場合の対処方法を紹介します。

2.ルーラーが揃わない場合の対処方法

ルーラーはマウスでドラッグすると一定間隔でしか移動できないのですが、Altキーを押下しながらドラッグすることで微調整ができるようになります。

ルーラーの表示も切り替わります。

開始位置が揃う

コツは下記の手順で実施することです。

  1. Altキーを押しながらルーラーをドラッグ
  2. 位置が揃った時点でマウスのクリックを離す
  3. Altキーを離す

2と3の手順を逆にすると(=先にAltキーを離すと)ルーラーの位置がずれてしまうのでご注意ください。

Comments [0] | Trackbacks [0]

Wordでセクション区切りを削除する方法

December 27,2016 12:33 AM
Category:[Word]
Tag:[Office, Word]
Permalink

Wordでセクション区切りを削除する方法を紹介します。

1.問題点

Wordには「セクション区切り」という機能があり、この機能を利用することでセクション単位にレイアウトや書式の設定が可能になります。

簡単なサンプルで、現在のカーソルがある位置(「あああ」と「いいい」の間)にセクション区切りを挿入する方法を説明します。

「あああ」と「いいい」の間にカーソルを移動し、「ページレイアウト」タブ→「区切り」をクリックして、セクション区切りの「現在の位置から開始」をクリック。

これでセクション区切りが挿入されました。

ただ、ご覧のとおりセクション区切りが挿入されていることが分かりにくく、挿入したセクション区切りを削除する方法が分かりません。

ということで、セクション区切りを削除する方法を紹介します。

2.セクション区切りを削除する

セクション区切りを削除するには、まずセクション区切りを表示させます。

セクション区切りを表示するには、「ホーム」タブ→「段落」グループの右側にある「編集記号の表示/非表示」アイコンをクリック。

これでセクション区切りが可視化されます。

(クリックで拡大)

あとは表示されたセクション区切りを選択して削除すればOKです。

(クリックで拡大)

これでセクション区切りが削除されました。

(クリックで拡大)

3.ステータスバーにセクション区切りを標示する

前項では「編集記号の表示/非表示」でセクション区切りの編集記号を表示させましたが、ステータスバーにセクション番号を表示させることで文書内のセクション区切りの有無を調べることができます。

ステータスバーにセクション区切りを標示するには、ステータスバーを右クリックして「セクション」にチェックをつけます。

これでセクション番号が表示されます。

セクション区切りがある場合、カーソルを移動するかページをスクロールすれば、セクション番号の表示が変わります。

Comments [0] | Trackbacks [0]

MTのアイテムアップロード時に記事と関連付ける「EntryAssociaterWithUploadAssetプラグイン」

December 26,2016 12:55 AM
Category:[アイテム]
Tag:[EntryAssociaterWithUploadAsset, MovableType, Plugin]
Permalink

MTのアイテムアップロード時に記事と関連付ける「EntryAssociaterWithUploadAssetプラグイン」を公開します。

1.機能

タイトルのとおり、MTに本プラグインを適用することで、アイテムの新規アップロード時に記事と関連付けてくれます。

2.プラグインのダウンロード・インストール

下記のリンクをクリックして、EntryAssociaterWithUploadAssetのプラグインアーカイブをダウンロードします。

EntryAssociaterWithUploadAsset_0_01.zip

プラグインアーカイブを展開し、pluginsフォルダにあるEntryAssociaterWithUploadAssetフォルダをMovable Typeのアプリケーションディレクトリのpluginsディレクトリにアップロードします。

システム管理画面のプラグイン設定画面で「EntryAssociaterWithUploadAsset~」が表示されればインストール完了です。

プラグイン設定画面

3.使い方

アイテムのアップロード画面に「関連付ける記事」という項目が表示されます。

アイテムのアップロード画面

アップロードするアイテムを記事と関連付けたい場合にこのプルダウンから記事を選択してください。

アイテムのアップロード画面

4.注意事項

記事が大量に登録されている場合、アイテムアップロード画面表示に時間がかかるのでご注意ください。

Comments [0] | Trackbacks [0]
 1  |  2  |  3  |  4  |  5  | All pages